[tpop3d-discuss] auth_pam fail for non-local user.

Haris Hudji h_hudji at divre7.telkom.co.id
Wed, 10 Sep 2003 14:49:18 +0800


Users are stored in ldap and authenticated via pam_ldap. I think
authentication will always fail for non-local users because the code is
forcing to get the user's passwd structure after getting user's passwd
structure given by auth-pam-mail-user. I have modified my own to work but
with the consequence that user/group must be a name and not a number.

I'm not so sure but I think the problem rely on this code:
    /* Copy the password structure, since it is in static storage and may
     * get overwritten by calls in the PAM code. */
    if (!(pw2 = getpwnam(user))) return NULL;
    pw = *pw2;

and if anyone prefer my patch, it's attached.

--
Haris Hudji


begin 666 tpop3d-auth_pam.diff
M+2TM(&%U=&A?<&%M+F,N;W)I9PE&<FD@2F%N(#$P(# W.C(P.C(S(#(P,#,*
M*RLK(&%U=&A?<&%M+F,)5V5D(%-E<" Q," Q,SHU,#HT,R R,# S"D! ("TQ
M,3$L-R K,3$Q+#@@0$ *('!I9%]T(&%U=&A?<&%M7V-H:6QD7W!I9#L*("-E
M;F1I9@H@875T:&-O;G1E>'0@875T:%]P86U?;F5W7W5S97)?<&%S<RAC;VYS
M="!C:&%R("IU<V5R+"!C;VYS="!C:&%R("IL;V-A;%]P87)T+"!C;VYS="!C
M:&%R("ID;VUA:6XL(&-O;G-T(&-H87(@*G!A<W,L(&-O;G-T(&-H87(@*F-L
M:65N=&AO<W0L(&-O;G-T(&-H87(@*G-E<G9E<FAO<W0I('L*+2 @("!S=')U
M8W0@<&%S<W=D('!W+" J<'<R.PHK(" @('-T<G5C="!P87-S=V0@*G!W.PHK
M(" @('-T<G5C="!G<F]U<" J9W(["B @(" @8VAA<B J<SL*(" @("!I;G0@
M=7-E7V=I9" ](# ["B @(" @9VED7W0@9VED(#T@.3D["D! ("TQ,C4L,C4@
M*S$R-BPQ-2! 0 H@(" @(" J('-Y<W1E;2!U<V5R<RX@5V4@<W5P<&]R="!T
M:&ES(&)Y(&1E9FEN:6YG(&%N(&%U=&@M<&%M+6UA:6PM=7-E<@H@(" @(" J
M(&-O;F9I9W5R871I;VX@;W!T:6]N('=H:6-H(&ES('5S960@=&\@;V)T86EN
M('1H92!U<V5R(&EN9F]R;6%T:6]N"B @(" @("H@9F]R(&$@;F]N+7-Y<W1E
M;2!U<V5R('1O(&)E(&%U=&AE;G1I8V%T960@86=A:6YS="!004TN("HO"BT@
M(" @:68@*"$H<'<R(#T@9V5T<'=N86TH=7-E<BDI*2!["BT@(" @(" @(&-H
M87(@*G,["BL@(" @:68@*"$H<'<@/2!G971P=VYA;2AU<V5R*2DI('L*(" @
M(" @(" @:68@*"AS(#T@8V]N9FEG7V=E=%]S=')I;F<H(F%U=&@M<&%M+6UA
M:6PM=7-E<B(I*2D@>PHM(" @(" @(" @(" @=6ED7W0@=3L*+2 @(" @(" @
M(" @(&EF("AP87)S95]U:60H<RP@)G4I*2!["BT@(" @(" @(" @(" @(" @
M:68@*"$H<'<R(#T@9V5T<'=U:60H=2DI*0HM(" @(" @(" @(" @(" @(" @
M("!L;V=?<')I;G0H3$]'7T524BP@7R@B875T:%]P86U?;F5W7W5S97)?<&%S
M<SH@875T:"UP86TM;6%I;"UU<V5R(&1I<F5C=&EV92!@)7,G(&1O97,@;F]T
M(&-O<G)E<W!O;F0@=&\@82!R96%L('5S97(B*2P@<RD["BT@(" @(" @(" @
M("!](&5L<V4*+2 @(" @(" @(" @(" @("!L;V=?<')I;G0H3$]'7T524BP@
M7R@B875T:%]P86U?;F5W7W5S97)?<&%S<SH@875T:"UP86TM;6%I;"UU<V5R
M(&1I<F5C=&EV92!@)7,G(&1O97,@;F]T(&UA:V4@<V5N<V4B*2P@<RD["BL@
M(" @(" @(" @("!I9B H(2AP=R ](&=E='!W;F%M*',I*2D**R @(" @(" @
M(" @(" @("!L;V=?<')I;G0H3$]'7T524BP@7R@B875T:%]P86U?;F5W7W5S
M97)?<&%S<SH@875T:"UP86TM;6%I;"UU<V5R(&1I<F5C=&EV92!@)7,G(&1O
M97,@;F]T(&-O<G)E<W!O;F0@=&\@82!R96%L('5S97(B*2P@<RD["B @(" @
M(" @('T*+0HM(" @(" @("!I9B H(7!W,BD*+2 @(" @(" @(" @(')E='5R
M;B!.54Q,.PH@(" @('T*( HM(" @("\J($-O<'D@=&AE('!A<W-W;W)D('-T
M<G5C='5R92P@<VEN8V4@:70@:7,@:6X@<W1A=&EC('-T;W)A9V4@86YD(&UA
M>0HM(" @(" J(&=E="!O=F5R=W)I='1E;B!B>2!C86QL<R!I;B!T:&4@4$%-
M(&-O9&4N("HO"BT@(" @:68@*"$H<'<R(#T@9V5T<'=N86TH=7-E<BDI*2!R
M971U<FX@3E5,3#L*+2 @("!P=R ]("IP=S(["BL@(" @:68@*"%P=RD**R @
M(" @(" @<F5T=7)N($Y53$P["B *(" @(" O*B!P=R!N;W<@8V]N=&%I;G,@
M96ET:&5R('1H92!D871A(&9O<B!T:&4@<F5A;"!53DE8('5S97(@;F%M960@
M;W(@=&AE(%5.25@*(" @(" @*B!U<V5R(&=I=F5N(&)Y('1H92!A=71H+7!A
M;2UM86EL+75S97(@8V]N9FEG(&]P=&EO;BX@*B\*0$ @+3$U-"PQ,2 K,30U
M+#$R($! "B *(" @(" O*B!/8G1A:6X@9VED('1O('5S92 J+PH@(" @(&EF
M("@H<R ](&-O;F9I9U]G971?<W1R:6YG*")A=71H+7!A;2UM86EL+6=R;W5P
M(BDI*2!["BT@(" @(" @(&EF("@A<&%R<V5?9VED*',L("9G:60I*2!["BT@
M(" @(" @(" @("!L;V=?<')I;G0H3$]'7T524BP@7R@B875T:%]P86U?;F5W
M7W5S97)?<&%S<SH@875T:"UP86TM;6%I;"UG<F]U<"!D:7)E8W1I=F4@8"5S
M)R!D;V5S(&YO="!M86ME('-E;G-E(BDL(',I.PHK(" @(" @("!I9B H(2AG
M<CUG971G<FYA;2AS*2DI('L**R @(" @(" @(" @(&QO9U]P<FEN="A,3T=?
M15)2+"!?*")A=71H7W!A;5]N97=?=7-E<E]P87-S.B!A=71H+7!A;2UM86EL
M+6=R;W5P(&1I<F5C=&EV92!@)7,G(&1O97,@;F]T(&-O<G)E<W!O;F0@=&\@
M82!R96%L(&=R;W5P(BDL(',I.PH@(" @(" @(" @(" @<F5T=7)N($Y53$P[
M"B @(" @(" @('T*(" @(" @(" @=7-E7V=I9" ](#$["BL)9VED(#T@9W(M
M/F=R7V=I9#L*(" @("!]"B *(" @(" O*B *0$ @+3(R,2PW("LR,3,L-R! 
M0 H@(V5N9&EF(" O*B!214%,3%E?54=,65]004U?2$%#2R J+PH@(" @( H@
M(" @(&EF("AA=71H96YT:6-A=&5D*0HM(" @(" @("!R971U<FX@875T:&-O
M;G1E>'1?;F5W*'!W+G!W7W5I9"P@=7-E7V=I9" _(&=I9" Z('!W+G!W7V=I
M9"P@3E5,3"P@3E5,3"P@<'<N<'=?9&ER*3L**R @(" @(" @<F5T=7)N(&%U
M=&AC;VYT97AT7VYE=RAP=RT^<'=?=6ED+"!U<V5?9VED(#\@9VED(#H@<'<M
M/G!W7V=I9"P@3E5,3"P@3E5,3"P@<'<M/G!W7V1I<BD["B @(" @96QS90H@
8(" @(" @("!R971U<FX@3E5,3#L*('T*
`
end