From: Dave Hart Date: Thu, 5 Nov 2009 00:24:26 +0000 (+0000) Subject: remove testing leftover #undef OPENSSL X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4db3e6bf78ff426ff3cfafce429b37abd55c0092;p=thirdparty%2Fntp.git remove testing leftover #undef OPENSSL warning cleanup linking with libntp now requires -lcrypto / libeay32.lib bk: 4af21b3aT4zJm6yZVymrjtW0kjTlaA --- diff --git a/include/ntp_stdlib.h b/include/ntp_stdlib.h index f92bb9f9c3..c7c9e4abd9 100644 --- a/include/ntp_stdlib.h +++ b/include/ntp_stdlib.h @@ -36,6 +36,14 @@ extern void msyslog (int, const char *, ...) __attribute__((__format__(__printf__, 2, 3))); +/* + * When building without OpenSSL, use one constant #define, NID_md5, + * for the keytype. MD5 is the only digest supported without OpenSSL. + */ +#ifndef OPENSSL +#define NID_md5 4 /* from openssl/objects.h */ +#endif + extern void auth_delkeys (void); extern int auth_havekey (keyid_t); extern int authdecrypt (keyid_t, u_int32 *, int, int); diff --git a/libntp/a_md5encrypt.c b/libntp/a_md5encrypt.c index e111b8c271..7e392d31d8 100644 --- a/libntp/a_md5encrypt.c +++ b/libntp/a_md5encrypt.c @@ -1,11 +1,5 @@ /* - * MD5 interface for rsaref2.0 - * - * These routines implement an interface for the RSA Laboratories - * implementation of the Message Digest 5 (MD5) algorithm. This - * algorithm is included in the rsaref2.0 package available from RSA in - * the US and foreign countries. Further information is available at - * www.rsa.com. + * digest support for NTP, MD5 and with OpenSSL more */ #ifdef HAVE_CONFIG_H @@ -15,11 +9,8 @@ #include "ntp_fp.h" #include "ntp_string.h" #include "ntp_stdlib.h" - -#undef OPENSSL /* disable OpenSSL for test */ - +#include "ntp_assert.h" #include "ntp.h" -#include "global.h" #ifdef OPENSSL #include "openssl/evp.h" #else @@ -39,19 +30,22 @@ MD5authencrypt( int length /* packet length */ ) { - u_char digest[20]; - int len; + u_char digest[20]; + unsigned len; #ifdef OPENSSL - EVP_MD_CTX ctx; + const EVP_MD * digest_type; + EVP_MD_CTX ctx; #else - MD5_CTX md5; + MD5_CTX md5; #endif /* OPENSSL */ /* * MD5 with key identifier concatenated with packet. */ #ifdef OPENSSL - EVP_DigestInit(&ctx, EVP_get_digestbynid(type)); + digest_type = EVP_get_digestbynid(type); + NTP_INSIST(digest_type != NULL); + EVP_DigestInit(&ctx, digest_type); EVP_DigestUpdate(&ctx, key, (u_int)cache_keylen); EVP_DigestUpdate(&ctx, (u_char *)pkt, (u_int)length); EVP_DigestFinal(&ctx, digest, &len); @@ -81,12 +75,12 @@ MD5authdecrypt( int size /* MAC size */ ) { - u_char digest[20]; - int len; + u_char digest[20]; + unsigned len; #ifdef OPENSSL - EVP_MD_CTX ctx; + EVP_MD_CTX ctx; #else - MD5_CTX md5; + MD5_CTX md5; #endif /* OPENSSL */ /* @@ -104,7 +98,7 @@ MD5authdecrypt( MD5Final(digest, &md5); len = 16; #endif /* OPENSSL */ - if (size != len + 4) + if ((unsigned)size != len + 4) return (0); return (!memcmp(digest, (char *)pkt + length + 4, len)); @@ -118,11 +112,11 @@ MD5authdecrypt( u_int32 addr2refid(sockaddr_u *addr) { - u_char digest[20]; - u_int32 addr_refid; + u_char digest[20]; + u_int32 addr_refid; #ifdef OPENSSL - EVP_MD_CTX ctx; - int len; + EVP_MD_CTX ctx; + unsigned len; #else MD5_CTX md5; #endif /* OPENSSL */ @@ -131,10 +125,10 @@ addr2refid(sockaddr_u *addr) return (NSRCADR(addr)); #ifdef OPENSSL - EVP_DigestInit(&ctx, EVP_md5()); - EVP_DigestUpdate(&ctx, (u_char *)PSOCK_ADDR6(addr), + EVP_DigestInit(&ctx, EVP_md5()); + EVP_DigestUpdate(&ctx, (u_char *)PSOCK_ADDR6(addr), sizeof(struct in6_addr)); - EVP_DigestFinal(&ctx, digest, &len); + EVP_DigestFinal(&ctx, digest, &len); #else MD5Init(&md5); MD5Update(&md5, (u_char *)PSOCK_ADDR6(addr), diff --git a/libntp/authreadkeys.c b/libntp/authreadkeys.c index b60593e8a0..95fd7759c8 100644 --- a/libntp/authreadkeys.c +++ b/libntp/authreadkeys.c @@ -1,6 +1,7 @@ /* * authreadkeys.c - routines to support the reading of the key file */ +#include #include #include @@ -9,8 +10,6 @@ #include "ntp_syslog.h" #include "ntp_stdlib.h" -#undef OPENSSL /* disable OpenSSL for text */ - #ifdef OPENSSL #include "openssl/objects.h" #endif /* OPENSSL *. @@ -101,13 +100,13 @@ authreadkeys( while ((line = fgets(buf, sizeof buf, fp)) != NULL) { token = nexttok(&line); if (token == NULL) - continue; + continue; /* * First is key number. See if it is okay. */ keyno = atoi(token); - if (keyno == NULL) { + if (keyno == 0) { msyslog(LOG_ERR, "cannot change key %s", token); continue; @@ -145,7 +144,7 @@ authreadkeys( "invalid key type for key %ld", keyno); continue; } -#else +#else /* !OPENSSL */ /* * The key type is unused, but is required to be 'M' or @@ -156,7 +155,8 @@ authreadkeys( "invalid key type for key %ld", keyno); continue; } -#endif /* OPENSSL */ + keytype = NID_md5; +#endif /* !OPENSSL */ /* * Finally, get key and insert it diff --git a/ntpdate/Makefile.am b/ntpdate/Makefile.am index 1ab3d7b304..53eecb0877 100644 --- a/ntpdate/Makefile.am +++ b/ntpdate/Makefile.am @@ -14,6 +14,7 @@ AM_CPPFLAGS= -I$(top_srcdir)/include -I$(top_srcdir)/lib/isc/include \ # LDADD might need RESLIB and ADJLIB LDADD= version.o ../libntp/libntp.a +ntpdate_LDADD= $(LDADD) @LCRYPTO@ DISTCLEANFILES= .version version.c stamp-v noinst_HEADERS= ntpdate.h ETAGS_ARGS= Makefile.am diff --git a/ntpdc/Makefile.am b/ntpdc/Makefile.am index 968119faf5..a1e5b858cd 100644 --- a/ntpdc/Makefile.am +++ b/ntpdc/Makefile.am @@ -10,7 +10,8 @@ AM_CPPFLAGS= -I$(top_srcdir)/include -I$(top_srcdir)/lib/isc/include \ -I$(top_srcdir)/lib/isc/nothreads/include \ -I$(top_srcdir)/lib/isc/unix/include $(LIBOPTS_CFLAGS) # LDADD might need RESLIB and ADJLIB -ntpdc_LDADD= version.o @EDITLINE_LIBS@ $(LIBOPTS_LDADD) ../libntp/libntp.a +ntpdc_LDADD= version.o @LCRYPTO@ @EDITLINE_LIBS@ $(LIBOPTS_LDADD) \ + ../libntp/libntp.a # ntpdc-layout doesn't need any additional libraries at all ntpdc_layout_LDADD= DISTCLEANFILES= .version version.c diff --git a/ntpq/Makefile.am b/ntpq/Makefile.am index 0109a3575c..fc96b495fb 100644 --- a/ntpq/Makefile.am +++ b/ntpq/Makefile.am @@ -8,7 +8,8 @@ AM_CPPFLAGS= -I$(top_srcdir)/include -I$(top_srcdir)/lib/isc/include \ -I$(top_srcdir)/lib/isc/unix/include $(LIBOPTS_CFLAGS) # LDADD might need RESLIB and ADJLIB -ntpq_LDADD= version.o @EDITLINE_LIBS@ $(LIBOPTS_LDADD) ../libntp/libntp.a +ntpq_LDADD= version.o @LCRYPTO@ @EDITLINE_LIBS@ $(LIBOPTS_LDADD) \ + ../libntp/libntp.a noinst_HEADERS= ntpq.h noinst_LIBRARIES= libntpq.a # HMS: I don't think we need libntpq_a_LIBADD... diff --git a/ports/winnt/vc6/ntpdate.dsp b/ports/winnt/vc6/ntpdate.dsp index 1eb8860cf2..4a894ccec6 100644 --- a/ports/winnt/vc6/ntpdate.dsp +++ b/ports/winnt/vc6/ntpdate.dsp @@ -50,7 +50,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 kernel32.lib user32.lib advapi32.lib ws2_32.lib /nologo /subsystem:console /pdb:"bin/Release/ntpdate.pdb" /machine:I386 /out:"bin/Release/ntpdate.exe" /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib advapi32.lib ws2_32.lib $(OPENSSL_LIB)\libeay32.lib /nologo /subsystem:console /pdb:"bin/Release/ntpdate.pdb" /machine:I386 /out:"bin/Release/ntpdate.exe" /pdbtype:sept !ELSEIF "$(CFG)" == "ntpdate - Win32 Debug" @@ -74,7 +74,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib advapi32.lib ws2_32.lib /nologo /subsystem:console /pdb:"bin/Debug/ntpdate.pdb" /debug /machine:I386 /out:"bin/Debug/ntpdate.exe" /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib advapi32.lib ws2_32.lib $(OPENSSL_LIB)\libeay32.lib /nologo /subsystem:console /pdb:"bin/Debug/ntpdate.pdb" /debug /machine:I386 /out:"bin/Debug/ntpdate.exe" /pdbtype:sept # SUBTRACT LINK32 /pdb:none !ENDIF diff --git a/ports/winnt/vc6/ntpdc.dsp b/ports/winnt/vc6/ntpdc.dsp index 1a86e8d76a..3d4d73bd52 100644 --- a/ports/winnt/vc6/ntpdc.dsp +++ b/ports/winnt/vc6/ntpdc.dsp @@ -50,7 +50,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 kernel32.lib user32.lib ws2_32.lib advapi32.lib /nologo /subsystem:console /pdb:"bin/Release/ntpdc.pdb" /machine:I386 /out:"bin/Release/ntpdc.exe" /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib ws2_32.lib advapi32.lib $(OPENSSL_LIB)\libeay32.lib /nologo /subsystem:console /pdb:"bin/Release/ntpdc.pdb" /machine:I386 /out:"bin/Release/ntpdc.exe" /pdbtype:sept !ELSEIF "$(CFG)" == "ntpdc - Win32 Debug" @@ -74,7 +74,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib ws2_32.lib advapi32.lib /nologo /subsystem:console /pdb:"bin/Debug/ntpdc.pdb" /debug /machine:I386 /out:"bin/Debug/ntpdc.exe" /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib ws2_32.lib advapi32.lib $(OPENSSL_LIB)\libeay32.lib /nologo /subsystem:console /pdb:"bin/Debug/ntpdc.pdb" /debug /machine:I386 /out:"bin/Debug/ntpdc.exe" /pdbtype:sept !ENDIF diff --git a/ports/winnt/vc6/ntpq.dsp b/ports/winnt/vc6/ntpq.dsp index 3b3a6af035..7c8666e8e3 100644 --- a/ports/winnt/vc6/ntpq.dsp +++ b/ports/winnt/vc6/ntpq.dsp @@ -50,7 +50,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 kernel32.lib user32.lib ws2_32.lib advapi32.lib /nologo /subsystem:console /pdb:"bin/Release/ntpq.pdb" /machine:I386 /out:"bin/Release/ntpq.exe" /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib ws2_32.lib advapi32.lib $(OPENSSL_LIB)\libeay32.lib /nologo /subsystem:console /pdb:"bin/Release/ntpq.pdb" /machine:I386 /out:"bin/Release/ntpq.exe" /pdbtype:sept !ELSEIF "$(CFG)" == "ntpq - Win32 Debug" @@ -74,7 +74,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib ws2_32.lib advapi32.lib /nologo /subsystem:console /pdb:"bin/Debug/ntpq.pdb" /debug /machine:I386 /out:"bin/Debug/ntpq.exe" /pdbtype:sept +# ADD LINK32 kernel32.lib user32.lib ws2_32.lib advapi32.lib $(OPENSSL_LIB)\libeay32.lib /nologo /subsystem:console /pdb:"bin/Debug/ntpq.pdb" /debug /machine:I386 /out:"bin/Debug/ntpq.exe" /pdbtype:sept !ENDIF diff --git a/ports/winnt/vs2003/ntpdate.vcproj b/ports/winnt/vs2003/ntpdate.vcproj index 979d2195af..30e63975ea 100644 --- a/ports/winnt/vs2003/ntpdate.vcproj +++ b/ports/winnt/vs2003/ntpdate.vcproj @@ -39,7 +39,7 @@ Name="VCCustomBuildTool"/>