git-svn-id: https://www.unprompted.com/svn/projects/tildefriends/trunk@3621 ed5197a5-7fde-0310-b194-c3ffbd925b24
		
			
				
	
	
		
			69 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| This is an implementation of a password hashing method, provided via the
 | |
| crypt(3) and a reentrant interface.  It is fully compatible with
 | |
| OpenBSD's bcrypt.c for prefix "$2b$", originally by Niels Provos and
 | |
| David Mazieres.  (Please refer to the included crypt(3) man page for
 | |
| information on minor compatibility issues for other bcrypt prefixes.)
 | |
| 
 | |
| I've placed this code in the public domain, with fallback to a
 | |
| permissive license.  Please see the comment in crypt_blowfish.c for
 | |
| more information.
 | |
| 
 | |
| You can use the provided routines in your own packages, or link them
 | |
| into a C library.  I've provided hooks for linking into GNU libc, but
 | |
| it shouldn't be too hard to get this into another C library.  Note
 | |
| that simply adding this code into your libc is probably not enough to
 | |
| make your system use the new password hashing algorithm.  Changes to
 | |
| passwd(1), PAM modules, or whatever else your system uses will likely
 | |
| be needed as well.  These are not a part of this package, but see
 | |
| LINKS for a pointer to our tcb suite.
 | |
| 
 | |
| Instructions on using the routines in one of the two common ways are
 | |
| given below.  It is recommended that you test the routines on your
 | |
| system before you start.  Type "make check" or "make check_threads"
 | |
| (if you have the POSIX threads library), then "make clean".
 | |
| 
 | |
| 
 | |
| 1. Using the routines in your programs.
 | |
| 
 | |
| The available interfaces are in ow-crypt.h, and this is the file you
 | |
| should include.  You won't need crypt.h.  When linking, add all of the
 | |
| C files and x86.S (you can compile and link it even on a non-x86, it
 | |
| will produce no code in this case).
 | |
| 
 | |
| 
 | |
| 2. Building the routines into GNU C library.
 | |
| 
 | |
| For versions 2.13 and 2.14 (and likely other nearby ones), extract the
 | |
| library sources as usual.  Apply the patch for glibc 2.14 provided in
 | |
| this package.  Enter crypt/ and rename crypt.h to gnu-crypt.h within
 | |
| that directory.  Copy the C sources, header, and assembly (x86.S) files
 | |
| from this package in there as well (but be sure you don't overwrite the
 | |
| Makefile).  Configure, build, and install the library as usual.
 | |
| 
 | |
| For versions 2.2 to 2.3.6 (and likely also for some newer ones),
 | |
| extract the library sources and maybe its optional add-ons as usual.
 | |
| Apply the patch for glibc 2.3.6 provided in this package.  Enter
 | |
| crypt/ and rename crypt.h to gnu-crypt.h within that directory.  Copy
 | |
| the C sources, header, and assembly (x86.S) files from this package in
 | |
| there as well (but be sure you don't overwrite the Makefile).
 | |
| Configure, build, and install the library as usual.
 | |
| 
 | |
| For versions 2.1 to 2.1.3, extract the library sources and the crypt
 | |
| and linuxthreads add-ons as usual.  Apply the patch for glibc 2.1.3
 | |
| provided in this package.  Enter crypt/sysdeps/unix/, and rename
 | |
| crypt.h to gnu-crypt.h within that directory.  Copy C sources, header,
 | |
| and assembly (x86.S) files from this package in there as well (but be
 | |
| sure you don't overwrite the Makefile).  Configure, build, and install
 | |
| the library as usual.
 | |
| 
 | |
| Programs that want to use the provided interfaces will need to include
 | |
| crypt.h (but not ow-crypt.h directly).  By default, prototypes for the
 | |
| new routines aren't defined (but the extra functionality of crypt(3)
 | |
| is indeed available).  You need to define _OW_SOURCE to obtain the new
 | |
| routines as well.
 | |
| 
 | |
| -- 
 | |
| Solar Designer <solar at openwall.com>
 | |
| 
 | |
| $Owl: Owl/packages/glibc/crypt_blowfish/README,v 1.10 2014/07/07 15:19:04 solar Exp $
 |