[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Problem using pam



I am using the pam api to authenticate users on a daemon that I coded. I am 
using Mandrake 8.0 ( pam-0.74-6mdk ). Everyhting used to compile fine on 
Mandrake 7.2 but now I get this error.

In file included from /usr/include/security/pam_misc.h:7,
                 from pam/b_pam_auth.h:23,
                 from allDeamon.h:34,
                 from allDeamon.cpp:13:
/usr/include/security/pam_client.h:55: non-local function `int
pamc_converse (pamc_handle_s *, {anonymous struct} **)' uses anonymous
type
make: *** [allDeamon.o] Erreur 1

Here is my function that wraps the login process


int b_pam_auth(char *bp_app, char user[20], char password[20], char* rhost)
{

   int result;

   pam_handle_t *pamh=NULL;
         conv.appdata_ptr = (char *) strdup(password);
         result = pam_start(bp_app, user, &conv, &pamh);
         
	 if (result == PAM_SUCCESS) { 
    	    if(rhost!=NULL)	
	    return(BPA_NO); // this was added insted   YG
	 }
	 if (result == PAM_SUCCESS) {             
	    result = pam_authenticate(pamh, PAM_SILENT);
         }
         if (result == PAM_SUCCESS) {
            result = pam_acct_mgmt(pamh, PAM_SILENT);
         }
         if (result == PAM_SUCCESS) {
            result = pam_setcred(pamh, PAM_ESTABLISH_CRED);
         }
         if (pam_end(pamh, result) != PAM_SUCCESS)
            pamh = NULL;

         if (result != PAM_SUCCESS) {
            return(BPA_NO);
         }
      
      return(BPA_YES);
}


and here is the converse struct

static struct pam_conv conv = {
        pam_conv_auth,
        NULL
};

Did something change in pam that broke backward compatibility? Any help would 
be greatly appreciated. Thanks

Alexandre Sagala









[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index] []