summaryrefslogtreecommitdiff
path: root/NEWS
AgeCommit message (Collapse)AuthorFilesLines
2020-02-25Don’t define xcrypt <=3.1.1 compat names as linkable symbols (#100)Zack Weinberg1-0/+22
We were defining the compatibility symbols crypt_gensalt_r, xcrypt, xcrypt_r, xcrypt_gensalt, and xcrypt_gensalt_r with default ELF symbol versions, meaning that they were accessible for linkage by a program that declared them itself. This was intended to make e.g. AC_CHECK_FUNCS([xcrypt]) detect them as available, but that seems to be causing more problems than it solves, see e.g. issue #100. Make these into normal compatibility symbols (that is, defined with no default symbol version). They will still be usable by newly compiled programs that include xcrypt.h, since xcrypt.h uses __REDIRECT to map them onto the currently supported API. However, programs that declare them themselves will fail to link. This also corrects the minor glitch where these symbols were defined by libxcrypt.so.2 in a --disable-obsolete-api configuration. For further consistency, make --disable-obsolete-api imply --disable-xcrypt-compat-files.
2020-02-17Bump tarball version to 4.4.15 and update NEWS.Björn Esser1-0/+2
2020-02-17Rename bootstrap script: 'bootstrap' -> 'autogen.sh'.Björn Esser1-0/+3
Some third-party build-tools, used for building package collections or customized system environments from scratch, require the autotools bootstrap script to be named 'autogen.sh'. Thus we should follow this naming convention.
2020-02-16Bump tarball version to 4.4.14 and update NEWS.Björn Esser1-0/+2
2020-02-16Update NEWS.Björn Esser1-0/+8
2020-02-07Update NEWS.Björn Esser1-0/+1
2020-01-30Bump tarball version to 4.4.13 and update NEWS.Björn Esser1-0/+2
2020-01-30Update NEWS.Björn Esser1-0/+1
2020-01-18Bump tarball version to 4.4.12 and update NEWS.Björn Esser1-0/+2
2020-01-18Update NEWS.Björn Esser1-0/+1
2019-12-15Update NEWS.Björn Esser1-0/+1
2019-09-18Bump tarball version to 4.4.11 and update NEWS.Björn Esser1-0/+2
2019-09-18gen-hashes: Fix ordering of methods with gawk < 4.1.0. (Fixes #94)Björn Esser1-0/+2
2019-09-07Bump tarball version to 4.4.10 and update NEWS.Björn Esser1-0/+2
2019-09-07Update NEWS.Björn Esser1-0/+1
2019-09-01Bump tarball version to 4.4.9 and update NEWS.Björn Esser1-0/+2
2019-09-01Update NEWS.Björn Esser1-0/+1
2019-08-24Bump tarball version to 4.4.8 and update NEWS.Björn Esser1-0/+2
2019-08-24Update NEWS.Björn Esser1-0/+2
2019-05-05Bump tarball version to 4.4.7 and update NEWS.Björn Esser1-0/+2
2019-05-04Update NEWS.Björn Esser1-0/+1
2019-05-04Bump tarball version to 4.4.6 and update NEWS.Björn Esser1-0/+2
2019-05-04Update NEWS.Björn Esser1-0/+7
2019-03-04Bump tarball version to 4.4.5 and update NEWS.Björn Esser1-0/+2
2019-02-03crypt: Disallow phrases longer than CRYPT_MAX_PASSPHRASE_SIZE.Zack Weinberg1-0/+5
For _all_ hashing methods, fail with ERANGE if the phrase is longer than CRYPT_MAX_PASSPHRASE_SIZE characters.
2019-02-03crypt-nthash: Don’t truncate NTHASH passphrases.Björn Esser1-0/+4
The NT hashing method no longer truncates passphrases at 128 characters; Windows does not do this. (The Windows login dialog _limits_ interactively entered passphrases to 127 characters. Passphrases set via the low-level API can be longer.) Additionally this commit adds serveral optimizations and simplifications to the crypt_nt_rn function by Zack Weinberg and me. Closes: #78.
2019-01-24Bump tarball version to 4.4.4 and update NEWS.Björn Esser1-0/+2
2019-01-24Add --enable-obsolete-api-enosys configure option.Björn Esser1-0/+12
If enabled, this option replaces the obsolete APIs (fcrypt, encrypt{,_r}, and setkey{,_r}) with stubs that set errno to ENOSYS and return without performing any real operations. This allows one to disable DEScrypt support while preserving POSIX compliance. For security reasons, the encrypt{,r} functions will also overwrite their data-block argument with random bits. The fcrypt function will always produce a failure token (*0 or *1), unless the library was also configured with --disable-failure-tokens, in which case it will always return NULL.
2019-01-21Add generated C++-guards to <xcrypt.h>.Björn Esser1-0/+1
2019-01-11crypt-sunmd5: Fix the valueof SUNMD5_MAX_ROUNDS.Björn Esser1-0/+1
2018-12-22Bump tarball version to 4.4.3 and update NEWS.Björn Esser1-0/+2
2018-12-22alg-yescrypt-opt: Add x32 specific inline asm.Khem Raj1-0/+1
Fixes: #74. Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Björn Esser <besser82@fedoraproject.org>
2018-12-08Add test-alg-yescrypt from upstream for improved coverage.Björn Esser1-0/+1
This also needs to re-add those functions from the upstream codebase, which have been dropped on intial integration of yescrypt with libxcrypt.
2018-12-07Bump tarball version to 4.4.2 and update NEWS.Björn Esser1-0/+2
2018-12-06Apply full read-only relocations to generated binaries, if supported.Björn Esser1-0/+3
The relro flag ensures that the ELF sections are reordered so that the ELF internal data sections (.got, .dtors, etc.) precede the program's data sections (.data and .bss) and that the non-PLT GOT is read-only. In case of a bss or data overflow bug the relro flags protects the ELF internal data sections from being overwritten (as the ELF sections are reordered). The bind-now flag tells the dynamic linker to resolve all symbols when the program is started, or when the shared library is linked to using dlopen, instead of deferring function call resolution to the point when the function is first called. Together with the relro flag the bind-now effectively re-maps the whole GOT to be read-only. The only downside of immediate binding causing slowed down startup of processes as the linker has to perform all relocations at startup time, is not that much of a problem for libxcrypt, as the only external dependency it has is the system's libc. The resulting full read-only relocation mitigates the well known technique of modifying a GOT entry to get control over the program execution flow.
2018-12-05Refactor gensalt_nt_rn to simply return its own prefix.Björn Esser1-3/+3
2018-11-21Update NEWS.Björn Esser1-0/+6
2018-11-20Bump tarball version to 4.4.1 and update NEWS.Björn Esser1-0/+2
2018-11-19Implement the crypt_preferred_method function.Björn Esser1-1/+4
crypt_preferred_method(3) is a convenience function to get the prefix of the preferred hash method. If a preferred method is available, it is the same as the one also used by the crypt_gensalt functions, if their given prefix parameter is NULL. If no preferred hash method is supported, the return value of this function is NULL.
2018-11-14Bump tarball version to 4.3.5 and update NEWS.Björn Esser1-0/+2
2018-11-14Install <xcrypt.h> and a symlink from libxcrypt.so to libcrypt.so.Björn Esser1-0/+7
This is needed as some configure scripts may look for symbols available in libxcrypt.so. For static libraries a corresponding symlink for the archive file will be installed. The installation of those compatibility files can be disabled by passing the '--disable-xcrypt-compat-files' flag to the configure script.
2018-11-14Add aliases for xcrypt{,_r} and xcrypt_gensalt{,_r}.Björn Esser1-0/+6
Those aliases were added for code compatibility with libxcrypt v3.1.1 and earlier. Also replace the prototype for the crypt_gensalt_r function with a declaration through a macro, so new compiled applications link against the identical crypt_gensalt_rn function directly.
2018-11-14Add 'fedora' to the groups of hashing methods.Björn Esser1-0/+1
2018-11-11Bump tarball version to 4.3.4 and update NEWS.Björn Esser1-0/+2
2018-11-11Add an alias for crypt_gensalt_r.Björn Esser1-0/+4
The function was available in older versions (v3.1.1 and earlier) of libxcrypt. It has the same semantics and the same prototype as the crypt_gensalt_rn function. Adding such an alias makes porting applications written for those earlier versions of libxcrypt much easier and requires less conditionals to keep code compatibility for systems still using an antique release.
2018-11-11Bump tarball version to 4.3.3 and update NEWS.Björn Esser1-0/+2
2018-11-11Remove the gensalt function for the bcrypt x variant ($2x$).Björn Esser1-0/+6
This prefix was never intended for use when hashing new passphrases. The only use case originally intended was to manually edit '$2a$' to '$2x$' in passphrase hashes to knowingly take the risk yet enable users to continue to log in when upgrading systems with buggy bcrypt implementations to fixed versions. There was never an intent to be able to generate new setting strings with that prefix. The original implementation of the bcrypt gensalt function doesn't allow the use of the prefix '$2x'. Thus libxcrypt must not, either.
2018-11-11Update NEWS.Björn Esser1-0/+3
2018-11-11Bump tarball version to 4.3.2 and update NEWS.Björn Esser1-0/+2
2018-11-10Make bcrypt variants independently configurable.Zack Weinberg1-1/+8
There are now separate INCLUDE_ macros for all four variants of bcrypt. --enable-hashes=bcrypt enables only the preferred $2b$ variant. The $2x$ variant, which has a bug that makes collisions easy to find for some passphrases, is no longer included in the STRONG group, and the OS compatibility groups have been adjusted so that each includes only the variants historically available on the OS we’re being compatible with. As a side-effect, this makes the “optional suffix on the name of the gensalt_fn” column of hashes.lst unnecessary, and allows simplification of gen-hashes.awk. The bcrypt-related tests have not actually changed, but many entries in test case arrays were rearranged to minimize the number of additional ifdefs needed.