forked from cory/tildefriends
		
	
		
			
	
	
		
			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 $ |