1. 23 Sep, 2001 2 commits
    • Bruce Momjian's avatar
      Add new file. · 9a78cfc1
      Bruce Momjian authored
      9a78cfc1
    • Bruce Momjian's avatar
      Big thanks to Solar Designer who pointed out a bug in bcrypt · ab560228
      Bruce Momjian authored
      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
      ab560228
  2. 21 Aug, 2001 1 commit
    • Bruce Momjian's avatar
      /contrib/pgcrypto: · 2518e273
      Bruce Momjian authored
      * remove support for encode() as it is in main tree now
      * remove krb5.c
      * new 'PX library' architecture
      * remove BSD license from my code to let the general
        PostgreSQL one to apply
      * md5, sha1: ANSIfy, use const where appropriate
      * various other formatting and clarity changes
      * hmac()
      * UN*X-like crypt() - system or internal crypt
      * Internal crypt: DES, Extended DES, MD5, Blowfish
        crypt-des.c, crypt-md5.c from FreeBSD
        crypt-blowfish.c from Solar Designer
      * gen_salt() for crypt() -  Blowfish, MD5, DES, Extended DES
      * encrypt(), decrypt(), encrypt_iv(), decrypt_iv()
      * Cipher support in mhash.c, openssl.c
      * internal: Blowfish, Rijndael-128 ciphers
      * blf.[ch], rijndael.[ch] from OpenBSD
      * there will be generated file rijndael-tbl.inc.
      
      Marko Kreen
      2518e273
  3. 24 Jan, 2001 1 commit
    • Bruce Momjian's avatar
      I would like to do a interface change in pgcrypto. (Good · cb5427ee
      Bruce Momjian authored
      timing, I know :))  At the moment the digest() function returns
      hexadecimal coded hash, but I want it to return pure binary.  I
      have also included functions encode() and decode() which support
      'base64' and 'hex' encodings, so if anyone needs digest() in hex
      he can do encode(digest(...), 'hex').
      
      Main reason for it is "to do one thing and do it well" :)
      
      Another reason is if someone needs really lot of digesting, in
      the end he wants to store the binary not the hexadecimal result.
      It is really silly to convert it to hex then back to binary
      again.  As I said if someone needs hex he can get it.
      
      Well, and the real reason that I am doing encrypt()/decrypt()
      functions and _they_ return binary.  For testing I like to see
      it in hex occasionally, but it is really wrong to let them
      return hex.  Only now it caught my eye that hex-coding in
      digest() is wrong.  When doing digest() I thought about 'common
      case' but hacking with psql is probably _not_ the common case :)
      
      Marko Kreen
      cb5427ee
  4. 20 Nov, 2000 1 commit
    • Tom Lane's avatar
      Revise handling of oldstyle/newstyle functions per recent discussions · 5bb2300b
      Tom Lane authored
      in pghackers list.  Support for oldstyle internal functions is gone
      (no longer needed, since conversion is complete) and pg_language entry
      'internal' now implies newstyle call convention.  pg_language entry
      'newC' is gone; both old and newstyle dynamically loaded C functions
      are now called language 'C'.  A newstyle function must be identified
      by an associated info routine.  See src/backend/utils/fmgr/README.
      5bb2300b
  5. 31 Oct, 2000 1 commit