Home | Back
2000-07-17  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* version 1.5.23 ready for beta release

* plugins/digestmd5.c: get_authid() and get_userid() should copy
the result of the callbacks, not just use as is.

2000-07-13  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* lib/common.c: _sasl_proxy_policy wasn't dealing with a NULL or
"" requested_user by defaulting it to the auth_identity.

* plugins/digestmd5.c: fix realm always being set to ""

2000-07-12  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* utils/sasldblistusers.c (listusers):
* include/makemd5.c (main): warning suppression, from Larry
M. Rosenbaum <lmr@ornl.gov>

2000-07-10  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* version 1.5.22 ready for beta release

* lib/server.c: serious bug fixed!  do authorization if
sasl_server_start() returns SASL_OK.

pointed out by Jerzy Balamut <jurekb@dione.ids.pl>, vulnerabilty
obvious with EXTERNAL calls, PLAIN in a protocol with
client-sends-first.

2000-07-05  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* lib/checkpw.c: added pwcheck method "sia" for the Digital Unix
"Security Integration Architecture".  contributed by Chris Adams
<cmadams@hiwaay.net>.

2000-06-09  Timothy Martin  <tmartin+@andrew.cmu.edu>

* plugins/digestmd5.c (server_continue_step): take out lowercasing

2000-06-07  Timothy Martin  <tmartin+@andrew.cmu.edu>

* plugins/digestmd5.c (get_pair): handle nasty stuff
(digest_strdup_lower): lowercase 'qop' when put into
challenge. this is not speicified in draft but "will be"
(server_continue_step): allow empty realm

2000-05-10  Timothy Martin  <tmartin+@andrew.cmu.edu>

* plugins/digestmd5.c (c_continue_step): added more errstr's on errors

2000-05-22  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* utils/saslpasswd.c: appname patch from Wolfgang Walter
<wolfgang.walter@stusta.mhn.de>

2000-05-08  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* version 1.5.21 ready for release

* lib/db_berkeley.c: enable applications to open the database
read-only

2000-05-03  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* lib/common.c: vararg chars are always read as ints (Dowson Tong
<dtong@sendmail.com>)

2000-05-02  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* doc/gssapi.html: gssapi doc contributed by Ken Hornstein
<kenh@cmf.nrl.navy.mil> added.

2000-04-27  Larry Greenfield  <leg+@andrew.cmu.edu>

* utils/sasldblistusers.c: patch from Leena Heino <liinu@uta.fi>
to support Berkeley DB 2.6.

* configure.in: des/rc4 were adding -I to the LDFLAGS line.  now
they add -L.

2000-04-26  Larry Greenfield  <leg+@andrew.cmu.edu>

* utils/sasldblistusers.c: look for 2 NULs, not 3.  continue on
possible corruption, don't abort.

2000-04-26  Timothy Martin  <tmartin+@andrew.cmu.edu>

* sasl: releasing 1.5.20

* plugins/login.c: patch from Rainer Schoepf
<schoepf@uni-mainz.de> for initial client send of data

2000-04-13  Timothy Martin  <tmartin+@andrew.cmu.edu>

* sasl: releasing 1.5.19

* plugins/digestmd5.c (c_continue_step): free input string on
SASL_INTERACT
(c_continue_step): free nonce string on SASL_INTERACT

* plugins/gssapi.c (sasl_gss_server_step): fixed errors in
<gombasg@inf.elte.hu>'s patch

* plugins/digestmd5.c (c_continue_step): free memory on failure
(c_continue_step): free userid when setting to null

* lib/common.c (sasl_done): set mutex to null after disposing of it

* plugins/digestmd5.c (c_continue_step): free memory in error cases

* plugins/kerberos4.c (server_continue_step): deal with short input

* plugins/anonymous.c (server_continue_step): off by one error in
strncpy

2000-04-12  Timothy Martin  <tmartin+@andrew.cmu.edu>

* plugins/gssapi.c: applied <gombasg@inf.elte.hu>'s gssapi patch

* plugins/digestmd5.c (c_continue_step): infinite loop fix

2000-03-22  Walter Wong (wcw+@cmu.edu)

* pwcheck/Makefile.am: add LIB_SOCKET

2000-04-06  Timothy Martin  <tmartin+@andrew.cmu.edu>

* man/Makefile.am: moved all man pages to section 3
* man/sasl.3: wrote

2000-04-05  Timothy Martin  <tmartin+@andrew.cmu.edu>

* doc/sysadmin.html (pwcheck_method): fix

* doc/programming.html: finished up (kinda)

2000-04-03  Timothy Martin  <tmartin+@andrew.cmu.edu>

* plugins/srp.c: started writing.

* plugins/kerberos4.c (server_continue_step): additional cases
where errstr is filled in

2000-04-02  Timothy Martin  <tmartin+@andrew.cmu.edu>

* Makefile.am: added testing.txt to distribution

* utils/sasllistdbusers.c: added Claus's sasldblistusers.c patch

2000-03-29  Timothy Martin  <tmartin+@andrew.cmu.edu>

* utils/Makefile.am (EXTRA_DIST): add an 's' :)

* plugins/Makefile.am (libdigestmd5_la_LIBADD): -ldes -> $(LIB_DES)

2000-03-29  Larry Greenfield  <leg+@andrew.cmu.edu>

* utils/sasldblistusers.c: added ability to list an arbitrary
database (Claus Assmann <ca+sasl@sendmail.org>)

2000-03-28  Larry Greenfield  <leg+@andrew.cmu.edu>

* plugins/anonymous.c: shouldn't free static memory

* plugins/kerberos4.c (server_continue_step): delete unused variable

* utils/dbconverter-1.5.9.c: shut up a warning message by adding
<stdio.h>

* configure.in: java defaults to "no"

* lib/saslint.h: added _sasl_common_init() prototype

2000-03-28  Timothy Martin  <tmartin+@andrew.cmu.edu>

* utils/Makefile.am (EXTRA_DIST): sasldblistusers.8 to dist line

* plugins/Makefile.am (login_version): releasing 1.5.18

* java/: wrote server side of javasasl

* lib/server.c/client.c: take out pointless mutexes some fool put in

2000-03-26  Timothy Martin  <tmartin+@andrew.cmu.edu>

* man/: Man pages for all functions (i think) written
* man/Makefile.am: added new files

2000-03-21  Timothy Martin  <tmartin+@andrew.cmu.edu>

* java/: Added with client side of javasasl

2000-03-14  Timothy Martin  <tmartin+@andrew.cmu.edu>

* lib/client.c,server.c,common.c: thread safe; see README file

2000-03-13  Timothy Martin  <tmartin+@andrew.cmu.edu>

* lib/client.c: MUTEX_DISPOSE instead of mem free of mutex

* utils/testsuite.c (my_mutex_unlock): routines to test mutexes

* lib/common.c (sasl_setprop): don't exit w/o unlocking the mutex

2000-03-11  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* plugins/cram.c: same username hack as for PLAIN (default to
serverFQDN)

* utils/sasldblistusers.c: eliminate malloc/free.  mechnames are
always short.

* lib/checkpw.c (parseuser): default to serverFQDN if the user
didn't specify a realm

2000-03-11  Larry Greenfield  <leg+@andrew.cmu.edu>

* plugins/cram.c (mechanism_db_filled): htonl/long again

* plugins/digestmd5.c (mechanism_db_filled): htonl takes a long
(mechanism_fill_db): "version" was referring to the global DIGEST
version, not a local database tmpversion.

2000-03-09  Timothy Martin  <tmartin+@andrew.cmu.edu>

* sample/sample-client.c: add <unistd.h> for FreeBSD.

* utils/sasldblistusers.c (listusers): tested more with gdbm/ndbm.

* plugins/digestmd5.c (c_continue_step): extra step for end.

* utils/sasldblistusers.c (listusers): compatability with db2.x
cursor()

* version 1.5.17 BETA ready for release

2000-03-08  Timothy Martin  <tmartin+@andrew.cmu.edu>

* plugins/plain.c: ditto

* plugins/kerberos4.c: strcpy,sprintf checked

* plugins/gssapi.c: strcpy,sprintf checked

* plugins/digestmd5.c: strcpy, sprintf checking

* plugins/cram.c (c_continue_step): ditto
(randomdigits): checks of strcpy, sprintf

* plugins/anonymous.c (client_continue_step): ditto but more
annoying. had to add a context, mech_dispose etc..

* plugins/plain.c (server_continue_step): ditto

* plugins/kerberos4.c (client_continue_step): client last step
verifier added

2000-03-08  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* configure.in: added paths.h to AC_CHECK_HEADERS

* pwcheck/pwcheck.c: #ifdef HAVE_PATHS_H added

2000-03-07  Timothy Martin  <tmartin+@andrew.cmu.edu>

* utils/Makefile.am: added foo for sasldblistusers

* utils/sasldblistusers.8: wrote

* utils/sasldblistusers.c: wrote

* lib/checkpw.c (kerberos_verify_password): make sure trailing null

        * <lots>: updated license

2000-03-06  Timothy Martin  <tmartin+@andrew.cmu.edu>

* testing.txt: added section on testsuite

* lib/checkpw.c: claus patches for security slightly modified

* lib/server.c (sasl_server_init): moved around some stuff and
initialized some stuff to NULL to make it not leak
(load_config): don't leak memory on failures

* plugins/cram.c (server_continue_step): if given zero length deal
with it
(start): initialize msgid so server doesn't screw up trying to free it
(c_continue_step): NULL oparams by default

* plugins/plain.c (client_continue_step): ditto

* plugins/digestmd5.c (c_continue_step): ditto

* plugins/cram.c (server_continue_step): freeing memory when
wasn't supposed to
(c_continue_step): initialize clientout to null just to be careful

2000-03-05  Timothy Martin  <tmartin+@andrew.cmu.edu>

* plugins/digestmd5.c (mechanism_fill_db): free secret

* plugins/gssapi.c (sasl_gss_server_step): fill in out params on
success step

2000-03-03  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* plugins/login.c: when creating context, set password to
NULL. (Claus Assmann <ca+sasl@sendmail.org>)

2000-03-01  Timothy Martin  <tmartin+@andrew.cmu.edu>

* lib/server.c (sasl_setpass): can return SASL_NOUSER on PLAIN failure

2000-02-29  Timothy Martin  <tmartin+@andrew.cmu.edu>

* plugins/cram.c (server_continue_step): be less leaky

* plugins/digestmd5.c (c_continue_step): changes to try and leak
less memory

* plugins/kerberos4.c (sasl_server_plug_init): free srvtab on failure

* plugins/cram.c (server_continue_step): rework to always free
memory (hopefully)

* lib/checkpw.c (sasldb_verify_password): free tmp values

2000-02-28  Timothy Martin  <tmartin+@andrew.cmu.edu>

* plugins/gssapi.c (sasl_gss_server_step): don't free memory if
gss_unwrap did on failure

* plugins/cram.c (server_continue_step): BADPARAM negative length
inputs

* plugins/digestmd5.c (c_continue_step): make sure client gives us
a nonce

* plugins/cram.c (server_continue_step): alloc space for null byte
in nonce

* plugins/digestmd5.c (c_continue_step): memory leaks
(server_continue_step): fail on any input greater 2048 bytes
(client is not allowed to send that big)

* plugins/kerberos4.c (integrity_decode): fail on huge requests

* plugins/gssapi.c (sasl_gss_set_client_context): fail on huge requests

* plugins/digestmd5.c (privacy_decode): fail on huge requests

* utils/Makefile.am (testsuite_LDADD): needs socket libraries on
solaris

2000-02-27  Timothy Martin  <tmartin+@andrew.cmu.edu>

* plugins/kerberos4.c (server_continue_step): step 2: deal with
large inputs
(server_continue_step): step 1: deal with large inputs

* utils/testsuite.c: added tests of sasl_checkpass

* lib/server.c (sasl_checkpass): check parameters

2000-02-27  Larry Greenfield  <leg+@andrew.cmu.edu>

* plugins/plain.c: removed superfluous includes, brought in line
with new checkpass()
* plugins/login.c: removed superfluous includes, brought in line
with new checkpass()

* lib/server.c: changed _sasl_checkpass() to the new format for
checkpw.c; much cleaner code.

* lib/config.c: removed <syslog.h>; we weren't using it anyway

* lib/common.c: uses syslog(), so look for HAVE_SYSLOG.  removed
some conditional compilation code.

* lib/checkpw.c: cleaned up the code to export a structure
containing all the plaintext verifiers instead of functions.

2000-02-24  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* plugins/digestmd5.c: changed protocol version from unsigned int
to unsigned short

* plugins/anonymous.c: added <stdio.h>

2000-02-23  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* version 1.5.16 BETA ready for release

* configure.in (LIB_DES): try using DES from OpenSSL.

2000-02-23  Timothy Martin  <tmartin+@andrew.cmu.edu>

* utils/Makefile.am: added testsuite

* lib/db_ndbm.c (putsecret): return SASL_NOUSER on delete failures
* lib/db_gdbm.c (putsecret): return SASL_NOUSER on delete failures

* lib/db_berkeley.c (putsecret): return SASL_NOUSER if not found
in delete

* lib/server.c (sasl_setpass): propogate up the specific error code

* lib/saslutil.c (sasl_randseed): check params
(sasl_churn): check params
(sasl_churn): init pool if necessary
(sasl_encode64): check params

* plugins/digestmd5.c (c_continue_step): check params

* plugins/kerberos4.c (server_continue_step): checks everywhere if
errstr exists before setting to it

* plugins/kerberos4.c (server_continue_step): checks everywhere if
errstr exists before setting to it

* plugins/kerberos4.c (server_continue_step): only set errstr if
non-null

* plugins/digestmd5.c (c_continue_step): imid

2000-02-23  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* lib/common.c, lib/db_berkeley.c, lib/db_ndbm.c, lib/db_gdbm.c,
* lib/dlopen.c, lib/server.c: verifyfile fixup

* include/sasl.h: verifyfile callback changed at the request of
sendmail.org

* acconfig.h: some random includes in here were removed and placed
closer to the code that needs them

* lib/saslutil.c (getranddata): cleaned up, dead code
eliminated. DEV_RANDOM moved to config.h, gettimeofday() is used
if available.

2000-02-22  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* win32/saslLOGIN: added; contributed by Geir Myrestrand
<geir@sendmail.com>

* plugins/cram.c:
* plugins/digestmd5.c: don't log version mismatched if fetching
the version results in a failure (probably no database).  pointed
out by Claus Assmann <ca+sasl@sendmail.org>

* plugins/kerberos4.c: unused variable ignored

* lib/checkpw.c (_sasl_kerberos_verify_password): change the
location of the ticket cache while verifying password, then
restore the original ticket cache (inherently not thread safe)

2000-02-22  Timothy Martin  <tmartin+@andrew.cmu.edu>

* plugins/digestmd5.c (c_continue_step): if bad client reauth then fail

* plugins/gssapi.c (sasl_gss_server_step): don't return the realm
for local (local kerberos realm) users
(sasl_gss_client_step): switched all DEBUG's to VL's

* lib/common.c (_sasl_proxy_policy): make sure errstr non-null

* plugins/cram.c (server_continue_step): don't allow any length
except zero first time

* plugins/anonymous.c (server_continue_step): don't allow negative
length

2000-01-24  Timothy L Martin  <tmartin+@andrew.cmu.edu>

* lib/client.c (sasl_client_start): check params

2000-01-21  Timothy L Martin  <tmartin+@andrew.cmu.edu>

* sample/sample-client.c (main): always send data from
client->server even if length zero

2000-01-13  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* version 1.5.15 released

2000-01-06  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* configure.in: now detects berkeley db 3.x

* utils/saslpasswd.c: removed _sasl_debug (wasn't serving any
purpose)

* lib/dlopen.c: efficiency improvement by Claus Assmann
<ca+sasl@sendmail.org>

* lib/common.c: fix so that we can get options even without a
connection structure

2000-01-01  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* version 1.5.14 released

* configure.in: added login foo, disabled by default

* plugins/Makefile.am: added login foo

* plugins/login.c: added, based on schoepf@uni-mainz.de.
untested; may be useful for SMTP servers wanting to support stupid
clients

1999-12-30  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* libtool: upgraded to libtool 1.3.4

* lib/dlopen.c (_sasl_get_mech_list): openbsd needs "_" appended
before symbol names

1999-12-29  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* lib/server.c (mech_permitted): ditto.  now considers external
encryption.

* lib/client.c (sasl_client_start): now considers external
encryption correctly when looking for mechanisms

* plugins/digestmd5.c (c_continue_step): cleaned up how it
selected a cipher to use for auth-conf qop.  now much less #ifdefs

1999-12-28  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* plugins/gssapi.c: client-side wasn't dealing with not being
offered all the options

* plugins/gssapi.c: make sure we advertise and accept only the
right integrity/privacy/etc. layers

        * plugins/digestmd5.c: also make sure that whatever the client
sends us meets our ssf restrictions. restructured the code a
little for clarity.

        * plugins/digestmd5.c: fixes to the server-side ssf processing (we
were offering things we didn't want to support due to min/max ssf)

1999-12-21  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* lib/server.c (init_mechlist): patch from Claus Assmann
<ca+sasl@sendmail.org>. stupid bug; pointer was being used before
it was checked for being NULL.

Sun Dec 12 17:32:02 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* configure.in: if we don't find DES, don't use Kerberos (Simon
Josefsson <jas@pdc.kth.se>)

Sat Dec 11 14:27:52 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* lib/dlopen.c: applied patch from Claus Assmann
<ca+sasl@sendmail.org> to handle (some versions of) HP-UX.

Thu Dec  9 17:34:30 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* lib/checkpw.c (sasl_pam_conv): if solaris PAM is buggy, don't
crash

Sun Dec  5 00:10:11 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* pwcheck/pwcheck.c (main): now records process ID in /var/run

* configure.in (rsaref): now checks for rsaref; possibly needed to
detect openssl

* pwcheck/Makefile.am: finally got the damn pwcheck makefile.am
file right.  well, i think.

Thu Dec  2 14:11:33 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* version 1.5.13 released

* utils/saslpasswd.c (main): don't prompt for a password if
disabling an account

1999-12-01  Timothy L Martin  <tmartin+@andrew.cmu.edu>

* plugins/kerberos4.c: enforces minumum ssf

* plugins/digestmd5.c: enforces minumum ssf

* lib/server.c (sasl_server_start): from alexey: set external_ssf
in sasl_server_start

* plugins/digestmd5.c: caches db has entries; checks db version

* plugins/cram.c: caches db has entries; checks db version

* lib/server.c (sasl_setpass): set secret exist condition to true
on successful mechanism setpass

Tue Nov 30 16:45:12 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* configure.in: added test for res_search; suggested by tjs

Fri Nov 19 13:05:47 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* lib/server.c (sasl_server_start): make sure conn != NULL

1999-11-28  Larry Greenfield  <leg+@andrew.cmu.edu>

* lib/db_berkeley.c (_sasl_server_check_db): sasldb_path note,
flaw in implementation---goes for all three dbs: if an application
specifies a different path given a connection than it does
otherwise, verifyfile isn't checked

* lib/db_ndbm.c (_sasl_server_check_db): sasldb_path added

* lib/db_gdbm.c (_sasl_server_check_db): now looks up "sasldb_path"

Fri Nov 19 13:05:47 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* lib/db_berkeley.c: patch from Greg Shapiro
<gshapiro@sendmail.org> to support Berkeley DB 3.x

Thu Nov 18 17:53:03 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* lib/db_berkeley.c (getsecret): applied a patch from Gregory
Shapio <gshapiro@sendmail.org> to make sure the database is closed

* pwcheck/Makefile.in: applied patch from Joe Hohertz
<jhohertz@golden.net>

Wed Nov 17 16:41:09 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* lib/server.c (mechanism_permitted): cleaned up the plaintext
only under layer code

* lib/common.c (_sasl_syslog): was missing some breaks; also now
logs bad priorities at the LOG_DEBUG level

* lib/db_berkeley.c: wasn't calling _sasl_log with a logging level

* lib/checkpw.c (_sasl_sasldb_set_pass): *errstr was being set to
NULL even if errstr was NULL

1999-11-17  Timothy L Martin  <tmartin@andrew.cmu.edu>

* plugins/digestmd5.c (sasl_server_plug_init): return SASL_NOUSER
if no users in secrets db

* lib/server.c: doesn't show mechanisms where there are no secrets
changed parameter to mechanism_permitted() to allow checking condition

Tue Nov 16 14:33:49 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* version 1.5.12 cut for testing

* plugins/digestmd5.c: can't have indented #'s!

* lib/db_berkeley.c (berkeleydb_open): now honors sasldb_path
option; also improved log messages

1999-11-15  Timothy L Martin  <tmartin@andrew.cmu.edu>

* lib/server.c (mech_permitted): special case to allow PLAIN under
external layer

* plugins/gssapi.c (sasl_gss_client_step): changed "unsigned int
need" to int need so negative numbers wouldn't underflow

Mon Nov 15 00:43:10 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* plugins/gssapi.c (sasl_gss_client_step): deals with external
encryption correctly
(sasl_gss_client_step): don't pass a random pointer back

* configure.in: kerberos v4 check now looks for the include file,
too

1999-11-11  Larry Greenfield  <leg+@andrew.cmu.edu>

* plugins/kerberos4.c (new_text): fixed the type to what is
actually used

Thu Nov 11 00:10:33 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* lib/checkpw.c: patches from Ronald Guilmette <rfg@monkeys.com>
to minimize warnings in kerberos code

* plugins/kerberos4.c: ditto

1999-11-10  Timothy L Martin  <tmartin@andrew.cmu.edu>

* lib/db_berkeley.c: Cleaned up

* plugins/digestmd5.c: Can use rc4 libraries from openSSL if they
exist

1999-11-10  Timothy L Martin  <tmartin@andrew.cmu.edu>

* lib/checkpw.c (parseuser): Added patches from Claus Assmann
<ca+sasl@sendmail.org>; fixes segfault

1999-11-06  Timothy L Martin  <tmartin@andrew.cmu.edu>

* configure.in (SASL_DB_LIB): added support for berkeley db.

* utils/saslpasswd.c (main): eliminated stupid printf's

* lib/checkpw.c (_sasl_sasldb_set_pass): fixed silly larry error

* lib/server.c (sasl_checkpass): failing if passed in null

* lib/checkpw.c (_sasl_sasldb_set_pass): if getting secret failed
was faulting

1999-11-02  Timothy L Martin  <tmartin+@andrew.cmu.edu>

* plugins/digestmd5.c: bug fixes from chris. mostly minor silly stuff

Thu Oct 28 13:58:43 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* configure.in: applied patch from Joe Hohertz
<jhohertz@golden.net> to get pwcheck to compile.

Mon Oct 25 14:46:04 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* plugins/plain.c (client_continue_step): fix so that given an
empty server response, client resends (for IMAP).

Wed Oct 20 12:06:56 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* lib/checkpw.c (_sasl_sasldb_setpass): rpool was being free'd
even when not created (Till Franke <franke@suse.de>)

Sat Oct 16 20:13:40 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* version 1.5.11 released

* plugins/digestmd5.c: fixed memory leak in previous fix

Sat Oct 11 22:14:00 1999  Timothy L Martin  <tmartin+andrew.cmu.edu>

* plugins/digestmd5.c: fixed not copying realm result from
get_realm callback

Mon Oct 11 00:02:25 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* version 1.5.10 released

Sun Oct 10 13:37:08 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* acconfig.h: added SASL_GDBM/SASL_NDBM (for the conversion tool)

* plugins/digestmd5.c: cleaned up some warning messages

* lib/server.c (sasl_setpass): improved error messages

1999-10-09  Timothy L Martin  <tmartin+@andrew.cmu.edu>

* plugins/digestmd5.c: Fixed layers and integrity up to the latest spec

Sat Oct  9 22:05:33 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* lib/server.c (external_server_step): no longer allow anonymous
if SASL_SEC_NOANONYMOUS is set

* acconfig.h: added WITH_DES

* configure.in (WITH_DES): changed the DES test for DIGEST-MD5

Fri Oct  1 16:05:22 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* version 1.5.9 released

* lib/server.c (sasl_setpass): for user sanity, we now create the
PLAIN secrets regardless

1999-09-20  Gregory M. Diskin  <diskin+@andrew.cmu.edu>

* win32/saslgssapi: Added control files for win32 gssapi plugin build

1999-09-20  Gregory M. Diskin  <diskin+@andrew.cmu.edu>

* win32/utils/saslpwd: Added control files for win32 read-pw utility

1999-09-21  Larry Greenfield  <leg+@andrew.cmu.edu>

* plugins/cram.c (server_continue_step): made some return code
more specific; added errstr returns as well

1999-09-20  Larry Greenfield  <leg+@andrew.cmu.edu>

* lib/checkpw.c (_sasl_sasldb_verify_password): added realm
gotten from server connection passed in
(_sasl_sasldb_set_pass): also puts realm

* plugins/digestmd5.c (server_continue_step): now uses the realm
parameter instead of klunky userid
(setpass): ditto

* plugins/cram.c (server_continue_step): now has a rudimentary
concept of "realm"

* lib/db_ndbm.c (alloc_key): added realm parameter

* lib/db_gdbm.c (alloc_key): added realm parameter

* include/sasl.h: added realm parameter to sasl_server_getsecret_t
and sasl_server_putsecret_t

1999-09-15  Larry Greenfield  <leg+@andrew.cmu.edu>

* plugins/digestmd5.c (server_start): set context to 0 before using
(c_start): ditto
(c_get_realm): copy result of getrealm_cb

* sample/sample-server.c (main): added verbose flag

* sample/sample-client.c (main): added verbose flag

1999-09-14  Larry Greenfield  <leg+@andrew.cmu.edu>

* sample/sample-server.c (main): removed random "a" from end of
program

1999-09-13  Larry Greenfield  <leg+@andrew.cmu.edu>

* plugins/cram.c (setpass): now correctly zeros out stuff

* plugins/digestmd5.c: now deletes secrets when asked

* lib/checkpw.c (_sasl_sasldb_set_pass): added; sets or deletes
the PLAIN password

* plugins/cram.c (setpass):  now can delete secrets when asked

1999-09-20  Gregory M. Diskin  <diskin+@andrew.cmu.edu>

* plugins/gssapi.c: include saslgssapi.h for win32

Thu Sep  9 13:30:48 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* doc/sysadmin.html: added some links

Wed Sep  8 14:21:23 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* lib/client.c (sasl_client_start): added another cmu kludge for a
"preferred mechanism" (PREFER_MECH), settable at compile time

* lib/common.c (_sasl_getcallback): don't require a connection for
logging messages; this way we can log configuration errors

* lib/server.c (_sasl_checkpass): log a message when there's an
unknown plaintext verifier

* configure.in: added --enable-cmulocal

* plugins/kerberos4.c (server_continue_step): added a cmu kludge:
KRB4_IGNORE_IP_ADDRESS, for ignoring ip addresses when doing a
kerberos authentication

1999-09-08  Timothy L Martin  <tmartin+@andrew.cmu.edu>

* lib/db_ndbm.c (getsecret): don't dbm_close() if opening the dbm
failed

1999-08-20  Timothy L Martin  <tmartin+@andrew.cmu.edu> Sarah Robeson <robeson@andrew.cmu.edu>

* doc/programming.html: wrote more. not done yet

* doc/sysadmin.html: Fixed some of Larry's grammer.

Mon Sep  6 20:10:14 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* configure.in: when checking for PAM, don't use -ldl, use
SASL_DB_LIBS

Sat Sep  4 22:32:18 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* plugins/gssapi.c: now returns error messages via errstr for
server steps
(sasl_gss_server_step): fixed a buffer-off-by-one error

Thu Aug 26 12:23:26 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* lib/server.c: now pwcheck_method is case & trailing whitespace
insensitive

* lib/server.c (_sasl_checkpass): pwcheck_method is no longer case
sensitive.

Tue Aug 24 18:30:57 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* lib/checkpw.c (_sasl_pwcheck_verify_password): added

* lib/saslint.h: added pwcheck

Fri Aug 20 00:57:45 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* Version 1.5.5 released

* include/makemd5.c: added; creates the md5global.h at compile
time to autodetech what size numbers we have

* lib/common.c (_sasl_log): fixed an ival/cval problem

* plugins/kerberos4.c: more work on 64-bit friendliness

* plugins/cram.c: work on 64-bit friendliness

Thu Aug 19 16:15:49 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* lib/dlopen.c (_sasl_get_mech_list): conditionalized the use of
RTLD_NOW for dlopen

* plugins/kerberos4.c: when we need a 32 bit number, let's use an
int

1999-08-19  Timothy L Martin  <tmartin+@andrew.cmu.edu>

* plugins/cram.c (c_continue_step): set oparams->user to correct
thing. not anonymous

* plugins/digestmd5.c: leaks much less memory.

1999-08-19  Gregory M. Diskin  <diskin+@andrew.cmu.edu>

* lib/db_testw32.c: wrote this to store and retrieve mech-specific
secrets for one user, to test mechs on win32 using sample-server
and sample-client.

* plugins/gssapi.c:  Fix include statements for Win32

* sample/sample-server.c (main): ifdef out a free statement which
causes win32 to crash.

* utils/saslpasswd.c (main) (read_password): rebuild for Win32

* win32/include/config.h (VL):  enabled for debug printing

* win32/libsasl/libsasl.dsp:  Add db_testw32.c to build

* win32/libsasl/libsasl.dsw:  Add gssapi plugin and utility
saslpwd to project

* win32/sample_client/sample_client.dsp: Remove pre-compiled header
option

* win32/saslDIGESTMD5/saslDIGESTMD5.h:  Enable inclusion of this
header file on win32

1999-08-19  Timothy L Martin  <tmartin+@andrew.cmu.edu>

* sample/sample-server.c (samp_recv): give better error
messages. less obfuscated code

* plugins/digestmd5.c: only free in once

* sample/sample-client.c (main): supports realm callback

* plugins/cram.c (server_continue_step): end saved msgid with a
null
(start): start authid and password as null so the server doesn't
try to free them in dispose()
(server_continue_step): free userid
(server_continue_step): put tmphmac on the stack not heap
(server_continue_step): free the secret in more cases
(server_continue_step): oparams->authid gets an allocated string
so one mem ptr isn't free'd 2x

1999-08-18  Timothy L Martin  <tmartin+@andrew.cmu.edu>

* TODO: snipped some stuff

* plugins/digestmd5.c (make_prompts): Put the challenge part of
the interaction in the computer readable form containing the list
of possible realms

* plugins/kerberos4.c: should require CB_USER not CB_AUTHNAME
the authname is in the ticket

* sample/sample-client.c (main): should always interact.

1999-08-17  Timothy L Martin  <tmartin+@andrew.cmu.edu>

* plugins/kerberos4.c (integrity_decode): checks timestamps
(privacy_decode): checks timestamps

Tue Aug 17 02:35:17 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* utils/dbconverter.c (dbm_convert): some minor cleanups for sun cc

Mon Aug 16 14:52:27 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* lib/db_ndbm.c (getsecret): fixed a free'd memory read (closed
the database too early)

* plugins/anonymous.c (server_continue_step): make sure that a
string is null terminated

1999-08-17  Timothy L Martin  <tmartin@andrew.cmu.edu>

* utils/dbconverter.c: wrote this. converts sasl 1.5.3 secret db's
to 1.5.5

1999-08-16  Timothy L Martin  <tmartin@andrew.cmu.edu>

* plugins/cram.c (setpass): stores hash of password
* plugins/cram.c (server_step): uses the hash instead of plaintext
to authenticate

Mon Aug 16 14:52:27 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* plugins/plain.c (server_continue_step): fixed a bug with
null-terminating the password

* lib/common.c (_sasl_getcallback): if it can't find a callback,
it returns SASL_FAIL, not SASL_OK.  is there any reason for it to
return SASL_OK?

* plugins/digestmd5.c (c_continue_step): we can get multiple
realms in the challenge; added use of realm callback

Sat Aug 14 19:13:19 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* plugins/digestmd5.c: updated to alexey's latest version
support for DIGEST_DRAFT_2 dropped

Fri Aug 13 00:54:29 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* doc/sysadmin.html: updated to reflect sasldb pwcheck_method

Thu Aug 12 23:56:50 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* lib/checkpw.c (_sasl_make_plain_secret): created; makes a hash
of the password for later plaintext checking

* lib/server.c (sasl_setpass): made it set the plaintext secret if
pwcheck_method is "sasldb"

Mon Aug  9 19:17:30 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* plugins/kerberos4.c (server_continue_step): made kerberos append
the "@realm" when cross-realm authenticating

1999-08-08  Larry Greenfield  <leg+@andrew.cmu.edu>

* doc/sysadmin.html: added to doc directory

* lib/saslint.h (_sasl_sasldb_verify_password): added prototype

* lib/server.c (_sasl_checkpass): added sasldb option; inserted
else's

* lib/checkpw.c (_sasl_kerberos_verify_password): added
userid/password NULL checks & set reply to NULL
(_sasl_shadow_verify_password): ditto
(_sasl_passwd_verify_password): ditto
(_sasl_PAM_verify_password): set reply to NULL
(_sasl_sasldb_verify_password): created; checks the sasl database
with "PLAIN"

Mon Aug  2 20:57:42 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* lib/server.c (sasl_listmech): fixed bug---would print out
seperator to begin even if the mechanisms didn't pass mech_permitted

Sat Jul 31 13:12:51 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* utils/Makefile.am (EXTRA_DIST): EXTRA_DIST should include sfsasl.h

Fri Jul 30 20:04:39 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* lib/db_ndbm.c (_sasl_server_check_db): added test for DBM_SUFFIX
and fixed some really stupid typos

Wed Jul 21 23:35:15 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* lib/server.c (load_config): small fixes (cosmetic & free'ing
path_to_config)

Fri Jul 30 13:33:05 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

        * Version 1.5.3 released

* plugins/gssapi.c (sasl_gss_free_context_contents): free the
context buffer

* include/sasl.h: added SASL_CB_GETREALM callback

Thu Jul 29 14:50:19 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* plugins/digestmd5.c (DigestCalcSecret): removed a superfluous
call to MD5_UTF8_8859_1.

* lib/db_none.c (_sasl_server_check_db): made _sasl_server_check_db

* lib/db_ndbm.c (_sasl_server_check_db): made _sasl_server_check_db

* lib/db_gdbm.c (_sasl_server_check_db): made _sasl_server_check_db

* lib/server.c (sasl_server_init): made it call the verify db func

* plugins/gssapi.c (sasl_gss_decode): now conforms to SASL
convention of sending packet size
(sasl_gss_encode): ditto

Mon Jul 26 00:16:40 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* plugins/gssapi.c (sasl_gss_server_step): made it look only at
clientinlen and not clientin when determining if we just received
an empty data exchange

Fri Jul 23 14:47:33 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* sample/sample-client.c (sasl_my_log): ditto, changed to avoid
"log" conflict

* sample/sample-server.c (sasl_my_log): changed "log" to
sasl_my_log to avoid name conflict with math library.

* plugins/gssapi.c: updated to bugfixes by Sam Hartman
<hartmans@fundsxpress.com> and then by Leif Johansson
<leifj@matematik.su.se>.

1999-07-23  Gregory M. Diskin  <diskin+@andrew.cmu.edu>

* include/saslplug.h: handle the fact that errno has been defined
as a function in a dll, not an extern int

* include/saslutil.h: prototypes for getopt and getpass

* lib/checkpw.c:  tweaks for win32, mainly correct includes

* lib/common.c:  win32 tweaks, mainly, using the GetUserName
standard call rather than getenv

* lib/config.c:  win32 tweak

* lib/getsubopt.c:  for win32, add getsubopt prototype

* lib/saslint.h:  for win32, minor fixes

* lib/saslutil.c:  add getpass, getopt functions for win32, plus
declarations for exported variables.

* lib/server.c:  tweaks for win32

* lib/windlopen.c:  add dlopen change to windlopen.c

* plugins/cram.c:  fix includes for win32

* plugins/digestmd5.c:  fix includes for win32

* plugins/kerberos4.c:  fix includes for win32

* plugins/plain.c:  just a warning note for win32

* plugins/scram.c:  minor tweak for win32

* sample/sample-client.c:  for win32, eliminate frees which
break on win32, add declarations for getopt foo, add cast for
arg to htons

* sample/sample-server.c:  for win32, eliminate frees which
break on win32, add declarations for getopt foo, add cast for
arg to htons

1999-07-20  Larry Greenfield  <leg+@andrew.cmu.edu>

* plugins/anonymous.c (server_start): removed the need for
anonymous to get a non-NULL errstr
(server_continue_step): and again with the errstr

Thu Jul 15 14:29:35 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* lib/common.c (_sasl_getcallback): oops, forgot a return
statement.  Thanks Claus!

Sat Jul 10 19:58:50 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* lib/server.c (_sasl_transition): now looks at the connection
getopt callback

* lib/checkpw.c (_sasl_kerberos_verify_password): now gets the
srvtab option

* lib/server.c (_sasl_checkpass): modified to pass along the conn
parameter

* include/saslplug.h: added a conn parameter to checkpass so that
we can use the configuration stuff

Thu Jul  1 13:42:14 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* include/sasl.h: gethostname() not gethostbyname() (comment)

Tue Jun 29 00:35:08 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* configure.in (SASL_DB_LIB): fixed config problem with
autodetecting gdbm brought up by ryan troll

* plugins/plain.c (client_continue_step): fixing auth/user problem

Mon Jun 28 00:50:02 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* plugins/plain.c (server_continue_step): proxy callback is done
in server.c; removed here

* lib/common.c (_sasl_getcallback): added default proxy policy
callback
(_sasl_proxy_policy): default proxy policy callback (auth_identity
must equal requested_user)

* include/saslplug.h: added a md5global test, just in case

Sun Jun 27 18:39:37 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* lib/server.c (sasl_server_step): added check for
SASL_CB_PROXY_POLICY so plugins don't have to do it

Mon Jun 21 22:39:17 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* plugins/kerberos4.c: efficiency improvements (not so many
mallocs/frees)

Fri Jun 18 00:05:56 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* plugins/kerberos4.c (sasl_server_plug_init): made srvtab file
configurable (srvtab)

* plugins/digestmd5.c (get_pair): doesn't check that there
actually is a '=' in *name.  does this code check for errors?

Thu Jun 17 00:46:03 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* plugins/digestmd5.c (init_rc4): the generation of
incoming/outgoing keys was seriously flawed and didn't conform to
the draft.

* plugins/digestmd5.c: it's broken.  both integrity and
encryption.  disabled in this version.  authentication SHOULD
still work.

* plugins/cram.c (get_authid): added a NULL check (causing test
client to crash!)

Thu Jun 17 00:40:07 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* lib/client.c (sasl_client_start): rewrote the evil if statement
from hell, and added security properties check

* lib/server.c (mech_permitted): added security properties check

* plugins/plain.c (server_continue_step): if null first step, just
return SASL_CONTINUE so it might work with IMAP!

Wed Jun 16 23:19:00 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* lib/server.c (sasl_checkpass): pwcheck_method added

* plugins/plain.c (verify_password): added PAM support
pwcheck_method added

Tue Jun 15 15:21:05 1999  Lawrence Greenfield  <leg+@andrew.cmu.edu>

* plugins/digestmd5.c (init_rc4): changed type so it comforms to
cipher_init_t

* lib/checkpw.c (_sasl_kerberos_verify_password): return
SASL_FAIL

* configure.in (LIB_PAM): added check for PAM

* lib/checkpw.c (_sasl_PAM_verify_password): added a PAM mechanism
for verifying passwords

* lib/server.c (sasl_checkpass): added PAM support

* lib/common.c (sasl_getprop): changed so it correctly does the
indirection (void ** != int *). added comment.
SASL_GETOPTCTX still not implemented---currently returns SASL_FAIL.
(sasl_setprop): bug in SASL_SSF_EXTERNAL fixed.

1999-06-10  Timothy L Martin  <tmartin+@andrew.cmu.edu>

* lib/server.c (_sasl_transition): checks config now
(sasl_checkpass): transitions

1999-06-09  Timothy L Martin  <tmartin+@andrew.cmu.edu>

* lib/common.c: doesn't do getdomain name anymore b/c it's usually
broken

* lib/common.c (_sasl_log): fixed casting problem. doesn't support
as many types anymore

1999-06-08  Timothy L Martin  <tmartin+@andrew.cmu.edu>

* lib/server.c (sasl_server_init): verify config file ok

* lib/dlopen.c (_sasl_get_mech_list): callback to verify files ok

* lib/client.c,server.c: check parameters before passing to mechanism

1999-06-07  Timothy L Martin  <tmartin+@andrew.cmu.edu>

* plugins/digestmd5.c (get_realm): tries user_realm then serverFQDN

* lib/common.c: local_domain -> serverFQDN
* lib/saslutil.c: local_domain -> serverFQDN

* lib/server.c: user_domain -> user_realm
* lib/server.c: local_domain -> serverFQDN

1999-06-02  Timothy L Martin  <tmartin@andrew.cmu.edu>

* lib/saslutil.c (sasl_rand): made random seeding lazy

1999-05-12  Timothy L Martin  <tmartin+@andrew.cmu.edu>

* lib/server.c (sasl_listmech): fixed extra seperator bug

1999-03-31  Rob Earhart  <rob+@andrew.cmu.edu>

* plugins/digestmd5.c: why was this using // for comments in C code?
well, it doesn't now.

* lib/dlopen.c (_sasl_get_mech_list): Changed dynamic loading to
bind symbols immediately (this is preferable to dumping core when
symbols bound lazily fail to actually bind when needed), and to
keep them private (reducing the chances for plugins to collide).

XXX Rob is there any way to get this to compile on Linux???


* sample/sample-server.c (main): Fixed forced-mechanism code

* AUTHORS: added ref to Alexey Melnikov

1999-03-30  Rob Earhart  <rob+@andrew.cmu.edu>

* Version 1.4.1 released

* configure.in: added digest des check, rc4 check

* plugins/digestmd5.c: diked out rc4 code

* configure.in: turned off use of nana by default

* plugins/cram.c: fixed endian bug

1999-03-29  Rob Earhart  <rob+@andrew.cmu.edu>

* config/{libtool things}: updated to libtool-1.2f

* plugins/digestmd5.c: removed tmp ptrs; des routines are
returning voids

* README: updated

* plugins/cram.c (setpass): aligned buffer

* plugins/digestmd5.c: no longer requiring errstr to be passed in
cleaned up memory leaks in setpass
aligned buf in setpass

* plugins/plain.c: cleaned up some code

* lib/common.c (_sasl_getcallback): no longer returns SASL_INTERACT
when it can't find a callback; uses SASL_OK instead.

* plugins/kerberos4.c (client_continue_step): diked out all the
authid code.  Why was this in Kerberos, anyway?  Also added
required prompts for kerberos (i.e. none, instead of the default
SASL_CB_AUTHNAME and SASL_CB_PASS).

* lib/common.c (_sasl_getcallback): eliminated builtin SASL_CB_USER

* plugins/cram.c (c_continue_step): don't send a zero-length
initial response...

* sample/sample-client.c (main): free data properly when
initial response is possible

* plugins/cram.c: set client-side user+authid oparams, tweaked a
couple allocation constants to make purify happy.  CRAM-MD5 now
passes purify, both client and server, success and fail cases,
returning all data correctly to both sides.

* sample/sample-client.c (main): added property retrieval tests to
sample-client.c (so the client can discover whom it has
authenticated as).

* lib/md5.c (hmac_md5_import): fixed count update bug

1999-03-28  Rob Earhart  <rob+@andrew.cmu.edu>

* lib/saslutil.c (sasl_mkchal): always generate positive nonces

* plugins/cram.c (server_continue_step): lots of little changes;
no longer tickles purify
(c_continue_step): some more little changes

* config/sasl.spec: Added the extra RFCs

* doc/Makefile.am (EXTRA_DIST): Added a few more RFCs

1999-03-26  Rob Earhart  <rob+@andrew.cmu.edu>

* plugins/cram.c (find_prompt): Fixed
(c_continue_step): Fixed call to free_prompts

* lib/server.c (sasl_server_step): removed strange setprop

* lib/common.c: Setting security flags
(sasl_errstring): changed badparam message to something a little
less confusing

* config/{config.guess,config.sub,ltconfig,ltmain.sh}: reverted to
old hacked versions

* SMakefile: removed libtoolize

* plugins/digestmd5.c: changed various instances of user_domain to
local_domain

* lib/server.c (_sasl_transition): changed to call setpass directly
(sasl_setpass): added logging

* sample/sample-server.c (main): cleaned up data handling, base64
generation

* lib/server.c (sasl_listmech): better final len calculation

1999-03-25  Rob Earhart  <rob+@andrew.cmu.edu>

* plugins/digestmd5.c: made a lot of things const; this makes the
code happier.

* plugins/cram.c (c_start): fixed text init bug

* lib/server.c (sasl_server_new): moved local_domain code to common,
removed local_domain from sasl_server_conn, no longer disposing
local_domain in server on cleanup

* lib/common.c: (_sasl_conn_init): took local_domain code from server
(_sasl_conn_dispose) added code to free local_domain

* lib/saslint.h: added local_domain to sasl_conn_t and _sasl_conn_init

* lib/client.c (sasl_client_new): calling _sasl_conn_init with
NULL local domain

* lib/saslutil.c: wrote sasl_mkchal

* plugins/cram.c (server_continue_step): Fixed nonce generation

* lib/common.c (_sasl_alloc_utils): added hmac routines, mutex
routines, rand stuff...

* lib/md5.c: Wrote hmac routines

* plugins/cram.c (setpass): Massive surgery to clean this up
removed required prompts -- they're the default prompts

* testing.txt: updated testing documentation

* plugins/plain.c (verify_password): added shadow password file support
(server_continue_step): fixed mech_ssf and authorization buglet
(server_continue_step): setting realm to local domain name
(sasl_client_plug_init): tweaked logging

1999-03-25  Timothy L Martin  <tmartin+@andrew.cmu.edu>

* lib/server.c (setpass): sends sparams correctly now

1999-03-24  Timothy L Martin  <tmartin+@andrew.cmu.edu>

* plugins/digestmd5.c (setpass): merged in rob's changes
fixed realm mistake
merged in alexey's changes for 8859 etc

1999-03-24  Rob Earhart  <rob+@andrew.cmu.edu>

* configure.in: added checks for crypt.h, shadow.h, getspnam.

* plugins/plain.c (server_continue_step): replaced weird error
codes with actual symbolic constants

* lib/server.c (sasl_server_start): check error code from
mech_new, eliminated antiquated call to sasl_setprop().

* sample/sample-server.c (main): made mandatory mech check
case-insensitive

* lib/common.c (_sasl_getsimple): don't require len param

* lib/client.c (have_prompts): made this static

* sample/sample-client.c (main): dynamic callback list generation,
eliminated most globals

* plugins/plain.c (get_authid): dup authid
(get_userid): dup userid

* sample/sample-client.c (getsecret): fixed broken password
reading code

* lib/server.c: added credential callback pointers to EXTERNAL

* plugins/plain.c (client_continue_step): fixed

* lib/server.c (server_dispose): braces to make the compiler happy

* include/Makefile.am: removed winconfig.h dependancy

1999-03-23  Rob Earhart  <rob+@andrew.cmu.edu>

* plugins/plain.c (client_plugins): deleted required prompts;
plain only *needs* the default (SASL_CB_AUTHNAME and SASL_CB_PASS).

* configure.in: switched java to default to no

* utils/saslpasswd.c (main): documented flags
(main): added user realm

* plugins/digestmd5.c (get_realm): flipped this to user_domain
(setpass): massive surgery to make this sort of work
fixed free_prompts call

* plugins/plain.c (find_prompt): minor surgery to make this work
fixed free_prompts call

* config/sasl.spec: massive update to build normal lib,
development package, and packages for each plugin

* doc/Makefile.am (EXTRA_DIST): updated digest-sasl doc

1999-03-22  Rob Earhart  <rob+@andrew.cmu.edu>

* plugins/kerberos4.c (server_continue_step): fixed security layer
negotiation code, used symbolic constants, eliminated context ssf

1999-03-19  Timothy L Martin  <tmartin+@andrew.cmu.edu>

* plugins/cram.c: Doesn't store passwords in /etc/sasldb in
clear. tested

1999-03-18  Rob Earhart  <rob+@andrew.cmu.edu>

* lib/server.c (server_dispose): fixed up credential disposal

* Moved winconfig.h to win32/include/config.h to remove a bunch of
ifdefs; windows project header paths will need to be adjusted.

* man/Makefile.am: created

1999-03-15  Rob Earhart  <rob+@andrew.cmu.edu>

* sample/sample-server.c: seperated saslfail/sasldebug, made
failure to obtain info at the end not cause fail

* testing.txt: rewrote

* config/cyrus-sasl.spec: Added sample code to docs

* configure.in: added optional compilation for sample code

* Makefile.am: split sample out to make it optionally compile

1999-03-14  Rob Earhart  <rob+@andrew.cmu.edu>

* plugins/plain.c (free_string): removed warning, simplified
(client_continue_step): Fixed some printfs

* sasl/Makefile.am (javasasl_JAVA): Added new java classes

* plugins/cram.c (setpass): return something on function exit
(free_string): simplified, removing compiler warning

* plugins/Makefile.am: Updated plugin versions

* lib/Makefile.am (sasl_version): Updated revision

1999-03-11  Rob Earhart  <rob+@andrew.cmu.edu>

* configure.in: Added kaffeh support

1999-03-08  Timothy L Martin  <tmartin+@andrew.cmu.edu>

* plugins/plain.c: No sensetive information leaked

* plugins/cram.c: No sensetive information leaked

1999-03-07  Timothy L Martin  <tmartin+@andrew.cmu.edu>

* plugins/digestmd5.c: client and server can't send challenges
>2048 bytes now

1999-03-05  Timothy L Martin  <tmartin+@andrew.cmu.edu>

* plugins/plain.c: uses callbacks and interactions now (tested)

* plugins/cram.c: uses callbacks and interactions now (tested)

* plugins/anonymous.c (c_continue_step): fencepost error corrected

1999-03-04  Rob Earhart  <rob+@andrew.cmu.edu>

* plugins/kerberos4.c (client_continue_step): changed ssf
printf()s to unsigned

* sample/sample-client.c (main): fixed max ssf

* sample/sample-server.c (main): fixed max ssf

* plugins/kerberos4.c (client_continue_step): fixed to deal nicely
with NULL userid and authid

1999-03-01  Rob Earhart  <rob+@andrew.cmu.edu>

* plugins/kerberos4.c: interaction and callback fixes.  This'll
probably break stuff -- but only stuff that shouldn't have been
written in the first place...

* lib/common.c: axed the user/realm stuff from sasl_conn_t,
rewrote common to use copies from oparams

1999-02-25  Rob Earhart  <rob+@andrew.cmu.edu>

* plugins/anonymous.c (c_continue_step): added case for NULL user
(c_continue_step): fixed anon id creation

* lib/client.c: fixed various prompt_need assumptions

* lib/server.c (sasl_listmech): gracefully deal with NULL prefix,
sep, and suffix

* lib/client.c (sasl_client_new): SASL_FAIL => SASL_BADPARAM for
bad parameters

* lib/dlopen.c (_sasl_get_mech_list): added path defaulting

1999-02-22  Rob Earhart  <rob+@andrew.cmu.edu>

* plugins/anonymous.c (continue_step): changes %*s to %s (len
doesn't work in log function), and NULL-terminated the client's
str.

* lib/common.c (add_string): cleaned up a bit

* doc: wrote Makefile.am, added relevant drafts and RFCs

* Makefile.am: added doc dir

* plugins/digestmd5.c: cleaned up some warnings

* plugins/kerberos4.c: cleaned up some warnings

* configure.in: removed -pedantic -ansi -fbuiltin; glibc-2.1 is
just too broken for this to work without lots of useless whining

1999-02-21  Timothy L Martin  <tmartin+@andrew.cmu.edu>

* all: eliminated some warnings

* plugins/digestmd5: added integrity protection

* plugins/digestmd5: replaced all DEBUG prints with VL's

1999-02-17  Timothy L Martin  <tmartin+@andrew.cmu.edu>

* plugins/all: added VL's for error conditions

* all: eliminated some warnings

* plugins/kerberos4.c: went back to an old version. works
now. Please test when you make changes in the future

* plugins/kerberos4.c: doesn't work now. no clue why

* lib/saslutil.c: fixed some stuff. added comments

* plugings/cram.c: fixed various things. works now. please don't
touch Rob

* lib/common.c: fixed username error

1999-02-12  Rob Earhart  <rob+@andrew.cmu.edu>

* lib/client.c (sasl_client_start): added credentials consideration

* lib/saslint.h: moved oparams into sasl_conn_t (instead of
keeping a pointer to them); adjusted other code to match

* include/sasl.h: added credentials interface.  This may change at
some point; it's nice and simple, but doesn't seperate the
credentials from the sasl_conn_t...

* include/saslplug.h: added credential calls for server plugins,
incremented plugin version

* plugins/scram.c (sasl_server_plug_init): added credential ptrs,
fixed version check, incremented version
(sasl_client_plug_init): fixed version check

* plugins/plain.c (sasl_server_plug_init): added credential ptrs,
fixed version check, incremented version
(sasl_client_plug_init): fixed version check

* plugins/gssapi.c (sasl_server_plug_init): added credential ptrs,
fixed version check, incremented version
(sasl_client_plug_init): fixed version check

* plugins/digestmd5.c (sasl_server_plug_init): added credential
ptrs, fixed version check, incremented version
(sasl_client_plug_init): fixed version check

* plugins/anonymous.c (sasl_server_plug_init): added credential
ptrs, fixed version check, incremented version
(sasl_client_plug_init): checked version check

* plugins/kerberos4.c (sasl_server_plug_init): added credential
ptrs, incremented version
(sasl_client_plug_init): checked version check

* lib/server.c (mech_permitted): fixed reversed ssf test

* plugins/cram.c (sasl_server_plug_init): added credential ptrs,
fixed version check, incremented version.
(sasl_client_plug_init): fixed version check

1999-02-11  Rob Earhart  <rob+@andrew.cmu.edu>

* include/sasl.h (SASL_SEC_MAXIMUM): changed definition of
SASL_SEC_MEXIMUM (I never did like the way it was defined before),
and added SASL_SEC_MAX_DEFINED, which the library will need in
order to properly process SASL_SEC_MAXIMUM.
(SASL_SEC_PASS_CREDENTIALS): added this, as well as
sasl_credentials_t, used by plugins which accept forwarded
credentials to hand them to servers.

* plugins/anonymous.c (client_plugins): added required prompts
(SASL_CB_USER), commented a little.
(c_continue_step): changed from getprop for username to callback

* include/saslplug.h: made required_prompts a const long ptr

* lib/common.c (_sasl_getcallback): added SASL_CB_LIST_END check

* lib/saslint.h (_sasl_getcallback): added prototype

* lib/common.c (_sasl_getcallback): made non-static

* lib/client.c (have_prompts): implemented; checks whether or not
the app provides the prompts necessary for a given mechanism.

1999-02-10  Rob Earhart  <rob+@andrew.cmu.edu>

* lib/common.c (_sasl_getcallback): returns SASL_INTERACT if
callback exists but proc is NULL (as per spec).

* acconfig.h: moved string&dir&mem stuff here & winconfig.h; wiped
nasty magic from most src

1999-02-09  Rob Earhart  <rob+@andrew.cmu.edu>

* lib/server.c (external_server_init): added, implemented, linked in

* lib/client.c (external_client_init): added, implemented, linked in

* include/saslplug.h: changed const char *s in oparams to char *s

* lib/test-client.c: fixed some little nits
(main): added Extern auth flag

* lib/saslutil.c (sasl_encode64): added outmax and outlen handling
(parityof): diked out

* include/sasl.h: made sasl_secret_t.data signed

* lib/test-server.c: fixed some little nits
(main): added Extern auth flag

* lib/test-common.c: fixed some little nits

* testing.txt: fixed test program names

1999-02-08  Rob Earhart  <rob+@andrew.cmu.edu>

* lib/saslint.h: ssf => sasl_external_properties_t

* lib/common.c (sasl_setprop): serious cleanup

* lib/server.c (mech_permitted): implemented
(sasl_server_start): added mech_permitted() check
(sasl_listmech): added mech_permitted() check

* include/sasl.h: Added sasl_external_properties_t, moved
sasl_security_properties_t from saslplug.h, fixed some
documentation

1999-02-07  Ryan Troll <ryan+@andrew.cmu.edu>

* configure.in: Added reminder about version number in
winconfig.h

* include/sasl.h: Fixed WIN32 declarations

* include/winconfig.h: Added new defines, for compilation under
windows

* lib/test-client.c: fixed loop, so it will work with anonymous
mechanism

* Added saslDIGESTMD5 project to main workspace

1999-02-05  Rob Earhart  <rob+@andrew.cmu.edu>

* lib/windlopen.c (_sasl_get_mech_list): added getpath_cb

* lib/saslint.h: _sasl_get_mech_list *takes* getpath callback
               added _sasl_find_getpath_callback prototype

* lib/dlopen.c (_sasl_get_mech_list): checking args, using getpath
callback to find the path

* lib/client.c (sasl_client_init): passing getpath callback to
_sasl_get_mech_list, using _sasl_find_getpath_callback

* lib/server.c (sasl_server_init): passing getpath callback to
_sasl_get_mech_list, using _sasl_find_getpath_callback

* lib/common.c (_sasl_getcallback): changed sasl_syslog to
_sasl_syslog
(_sasl_getcallback): added ref to _sasl_getpath
(_sasl_getpath): wrote
(_sasl_find_getpath_callback): wrote

* include/sasl.h: added sasl_getpath_t decl

1999-01-26  Rob Earhart  <rob+@andrew.cmu.edu>

* configure.in: Added digest-md5 configuration

* plugins/Makefile.am: Added digestmd5 stuff

* Removed Id tags from all files

* plugins/digestmd5.c: Added plugin from Alexey

1999-01-25  Rob Earhart  <rob+@andrew.cmu.edu>

* include/winconfig.h: Bumped version to 1.4b1
(strncasecmp): Added strncasecmp => strnicmp translation

* configure.in: Bumped version to 1.4b1

* Makefile.am (dist-hook): Added cmulocal to dist

1999-01-19  Rob Earhart  <rob+@andrew.cmu.edu>

* Version 1.3b2 released

* configure.in: Updated to v1.3b2

* include/sasl.h: Wrapped the error codes in parens, for sanity

1999-01-15  Rob Earhart  <rob+@andrew.cmu.edu>

* Version 1.3b1 released

1999-01-12  Rob Earhart  <rob+@andrew.cmu.edu>

* lib/server.c (sasl_setpass): pass flags & errstr

* configure.in: uses CMU_SOCKETS, for sanity; sets SASL_UTIL_LIBS;
writes utils/Makefile; updated version to 1.3b1

* Makefile.am: added utils

* utils/Makefile.am: wrote

* utils/saslpasswd.8: wrote

* utils/saslpasswd.c: upgraded

1998-12-14  Timothy L Martin  <tmartin+@andrew.cmu.edu>

        * lib/common.c: added logging capability

* sasl.h, saslplug.h: changed logging functions

1998-12-09  Timothy L Martin  <tmartin+@andrew.cmu.edu>

* utils/*: created utils directory with saslpasswd, imtest, and
smtptest

* server.c: implemented sasl_setpass (adding passwords only)

* plugins/cram.c: stores password in clear. Made cram work correctly

1998-12-01  Rob Earhart  <rob+@andrew.cmu.edu>

* TODO: added setpass stuff

1998-11-30  Rob Earhart  <rob+@andrew.cmu.edu>

* Version 1.2b3 released

* SMakefile: switched order of automake and autoconf

* plugins/Makefile.am: added PLAIN_LIBS to libplain_la_LIBADD

* configure.in: check for libcrypt for plain

1998-11-30  Ryan Troll <ryan@andrew.cmu.edu>

        * win32/libsasl workspace: Updated to handle new server db
mechanism.  Now just uses 'db_none'.

1998-11-30  Rob Earhart  <rob+@andrew.cmu.edu>

* plugins/*.c: made plugin structs static

* lib/Makefile.am: added windlopen.c

* plugins/plain.c: passing a len return to getsimple callbacks

* Makefile.am: added note about SASL_PATH

* INSTALL: added note about SASL_PATH

* include/winconfig.h: added copyright, updated version

* include/Makefile.am: added winconfig.h to distribution

* sasl/Makefile.am: removed saslMechList.java

1998-11-30  Rob Earhart  <rob@ANDREW.CMU.EDU>

* configure.in: bumped up version to 1.2b3

* lib/common.c: added default user/authname callbacks

* Makefile.am: added plugin path warning

1998-11-29  Rob Earhart  <rob+@andrew.cmu.edu>

* plugins/plain.c: now attempts to look up userid and authid as
well as password via callbacks, and sets callback ids
appropriately for SASL_INTERACT.  Uses authorization callback.
   Revamped parser to not copy data onto stack and to use
arbitrary-length data.

* lib/server.c: removed gdbm/ndbm code and the whole SASL_DB_TYPE
nonsense; replaced with linkage against _sasl_db_getsecret and
_sasl_db_putsecret

* lib/db_ndbm.c: created; moved ndbm code from server.c to here

* lib/db_gdbm: created; moved gdbm code from server.c to here

* lib/db_none: created; filled in hook symbols

* lib/saslint.h: added _sasl_db_getsecret and _sasl_db_putsecret
symbol definitions

* lib/Makefile.am: added SASL_DB_BACKEND and db backend sources,
incremented library version number

* acconfig.h: removed SASL_DB_TYPE; it's superfluous now

* configure.in: now subst's SASL_DB_BACKEND appropriately, and is
more careful about pulling in libs after checking for them

1998-11-25  Rob Earhart  <rob+@andrew.cmu.edu>

* Version 1.2b2 released