|
Lines 199-208
Link Here
|
| 199 |
{ |
199 |
{ |
| 200 |
struct pam_ctxt *ctxt = ctxtp; |
200 |
struct pam_ctxt *ctxt = ctxtp; |
| 201 |
Buffer buffer; |
201 |
Buffer buffer; |
| 202 |
struct pam_conv sshpam_conv = { sshpam_thread_conv, ctxt }; |
202 |
struct pam_conv sshpam_conv; |
| 203 |
#ifndef USE_POSIX_THREADS |
203 |
#ifndef USE_POSIX_THREADS |
| 204 |
const char *pam_user; |
204 |
const char *pam_user; |
|
|
205 |
#endif |
| 206 |
|
| 207 |
sshpam_conv.conv = sshpam_thread_conv; |
| 208 |
sshpam_conv.appdata_ptr = ctxt; |
| 205 |
|
209 |
|
|
|
210 |
#ifndef USE_POSIX_THREADS |
| 206 |
pam_get_item(sshpam_handle, PAM_USER, (const void **)&pam_user); |
211 |
pam_get_item(sshpam_handle, PAM_USER, (const void **)&pam_user); |
| 207 |
setproctitle("%s [pam]", pam_user); |
212 |
setproctitle("%s [pam]", pam_user); |
| 208 |
#endif |
213 |
#endif |
|
Lines 550-555
Link Here
|
| 550 |
fatal("PAM: pam_open_session(): %s", |
555 |
fatal("PAM: pam_open_session(): %s", |
| 551 |
pam_strerror(sshpam_handle, sshpam_err)); |
556 |
pam_strerror(sshpam_handle, sshpam_err)); |
| 552 |
sshpam_session_open = 1; |
557 |
sshpam_session_open = 1; |
|
|
558 |
} |
| 559 |
|
| 560 |
void |
| 561 |
do_pam_set_tty(const char *ttyname) { |
| 562 |
if (ttyname != NULL) { |
| 563 |
debug("PAM setting tty to \"%.200s\"", ttyname); |
| 564 |
sshpam_err = pam_set_item(sshpam_handle, PAM_TTY, ttyname); |
| 565 |
if (sshpam_err != PAM_SUCCESS) |
| 566 |
fatal("PAM set tty failed[%d]: %.200s", |
| 567 |
sshpam_err, pam_strerror(sshpam_handle, sshpam_err)); |
| 568 |
} |
| 553 |
} |
569 |
} |
| 554 |
|
570 |
|
| 555 |
void |
571 |
void |