Lines Matching refs:ap

117 	rpc_gss_data		*ap = NULL;  local
150 ap = (rpc_gss_data *) malloc(sizeof (*ap));
151 if (auth == NULL || ap == NULL) {
160 memset((char *)ap, 0, sizeof (*ap));
161 ap->clnt = clnt;
162 ap->version = RPCSEC_GSS_VERSION;
164 ap->my_cred = options_req->my_cred;
165 ap->req_flags = options_req->req_flags;
166 ap->time_req = options_req->time_req;
167 ap->icb = options_req->input_channel_bindings;
169 ap->my_cred = GSS_C_NO_CREDENTIAL;
170 ap->req_flags = GSS_C_MUTUAL_FLAG;
171 ap->time_req = 0;
172 ap->icb = NULL;
174 if ((ap->service = service) == rpc_gss_svc_default)
175 ap->service = rpc_gss_svc_integrity;
176 ap->qop = qop_num;
177 ap->target_name = target_name;
178 ap->mech_type = mech_type;
184 if (!rpc_gss_seccreate_pvt(&gssstat, &minor_stat, auth, ap,
186 if (ap->target_name)
187 (void) gss_release_name(&minor_stat, &ap->target_name);
188 free((char *)ap);
197 if ((ap->service == rpc_gss_svc_privacy &&
214 options_ret->rpcsec_version = ap->version;
217 options_ret->gss_context = ap->context;
231 rpc_gss_seccreate_pvt(gssstat, minor_stat, auth, ap, actual_mech_type, in rpc_gss_seccreate_pvt() argument
236 rpc_gss_data *ap;
241 CLIENT *clnt = ap->clnt;
259 auth->ah_private = (caddr_t)ap;
262 ap->established = FALSE;
263 ap->ctx_handle.length = 0;
264 ap->ctx_handle.value = NULL;
265 ap->context = GSS_C_NO_CONTEXT;
266 ap->seq_num = 0;
267 ap->gss_proc = RPCSEC_GSS_INIT;
283 ap->my_cred,
284 &ap->context,
285 ap->target_name,
286 ap->mech_type,
287 ap->req_flags,
288 ap->time_req,
333 ap->gss_proc = RPCSEC_GSS_CONTINUE_INIT;
338 if (ap->ctx_handle.length == 0) {
341 GSS_DUP_BUFFER(ap->ctx_handle,
343 } else if (!GSS_BUFFERS_EQUAL(ap->ctx_handle,
360 ap->seq_window = call_res.seq_window;
374 if (!validate_seqwin(ap)) {
382 ap->established = TRUE;
383 ap->seq_num = 1;
384 ap->gss_proc = RPCSEC_GSS_DATA;
385 ap->invalid = FALSE;
391 if (ap->context != GSS_C_NO_CONTEXT)
419 rpc_gss_data *ap = AUTH_PRIVATE(auth); local
435 if ((mech = __rpc_gss_oid_to_mech(ap->mech_type)) == NULL)
441 ap->qop = qop_num;
442 ap->service = service;
450 marshall_creds(ap, xdrs) in marshall_creds() argument
451 rpc_gss_data *ap; in marshall_creds()
459 ag_creds.version = ap->version;
460 ag_creds.gss_proc = ap->gss_proc;
461 ag_creds.seq_num = ap->seq_num;
462 ag_creds.service = ap->service;
467 if (ap->ctx_handle.length > 0)
468 ag_creds.ctx_handle = ap->ctx_handle;
499 marshall_verf(ap, xdrs, buf) in marshall_verf() argument
500 rpc_gss_data *ap; in marshall_verf()
512 if (!ap->established) {
522 if ((major = gss_sign(&minor, ap->context, ap->qop, &in_buf,
525 ap->invalid = TRUE;
565 validate_seqwin(rpc_gss_data *ap) in validate_seqwin() argument
572 seq_win_net = (uint_t)htonl(ap->seq_window); in validate_seqwin()
575 tok_buf.length = ap->verifier->oa_length; in validate_seqwin()
576 tok_buf.value = ap->verifier->oa_base; in validate_seqwin()
577 major = gss_verify(&minor, ap->context, &msg_buf, &tok_buf, &qop_state); in validate_seqwin()
593 rpc_gss_data *ap = AUTH_PRIVATE(auth); local
604 if (!ap->established) {
605 if (ap->verifier == NULL) {
606 ap->verifier = malloc(sizeof (struct opaque_auth));
607 memset(ap->verifier, 0, sizeof (struct opaque_auth));
609 ap->verifier->oa_base = malloc(verf->oa_length);
611 if (ap->verifier->oa_length > 0)
612 free(ap->verifier->oa_base);
614 ap->verifier->oa_base = malloc(verf->oa_length);
616 ap->verifier->oa_length = verf->oa_length;
617 bcopy(verf->oa_base, ap->verifier->oa_base, verf->oa_length);
621 seq_num_net = (uint_t)htonl(ap->seq_num);
626 major = gss_verify(&minor, ap->context, &msg_buf, &tok_buf, &qop_state);
643 rpc_gss_data *ap = AUTH_PRIVATE(auth); local
657 !ap->established) {
663 if (ap->context != GSS_C_NO_CONTEXT) {
664 (void) gss_delete_sec_context(&minor_stat, &ap->context,
666 ap->context = GSS_C_NO_CONTEXT;
668 if (ap->ctx_handle.length != 0) {
670 &ap->ctx_handle);
671 ap->ctx_handle.length = 0;
672 ap->ctx_handle.value = NULL;
679 if (!ap->established) {
680 ap->invalid = TRUE;
687 if (rpc_gss_seccreate_pvt(&gssstat, &minor_stat, auth, ap,
691 ap->invalid = TRUE;
706 rpc_gss_data *ap = AUTH_PRIVATE(auth); local
709 free((char *)ap);
725 rpc_gss_data *ap = AUTH_PRIVATE(auth); local
731 if (ap->ctx_handle.length != 0) {
732 ap->gss_proc = RPCSEC_GSS_DESTROY;
735 (void) clnt_call(ap->clnt, NULLPROC, xdr_void, NULL,
738 (void) gss_release_buffer(&minor_stat, &ap->ctx_handle);
739 ap->ctx_handle.length = 0;
740 ap->ctx_handle.value = NULL;
746 if (ap->context != GSS_C_NO_CONTEXT) {
747 (void) gss_delete_sec_context(&minor_stat, &ap->context, NULL);
748 ap->context = GSS_C_NO_CONTEXT;
755 if (ap->my_cred == GSS_C_NO_CREDENTIAL)
756 (void) gss_release_cred(&minor_stat, &ap->my_cred);
761 if (ap->target_name != NULL) {
762 (void) gss_release_name(&minor_stat, &ap->target_name);
763 ap->target_name = NULL;
769 if (ap->verifier != NULL) {
770 if (ap->verifier->oa_length > 0)
771 free(ap->verifier->oa_base);
772 free(ap->verifier);
773 ap->verifier = NULL;
792 rpc_gss_data *ap = AUTH_PRIVATE(auth); local
800 if (ap->invalid)
806 if (ap->established)
807 ap->seq_num++;
820 if (!marshall_creds(ap, &xdrs))
826 if (!marshall_verf(ap, &xdrs, tmp_buf))
840 if (!ap->established || ap->service == rpc_gss_svc_none)
843 return (__rpc_gss_wrap_data(ap->service, ap->qop, ap->context,
844 ap->seq_num, out_xdrs, xdr_func, xdr_ptr));
858 rpc_gss_data *ap = AUTH_PRIVATE(auth); local
864 if (!ap->established || ap->service == rpc_gss_svc_none)
867 return (__rpc_gss_unwrap_data(ap->service,
868 ap->context,
869 ap->seq_num,
870 ap->qop,
880 rpc_gss_data *ap = AUTH_PRIVATE(auth); local
882 if (!ap->established || max_tp_unit_len <= 0)
885 return (__find_max_data_length(ap->service,
886 ap->context,
887 ap->qop,