Last updated: 30 May 2011


   Copyright (c) 2011 QUALCOMM Incorporated.  All rights reserved.


This document contains the changes since the last release.


Changes from 4.1.b19 to 4.1.0:
--------------------------------
 (none)


Changes from 4.1.b18 to 4.1.b19:
--------------------------------

 1.  Added ./configure option "--disable-check-hash-dir" as alias
     for "--disable-hash-dir-check" (thanks to Mark of Monmouth).
 2.  Added ./configure option "server-mode" as alias for "servermode"
     (thanks to Mark of Monmouth).
 3.  Updated Guide (thanks very much to Syed Zaeem Hosain).
 4.  ./configure now displays Qpopper version.


Changes from 4.1.b17 to 4.1.b18:
--------------------------------

 1.  Rename 'getline' to 'Qgetline' (fix conflict on some platforms).
 2.  Resolve several compiler warnings.


Changes from 4.1.b16 to 4.1.b17:
--------------------------------

 1.  Fix several problems with 'make install'.


Changes from 4.1.b15 to 4.1.b16:
--------------------------------

 1.  Replace some sprintf() calls with Qsnprintf().
 2.  Use PATH_MAX instead of hard-coded value for some buffers.
 3.  Add error check for impossible condition in get_sub_opt to
     satisfy some automated code checkers.
 4.  Stop using sys_nerr and sys_errlist.
 5.  Fix syntax error with 64-bit mode on Solaris.
 6.  Fix problems with 'make install' and popauth.


Changes from 4.1.b14 to 4.1.b15:
-------------------------------
 1.  Fix 64-bit compilation.


Changes from 4.1.b13 to 4.1.b14:
-------------------------------
 1.  Patch from Jason White to fix error when using Kerberos.


Changes from 4.1.b12 to 4.1.b13:
-------------------------------
 1.  Update ./configure using newer autoconf to fix 64-bit mode
     problems on some platforms.


Changes from 4.1.b11 to 4.1.b12:
-------------------------------
 1.  Patch from Doug Hardie to fix FreeBSD compilation problems.
 2.  use cache even if new mail arrived (based on patch from A'rpi).
 3.  New "conservative-cache" configuration file option to not use cache
     if its modtime is older than that of the mail spool.



Changes from 4.1.b10 to 4.1.b11:
-------------------------------
 1.  Patch from Chavalam Ravindranath to fix crash using PAM.
 2.  Fix UINT4 definition when system md5.h is used.


Changes from 4.1.b9 to 4.1.b10:
------------------------------
 1.  Extra information in PAM trace code.
 2.  Fix warnings for duplicate strlcpy/strlcat symbols.
 3.  Fix duplicate 'install:' rule in password/Makefile.in.
 4.  Don't compile mktemp.c, md5.c, or base64.c unless needed.


Changes from 4.1.b8 to 4.1.b9:
------------------------------
 1.  Fix problems with 'make install'.
 2.  Doug Hardie's code to change the way tokens are parsed when
     processing configuration files.  Now properly handling quoted
     and non-quoted values.  Also, no longer aborting on first
     error; entire configuration file is now processed and
     all errors reported in one pass.


Changes from 4.1.a7 to 4.1.b8:
------------------------------
 1.  Added more checks to try and find getprpwnam().
 2.  Fixed bug that enabled pam by default (it should
     only be enabled by default on certain platforms).
 3.  Fixed typo in README (thanks to Eric Klien).
 4.  Further checks for getaddrinfo() on Tru64 (thanks
     to Vic Summerour).
 5.  Fixed typo in README (thanks to Eric Klien).
 6.  Fixed strlcpy off-by-one error when source exceeds dest (thanks
     to Derek Chan for reporting this bug).
 7.  Prevent strlcat from examining destination past buffer size.
 8.  Guard strlcpy and strlcat so they aren't compiled if the
     platform supplies them.
 9.  Fix problem with default pam values on MacOS X.
10.  Fix pop_parse.c compilation errors on some compilers.
11.  Fix crash if mangle string ended with header and no ")".
12.  Allow 'announce-expire' configuration file option to be set to -1.


Changes from 4.1.a6 to 4.1.a7:
------------------------------
 1.  Tweaked pam so that default isn't enabled accidently.
 2.  Added check for getprpwnam() and if found, enable
     specialauth, just like we do for getspnam().  This
     should fix default configuration on platforms like
     Tru64 (thanks to J Bacher for his help on this).


Changes from 4.1.a5 to 4.1.a6:
------------------------------
 1.  Updated IPv6 support (thanks to Hajimu UMEMOTO).
     - Check for socklen_t


Changes from 4.1.a4 to 4.1.a5:
------------------------------
 1.  Updated IPv6 support (thanks to Hajimu UMEMOTO).
     - narrow the IPv6-specific chunk by defining struct addrinfo
     - when it is not available.
     - check the return value of socket() correctly.
     - a socket have to be closed when bind fails.
     - chase SO_KEEPALIVE addition to an IPv4 logic.
 2.  Correct milliseconds calculation (thanks to Jose Marcio
     Martins da Cruz for the patch).
 3.  Added '-d' flag to 'install' (to create directories).
 4.  Fix error message in 'make realclean' on some platforms.


Changes from 4.1.a3 to 4.1.a4:
------------------------------
 1.  Added IPv6 support (thanks to Hajimu UMEMOTO).


Changes from 4.1.a2 to 4.1.a3:
------------------------------
 1.  Fix crash if too many MDEF commands entered.
 2.  Set SO_KEEPALIVE in standalone mode.


Changes from 4.1.a1 to 4.1.a2:
------------------------------
 1.  Add configure script.


Changes from 4.0 to 4.1:
------------------------
 1.  Integrate all changes from /current/ not in 4.0.