Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Branch: master
Commits on Jan 8, 2015
  1. Fix build on Solaris

Commits on Aug 5, 2014
  1. Remove autoconf

    autoconf support is awesome but unfortunately still required manually
    changing rebar.config. Hardcode flags in rebar.config. If an OS supports
    crypt_r(), then it will have to be added to the pattern match before
Commits on Aug 4, 2014
  1. Fix compiling on OpenBSD

    OpenBSD, unlike FreeBSD and NetBSD, does not require -lcrypt. Issue a
    warning only if libcrypt is not found.
    On platforms that do not support crypt_r, do not require linking with
  2. tests: run on freebsd

  3. Use iolists as arguments to crypt/2

    Simplify the code by accepting iolists as arguments to crypt. The
    behaviour of crypt/2 has been changed to always return a binary, rather
    than a string.
    A new function, crypt_to_string/2, will return the output of crypt as a
    string. The naming follows the base64 module.
    On memory allocation failures, the NIF will crash the calling process
    rather than returning an error.
  4. Merge pull request #2 from snar/nif_locking

    Nif locking: thread-safety on platforms lacking crypt_r
  5. @snar
  6. @snar
Commits on Jul 18, 2014
  1. Merge pull request #1 from jcomellas/jc-crypt_r

    Add support for crypt_r() to make the library thread-safe
  2. @jcomellas
  3. @jcomellas
  4. @jcomellas

    Add support for crypt_r() to make the library thread-safe

    jcomellas authored
    - Add support for binaries as key and password.
    - Make the buffers used for key and password dynamic by using alloca()
    - Remove local crypt.h header to avoid collisions with system header
    - Add conditional compilation arguments to compile on non-thread-safe
      environments (i.e. Mac OS X)
    - Update version to 0.3.0
Commits on Dec 10, 2013
  1. Use semver format

Commits on Dec 8, 2013
  1. rebar: update URL

  2. Use semver format

Commits on Dec 6, 2013
  1. rebar: generate app file

Commits on Dec 5, 2013
  1. Check for undefined funs

Commits on Nov 13, 2013
Commits on Mar 14, 2012
  1. Fix error handling

    The behaviour on error of crypt(3) is tricky. The only real error it can
    return is {error,enosys} on platforms not supporting it (the old
    implementation would have returned {error, {crypt, "enosys"}}).
    Change the behaviour of the module to test for NULL before loading. If
    there is any error, there is no point loading the library.
    In the event of an error, the crypt implementation may choose to return
    NULL (crypt/2 will throw a bad arg exception) or return a fixed string
    (the caller will need to check for this case if it is a concern).
  2. Figure out path to shared lib

  3. Update README

  4. Add some tests

  5. Rebar fix spamification

Commits on Dec 29, 2010
  1. Use github rebar

Commits on Oct 8, 2010
  1. Download the rebar script

  2. Download rebar if script does not exist in path

    Remove local copy of the rebar script. Preferentially use the user's
    rebar script, if it exists in their path; otherwise, try to download it.
    Since the download is in the clear, a future improvement would check a
    hash before running the script.
Commits on Sep 15, 2010
Commits on Sep 12, 2010
  1. Rebarize

Something went wrong with that request. Please try again.