Tue Sep 13 12:28:20 2002  Guillaume Morin  <gmorin@gnu.org>

    * 0.43
    * Added version in the binary

Mon Sep 09 21:33:13 2002  Guillaume Morin  <gmorin@gnu.org>

    * {group,passwd,shadow}.c: removed calls to my_thread_end()
      It appears to be a bad idea to call it in a nss module.

Sun Sep 08 02:26:00 2002  Guillaume Morin  <gmorin@gnu.org>

    * configure.ac: build fix. Patch by 
      Max Kalika <max@lsit.ucsb.edu>

Fri Sep 06 13:16:39 2002  Guillaume Morin  <gmorin@gnu.org>

    * 0.42 released

Fri Sep 06 01:13:16 2002  Guillaume Morin  <gmorin@gnu.org>

    * Code cleanup and comments.

Thu Sep 05 14:08:51 2002  Guillaume Morin  <gmorin@gnu.org>

    * Added import tools. They have been written by
      Manuel Mitnyan <mmitnyan@videotron.ca>. Thanks,
      Manuel.

Thu Sep 05 01:12:52 2002  Guillaume Morin  <gmorin@gnu.org>

    * lib.c: db_connect now handled calls with a non NULL
      mysql_auth arg.
      check_connection: uses thread specific data to guess
      what happened. The logic is quite complicated
      because of the Linux non standard pthread 
      implementation.
      set_fork_handler: fixed a race
    * {group,passwd,shadow}.c: removed useless is_threaded,
      child fork handlers now set pid to 0 instead of
      setting auth to NULL.

Tue Sep 03 14:46:53 2002  Guillaume Morin  <gmorin@gnu.org>

    * lib.c: new function which handles string escaping :
      _nss_mysql_escape_string. This function can use
      a buffer instead of calling mallocs. This should
      speed things up a bit.
    * {group,passwd,shadow}.c: converted get_sql_string
      to use _nss_mysql_escape_string

Sat Aug 31 14:51:47 2002  Guillaume Morin  <gmorin@gnu.org>

    * ent.c: added pthread fork handlers

Sat Aug 31 14:26:10 2002  Guillaume Morin  <gmorin@gnu.org>

    * Moved source to src/

Sat Aug 31 12:43:31 2002  Guillaume Morin  <gmorin@gnu.org>

    * lib.c: removed the mutex argument from the 
      _check_connection prototype.
    * group.c: fix for a false warning
    * shadow.c: converted to the new interface

Fri Aug 30 16:50:32 2002  Guillaume Morin  <gmorin@gnu.org>

    * parser.h, {parser,group,passwd,shadow}.c: all functions
      related to files parsing now uses struct parse_result.
    * group.c: converted the new interface. initgroups
      does not use it, since it is a special case. The same
      race has been fixed in this function.

Fri Aug 30 15:12:30 2002  Guillaume Morin  <gmorin@gnu.org>

    * ent.c: support for the new interface (passwd only)
    * passwd.c: removed _read_db
    * group.c,shadow.c: small update to match the new setent
      prototype

Fri Aug 30 02:45:05 2002  Guillaume Morin  <gmorin@gnu.org>

    * nss-mysql.h: struct mysql_auth contains a pointer to
      the mutex, added the new query struct
    * lib.c: added _send_query()
    * passwd.c: support for the new _send_query, 
      _get_sql_query interface.
    
      This fixes a race and simplify the code. We will 
      eventually remove _read_db. This change affects 
      the module a lot, use the current version with care.

Thu Aug 29 04:11:10 2002  Guillaume Morin  <gmorin@gnu.org>

    * group.c, shadow.c: added support for pthread fork 
      handlers.
      nss-mysql should now handle gracefully all calls
      to fork(). Thanks to Theo Zourzouvillys 
      <theo@crazygreek.co.uk> for his detailed bug report.
    * ent.c: removed the useless local_lock mutex.

Thu Aug 29 02:21:15 2002  Guillaume Morin  <gmorin@gnu.org>

    * *.c: we now associate a pid to a MYSQL *. This allows
      us to handle fork() in non-threaded apps gracefully.

Wed Aug 28 14:35:56 2002  Guillaume Morin  <gmorin@gnu.org>

    * nss-mysql.h,group,passwd,shadow}.c: reverted
      Tue Aug 27 01:54:22 2002 changes. They were useless.
    * lib.c: added _nss_mysql_set_fork_handler
    * passwd.c: added support to a fork handler

Wed Aug 28 02:26:15 2002  Guillaume Morin  <gmorin@gnu.org>

    * group.c: fixed the sql query from read_db. The function
      sent NOT_FOUND for groups with no member if you used
      the users.where_clause parameter.
      Thanks to Manuel Mitnyan <mmitnyan@videotron.ca> for
      the detailed bug report.

Tue Aug 27 01:54:22 2002  Guillaume Morin  <gmorin@gnu.org>

    * nss-mysql.h: include errmsg.h
    * {group,passwd,shadow}.c: returns NSS_STATUS_TRYAGAIN
      when the connection to the server was lost during the 
      query

Tue Aug 27 01:24:53 2002  Guillaume Morin  <gmorin@gnu.org>

    * sample.sql: fixed inconsistencies in sample.sql.
      Patch by Manuel Mitnyan <mmitnyan@videotron.ca>

Tue Aug 20 17:42:40 2002  Guillaume Morin  <gmorin@gnu.org>

    * group.c: added some debugging output

Mon Aug 19 13:44:50 2002  Guillaume Morin  <gmorin@gnu.org>

    * 0.41 released

Fri Aug 16 17:47:06 2002  Guillaume Morin  <gmorin@gnu.org>

    * lib.c: more debugging output

Tue Aug 13 00:50:32 2002  Guillaume Morin  <gmorin@gnu.org>

    * passwd.c, shadow.c, group.c: minimize critical sections
    * ent.c: code cleanup, removed bogus my_thread_end() call
    * lib.c: removed bogus my_thread_end() call

Thu Jul 11 13:59:06 2002  Guillaume Morin  <gmorin@gnu.org>

    * 0.40 released 

Mon Jul 08 15:05:13 2002  Guillaume Morin  <gmorin@gnu.org>

    * configure.ac: sysconfdir now defauts to /etc
      Thanks, Yann Droneaud.

Sat Jul 06 12:26:55 2002  Guillaume Morin  <gmorin@gnu.org>

    * passwd.c: use FALLBACK_* constants
    * lib.c: use vasprintf if available
    * parser.c: use SYSCONFDIR to define the configuration files
      path.
    * All modifications by Yann Droneaud <ydroneaud@meuh.eu.org>

Fri Jul 05 21:19:53 2002  Guillaume Morin  <gmorin@gnu.org>

    * *.c: move check_connection into a library funtion.
      Patch by Yann Droneaud <ydroneaud@meuh.eu.org>

Fri Jul 05 17:19:58 2002  Guillaume Morin  <gmorin@gnu.org>

    * *.c: added a 'bulk' argument in  *_read_db prototypes 

Fri Jul 05 16:25:22 2002  Guillaume Morin  <gmorin@gnu.org>

    * auto*: switched to autoconf 2.50. Patch by
      Yann Droneaud <ydroneaud@meuh.eu.org>

Fri Jul 05 11:49:16 2002  Guillaume Morin  <gmorin@gnu.org>

    * group.c: fixed mem leak in initgroups (Thanks to
      Yann Droneaud)

Wed Jul 03 17:13:46 2002  Guillaume Morin  <gmorin@gnu.org>

    * Makefile.am: added -Wundef
    * ent.c,group.c,passwd.c,shadow.c: turned ENT_TYPE into
      preprocessor constants

Wed Jul 03 16:49:32 2002  Guillaume Morin  <gmorin@gnu.org>

    * group.c,passwd.c,shadow.c: we return ERANGE when we
      need a bigger buffer.

Wed Jul 03 16:20:37 2002  Guillaume Morin  <gmorin@gnu.org>

    * group.c,group.h,parser.c: removed avoid_initgroups_for.

Wed Jul 03 16:09:59 2002  Guillaume Morin  <gmorin@gnu.org>

    * passwd.c,group.c,shadow.c: comments update

Wed Jul 03 16:02:09 2002  Guillaume Morin  <gmorin@gnu.org>

    * ent.c: fixed incorrect my_thread_end() calls

Wed Jul 03 15:42:40 2002  Guillaume Morin  <gmorin@gnu.org>

    * configure.in,nss-mysql.h: removed ent_t thingie

Sun Jun 30 21:20:20 2002  Guillaume Morin  <gmorin@gnu.org>

    * lib.c: _nss_mysql_copy_to_buffer now accepts a NULL
      buflen

Fri Jun 28 15:39:08 2002  Guillaume Morin  <gmorin@gnu.org>

    * passwd.c, shadow.c, ent.c, group.c: split fill struct 
      into read_db and result_to_struct functions.
      ent functions are now much simpler. There is no groups
      cache anymore, we'll see if this hurts performance
      that much.

      Code cleanup, added some gotos. (Don't cry, it is much
      cleaner that way)
    * shadow.c: indentation change.

Tue May 21 14:02:02 2002  Guillaume Morin  <gmorin@gnu.org>

    * ent.c: fixed return value in getent, move initialization
      of struct group * into the groups 'case'. If buffer is
      too small, return EAGAIN.

Tue May 21 12:07:34 2002  Guillaume Morin  <gmorin@gnu.org>

    * ent.c,group.c: fixed insane type for addrptr

Mon May 20 18:12:03 2002  Guillaume Morin  <gmorin@gnu.org>

    * ent.c,group.c: fixed the members loop to call
      _nss_mysql_copy_to_buffer which is smarter.

Mon May 20 13:38:03 2002  Guillaume Morin  <gmorin@gnu.org>

    * ent.c,group.c: members are now allocated in the buffer
      and not in the heap. This is the last fix for the 
      memory leak issue reported by Matt Peterson 
      <matt@caldera.com>. Unforttunately, I had to do
      some bad hacks. I'll have to redesign some parts
      of the code.

Mon May 20 02:14:52 2002  Guillaume Morin  <gmorin@gnu.org>

    * group.*,ent.c,lib.h: partial fix for the mem leak
      issue.

Sun May 19 17:16:30 2002  Guillaume Morin  <gmorin@gnu.org>

    * group.c: replaced tabs by 8 spaces, indentation cleanup

Sat May 18 19:05:14 2002  Guillaume Morin  <gmorin@gnu.org>

    * ent.c: replaced tabs by 8 spaces, indentation cleanup

Sat May 18 18:36:53 2002  Guillaume Morin  <gmorin@gnu.org>

    * parser.c: replaced tabs by 8 spaces, indentation cleanup

Sat May 18 14:22:16 2002  Guillaume Morin  <gmorin@gnu.org>

    * lib.c: replaced tabs by 8 spaces, indentation cleanup,
      compilation fix for GCC 3.

Sat May 18 02:42:56 2002  Guillaume Morin  <gmorin@gnu.org>

    * passwd.c: replaced tabs by 8 spaces, indentation cleanup,
      some more comments.

Sat May 18 01:58:58 2002  Guillaume Morin  <gmorin@gnu.org>

    * passwd.*,shadow.*,ent.*: use buffer for dynamic data (This fixes
      an huge mem leak). The issue is still present in group functions and
      will be fixed later. Thanks a lot to Matt Peterson <matt@caldera.com>
      for his detailed report.
    * lib.c: _nss_mysql_copy_to_buffer added to replace strdup in previous
      files.
    * parser.c: fixed mem leak in _nss_mysql_free_shadow

Thu May 02 19:59:06 2002  Guillaume Morin  <gmorin@gnu.org>

    * lib.c: db_connect now takes the new connection_option struct as arguments
    * shadow.c,ent.c,group.c,passwd.c: modified the db_connect for the
      previous change
    * lib.c: support for a backup host
    * parser.c: adds backup_* options for shadow/user to support backup host
    * parser.c: fixed memory leak

Wed Apr 24 14:39:05 2002  Guillaume Morin  <gmorin@gnu.org>

    * first bits of Solaris Port courtesy of Kevin W. Brown <kevin@qis.net>
    * configure.in: added a test for the host OS
    * nss-mysql.h: new file which deals with portability problems
    * *: constant for nss_status and PHREAD_MUTEX_INITIALIZER
    * configure.in, Makefile.am: ent_t now properly defined

Wed Apr 24 14:04:53 2002  Guillaume Morin  <gmorin@gnu.org>

    * group.[ch],parser.c: added groups.avoid_initgroups_for option
    * Makefile.am: now compiles with -D_REENTRANT (old)
    * ent.c: fixed buggy warning in setpwent code (old)

Mon Mar 18 12:17:12 2002  Guillaume Morin  <gmorin@gnu.org>

    * *.c: #include <mysql/foo.h> -> #include <foo.h>

Sun Feb 10 17:06:38 2002  Guillaume Morin  <gmorin@gnu.org>

    * configure.in: fix for ent_t type test

Tue Jan 15 12:17:36 2002  Guillaume Morin  <gmorin@gnu.org>

    * Makefile.am: compile with -Werror
    * acinclude.m4: check if we need to include <mysql/my_pthread.h>
    * {ent,passwd,group,shadow}.c: include <mysql/my_pthread.h> if we need it

Mon Jan 14 12:10:09 2002  Guillaume Morin  <gmorin@gnu.org>

    * configure.in: check for zlib before MySQL libs

Sun Jan 13 16:56:47 2002  Guillaume Morin  <gmorin@gnu.org>

    * acinclude.m4: support for old MySQL versions where my_thread_*
      where in libmysys

Fri Dec 14 16:41:50 2001  Loic Dachary <loic@gnu.org>

	* Makefile.am (EXTRA_DIST): missing sample.sql SHADOW UPGRADE THANKS

	* Makefile.am (install-data-local): missing DESTDIR prefix
	
Sat Nov 10 15:16:09 2001  Loic Dachary <loic@gnu.org>  <loic@gnu.org>

	* configure.in,acinclude.m4: define and use the MYSQL_CHECK
	  macro that allows --with-mysql{-lib,-include}.

Sat Nov 10 14:13:46 2001  Loic Dachary <loic@gnu.org>

	* tests/Makefile.am: create for the purpose of compiling 
	  torture.c.

Fri Nov 09 14:56:38 2001  Loic Dachary <loic@gnu.org>

	* parser.c: implement conf.version to track the version number
	  of the configuration file.

	* nss-mysql{-root}.conf: add comments about the fact that
	  fully qualified field names are mandatory, conf.version = 2;
	  lines and upgrade explanations.
	
	* shadow.h: renamed nss-shadow.h to avoid conflicts with 
	  corresponding system file.

	* *.c: s/HAVE_CONFIG/HAVE_CONFIG_H/

	* group.c: Although it probably seemed a good idea to use the
	  table name to fully qualify fields in the SQL requests of the
	  group.c file, it has enormous drawbacks. All table qualifiers
	  from the requests of the group.c file were removed, leaving the
	  responsibility of qualifying fields to the author of the
	  configuration file.

	* ent.c: Load all group information in memory with a single SQL
	  request when setgrent is called. After implementation the gain
	  of walking thru getgrent is one order of magnitude. This happens
	  at every login. The information is freed when endgrent is called.

	* group.c: Move a portion of _nss_mysql_group_fill_struct into
	  _nss_mysql_group_result_to_struct so that filling a struct group
	  can be called from ent.c functions (for the purpose of implementing
	  the setgrent/getgrent cache).
	  
