Article delegate-en <_A2487@delegate-en.ML_>
  upper oldest olders older1 this newer1 newers latest
search
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
[delegate-en/2487] [Reference:<_A2486@delegate-en.ML_>]
Newsgroups: mail-lists.delegate-en

[DeleGate-En] Re: Problems with PAM authentication
06 Dec 2003 05:03:11 GMT feedback@delegate.org (Yutaka Sato)


On 12/06/03(10:46) you high <high.mobley@prioritynetworks..> wrote
in <_A2486@delegate-en.ML_>
 |Your patch applied fine, but when I tried to run make in the 
 |delegate8.7.7 directory, I got the following messages:
 |
 |../lib/library.a(pam.o): In function `pam_auth1':
 |pam.o(.text+0x438): undefined reference to `pam_strerror'
...
 |Unfortunately I do not know the C language, so I do not know how to fix 
 |this error, though I assume it has something to do with the "extern 
 |char" declaration?

It can be the problem of C language but the problem of the libraries on
your host.  On what OS are you?  What is the version of your PAM library?
I'm using Linux RedHat 7.1 and MacOS X both with Linux-PAM 0.74.
The version of PAM is shown at the bottom of on-line man pages of pam.
Can you get the man pages as follows?
% man pam
% man pam_strerror

Anyway what we need is just the error code from pam_start().  It it is
done without pam_strerror() thus the patch enclosed will be enough
instead of the former.

Cheers,
Yutaka
--
  D G Yutaka Sato <y.sato@delegate.org> http://www.delegate.org/y.sato/
 ( - ) National Institute of Advanced Industrial Science and Technology (AIST)
_<   >_ 1-1-4 Umezono, Tsukuba, Ibaraki, 305-8568 Japan
Do the more with the less -- B. Fuller


*** ../dist/delegate8.7.7/rary/pam.c	Fri Aug 29 11:25:00 2003
--- pam.c	Sat Dec  6 13:57:17 2003
***************
*** 163,170 ****
--- 163,177 ----
  {	int status;
  	void *pamh;
  
+ 	/*
  	if( pam_start(service,user,&pam_conv,&pamh) != PAM_SUCCESS ){
  		syslog_ERROR("PAM: cannot start %s [%s]\n",service,user);
+ 	*/
+ 	pamh = NULL;
+ 	status = pam_start(service,user,&pam_conv,&pamh);
+ 	if( status != PAM_SUCCESS ){
+ 		syslog_ERROR("PAM: cannot start %s [%s] error=%d\n",
+ 			service,user,status);
  		return -1;
  	}
  	gpass = pass;

  admin search upper oldest olders older1 this newer1 newers latest
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
@_@V