Release Notes: The uses of sprintf(3) have been replaced by the concat() function, implemented locally.
Release Notes: The code has been revised to handle possible NULL returns from crypt(3). The included MD5 implementation has been revised in multiple minor ways. The license has been changed to a heavily cut-down BSD.
Release Notes: A couple of optimizations specific to x86-64 have been applied to the included MD5 routines.
Release Notes: The source code has been modified to use sysconf(_SC_CLK_TCK) instead of CLK_TCK when _SC_CLK_TCK is known to be available or CLK_TCK is not (needed for glibc 2.3.90+), and to use socklen_t where appropriate.
Release Notes: The source code has been corrected to not break C strict aliasing rules (this only affected auth_pam.c) and to insist on only one PAM message per call to the conversation function with Sun PAM (Solaris and HP-UX) because of differences in the parameter layout. The default limits have been bumped to values that are way too high for most systems, and comments suggesting that these defaults be decreased on particular installs have been added.
Release Notes: MD5_Final() has been corrected to actually zero the context structure. This makes no difference for popa3d itself, but may be important for possible other applications which might use the popa3d MD5 routines.