* 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  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.
This commit is contained in:
Geoff Keating 2000-03-04 00:47:31 +00:00
parent e3d53b06cc
commit b11f595488
24 changed files with 51 additions and 291 deletions

View File

@ -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;

View File

@ -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))

View File

@ -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

View File

@ -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.

View File

@ -1,2 +0,0 @@
# The Hurd uses Unix like DES crypto function.
unix

View File

@ -1,4 +0,0 @@
ifeq ($(subdir),md5-crypt)
libcrypt-routines += crypt crypt_util
dont_distribute += crypt.c crypt_util.c
endif

View File

@ -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"

View File

@ -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

View File

@ -1 +0,0 @@
#include <sysdeps/generic/crypt-entry.c>

View File

@ -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;
}

View File

@ -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 */

View File

@ -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>