[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
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) { 
	    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) {

and here is the converse struct

static struct pam_conv conv = {

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] []