Lines Matching refs:cred
123 struct authdes_cred *cred;
153 cred = (struct authdes_cred *)&area->area_cred;
162 cred->adc_namekind = IXDR_GET_ENUM(ixdr, enum authdes_namekind);
163 switch (cred->adc_namekind) {
168 cred->adc_fullname.name = area->area_netname;
169 (void) memcpy(cred->adc_fullname.name, ixdr, (uint_t)namelen);
170 cred->adc_fullname.name[namelen] = 0;
172 cred->adc_fullname.key.key.high = (uint32_t)*ixdr++;
173 cred->adc_fullname.key.key.low = (uint32_t)*ixdr++;
174 cred->adc_fullname.window = (uint32_t)*ixdr++;
178 cred->adc_nickname = (uint32_t)*ixdr++;
205 init_sessionkey = cred->adc_fullname.key;
208 if (!__getpublickey_cached(cred->adc_fullname.name,
221 cred->adc_fullname.name);
232 (void) strcpy(cred->adc_fullname.name, "nobody");
236 if (key_decryptsession_pk(cred->adc_fullname.name, &pkey,
239 __getpublickey_flush(cred->adc_fullname.name);
244 cred->adc_fullname.name);
249 sid = cred->adc_nickname;
269 cryptbuf[1].key.high = cred->adc_fullname.window;
281 __getpublickey_flush(cred->adc_fullname.name);
285 fullname_rcvd ? cred->adc_fullname.name :
315 cred->adc_fullname.name);
320 cred->adc_fullname.name);
326 cred->adc_fullname.name,
332 cred->adc_fullname.name);
344 __getpublickey_flush(cred->adc_fullname.name);
349 fullname_rcvd ? cred->adc_fullname.name :
358 __getpublickey_flush(cred->adc_fullname.name);
363 fullname_rcvd ? cred->adc_fullname.name :
372 __getpublickey_flush(cred->adc_fullname.name);
377 fullname_rcvd ? cred->adc_fullname.name :
404 fullname_rcvd ? cred->adc_fullname.name :
427 fullname_rcvd ? cred->adc_fullname.name :
440 if (cred->adc_namekind == ADN_FULLNAME) {
441 cred->adc_fullname.window = window;
442 cred->adc_nickname = sid; /* save nickname */
445 entry->rname = malloc(strlen(cred->adc_fullname.name) + 1);
447 (void) strcpy(entry->rname, cred->adc_fullname.name);
455 /* mark any cached cred invalid */
461 cred->adc_namekind = ADN_FULLNAME;
462 cred->adc_fullname.name = entry->rname;
463 cred->adc_fullname.key = entry->key;
464 cred->adc_fullname.window = entry->window;
601 #define UNKNOWN -2 /* grouplen, if cached cred is unknown user */
612 invalidate(char *cred)
614 if (cred == NULL)
617 ((struct bsdcred *)cred)->grouplen = INVALID;
621 * Map a des credential into a unix cred.
635 struct bsdcred *cred;
644 cred = (struct bsdcred *)_rpc_authdes_cache[sid].localcred;
645 if (cred == NULL) {
652 cred = malloc(bsdcred_sz);
653 if (cred == NULL) {
658 _rpc_authdes_cache[sid].localcred = (char *)cred;
659 cred->grouplen = INVALID;
661 if (cred->grouplen == INVALID) {
669 cred->grouplen = UNKNOWN;
674 *uid = cred->uid = i_uid;
675 *gid = cred->gid = i_gid;
676 *grouplen = cred->grouplen = i_grouplen;
678 cred->groups[i] = groups[i];
683 if (cred->grouplen == UNKNOWN) {
694 *uid = cred->uid;
695 *gid = cred->gid;
696 *grouplen = cred->grouplen;
697 for (i = cred->grouplen - 1; i >= 0; i--) {
698 groups[i] = cred->groups[i];