summaryrefslogtreecommitdiff
path: root/src/library/bcrypt/README
diff options
context:
space:
mode:
Diffstat (limited to 'src/library/bcrypt/README')
-rw-r--r--src/library/bcrypt/README68
1 files changed, 68 insertions, 0 deletions
diff --git a/src/library/bcrypt/README b/src/library/bcrypt/README
new file mode 100644
index 0000000..b19d90b
--- /dev/null
+++ b/src/library/bcrypt/README
@@ -0,0 +1,68 @@
+This is an implementation of a password hashing method, provided via the
+crypt(3) and a reentrant interface. It is mostly compatible with
+OpenBSD's bcrypt.c (prefix "$2a$") by Niels Provos and David Mazieres.
+(Please refer to the included crypt(3) man page for information on
+compatibility issues.)
+
+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.9 2011/07/16 21:48:45 solar Exp $