File openssl-nocrypt.diff of Package compat-openssl096g
The openssl crypt() implementation is not compatible to the glibc one.
So remove it, people have to link against libcrypt from glibc, too.
Thorsten Kukuk <kukuk@suse.de>
================================================================================
--- crypto/des/des.h
+++ crypto/des/des.h
@@ -69,6 +69,9 @@
#include <openssl/opensslconf.h> /* DES_LONG */
#include <openssl/e_os2.h> /* OPENSSL_EXTERN */
+#ifdef __linux__
+#include <crypt.h>
+#endif
#ifdef __cplusplus
extern "C" {
@@ -189,7 +192,7 @@
des_cblock *iv);
char *des_fcrypt(const char *buf,const char *salt, char *ret);
char *des_crypt(const char *buf,const char *salt);
-#if !defined(PERL5) && !defined(__FreeBSD__) && !defined(NeXT) && !defined(_UWIN)
+#if !defined(PERL5) && !defined(__FreeBSD__) && !defined(NeXT) && !defined(_UWIN) && !defined(__linux__)
char *crypt(const char *buf,const char *salt);
#endif
void des_ofb_encrypt(const unsigned char *in,unsigned char *out,int numbits,
--- crypto/des/fcrypt.c
+++ crypto/des/fcrypt.c
@@ -61,7 +61,7 @@
void fcrypt_body(DES_LONG *out,des_key_schedule ks,
DES_LONG Eswap0, DES_LONG Eswap1);
-#if !defined(PERL5) && !defined(__FreeBSD__) && !defined(NeXT) && !defined(_DARWIN)
+#if !defined(PERL5) && !defined(__FreeBSD__) && !defined(NeXT) && !defined(_DARWIN) && !defined(__linux__)
char *crypt(const char *buf, const char *salt)
{
return(des_crypt(buf, salt));
--- test/Makefile.ssl
+++ test/Makefile.ssl
@@ -305,7 +305,7 @@
$(CC) -o $(RC5TEST) $(CFLAGS) $(RC5TEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
$(DESTEST): $(DESTEST).o $(DLIBCRYPTO)
- $(CC) -o $(DESTEST) $(CFLAGS) $(DESTEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)
+ $(CC) -o $(DESTEST) $(CFLAGS) $(DESTEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS) -lcrypt
$(RANDTEST): $(RANDTEST).o $(DLIBCRYPTO)
$(CC) -o $(RANDTEST) $(CFLAGS) $(RANDTEST).o $(PEX_LIBS) $(LIBCRYPTO) $(EX_LIBS)