|
Lines 374-379
aix_restoreauthdb(void)
Link Here
|
| 374 |
|
374 |
|
| 375 |
# endif /* WITH_AIXAUTHENTICATE */ |
375 |
# endif /* WITH_AIXAUTHENTICATE */ |
| 376 |
|
376 |
|
|
|
377 |
# ifdef USE_AIX_KRB_NAME |
| 378 |
/* |
| 379 |
* aix_get_krb5_client_name: returns the user's kerberos principal name if |
| 380 |
* configured, otherwise NULL. Caller must free returned string. |
| 381 |
*/ |
| 382 |
char * |
| 383 |
aix_get_krb5_client_name(char *pw_name) |
| 384 |
{ |
| 385 |
char *authname = NULL, *authdomain = NULL, *client = NULL; |
| 386 |
|
| 387 |
setuserdb(S_READ); |
| 388 |
if (getuserattr(pw_name, S_AUTHDOMAIN, &authdomain, SEC_CHAR) != 0) |
| 389 |
debug("AIX getuserattr S_AUTHDOMAIN: %s", strerror(errno)); |
| 390 |
if (getuserattr(pw_name, S_AUTHNAME, &authname, SEC_CHAR) != 0) |
| 391 |
debug("AIX getuserattr S_AUTHNAME: %s", strerror(errno)); |
| 392 |
enduserdb(); |
| 393 |
|
| 394 |
if (authdomain != NULL) { |
| 395 |
if (xasprintf(&client, "%s@%s", authname ? authname : pw_name, |
| 396 |
authdomain) != -1) |
| 397 |
return client; |
| 398 |
} else if (authname != NULL) |
| 399 |
return xstrdup(authname); |
| 400 |
return NULL; |
| 401 |
} |
| 402 |
# endif /* USE_AIX_KRB_NAME */ |
| 403 |
|
| 377 |
# if defined(AIX_GETNAMEINFO_HACK) && !defined(BROKEN_ADDRINFO) |
404 |
# if defined(AIX_GETNAMEINFO_HACK) && !defined(BROKEN_ADDRINFO) |
| 378 |
# undef getnameinfo |
405 |
# undef getnameinfo |
| 379 |
/* |
406 |
/* |