Re: [squid-users] getpwnam syntax

From: Robert Denton <robert@dont-contact.us>
Date: Fri, 23 Jun 2006 14:19:01 -0400

This note may have been a bit premature. I installed pam-devel and
the make output is different, although the /etc/squid/libexec
directory I was expecting to appear is still not there. A

find -name *pam_auth* reveals there is such a file here:

./usr/lib/squid/pam_auth

which I suppose will work, but there is also no pam.conf file
anywhere to be found. I am running red hat 9. Shouldn't there be a
pam.conf file somewhere?

Robert Denton
Network Administrator
Headsprout
800.401.5062 x1305
www.headsprout.com

On Jun 23, 2006, at 1:54 PM, Robert Denton wrote:

> Hi Henrik, thanks for the quick response! Funny you should suggest
> PAM. The trouble is that I thought this was the way to go as well
> in the beginning, but I ended up with a bunch of warnings and
> errors in the make. I did this for the config script:
>
> ./configure --enable-basic-auth-helpers=PAM
>
> And that seemed to do okay. But when I issued the 'make' I got a
> lot of stuff like this:
>
> pam_auth.c:74:31: security/pam_appl.h: No such file or directory
> pam_auth.c:100: warning: `struct pam_response' declared inside
> parameter list
> pam_auth.c:100: warning: its scope is only this definition or
> declaration, which is probably not what you want
> pam_auth.c:100: warning: `struct pam_message' declared inside
> parameter list
> pam_auth.c: In function `password_conversation':
> pam_auth.c:102: error: dereferencing pointer to incomplete type
> pam_auth.c:102: error: `PAM_PROMPT_ECHO_OFF' undeclared (first use
> in this function)
> pam_auth.c:102: error: (Each undeclared identifier is reported only
> once
> pam_auth.c:102: error: for each function it appears in.)
> pam_auth.c:103: error: dereferencing pointer to incomplete type
> pam_auth.c:103: error: dereferencing pointer to incomplete type
> pam_auth.c:104: error: `PAM_CONV_ERR' undeclared (first use in this
> function)
> pam_auth.c:116: error: invalid application of `sizeof' to an
> incomplete type
> pam_auth.c:121: error: invalid use of undefined type `struct
> pam_response'
> pam_auth.c:121: error: dereferencing pointer to incomplete type
> pam_auth.c:122: error: invalid use of undefined type `struct
> pam_response'
> pam_auth.c:122: error: dereferencing pointer to incomplete type
> pam_auth.c:124: error: invalid use of undefined type `struct
> pam_response'
> pam_auth.c:124: error: dereferencing pointer to incomplete type
> pam_auth.c:124: error: `PAM_SUCCESS' undeclared (first use in this
> function)
> pam_auth.c: At top level:
> pam_auth.c:127: error: variable `conv' has initializer but
> incomplete type
> pam_auth.c:129: warning: excess elements in struct initializer
> pam_auth.c:129: warning: (near initialization for `conv')
> pam_auth.c:131: warning: excess elements in struct initializer
> pam_auth.c:131: warning: (near initialization for `conv')
> pam_auth.c: In function `main':
> pam_auth.c:148: error: `pam_handle_t' undeclared (first use in this
> function)
> pam_auth.c:148: error: `pamh' undeclared (first use in this function)
> pam_auth.c:149: error: `PAM_SUCCESS' undeclared (first use in this
> function)
> pam_auth.c:207: error: invalid use of undefined type `struct pam_conv'
> pam_auth.c:211: warning: implicit declaration of function `pam_start'
> pam_auth.c:219: warning: implicit declaration of function `pam_end'
> pam_auth.c:237: warning: implicit declaration of function
> `pam_set_item'
> pam_auth.c:237: error: `PAM_USER' undeclared (first use in this
> function)
> pam_auth.c:239: error: `PAM_CONV' undeclared (first use in this
> function)
> pam_auth.c:242: warning: implicit declaration of function
> `pam_authenticate'
> pam_auth.c:244: warning: implicit declaration of function
> `pam_acct_mgmt'
> pam_auth.c: At top level:
> pam_auth.c:127: error: storage size of `conv' isn't known
> make[3]: *** [pam_auth.o] Error 1
> make[3]: Leaving directory `/root/squid/helpers/basic_auth/PAM'
> make[2]: *** [all-recursive] Error 1
> make[2]: Leaving directory `/root/squid/helpers/basic_auth'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/root/squid/helpers'
> make: *** [all-recursive] Error 1
>
> I spent half a day googling around for solutions to this before I
> moved on to the idea of using getpwnam. However, I would much
> rather use PAM if I can get it working. Any suggestions on the
> above? Thanks!
>
> Robert
>
> On Jun 22, 2006, at 6:51 PM, Henrik Nordstrom wrote:
>
>> tor 2006-06-22 klockan 17:39 -0400 skrev Robert Denton:
>>
>>> but what is the syntax if I want to use getpwnam? Something like
>>> this:
>>>
>>> auth_param basic program getpwnam /etc/passwd ???
>>
>> You should probably be using the PAM helper.. the getpwnam only
>> supports
>> non-shadow systems using crypt hasing (not MD5).
>>
>> getpwnam:
>>
>> auth_param basic program /path/to/squid/libexec/getpwnam_auth
>>
>> no additional configuration, but only works in the exact conditions
>> abowe, which is a diminishing small population of hosts today..
>>
>> PAM:
>>
>> auth_param basic program /path/to/squid/libexec/pam_uath
>>
>> and suitable squid service definition on your systems PAM config. See
>> the pam_auth documentation (man page shipped with Squid).
>>
>> Regards
>> Henrik
>
>
Received on Fri Jun 23 2006 - 12:19:51 MDT

This archive was generated by hypermail pre-2.1.9 : Sat Jul 01 2006 - 12:00:02 MDT