[vchkpw] Problem compiling courier-auth 0.59.3+
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
Re: [vchkpw] Problem compiling courier-auth 0.59.3+
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.0 +0200 +++ courier-authlib-0.59.3b/authvchkpw.c2007-04-25 17:53:58.908980669 +0200 @@ -55,16 +55,19 @@ return (*i-callback_func)(a, i-callback_arg); } #if HAVE_HMACLIB #includelibhmac/hmac.h #includecramlib.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
Re: [vchkpw] Problem compiling courier-auth 0.59.3+
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.0 +0200 +++ courier-authlib-0.59.3b/authvchkpw.c2007-04-25 17:53:58.908980669 +0200 @@ -55,16 +55,19 @@ return (*i-callback_func)(a, i-callback_arg); } #if HAVE_HMACLIB #includelibhmac/hmac.h #includecramlib.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