aboutsummaryrefslogtreecommitdiff
path: root/contrib/pgcrypto/crypt-blowfish.c
Commit message (Collapse)AuthorAge
* Remove many -Wcast-qual warningsPeter Eisentraut2011-09-11
| | | | | | This addresses only those cases that are easy to fix by adding or moving a const qualifier or removing an unnecessary cast. There are many more complicated cases remaining.
* Remove unnecessary #include references, per pgrminclude script.Bruce Momjian2011-09-01
|
* Apply upstream fix for blowfish signed-character bug (CVE-2011-2483).Tom Lane2011-06-21
| | | | | | | | | | | | | | | | | | | | | A password containing a character with the high bit set was misprocessed on machines where char is signed (which is most). This could cause the preceding one to three characters to fail to affect the hashed result, thus weakening the password. The result was also unportable, and failed to match some other blowfish implementations such as OpenBSD's. Since the fix changes the output for such passwords, upstream chose to provide a compatibility hack: password salts beginning with $2x$ (instead of the usual $2a$ for blowfish) are intentionally processed "wrong" to give the same hash as before. Stored password hashes can thus be modified if necessary to still match, though it'd be better to change any affected passwords. In passing, sync a couple other upstream changes that marginally improve performance and/or tighten error checking. Back-patch to all supported branches. Since this issue is already public, no reason not to commit the fix ASAP.
* Remove cvs keywords from all files.Magnus Hagander2010-09-20
|
* 8.4 pgindent run, with new combined Linux/FreeBSD/MinGW typedef listBruce Momjian2009-06-11
| | | | provided by Andrew.
* pgindent run for 8.3.Bruce Momjian2007-11-15
|
* Now that core functionality is depending on autoconf's AC_C_BIGENDIAN to beTom Lane2007-04-06
| | | | | | right, there seems precious little reason to have a pile of hand-maintained endianness definitions in src/include/port/*.h. Get rid of those, and make the couple of places that used them depend on WORDS_BIGENDIAN instead.
* Add CVS tag lines to files that were lacking them.Bruce Momjian2006-03-11
|
* Standard pgindent run for 8.1.Bruce Momjian2005-10-15
|
* Add parentheses to macros when args are used in computations. WithoutBruce Momjian2005-05-25
| | | | them, the executation behavior could be unexpected.
* * construct "struct {} list [] = {}" confuses pgindent - split those.Neil Conway2005-03-21
| | | | | | | | | | It was a bad style to begin with, and now several loops can be clearer. * pgcrypto.c: Fix function comments * crypt-gensalt.c, crypt-blowfish.c: stop messing with errno * openssl.c: use px_free instead pfree * px.h: make redefining px_alloc/px_realloc/px_free easier Marko Kreen
* * When postgres.h does not define BYTE_ENDIAN pgcryptoBruce Momjian2001-11-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | produces garbage. I learned the hard way that #if UNDEFINED_1 == UNDEFINED_2 #error "gcc is idiot" #endif prints "gcc is idiot" ... Affected are MD5/SHA1 in internal library, and also HMAC-MD5/HMAC-SHA1/ crypt-md5 which use them. Blowfish is ok, also Rijndael on at least x86. Big thanks to Daniel Holtzman who send me a build log which contained warning: md5.c:246: warning: `X' defined but not used Yes, gcc is that helpful... Please apply this. -- marko
* New pgindent run with fixes suggested by Tom. Patch manually reviewed,Bruce Momjian2001-11-05
| | | | initdb/regression tests pass.
* pgindent run on all C files. Java run to follow. initdb/regressionBruce Momjian2001-10-25
| | | | tests pass.
* Add more missing 'do { ... } while (0)' in missing macros. Without it,Bruce Momjian2001-10-25
| | | | | | | | | | | | | | | | | | | | | | | | | | | these macros fail in if/else cases: #define X \ { \ ... \ } { if (...) X; else ... } with proper setup: #define X \ do { \ ... \ } while (0) it works fine.
* Fix some portability problems (get it to compile, at least, on HP's cc)Tom Lane2001-10-15
|
* Big thanks to Solar Designer who pointed out a bug in bcryptBruce Momjian2001-09-23
| | | | | | | | | | | | | | | | | | | | salt generation code. He also urged using better random source and making possible to choose using bcrypt and xdes rounds more easily. So, here's patch: * For all salt generation, use Solar Designer's own code. This is mostly due fact that his code is more fit for get_random_bytes() style interface. * New function: gen_salt(type, rounds). This lets specify iteration count for algorithm. * random.c: px_get_random_bytes() function. Supported randomness soure: /dev/urandom, OpenSSL PRNG, libc random() Default: /dev/urandom. * Draft description of C API for pgcrypto functions. New files: API, crypt-gensalt.c, random.c Marko Kreen
* Add missing pgcrypto file.Bruce Momjian2001-08-21