From e4c6131baab4d09d31d280fa7dbca76cbe319dbb Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Fri, 6 May 1994 14:25:39 +0000 Subject: [PATCH] crypt module (Steve M's) --- Modules/Setup.guido | 160 ------------------------------------------ Modules/Setup.irix5 | 1 + Modules/Setup.minix | 160 ------------------------------------------ Modules/cryptmodule.c | 36 ++++++++++ 4 files changed, 37 insertions(+), 320 deletions(-) delete mode 100644 Modules/Setup.guido delete mode 100644 Modules/Setup.minix create mode 100644 Modules/cryptmodule.c diff --git a/Modules/Setup.guido b/Modules/Setup.guido deleted file mode 100644 index 63fb6c0cc5f..00000000000 --- a/Modules/Setup.guido +++ /dev/null @@ -1,160 +0,0 @@ -# Each line in this file describes one or more optional modules. -# Comment out lines to suppress modules. -# Lines have the following structure: -# -# ... [ ...] [ ...] [ ...] -# -# is anything ending in .o -# is anything starting with -I, -D, -U or -C -# is anything ending in .a or beginning with -l or -L -# is anything else but should be a valid Python -# identifier (letters, digits, underscores, beginning with non-digit) -# -# Lines can also have the form -# -# = -# -# which defines a Make variable definition inserted into Makefile.in -# -# NOTE: As a standard policy, as many modules as can be supported by a -# platform should be present. The distribution comes with all modules -# enabled that are supported by most platforms and don't require you -# to ftp sources from elsewhere. To make this easier for SGI -# platforms, you can copy Setup.sgi to Setup (or edit Makefile.in.in -# to use Setup.sgi instead of Setup). - - -# Some special rules to define PYTHONPATH -# Edit the definitions below to indicate which options you are using - -# Don't edit this (usually) -DESTLIB=$(prefix)/lib/python - -# Standard enabled (tests are always available) -TESTPATH=:$(DESTLIB)/test - -# Enable this for SGI systems -ARCHPATH=:$(DESTLIB)/sgi - -# Enable this for Sun systems -#ARCHPATH=:$(DESTLIB)/sun4 - -# Enable this if stdwin installed -STDWINPATH=:$(DESTLIB)/stdwin - -PYTHONPATH=.:$(DESTLIB)$(TESTPATH)$(ARCHPATH)$(STDWINPATH) - - -# Modules that should always be present (non UNIX dependent) - -array arraymodule.o # array objects -math mathmodule.o # math library functions, e.g. sin() -parser parsermodule.o # raw interface to the Python parser -posix posixmodule.o # posix (UNIX) system calls -regex regexmodule.o regexpr.o # Regular expressions, GNU Emacs style -strop stropmodule.o # fast string operations implemented in C -struct structmodule.o # binary structure packing/unpacking -time timemodule.o # time operations and variables - - -# Modules with some UNIX dependencies -- on by default. -# Note that some UNIX versions still don't support all of these -# so you may have to comment them out before the build completes. - -dbm dbmmodule.o # dbm(3) may require -ldbm or similar -fcntl fcntlmodule.o # fcntl(2) and ioctl(2) -nis nismodule.o # Sun yellow pages -- not everywhere -pwd grp pwdmodule.o # pwd(3) and grp(3) -select selectmodule.o # select(2); not on ancient System V -socket socketmodule.o # socket(2); not on ancient System V - - -# Multimedia modules -- on by default -# These represent audio samples or images as strings - -audioop audioopmodule.o # Operations on audio samples -imageop imageopmodule.o # Operations on images -rgbimg rgbimgmodule.o # Read SGI RGB image files (but coded portably) - - -# The stdwin module provides a simple, portable (between X11 and Mac) -# windowing interface. You need to ftp the STDWIN library, e.g. from -# ftp://ftp.cwi.nl/pub/stdwin. The STDWIN variable must point to the -# STDWIN toplevel directory. The ARCH variable must be set to the -# architecture identifier used to build STDWIN. NB if you combine this -# with the gl module on an SGI machine, you should replace "-lX11" with -# "-lX11_s". - -STDWIN=/ufs/guido/src/stdwin -ARCH=sgi -stdwin stdwinmodule.o -I$(STDWIN)/H $(STDWIN)/Build/$(ARCH)/x11/lib/lib.a -lX11_s - - -# The md5 module implements the RSA Data Security, Inc. MD5 -# Message-Digest Algorithm, described in RFC 1321. The necessary files -# md5c.c and md5.h are included here. - -md5 md5module.o md5c.o - - -# The mpz module interfaces to the GNU Multiple Precision library. -# You need to ftp the GNU MP library. This was last tested with a -# somewhat modified (to get around bugs) version of GMP 1.2; it will -# likely need some work for more recent versions. The GMP variable -# must point to the GMP source directory. - -GMP=/ufs/guido/src/gmp -mpz mpzmodule.o -I$(GMP) $(GMP)/libgmp.a - - -# The rotor module (contributed by Lance Ellinghouse) implements a -# rotor-based encryption algorithm. It is self-contained. - -rotor rotormodule.o - - -# SGI IRIX specific modules -- off by default. -# Switch this on if you have an SGI machine. -# Note that some required libraries and header files aren't always -# installed; you may be better off switching on only 'fm' and 'gl' -# (Font Manager and Graphics Library). - -al almodule.o -laudio # audio -cd cdmodule.o -lcdaudio -lds # -cl clmodule.o -lcl -fm fmmodule.o -lfm_s -lgl_s -gl glmodule.o -lgl_s -lX11_s -imgfile imgfilemodule.o -limage -lgutil -lm -sgi sgimodule.o -sv svmodule.o yuvconvert.o -lsvideo -lXext -lX11_s - -# The FORMS library, by Mark Overmars, implements user interface -# components such as dialogs and buttons using SGI's GL and FM -# libraries. You must ftp the FORMS library separately from -# ftp://ftp.cs.ruu.nl/pub/SGI/FORMS. It was tested with FORMS 2.2a. -# The FORMS variable must point to the FORMS subdirectory of the forms -# toplevel directory. - -FORMS=/ufs/guido/src/forms/FORMS -fl flmodule.o -I$(FORMS) $(FORMS)/libforms.a - - -# SunOS specific modules -- off by default - -# sunaudiodev sunaudiodevmodule.o - - -# Thread module -- works on SGI IRIX and on SunOS 5.x (SOLARIS) only. -# Note that you must have configured (and built!) Python with the -# --with-thread option passed to the configure script for this to work. - -thread threadmodule.o - - -# GNN's timing module -timing timingmodule.o - - -# Example -- included for reference only - -# xx xxmodule.o diff --git a/Modules/Setup.irix5 b/Modules/Setup.irix5 index 88315c41620..c9940445d75 100644 --- a/Modules/Setup.irix5 +++ b/Modules/Setup.irix5 @@ -65,6 +65,7 @@ dbm dbmmodule.o # dbm(3) may require -ldbm or similar fcntl fcntlmodule.o # fcntl(2) and ioctl(2) nis nismodule.o # Sun yellow pages -- not everywhere pwd grp pwdmodule.o # pwd(3) and grp(3) +crypt cryptmodule.o # crypt(3) select selectmodule.o # select(2); not on ancient System V socket socketmodule.o # socket(2); not on ancient System V diff --git a/Modules/Setup.minix b/Modules/Setup.minix deleted file mode 100644 index 841510e8bb9..00000000000 --- a/Modules/Setup.minix +++ /dev/null @@ -1,160 +0,0 @@ -# Each line in this file describes one or more optional modules. -# Comment out lines to suppress modules. -# Lines have the following structure: -# -# ... [ ...] [ ...] [ ...] -# -# is anything ending in .o -# is anything starting with -I, -D, -U or -C -# is anything ending in .a or beginning with -l or -L -# is anything else but should be a valid Python -# identifier (letters, digits, underscores, beginning with non-digit) -# -# Lines can also have the form -# -# = -# -# which defines a Make variable definition inserted into Makefile.in -# -# NOTE: As a standard policy, as many modules as can be supported by a -# platform should be present. The distribution comes with all modules -# enabled that are supported by most platforms and don't require you -# to ftp sources from elsewhere. To make this easier for SGI -# platforms, you can copy Setup.sgi to Setup (or edit Makefile.in.in -# to use Setup.sgi instead of Setup). - - -# Some special rules to define PYTHONPATH -# Edit the definitions below to indicate which options you are using - -# Don't edit this (usually) -DESTLIB=$(prefix)/lib/python - -# Standard enabled (tests are always available) -TESTPATH=:$(DESTLIB)/test - -# Enable this for SGI systems -#ARCHPATH=:$(DESTLIB)/sgi - -# Enable this for Sun systems -#ARCHPATH=:$(DESTLIB)/sun4 - -# Enable this if stdwin installed -#STDWINPATH=:$(DESTLIB)/stdwin - -PYTHONPATH=.:$(DESTLIB)$(TESTPATH)$(ARCHPATH)$(STDWINPATH) - - -# Modules that should always be present (non UNIX dependent) - -array arraymodule.o # array objects -math mathmodule.o # math library functions, e.g. sin() -parser parsermodule.o # raw interface to the Python parser -posix posixmodule.o # posix (UNIX) system calls -regex regexmodule.o regexpr.o # Regular expressions, GNU Emacs style -strop stropmodule.o # fast string operations implemented in C -struct structmodule.o # binary structure packing/unpacking -time timemodule.o # time operations and variables - - -# Modules with some UNIX dependencies -- on by default. -# Note that some UNIX versions still don't support all of these -# so you may have to comment them out before the build completes. - -#dbm dbmmodule.o # dbm(3) may require -ldbm or similar -fcntl fcntlmodule.o # fcntl(2) and ioctl(2) -#nis nismodule.o # Sun yellow pages -- not everywhere -pwd grp pwdmodule.o # pwd(3) and grp(3) -#select selectmodule.o # select(2); not on ancient System V -#socket socketmodule.o # socket(2); not on ancient System V - - -# Multimedia modules -- on by default -# These represent audio samples or images as strings - -#audioop audioopmodule.o # Operations on audio samples -#imageop imageopmodule.o # Operations on images -#rgbimg rgbimgmodule.o # Read SGI RGB image files (but coded portably) - - -# The stdwin module provides a simple, portable (between X11 and Mac) -# windowing interface. You need to ftp the STDWIN library, e.g. from -# ftp://ftp.cwi.nl/pub/stdwin. The STDWIN variable must point to the -# STDWIN toplevel directory. The ARCH variable must be set to the -# architecture identifier used to build STDWIN. NB if you combine this -# with the gl module on an SGI machine, you should replace "-lX11" with -# "-lX11_s". - -#STDWIN=/ufs/guido/src/stdwin -#ARCH=??? -#stdwin stdwinmodule.o -I$(STDWIN)/H $(STDWIN)/Build/$(ARCH)/x11/lib/lib.a -lX11 - - -# The md5 module implements the RSA Data Security, Inc. MD5 -# Message-Digest Algorithm, described in RFC 1321. The necessary files -# md5c.c and md5.h are included here. - -md5 md5module.o md5c.o - - -# The mpz module interfaces to the GNU Multiple Precision library. -# You need to ftp the GNU MP library. This was last tested with a -# somewhat modified (to get around bugs) version of GMP 1.2; it will -# likely need some work for more recent versions. The GMP variable -# must point to the GMP source directory. - -#GMP=/ufs/guido/src/gmp -#mpz mpzmodule.o -I$(GMP) $(GMP)/libgmp.a - - -# The rotor module (contributed by Lance Ellinghouse) implements a -# rotor-based encryption algorithm. It is self-contained. - -rotor rotormodule.o - - -# SGI IRIX specific modules -- off by default. -# Switch this on if you have an SGI machine. -# Note that some required libraries and header files aren't always -# installed; you may be better off switching on only 'fm' and 'gl' -# (Font Manager and Graphics Library). - -#al almodule.o -laudio # audio -#cd cdmodule.o -lcdaudio -lds # -#cl clmodule.o -lcl -#fm fmmodule.o -lfm_s -lgl_s -#gl glmodule.o -lgl_s -lX11_s -#imgfile imgfilemodule.o -limage -lgutil -lm -#sgi sgimodule.o -#sv svmodule.o yuvconvert.o -lsvideo -lXext -lX11_s - -# The FORMS library, by Mark Overmars, implements user interface -# components such as dialogs and buttons using SGI's GL and FM -# libraries. You must ftp the FORMS library separately from -# ftp://ftp.cs.ruu.nl/pub/SGI/FORMS. It was tested with FORMS 2.2a. -# The FORMS variable must point to the FORMS subdirectory of the forms -# toplevel directory. - -#FORMS=/ufs/guido/src/forms/FORMS -#fl flmodule.o -I$(FORMS) $(FORMS)/libforms.a - - -# SunOS specific modules -- off by default - -#sunaudiodev sunaudiodevmodule.o - - -# Thread module -- works on SGI IRIX and on SunOS 5.x (SOLARIS) only. -# Note that you must have configured (and built!) Python with the -# --with-thread option passed to the configure script for this to work. - -# thread threadmodule.o - - -# GNN's timing module -timing timingmodule.o - - -# Example -- included for reference only - -# xx xxmodule.o diff --git a/Modules/cryptmodule.c b/Modules/cryptmodule.c new file mode 100644 index 00000000000..9cdcac8b56f --- /dev/null +++ b/Modules/cryptmodule.c @@ -0,0 +1,36 @@ +/* cryptmodule.c - by Steve Majewski + */ + +#include "allobjects.h" +#include "modsupport.h" + +#include + + +/* Module crypt */ + + +static object *crypt_crypt(self, args) + object *self, *args; +{ + char *word, *salt; + extern char * crypt(); + + struct passwd *p; + if (!getargs(args, "(ss)", &word, &salt)) { + return NULL; + } + return newstringobject( crypt( word, salt ) ); + +} + +static struct methodlist crypt_methods[] = { + {"crypt", crypt_crypt}, + {NULL, NULL} /* sentinel */ +}; + +void +initcrypt() +{ + initmodule("crypt", crypt_methods); +}