Crud, NO that is not the correct link for what I thought was the patch
source.

OK, I found it! It's in French, that's why it's kinda hard to find.  You
can run this page through Babelfish and get something readable, but the
patch originated from this page

http://christian.caleca.free.fr/qmail/courier-imap.htm

Credit due.

D.




> Some very smart person - I'm REALLY sorry I cannot easily find the link to
> give proper credit - posted this patch "out there" a few weeks ago.  I
> don't think it's become mainstream yet, but I literally just went through
> the same problem with authlib 0.59.3 and vpopmail 5.4.17.   Yes, the patch
> works; no I don't know why.
>
> the patch I used came from discussion here:
> http://www.mail-archive.com/vchkpw@inter7.com/msg24923.html
>
> I tried to google for the filename of the patch below but I think it's a
> filename I made up...  I was in a rush to get something built, so my notes
> are incomplete.  Bad dog, I know.
>
> Meanwhile, here's the patch code
> ===============
> --- courier-authlib-0.59.3/authvchkpw.c 2007-04-22 20:53:30.000000000
> +0200
> +++ courier-authlib-0.59.3b/authvchkpw.c        2007-04-25
> 17:53:58.908980669 +0200
> @@ -55,16 +55,19 @@
>         return (*i->callback_func)(a, i->callback_arg);
>  }
>
>  #if HAVE_HMACLIB
>
>  #include        "libhmac/hmac.h"
>  #include        "cramlib.h"
>
> +static int auth_vchkpw_login(const char *service, char *authdata,
> +        int (*callback_func)(struct authinfo *, void *), void
> *callback_arg);
> +
>
>  static int auth_vchkpw_cram(const char *service,
>                             const char *authtype, char *authdata,
>                             int (*callback_func)(struct authinfo *, void
> *),
>                             void *callback_arg)
>  {
>          struct  cram_callback_info      cci;
> ===================================================
>
> And how I build the authlib for my system
>
> cd /usr/src/qmail
> wget
> http://superb-west.dl.sourceforge.net/sourceforge/courier/courier-authlib-0.59.3.tar.bz2
> bunzip2 courier-authlib-0.59.3.tar.bz2
> tar xf courier-authlib-0.59.3.tar
> chown -R root.root courier-authlib-0.59.3
> cd courier-authlib-0.59.3
> wget http://www.dermanagement.com/qmail/courier-0.59.3-authvchkpw.patch
> patch < courier-0.59.3-authvchkpw.patch
>
> ./configure \
>   --prefix=/usr/local/courier-authlib \
>   --without-authpam \
>   --without-authldap \
>   --without-authpwd \
>   --without-authmysql \
>   --without-authpgsql \
>   --without-authshadow \
>   --without-authuserdb \
>   --without-authcustom \
>   --without-authcram \
>   --without-authpipe \
>   --with-authdaemon \
>   --with-redhat \
>   --with-authvchkpw
>
>
>
>
> Good luck.
> Dave.
>
>
>
>> I can compile courier-authlib version 0.59.2 or lower just fine with
>> vpopmail
>> 5.4.17 but I cannot get newer versions to compile.  I tried asking on
>> the
>> courier-imap list but they say "not our problem."
>>
>> Here's the errors:
>>
>> --
>>
>> authvchkpw.c: In function 'auth_vchkpw_login':
>> authvchkpw.c:40: warning: empty declaration
>> authvchkpw.c:43: error: expected '=', ',', ';', 'asm' or '__attribute__'
>> before '{' token
>> In file included from authvchkpw.c:63:
>> libhmac/hmac.h:15: error: storage class specified for parameter
>> 'hmac_h_rcsid'
>> libhmac/hmac.h:15: error: parameter 'hmac_h_rcsid' is initialized
>> libhmac/hmac.h:50: warning: empty declaration
>> libhmac/hmac.h:54: error: storage class specified for parameter
>> 'hmac_md5'
>> libhmac/hmac.h:54: error: storage class specified for parameter
>> 'hmac_sha1'
>> libhmac/hmac.h:54: error: storage class specified for parameter
>> 'hmac_sha256'
>> libhmac/hmac.h:61: error: storage class specified for parameter
>> 'hmac_list'
>> In file included from authvchkpw.c:64:
>> cramlib.h:17: warning: empty declaration
>> cramlib.h:19: error: storage class specified for
>> parameter 'auth_cram_callback'
>> cramlib.h:26: warning: empty declaration
>> authvchkpw.c:71: error: expected '=', ',', ';', 'asm' or '__attribute__'
>> before '{' token
>> authvchkpw.c:87: error: expected '=', ',', ';', 'asm' or '__attribute__'
>> before '{' token
>> authvchkpw.c:106: error: expected '=', ',', ';', 'asm' or
>> '__attribute__'
>> before '{' token
>> authvchkpw.c:170: error: expected '=', ',', ';', 'asm' or
>> '__attribute__'
>> before '{' token
>> authvchkpw.c:177: error: expected '=', ',', ';', 'asm' or
>> '__attribute__'
>> before '{' token
>> authvchkpw.c:227: error: parameter 'authvchkpw_info' is initialized
>> authvchkpw.c:229: error: 'auth_vchkpw' undeclared (first use in this
>> function)
>> authvchkpw.c:229: error: (Each undeclared identifier is reported only
>> once
>> authvchkpw.c:229: error: for each function it appears in.)
>> authvchkpw.c:231: error: 'authvchkpwclose' undeclared (first use in this
>> function)
>> authvchkpw.c:232: error: 'auth_vchkpw_changepass' undeclared (first use
>> in
>> this function)
>> authvchkpw.c:238: error: expected '=', ',', ';', 'asm' or
>> '__attribute__'
>> before '{' token
>> authvchkpw.c:240: error: old-style parameter declarations in prototyped
>> function definition
>> authvchkpw.c:240: error: expected '{' at end of input
>> make[2]: *** [authvchkpw.lo] Error 1
>> make[2]: Leaving directory `/netsrc/courier-authlib-0.59.3.20070721'
>>
>> --
>>
>> This is NOT just for the pre-release, before anyone asks.  I tried it
>> because
>> they mentioned some authvchkpw fixes.
>>
>> --
>> --
>> Cheers,
>> Steve
>>
>
>


Reply via email to