|
Lines 823-843
Link Here
|
| 823 |
case 0: |
823 |
case 0: |
| 824 |
break; |
824 |
break; |
| 825 |
default: |
825 |
default: |
| 826 |
return (-1); |
826 |
return (-1); |
| 827 |
} |
827 |
} |
| 828 |
if (num != 1) { |
828 |
if (num != 1) { |
| 829 |
error("PAM: expected one response, got %u", num); |
829 |
error("PAM: expected one response, got %u", num); |
| 830 |
return (-1); |
830 |
return (-1); |
| 831 |
} |
831 |
} |
| 832 |
buffer_init(&buffer); |
832 |
buffer_init(&buffer); |
| 833 |
if (sshpam_authctxt->valid && |
833 |
if ((!sshpam_authctxt->valid) || |
| 834 |
(sshpam_authctxt->pw->pw_uid != 0 || |
834 |
(sshpam_authctxt->pw->pw_uid != 0 || |
| 835 |
options.permit_root_login == PERMIT_YES)) |
835 |
options.permit_root_login == PERMIT_YES)) |
| 836 |
buffer_put_cstring(&buffer, *resp); |
836 |
buffer_put_cstring(&buffer, *resp); |
| 837 |
else |
837 |
else |
| 838 |
buffer_put_cstring(&buffer, badpw); |
838 |
buffer_put_cstring(&buffer, badpw); |
| 839 |
if (ssh_msg_send(ctxt->pam_psock, PAM_AUTHTOK, &buffer) == -1) { |
839 |
if (ssh_msg_send(ctxt->pam_psock, PAM_AUTHTOK, &buffer) == -1) { |
| 840 |
buffer_free(&buffer); |
840 |
buffer_free(&buffer); |
| 841 |
return (-1); |
841 |
return (-1); |
| 842 |
} |
842 |
} |
| 843 |
buffer_free(&buffer); |
843 |
buffer_free(&buffer); |