tags 492348 + patch
thanks

[Petter Reinholdtsen]
> The back trace look like the function "pointer" __write_message is
> NULL, and thus a call to the function fail.  But as far as I can see,
> it isn't a function pointer but a real function.  Perhaps the dynamic
> linker is confused?

I managed to track down the crash.  It happen within 
__write_message().  This patch solve the issue:

--- pam-devperm-1.6.orig/src/support.c
+++ pam-devperm-1.6/src/support.c
@@ -70,8 +70,9 @@
   conv = (struct pam_conv *) conv_void;
   if (retval == PAM_SUCCESS)
     {
-      retval = conv->conv (1, (const struct pam_message **)pmsg,
-                          &resp, conv->appdata_ptr);
+      if (conv->conv)
+       retval = conv->conv (1, (const struct pam_message **)pmsg,
+                            &resp, conv->appdata_ptr);
       if (retval != PAM_SUCCESS)
        return retval;
     }

The call to notify the user application do not check if there is a
function to call, and thus fail.

> So, I see two problems here
> 
>  - The pam module fail when there is no tty, and thus listing it as
>    required in /etc/pam.d/common-session will fail with the current
>    implementation.

This is still an issue, and I suspect it need to be solved in the pam
configuration, ie /etc/pam.d/current-session.  It could be argued that
a pam module that only work when a tty is available should not be
required if you want pam to accept sessions without a tty.  On the
other hand, perhaps the module should accept to do nothing if no tty
is available?

>  - The pam module crashes when trying to write messages.  No idea why.

This is solved with the above patch.

I plan to upload a new version of this package, and orphaning in the
process, as the current maintainer seem to be missing and have not
uploaded a new version since 2003.

Happy hacking,
-- 
Petter Reinholdtsen



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to