Lines Matching refs:ad

133 	struct ad_private *ad;
144 ad = malloc(sizeof (struct ad_private));
145 if (ad == NULL) {
149 ad->ad_fullname = ad->ad_servername = NULL; /* Sanity reasons */
150 ad->ad_timehost = NULL;
151 ad->ad_netid = NULL;
152 ad->ad_uaddr = NULL;
153 ad->ad_nis_srvr = NULL;
154 ad->ad_timediff.tv_sec = 0;
155 ad->ad_timediff.tv_usec = 0;
156 (void) memcpy(ad->ad_pkey, pkey->n_bytes, pkey->n_len);
159 ad->ad_fullnamelen = RNDUP((uint_t)strlen(namebuf));
160 ad->ad_fullname = malloc(ad->ad_fullnamelen + 1);
161 ad->ad_servernamelen = strlen(servername);
162 ad->ad_servername = malloc(ad->ad_servernamelen + 1);
164 if (ad->ad_fullname == NULL || ad->ad_servername == NULL) {
169 ad->ad_timehost = malloc(strlen(timehost) + 1);
170 if (ad->ad_timehost == NULL) {
174 (void) memcpy(ad->ad_timehost, timehost, strlen(timehost) + 1);
175 ad->ad_dosync = TRUE;
177 ad->ad_nis_srvr = srvr; /* transient */
178 ad->ad_dosync = TRUE;
180 ad->ad_dosync = FALSE;
182 (void) memcpy(ad->ad_fullname, namebuf, ad->ad_fullnamelen + 1);
183 (void) memcpy(ad->ad_servername, servername, ad->ad_servernamelen + 1);
184 ad->ad_window = window;
200 auth->ah_private = (caddr_t)ad;
205 ad->ad_nis_srvr = NULL; /* not needed any longer */
211 if (ad) {
212 if (ad->ad_fullname)
213 free(ad->ad_fullname);
214 if (ad->ad_servername)
215 free(ad->ad_servername);
216 if (ad->ad_timehost)
217 free(ad->ad_timehost);
218 if (ad->ad_netid)
219 free(ad->ad_netid);
220 if (ad->ad_uaddr)
221 free(ad->ad_uaddr);
222 free(ad);
249 struct ad_private *ad = (struct ad_private *)auth->ah_private;
250 struct authdes_cred *cred = &ad->ad_cred;
251 struct authdes_verf *verf = &ad->ad_verf;
262 (void) gettimeofday(&ad->ad_timestamp, NULL);
263 ad->ad_timestamp.tv_sec += ad->ad_timediff.tv_sec;
264 ad->ad_timestamp.tv_usec += ad->ad_timediff.tv_usec;
265 while (ad->ad_timestamp.tv_usec >= USEC_PER_SEC) {
266 ad->ad_timestamp.tv_usec -= USEC_PER_SEC;
267 ad->ad_timestamp.tv_sec++;
275 IXDR_PUT_INT32(ixdr, ad->ad_timestamp.tv_sec);
276 IXDR_PUT_INT32(ixdr, ad->ad_timestamp.tv_usec);
277 if (ad->ad_cred.adc_namekind == ADN_FULLNAME) {
278 IXDR_PUT_U_INT32(ixdr, ad->ad_window);
279 IXDR_PUT_U_INT32(ixdr, ad->ad_window - 1);
293 ad->ad_verf.adv_xtimestamp = cryptbuf[0];
294 if (ad->ad_cred.adc_namekind == ADN_FULLNAME) {
295 ad->ad_cred.adc_fullname.window = cryptbuf[1].key.high;
296 ad->ad_verf.adv_winverf = cryptbuf[1].key.low;
298 ad->ad_cred.adc_nickname = ad->ad_nickname;
299 ad->ad_verf.adv_winverf = 0;
306 if (ad->ad_cred.adc_namekind == ADN_FULLNAME) {
307 len = ((1 + 1 + 2 + 1)*BYTES_PER_XDR_UNIT + ad->ad_fullnamelen);
345 struct ad_private *ad = (struct ad_private *)auth->ah_private;
381 if (memcmp(&ad->ad_timestamp, &verf.adv_timestamp,
390 ad->ad_nickname = verf.adv_nickname;
391 ad->ad_cred.adc_namekind = ADN_NICKNAME;
403 struct ad_private *ad = (struct ad_private *)auth->ah_private;
404 struct authdes_cred *cred = &ad->ad_cred;
408 if (ad->ad_dosync) {
409 ok = __rpc_get_time_offset(&ad->ad_timediff, ad->ad_nis_srvr,
410 ad->ad_timehost, &(ad->ad_uaddr),
411 &(ad->ad_netid));
416 ad->ad_dosync = 0;
421 ad->ad_xkey = auth->ah_key;
422 pkey.n_bytes = (char *)(ad->ad_pkey);
423 pkey.n_len = (uint_t)strlen((char *)ad->ad_pkey) + 1;
424 if (key_encryptsession_pk(ad->ad_servername, &pkey, &ad->ad_xkey) < 0) {
429 cred->adc_fullname.key = ad->ad_xkey;
431 cred->adc_fullname.name = ad->ad_fullname;
443 struct ad_private *ad = (struct ad_private *)auth->ah_private;
445 free(ad->ad_fullname);
446 free(ad->ad_servername);
447 if (ad->ad_timehost)
448 free(ad->ad_timehost);
449 if (ad->ad_netid)
450 free(ad->ad_netid);
451 if (ad->ad_uaddr)
452 free(ad->ad_uaddr);
453 free(ad);