Lines Matching refs:ap
119 rpc_gss_data *ap = NULL; local
161 ap = (rpc_gss_data *) malloc(sizeof (*ap));
162 if (auth == NULL || ap == NULL) {
171 memset((char *)ap, 0, sizeof (*ap));
172 ap->clnt = clnt;
173 ap->version = RPCSEC_GSS_VERSION;
175 ap->my_cred = options_req->my_cred;
176 ap->req_flags = options_req->req_flags;
177 ap->time_req = options_req->time_req;
178 ap->icb = options_req->input_channel_bindings;
180 ap->my_cred = GSS_C_NO_CREDENTIAL;
181 ap->req_flags = GSS_C_MUTUAL_FLAG;
182 ap->time_req = 0;
183 ap->icb = NULL;
185 if ((ap->service = service) == rpc_gss_svc_default)
186 ap->service = rpc_gss_svc_integrity;
187 ap->qop = qop_num;
188 ap->target_name = target_name;
189 ap->mech_type = mech_type;
195 if (!rpc_gss_seccreate_pvt(&gssstat, &minor_stat, auth, ap,
201 if (ap->target_name)
202 (void) gss_release_name(&minor_stat, &ap->target_name);
203 free((char *)ap);
212 if ((ap->service == rpc_gss_svc_privacy &&
229 options_ret->rpcsec_version = ap->version;
232 options_ret->gss_context = ap->context;
246 rpc_gss_seccreate_pvt(gssstat, minor_stat, auth, ap, actual_mech_type, in rpc_gss_seccreate_pvt() argument
251 rpc_gss_data *ap;
256 CLIENT *clnt = ap->clnt;
274 auth->ah_private = (caddr_t)ap;
277 ap->established = FALSE;
278 ap->ctx_handle.length = 0;
279 ap->ctx_handle.value = NULL;
280 ap->context = GSS_C_NO_CONTEXT;
281 ap->seq_num = 0;
282 ap->gss_proc = RPCSEC_GSS_INIT;
298 ap->my_cred,
299 &ap->context,
300 ap->target_name,
301 ap->mech_type,
302 ap->req_flags,
303 ap->time_req,
348 ap->gss_proc = RPCSEC_GSS_CONTINUE_INIT;
353 if (ap->ctx_handle.length == 0) {
356 GSS_DUP_BUFFER(ap->ctx_handle,
358 } else if (!GSS_BUFFERS_EQUAL(ap->ctx_handle,
375 ap->seq_window = call_res.seq_window;
389 if (!validate_seqwin(ap)) {
397 ap->established = TRUE;
398 ap->seq_num = 1;
399 ap->gss_proc = RPCSEC_GSS_DATA;
400 ap->invalid = FALSE;
406 if (ap->context != GSS_C_NO_CONTEXT)
434 rpc_gss_data *ap = AUTH_PRIVATE(auth); local
450 if ((mech = __rpc_gss_oid_to_mech(ap->mech_type)) == NULL)
456 ap->qop = qop_num;
457 ap->service = service;
465 marshall_creds(ap, xdrs) in marshall_creds() argument
466 rpc_gss_data *ap; in marshall_creds()
474 ag_creds.version = ap->version;
475 ag_creds.gss_proc = ap->gss_proc;
476 ag_creds.seq_num = ap->seq_num;
477 ag_creds.service = ap->service;
482 if (ap->ctx_handle.length > 0)
483 ag_creds.ctx_handle = ap->ctx_handle;
514 marshall_verf(ap, xdrs, buf) in marshall_verf() argument
515 rpc_gss_data *ap; in marshall_verf()
527 if (!ap->established) {
537 if ((major = gss_sign(&minor, ap->context, ap->qop, &in_buf,
540 ap->invalid = TRUE;
580 validate_seqwin(rpc_gss_data *ap) in validate_seqwin() argument
587 seq_win_net = (uint_t)htonl(ap->seq_window); in validate_seqwin()
590 tok_buf.length = ap->verifier->oa_length; in validate_seqwin()
591 tok_buf.value = ap->verifier->oa_base; in validate_seqwin()
592 major = gss_verify(&minor, ap->context, &msg_buf, &tok_buf, &qop_state); in validate_seqwin()
608 rpc_gss_data *ap = AUTH_PRIVATE(auth); local
619 if (!ap->established) {
620 if (ap->verifier == NULL) {
621 ap->verifier = malloc(sizeof (struct opaque_auth));
622 memset(ap->verifier, 0, sizeof (struct opaque_auth));
624 ap->verifier->oa_base = malloc(verf->oa_length);
626 if (ap->verifier->oa_length > 0)
627 free(ap->verifier->oa_base);
629 ap->verifier->oa_base = malloc(verf->oa_length);
631 ap->verifier->oa_length = verf->oa_length;
632 bcopy(verf->oa_base, ap->verifier->oa_base, verf->oa_length);
636 seq_num_net = (uint_t)htonl(ap->seq_num);
641 major = gss_verify(&minor, ap->context, &msg_buf, &tok_buf, &qop_state);
658 rpc_gss_data *ap = AUTH_PRIVATE(auth); local
672 !ap->established) {
678 if (ap->context != GSS_C_NO_CONTEXT) {
679 (void) gss_delete_sec_context(&minor_stat, &ap->context,
681 ap->context = GSS_C_NO_CONTEXT;
683 if (ap->ctx_handle.length != 0) {
685 &ap->ctx_handle);
686 ap->ctx_handle.length = 0;
687 ap->ctx_handle.value = NULL;
694 if (!ap->established) {
695 ap->invalid = TRUE;
702 if (rpc_gss_seccreate_pvt(&gssstat, &minor_stat, auth, ap,
706 ap->invalid = TRUE;
721 rpc_gss_data *ap = AUTH_PRIVATE(auth); local
724 free((char *)ap);
740 rpc_gss_data *ap = AUTH_PRIVATE(auth); local
746 if (ap->ctx_handle.length != 0) {
747 ap->gss_proc = RPCSEC_GSS_DESTROY;
750 (void) clnt_call(ap->clnt, NULLPROC, xdr_void, NULL,
753 (void) gss_release_buffer(&minor_stat, &ap->ctx_handle);
754 ap->ctx_handle.length = 0;
755 ap->ctx_handle.value = NULL;
761 if (ap->context != GSS_C_NO_CONTEXT) {
762 (void) gss_delete_sec_context(&minor_stat, &ap->context, NULL);
763 ap->context = GSS_C_NO_CONTEXT;
770 if (ap->my_cred == GSS_C_NO_CREDENTIAL)
771 (void) gss_release_cred(&minor_stat, &ap->my_cred);
776 if (ap->target_name != NULL) {
777 (void) gss_release_name(&minor_stat, &ap->target_name);
778 ap->target_name = NULL;
784 if (ap->verifier != NULL) {
785 if (ap->verifier->oa_length > 0)
786 free(ap->verifier->oa_base);
787 free(ap->verifier);
788 ap->verifier = NULL;
807 rpc_gss_data *ap = AUTH_PRIVATE(auth); local
815 if (ap->invalid)
821 if (ap->established)
822 ap->seq_num++;
835 if (!marshall_creds(ap, &xdrs))
841 if (!marshall_verf(ap, &xdrs, tmp_buf))
855 if (!ap->established || ap->service == rpc_gss_svc_none)
858 return (__rpc_gss_wrap_data(ap->service, ap->qop, ap->context,
859 ap->seq_num, out_xdrs, xdr_func, xdr_ptr));
873 rpc_gss_data *ap = AUTH_PRIVATE(auth); local
879 if (!ap->established || ap->service == rpc_gss_svc_none)
882 return (__rpc_gss_unwrap_data(ap->service,
883 ap->context,
884 ap->seq_num,
885 ap->qop,
895 rpc_gss_data *ap = AUTH_PRIVATE(auth); local
897 if (!ap->established || max_tp_unit_len <= 0)
900 return (__find_max_data_length(ap->service,
901 ap->context,
902 ap->qop,