[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Compile error in current CVS, src/server.c:5500
From: |
Brian Murphy |
Subject: |
Re: Compile error in current CVS, src/server.c:5500 |
Date: |
Mon, 21 Jul 2003 21:46:12 +0200 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4) Gecko/20030529 |
Derek Robert Price wrote:
There's nothing wrong with retval = pam_end(pamh, retval), assuming
you've already checked the previous retval and printed the relevant
error messages. There's no need for `err' here.
Yes there is - if pam_end returns PAM_SUCCESS but the authentication has
failed then
the user will get authenticated - i.e. every user will be authenticated.
{
- printf("E Fatal error, aborting.\n
- pam failed to release authenticator\n");
+ printf("E Fatal error, aborting.\n\
+error 0 pam failed to release authenticator\n\
+PAM error number %d: %s\n", err, pam_strerror(NULL, err));
error_exit ();
}
Derek
/Brian
ChangeLog:
* server.c: be more verbose when PAM routines fail,
fix a string literal bug
Index: src/server.c
===================================================================
RCS file: /cvs/ccvs/src/server.c,v
retrieving revision 1.301
diff -u -r1.301 server.c
--- src/server.c 20 Jul 2003 16:38:55 -0000 1.301
+++ src/server.c 21 Jul 2003 19:43:39 -0000
@@ -5483,22 +5483,27 @@
char *username, *password;
{
pam_handle_t *pamh = NULL;
- int retval;
+ int retval, err;
struct cvs_pam_userinfo ui = { username, password };
struct pam_conv conv = { cvs_pam_conv, (void *)&ui };
retval = pam_start(PAM_SERVICE_NAME, username, &conv, &pamh);
- if (retval == PAM_SUCCESS)
+ if (retval == PAM_SUCCESS) {
retval = pam_authenticate(pamh, 0);
- if (retval == PAM_SUCCESS)
- retval = pam_acct_mgmt(pamh, 0);
+ if (retval == PAM_SUCCESS)
+ retval = pam_acct_mgmt(pamh, 0);
+ }
- if (pam_end(pamh,retval) != PAM_SUCCESS)
+ if (retval != PAM_SUCCESS)
+ printf("E PAM Error: %s\n", pam_strerror(pamh, retval));
+
+ if ((err = pam_end(pamh, retval)) != PAM_SUCCESS)
{
- printf("E Fatal error, aborting.\n
- pam failed to release authenticator\n");
+ printf("E Fatal error, aborting.\n\
+error 0 pam failed to release authenticator\n\
+PAM error number %d: %s\n", err, pam_strerror(NULL, err));
error_exit ();
}
- Re: Compile error in current CVS, src/server.c:5500, (continued)
- Re: Compile error in current CVS, src/server.c:5500, Brian Murphy, 2003/07/21
- Re: Compile error in current CVS, src/server.c:5500, Mark D. Baushke, 2003/07/21
- Re: Compile error in current CVS, src/server.c:5500, Derek Robert Price, 2003/07/21
- Re: Compile error in current CVS, src/server.c:5500, Brian Murphy, 2003/07/21
- Re: Compile error in current CVS, src/server.c:5500, Derek Robert Price, 2003/07/21
- Re: Compile error in current CVS, src/server.c:5500, Brian Murphy, 2003/07/21
- Re: Compile error in current CVS, src/server.c:5500, Derek Robert Price, 2003/07/21
- Re: Compile error in current CVS, src/server.c:5500, Brian Murphy, 2003/07/21
- Re: Compile error in current CVS, src/server.c:5500, Derek Robert Price, 2003/07/21
- Re: Compile error in current CVS, src/server.c:5500,
Brian Murphy <=
- Re: Compile error in current CVS, src/server.c:5500, Brian Murphy, 2003/07/23
- Re: Compile error in current CVS, src/server.c:5500, Derek Robert Price, 2003/07/23
- Re: Compile error in current CVS, src/server.c:5500, Brian Murphy, 2003/07/24
- Re: Compile error in current CVS, src/server.c:5500, Mark D. Baushke, 2003/07/24
- Re: Compile error in current CVS, src/server.c:5500, Derek Robert Price, 2003/07/25