diff options
-rw-r--r-- | ChangeLog | 24 | ||||
-rw-r--r-- | Makeconfig | 4 | ||||
-rw-r--r-- | crypt/Makefile | 33 | ||||
-rw-r--r-- | crypt/Versions (renamed from md5-crypt/Versions) | 0 | ||||
-rw-r--r-- | crypt/crypt-entry.c (renamed from crypt/sysdeps/unix/crypt-entry.c) | 0 | ||||
-rw-r--r-- | crypt/crypt-private.h (renamed from crypt/sysdeps/unix/crypt-private.h) | 0 | ||||
-rw-r--r-- | crypt/crypt.c (renamed from crypt/sysdeps/unix/crypt.c) | 0 | ||||
-rw-r--r-- | crypt/crypt.h (renamed from crypt/sysdeps/unix/crypt.h) | 0 | ||||
-rw-r--r-- | crypt/crypt_util.c (renamed from crypt/sysdeps/unix/crypt_util.c) | 5 | ||||
-rw-r--r-- | crypt/md5-crypt.c (renamed from md5-crypt/md5-crypt.c) | 0 | ||||
-rw-r--r-- | crypt/md5.c (renamed from md5-crypt/md5.c) | 0 | ||||
-rw-r--r-- | crypt/md5.h (renamed from md5-crypt/md5.h) | 0 | ||||
-rw-r--r-- | crypt/md5c-test.c (renamed from md5-crypt/md5c-test.c) | 0 | ||||
-rw-r--r-- | crypt/md5test.c (renamed from md5-crypt/md5test.c) | 0 | ||||
-rw-r--r-- | crypt/sysdeps/mach/hurd/Implies | 2 | ||||
-rw-r--r-- | crypt/sysdeps/unix/Makefile | 4 | ||||
-rw-r--r-- | crypt/sysdeps/unix/patchlevel.h | 25 | ||||
-rw-r--r-- | crypt/ufc-crypt.h (renamed from crypt/sysdeps/unix/ufc-crypt.h) | 0 | ||||
-rw-r--r-- | md5-crypt/Makefile | 83 | ||||
-rw-r--r-- | md5-crypt/onlymd5-entry.c | 1 | ||||
-rw-r--r-- | sunrpc/des_impl.c (renamed from crypt/sysdeps/unix/des_impl.c) | 0 | ||||
-rw-r--r-- | sysdeps/generic/crypt-entry.c | 72 | ||||
-rw-r--r-- | sysdeps/generic/crypt.h | 59 | ||||
-rw-r--r-- | sysdeps/generic/des_impl.c | 30 |
24 files changed, 51 insertions, 291 deletions
diff --git a/ChangeLog b/ChangeLog index 7cbabb0c1c..a0d47fb720 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,27 @@ +2000-03-03 Geoff Keating <geoffk@cygnus.com> + + * Makeconfig (rpath-dirs): Add crypt. + (all-subdirs): Remove md5crypt. + * crypt/sysdeps/unix/crypt.c: Move to crypt/. + * crypt/sysdeps/unix/crypt-entry.c: Move to crypt/. + * sysdeps/generic/crypt-entry.c: Delete. + * crypt/sysdeps/unix/crypt.h: Move to crypt/. + * sysdeps/generic/crypt.h: Delete. + * crypt/sysdeps/unix/crypt-private.h: Move to crypt/. + * crypt/sysdeps/unix/crypt_util.c: Move to crypt/. + * crypt/sysdeps/unix/des_impl.c: Move to sunrpc/. + * sysdeps/generic/des_impl.c: Delete. + * crypt/sysdeps/unix/ufc-crypt.h: Move to crypt/. + * crypt/sysdeps: Delete. + * crypt/crypt_util.c: Don't use `patchlevel.h'. + * md5-crypt/Versions: Move to crypt/. + * md5-crypt/md5-crypt.c: Move to crypt/. + * md5-crypt/md5.c: Move to crypt/. + * md5-crypt/md5c-test.c: Move to crypt/. + * md5-crypt/md5test.c: Move to crypt/. + * md5-crypt: Delete. + * crypt/Makefile: Adjust for new structure. + 2000-03-03 Paul Eggert <eggert@twinsun.com> * posix/regex.c (MB_LEN_MAX): Include <limits.h> to define; diff --git a/Makeconfig b/Makeconfig index 285b747014..6d87892d74 100644 --- a/Makeconfig +++ b/Makeconfig @@ -414,7 +414,7 @@ link-libc = -Wl,-rpath-link=$(rpath-link) \ $(common-objpfx)libc.so$(libc.so-version) \ $(common-objpfx)$(patsubst %,$(libtype.oS),c) $(gnulib) # This is how to find at build-time things that will be installed there. -rpath-dirs = math elf dlfcn nss nis rt resolv +rpath-dirs = math elf dlfcn nss nis rt resolv crypt rpath-link = \ $(common-objdir):$(subst $(empty) ,:,$(patsubst ../$(subdir),.,$(rpath-dirs:%=$(common-objpfx)%))) elfobjdir := $(patsubst ../$(subdir),.,$(common-objpfx)elf) @@ -781,7 +781,7 @@ endif all-subdirs = csu assert ctype locale intl catgets math setjmp signal \ stdlib stdio-common $(stdio) malloc string wcsmbs time dirent \ grp pwd posix io termios resource misc socket sysvipc gmon \ - gnulib iconv iconvdata wctype manual shadow md5-crypt po argp \ + gnulib iconv iconvdata wctype manual shadow po argp \ crypt $(add-ons) nss localedata timezone rt debug \ $(sysdep-subdirs) $(dlfcn) $(binfmt-subdir) all-subdirs := $(filter-out $(sysdep-inhibit-subdirs),$(all-subdirs)) diff --git a/crypt/Makefile b/crypt/Makefile index 1be33be001..a9ce7da41e 100644 --- a/crypt/Makefile +++ b/crypt/Makefile @@ -1,4 +1,4 @@ -# Copyright (C) 1996 Free Software Foundation, Inc. +# Copyright (C) 1996, 2000 Free Software Foundation, Inc. # This file is part of the GNU C Library. # The GNU C Library is free software; you can redistribute it and/or @@ -17,20 +17,35 @@ # Boston, MA 02111-1307, USA. # -# Sub-makefile for DES crypt portion of the library. +# Sub-makefile for crypt() portion of the library. # subdir := crypt -tests = cert +headers := crypt.h + +distribute := md5.h + +extra-libs := libcrypt +extra-libs-others := $(extra-libs) + +libcrypt-routines := crypt-entry md5-crypt md5 crypt crypt_util + +tests = cert md5test md5c-test include ../Makeconfig -rpath-dirs += md5-crypt +ifeq ($(crypt-in-libc),yes) +routines += $(libcrypt-routines) +endif + +$(objpfx)md5test: $(objpfx)md5.o include ../Rules -ifeq ($(build-shared),yes) -$(objpfx)cert: $(common-objpfx)md5-crypt/libcrypt.so$(libcrypt.so-version) -else -$(objpfx)cert: $(common-objpfx)md5-crypt/libcrypt.a -endif +LDLIBS-cert = crypt/libcrypt +LDLIBS-md5c-test = crypt/libcrypt + +# Depend on libc.so so a DT_NEEDED is generated in the shared objects. +# This ensures they will load libc.so for needed symbols if loaded by +# a statically-linked program that hasn't already loaded it. +$(objpfx)libcrypt.so: $(common-objpfx)libc.so diff --git a/md5-crypt/Versions b/crypt/Versions index 389e7d544a..389e7d544a 100644 --- a/md5-crypt/Versions +++ b/crypt/Versions diff --git a/crypt/sysdeps/unix/crypt-entry.c b/crypt/crypt-entry.c index 9d99c53a2b..9d99c53a2b 100644 --- a/crypt/sysdeps/unix/crypt-entry.c +++ b/crypt/crypt-entry.c diff --git a/crypt/sysdeps/unix/crypt-private.h b/crypt/crypt-private.h index 130cccd373..130cccd373 100644 --- a/crypt/sysdeps/unix/crypt-private.h +++ b/crypt/crypt-private.h diff --git a/crypt/sysdeps/unix/crypt.c b/crypt/crypt.c index 8e2a576a70..8e2a576a70 100644 --- a/crypt/sysdeps/unix/crypt.c +++ b/crypt/crypt.c diff --git a/crypt/sysdeps/unix/crypt.h b/crypt/crypt.h index 7018cb16ce..7018cb16ce 100644 --- a/crypt/sysdeps/unix/crypt.h +++ b/crypt/crypt.h diff --git a/crypt/sysdeps/unix/crypt_util.c b/crypt/crypt_util.c index 671571c51d..1eb2d4cc63 100644 --- a/crypt/sysdeps/unix/crypt_util.c +++ b/crypt/crypt_util.c @@ -1,7 +1,7 @@ /* * UFC-crypt: ultra fast crypt(3) implementation * - * Copyright (C) 1991, 92, 93, 96, 97, 98 Free Software Foundation, Inc. + * Copyright (C) 1991, 92, 93, 96, 97, 98, 2000 Free Software Foundation, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public @@ -34,7 +34,6 @@ #endif #ifndef DOS -#include "patchlevel.h" #include "ufc-crypt.h" #else /* @@ -61,8 +60,6 @@ STATIC void shuffle_sb (long64 *k, ufc_long saltbits); #endif -static const char patchlevel_str[] = PATCHLEVEL; - /* * Permutation done once on the 56 bit * key derived from the original 8 byte ASCII key. diff --git a/md5-crypt/md5-crypt.c b/crypt/md5-crypt.c index 126103503c..126103503c 100644 --- a/md5-crypt/md5-crypt.c +++ b/crypt/md5-crypt.c diff --git a/md5-crypt/md5.c b/crypt/md5.c index 478429f8e6..478429f8e6 100644 --- a/md5-crypt/md5.c +++ b/crypt/md5.c diff --git a/md5-crypt/md5.h b/crypt/md5.h index fbc2bdbf93..fbc2bdbf93 100644 --- a/md5-crypt/md5.h +++ b/crypt/md5.h diff --git a/md5-crypt/md5c-test.c b/crypt/md5c-test.c index f56d0eb4ab..f56d0eb4ab 100644 --- a/md5-crypt/md5c-test.c +++ b/crypt/md5c-test.c diff --git a/md5-crypt/md5test.c b/crypt/md5test.c index cfd9605099..cfd9605099 100644 --- a/md5-crypt/md5test.c +++ b/crypt/md5test.c diff --git a/crypt/sysdeps/mach/hurd/Implies b/crypt/sysdeps/mach/hurd/Implies deleted file mode 100644 index 03a772586f..0000000000 --- a/crypt/sysdeps/mach/hurd/Implies +++ /dev/null @@ -1,2 +0,0 @@ -# The Hurd uses Unix like DES crypto function. -unix diff --git a/crypt/sysdeps/unix/Makefile b/crypt/sysdeps/unix/Makefile deleted file mode 100644 index 65810482d0..0000000000 --- a/crypt/sysdeps/unix/Makefile +++ /dev/null @@ -1,4 +0,0 @@ -ifeq ($(subdir),md5-crypt) -libcrypt-routines += crypt crypt_util -dont_distribute += crypt.c crypt_util.c -endif diff --git a/crypt/sysdeps/unix/patchlevel.h b/crypt/sysdeps/unix/patchlevel.h deleted file mode 100644 index 450c091f60..0000000000 --- a/crypt/sysdeps/unix/patchlevel.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * UFC-crypt: ultra fast crypt(3) implementation - * - * Copyright (C) 1991, 1992, 1993, 1996 Free Software Foundation, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; see the file COPYING.LIB. If not, - * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - * - * @(#)patchlevel.h 1.13 9/10/96 - * - */ - -#define PATCHLEVEL "UFC-crypt, patchlevel 1e, @(#)patchlevel.h 1.13 9/10/96" diff --git a/crypt/sysdeps/unix/ufc-crypt.h b/crypt/ufc-crypt.h index 879211afec..879211afec 100644 --- a/crypt/sysdeps/unix/ufc-crypt.h +++ b/crypt/ufc-crypt.h diff --git a/md5-crypt/Makefile b/md5-crypt/Makefile deleted file mode 100644 index 40186eceef..0000000000 --- a/md5-crypt/Makefile +++ /dev/null @@ -1,83 +0,0 @@ -# Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. -# This file is part of the GNU C Library. - -# The GNU C Library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Library General Public License as -# published by the Free Software Foundation; either version 2 of the -# License, or (at your option) any later version. - -# The GNU C Library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Library General Public License for more details. - -# You should have received a copy of the GNU Library General Public -# License along with the GNU C Library; see the file COPYING.LIB. If not, -# write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -# Boston, MA 02111-1307, USA. - -# -# Sub-makefile for MD5 crypt portion of the library. -# -subdir := md5-crypt - -headers := crypt.h - -distribute := md5.h - -tests := md5test md5c-test - -extra-libs := libcrypt -extra-libs-others := $(extra-libs) - -md5-routines := crypt-entry md5-crypt md5 -libcrypt-routines := $(md5-routines) - -onlymd5-routines := onlymd5-entry md5-crypt md5 -distribute += onlymd5-entry.c -extra-objs = $(patsubst %,onlymd5-entry%,$(object-suffixes)) - -include ../Makeconfig - -rpath-dirs += md5-crypt - -ifeq ($(crypt-in-libc),yes) -routines += $(libcrypt-routines) -endif - -$(objpfx)md5test: $(objpfx)md5.o - -include ../Rules - -ifeq ($(build-shared),yes) -libdepend = $(common-objpfx)md5-crypt/libcrypt.so$(libcrypt.so-version) -else -libdepend = $(common-objpfx)md5-crypt/libcrypt.a -endif - -$(objpfx)md5test $(objpfx)md5c-test: $(libdepend) - -.PHONY: libmd5crypt -libmd5crypt: $(foreach o,$(object-suffixes), \ - $(addprefix $(objpfx),$(patsubst %,$(libtype$o),md5crypt))) -ifeq ($(build-shared),yes) -libmd5crypt: $(objpfx)libmd5crypt.so -# Use the same soname as the real libcrypt, so that it can be used as a -# drop in replacement. -LDFLAGS-md5crypt.so = -Wl,-soname=lib$(libprefix)crypt.so$(libcrypt.so-version) -# We also use the same version script. -libmd5crypt-map := $(common-objpfx)libcrypt.map -endif - -define o-iterator-doit -$(objpfx)$(patsubst %,$(libtype$o),md5crypt): \ - $(onlymd5-routines:%=$(objpfx)%$o); $$(build-extra-lib) -endef -object-suffixes-left = $(object-suffixes) -include $(patsubst %,$(..)o-iterator.mk,$(object-suffixes)) - -# Depend on libc.so so a DT_NEEDED is generated in the shared objects. -# This ensures they will load libc.so for needed symbols if loaded by -# a statically-linked program that hasn't already loaded it. -$(objpfx)libcrypt.so: $(common-objpfx)libc.so -$(objpfx)libmd5crypt.so: $(common-objpfx)libc.so diff --git a/md5-crypt/onlymd5-entry.c b/md5-crypt/onlymd5-entry.c deleted file mode 100644 index d03fae9bd1..0000000000 --- a/md5-crypt/onlymd5-entry.c +++ /dev/null @@ -1 +0,0 @@ -#include <sysdeps/generic/crypt-entry.c> diff --git a/crypt/sysdeps/unix/des_impl.c b/sunrpc/des_impl.c index f4fee720a1..f4fee720a1 100644 --- a/crypt/sysdeps/unix/des_impl.c +++ b/sunrpc/des_impl.c diff --git a/sysdeps/generic/crypt-entry.c b/sysdeps/generic/crypt-entry.c deleted file mode 100644 index 8248ed9ba3..0000000000 --- a/sysdeps/generic/crypt-entry.c +++ /dev/null @@ -1,72 +0,0 @@ -/* Wrapper around MD5 sum replacement for crypt function. - Copyright (C) 1996, 1997, 1998 Free Software Foundation, Inc. - This file is part of the GNU C Library. - Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If not, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -#include <crypt.h> -#include <errno.h> -#include <string.h> - - -/* Define our magic string to mark salt for MD5 encryption - replacement. This is meant to be the same as for other MD5 based - encryption implementations. */ -static const char md5_salt_prefix[] = "$1$"; - - -/* Prototypes for the MD5 encryption replacement functions. */ -extern char *__md5_crypt_r (const char *key, const char *salt, char *buffer, - int buflen); -extern char *__md5_crypt (const char *key, const char *salt); - -extern char *__crypt_r (const char *key, const char *salt, - struct crypt_data *__restrict data); - -/* We recognize an intended call of the MD5 crypt replacement function - by the first 3 characters of the salt string. If they match the - MD5 magic string we want MD5 encryption replacement. */ -char * -__crypt_r (key, salt, data) - const char *key; - const char *salt; - struct crypt_data *__restrict data; -{ - if (strncmp (md5_salt_prefix, salt, sizeof (md5_salt_prefix) - 1) == 0) - return __md5_crypt_r (key, salt, (char *) data, - sizeof (struct crypt_data)); - - /* We don't have DES encryption. */ - __set_errno (EOPNOTSUPP); - return NULL; -} -weak_alias (__crypt_r, crypt_r) - - -/* The same here, only we call the non-reentrant version. */ -char * -crypt (key, salt) - const char *key; - const char *salt; -{ - if (strncmp (md5_salt_prefix, salt, sizeof (md5_salt_prefix) - 1) == 0) - return __md5_crypt (key, salt); - - /* We don't have DES encryption. */ - __set_errno (EOPNOTSUPP); - return NULL; -} diff --git a/sysdeps/generic/crypt.h b/sysdeps/generic/crypt.h deleted file mode 100644 index 0713e950ba..0000000000 --- a/sysdeps/generic/crypt.h +++ /dev/null @@ -1,59 +0,0 @@ -/* - * UFC-crypt: ultra fast crypt(3) implementation - * - * Copyright (C) 1991, 92, 93, 96, 97, 98 Free Software Foundation, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with the GNU C Library; see the file COPYING.LIB. If not, - * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. - * - * @(#)crypt.h 1.3 16 Sep 1996 - * - */ - -#ifndef _CRYPT_H - -#define _CRYPT_H 1 -#include <features.h> - -__BEGIN_DECLS - -/* Encrypt at most 8 characters from KEY using salt to perturb DES. */ -extern char *crypt __P ((__const char *__key, __const char *__salt)); - - -#ifdef __USE_GNU -/* Reentrant versions of the functions above. The additional argument - points to a structure where the results are placed in. */ -struct crypt_data - { - char keysched[16 * 8]; - char sb0[32768]; - char sb1[32768]; - char sb2[32768]; - char sb3[32768]; - /* end-of-alignment-critical-data */ - char crypt_3_buf[14]; - char current_salt[2]; - long int current_saltbits; - int direction, initialized; - }; - -extern char *crypt_r __P ((__const char *__key, __const char *__salt, - struct crypt_data *__restrict __data)); -#endif - -__END_DECLS - -#endif /* crypt.h */ diff --git a/sysdeps/generic/des_impl.c b/sysdeps/generic/des_impl.c deleted file mode 100644 index f801a841fc..0000000000 --- a/sysdeps/generic/des_impl.c +++ /dev/null @@ -1,30 +0,0 @@ -/* Copyright (C) 1997 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the GNU C Library; see the file COPYING.LIB. If not, - write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. */ - -/* We must not distribute the DES implementation as part of the glibc. - So we have to provide a dummy version here. */ -#include <des.h> - -int -_des_crypt (char *buf, unsigned len, struct desparams *desp) -{ - return 0; -} - -stub_warning (_des_crypt) -#include <stub-tag.h> |