Lines Matching refs:ad

112 	struct ad_private *ad;
126 ad = ALLOC(struct ad_private);
127 bzero(ad, sizeof (struct ad_private));
135 ad->ad_fullnamelen = (uint_t)RNDUP(strlen(namebuf));
136 ad->ad_fullname = mem_alloc(ad->ad_fullnamelen + 1);
138 ad->ad_servernamelen = (uint_t)strlen(servername);
139 ad->ad_servername = mem_alloc(ad->ad_servernamelen + 1);
141 if (auth == NULL || ad == NULL || ad->ad_fullname == NULL ||
142 ad->ad_servername == NULL) {
151 bcopy(namebuf, ad->ad_fullname, ad->ad_fullnamelen + 1);
152 bcopy(servername, ad->ad_servername, ad->ad_servernamelen + 1);
154 ad->ad_syncaddr = *syncaddr;
155 ad->ad_synconfig = *synconfig;
156 ad->ad_dosync = TRUE;
157 ad->ad_calltype = calltype;
159 ad->ad_timediff.tv_sec = 0;
160 ad->ad_timediff.tv_usec = 0;
161 ad->ad_dosync = FALSE;
163 ad->ad_window = window;
186 auth->ah_private = (caddr_t)ad;
195 if (ad != NULL && ad->ad_fullname != NULL)
196 FREE(ad->ad_fullname, ad->ad_fullnamelen + 1);
197 if (ad != NULL && ad->ad_servername != NULL)
198 FREE(ad->ad_servername, ad->ad_servernamelen + 1);
199 if (ad != NULL)
200 FREE(ad, sizeof (struct ad_private));
228 struct ad_private *ad = AUTH_PRIVATE(auth);
229 struct authdes_cred *cred = &ad->ad_cred;
230 struct authdes_verf *verf = &ad->ad_verf;
241 (void) gettimeofday(&ad->ad_timestamp, (struct timezone *)NULL);
242 ad->ad_timestamp.tv_sec += ad->ad_timediff.tv_sec;
243 ad->ad_timestamp.tv_usec += ad->ad_timediff.tv_usec;
244 if (ad->ad_timestamp.tv_usec >= MILLION) {
245 ad->ad_timestamp.tv_usec -= MILLION;
246 ad->ad_timestamp.tv_sec += 1;
254 IXDR_PUT_INT32(ixdr, ad->ad_timestamp.tv_sec);
255 IXDR_PUT_INT32(ixdr, ad->ad_timestamp.tv_usec);
256 if (ad->ad_cred.adc_namekind == ADN_FULLNAME) {
257 IXDR_PUT_U_INT32(ixdr, ad->ad_window);
258 IXDR_PUT_U_INT32(ixdr, ad->ad_window - 1);
270 ad->ad_verf.adv_xtimestamp = cryptbuf[0];
271 if (ad->ad_cred.adc_namekind == ADN_FULLNAME) {
272 ad->ad_cred.adc_fullname.window = cryptbuf[1].key.high;
273 ad->ad_verf.adv_winverf = cryptbuf[1].key.low;
275 ad->ad_cred.adc_nickname = ad->ad_nickname;
276 ad->ad_verf.adv_winverf = 0;
283 if (ad->ad_cred.adc_namekind == ADN_FULLNAME) {
285 ad->ad_fullnamelen);
319 struct ad_private *ad = AUTH_PRIVATE(auth);
356 if (bcmp((char *)&ad->ad_timestamp, (char *)&verf.adv_timestamp,
365 ad->ad_nickname = verf.adv_nickname;
366 ad->ad_cred.adc_namekind = ADN_NICKNAME;
380 struct ad_private *ad = AUTH_PRIVATE(auth);
381 struct authdes_cred *cred = &ad->ad_cred;
384 if (ad->ad_dosync &&
385 !synchronize(&ad->ad_synconfig, &ad->ad_syncaddr,
386 ad->ad_calltype, &ad->ad_timediff)) {
390 timerclear(&ad->ad_timediff);
392 "authdes_refresh: unable to synchronize with server %s", ad->ad_servername);
394 ad->ad_xkey = auth->ah_key;
395 if ((stat = key_encryptsession(ad->ad_servername, &ad->ad_xkey, cr)) !=
403 cred->adc_fullname.key = ad->ad_xkey;
405 cred->adc_fullname.name = ad->ad_fullname;
416 struct ad_private *ad = AUTH_PRIVATE(auth);
418 FREE(ad->ad_fullname, ad->ad_fullnamelen + 1);
419 FREE(ad->ad_servername, ad->ad_servernamelen + 1);
420 FREE(ad, sizeof (struct ad_private));