aboutsummaryrefslogtreecommitdiff
path: root/crypt/README
diff options
context:
space:
mode:
authorJohn Ankarström <john@ankarstrom.se>2021-09-19 22:27:31 +0200
committerJohn Ankarström <john@ankarstrom.se>2021-09-19 22:27:31 +0200
commitfd9e2f7245212f2b652652f4669648260e59f9e9 (patch)
tree35e12c2f78cde9338f34780921cd8020eea1bbb4 /crypt/README
parent93c1df59ef14348e9a3e1d66ea0b96960f5b5732 (diff)
downloadcforum-fd9e2f7245212f2b652652f4669648260e59f9e9.tar.gz
Add bcrypt
Diffstat (limited to 'crypt/README')
-rw-r--r--crypt/README68
1 files changed, 68 insertions, 0 deletions
diff --git a/crypt/README b/crypt/README
new file mode 100644
index 0000000..e95da23
--- /dev/null
+++ b/crypt/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 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 $