2013-07-08  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	* mboxfs.c (mboxfs_parse_opts): Rename sate parameter into state.

2013-07-08  Cyril Roelandt  <tipecaml@gmail.com>

	* mboxfs.c (mboxfs_parse_opts): Gracefully handle the errors using
	argp_error instead of error.

2012-02-10  Samuel Thibault  <samuel.thibault@ens-lyon.org>

	Fix build against libpthread.

	* Makefile: Link against libpthread instead of libthreads
	* debug.c: Include pthread.h instead of cthreads.h. Turn debug_lock
	into a pthread_mutex_t instead of struct mutex.
	(__debug_start): Use pthread_mutex_lock instead of mutex_lock.
	(__debug_end): Use pthread_mutex_unlock instead of mutex_unlock.
	* netfs.c (netfs_attempt_lookup, netfs_attempt_create_file): Use
	pthread_mutex_unlock instead of mutex_unlock.

Ludovic Courts <ludo@chbouib.org> made these changes:

2003-01-21

	* fs.[ch]: Updated from tarfs (fixes the symlink access problem
	  where "cat l" would show the symlink target instead of its
	  contents).
	* debug.[ch]: Imported from tarfs too.

2002-11-13

	* Makefile (CFLAGS): Added -D_FILE_OFFSET_BITS=64.
	* mutt/Makefile (CFLAGS): Likewise.
	* mboxfs.c: Added netfs_server_name and netfs_server_version
	  (all these changes are due to the interface change from 0.2
	  to 0.3).
	* fsutils.[ch]: Removed.
	* fs.[ch]: New files taken from tarfs.

2002-08-18

	* version.h: File removed
	* netfs.c: Updated from the latest tarfs changes
	* backend.h: Likewise
	* mboxfs.c (mboxfs_init): Call NEW_NODE_INFO on netfs_root_node
	  so that netfs_attempt_lookup() doesn't crash when trying to lookup
	  a non-existing node in /.

2002-08-03

	* mboxfs.c (mboxfs_get_args): appends filename to the arglist

2002-06-20

	* backend.h: added get_argp, get_args and set_options to
	  struct fs_backend in order to enable fsysopt support.
	* mboxfs.c: implemented the corresponding functions.
	* main.c: argument parsing moved to mboxfs.c.

2002-06-14

	* fsutils.c: now handles st_nlink correcty (see fs_make_subdir()).
	* fsutils.c: _make_node(): use a unique inode number (nn_stat.st_ino)
	  for each node -> "find -name \*" now works!
	* mboxfs.c: mboxfs_read_text_node(): checks whether io_read() allocated
	  a new buffer and unmap() it.
	* fsutils.c: _make_node(): changed it so that new entries are added at
	  the end of the linked list. For mboxfs, this allows having node
	  00001.mail *after* node 00000.mail in the list.

2002-06-08

	* mboxfs.c: mboxfs_read_text_node(): identified a bug when reading
	  more than the actual size of an email.
	* mboxfs.c: added the `threaded' (--no-timeout) option so that
	  mbox gets parsed in a separate thread.
	* path.c: renamed to fsutils.c
	* fsutils.c: new file
	* backend.h: removed read_link from struct fs_backend since it is
	  no longer backend dependent (see field link in struct netnode)

2002-05-31

	* path.c: fs_make_node(): checks for existing node.
	* path.c: get_common_root(): new function that returns the
	  `deepest common root' of two nodes.
	* path.c: fs_link_node(): removed last arg since rootdir is now
	  obtained using get_common_root().
	* mboxfs.c: mboxfs_add_attach() creates symlinks when create an
	  attach dir for an email that already has one somewhere, using
	  the attach_dir field in struct mboxfs_info.
	  FIXME: mboxfs_add_sender() never creates symlinks.

2002-05-24

	* mboxfs.c: in mboxfs_lookup_node(), creation `on the fly' of
	  DIR_SENDERS, DIR_RCPT, or DIR_THREADS when relevant.

2002-05-17

	* mutt/handler.c: added a bad hack(tm) so that mutt_decode_base64() does
	  nothing when len<3.
	* mboxfs_defs.h: added the mboxfs_node_t thing and the type field in
	  struct mboxfs_info so that each node is `typed'.
	* mboxfs.c: mboxfs_lookup_node() can create a DIR_SENDERS when relevant,
	  on the fly, base on the contents of the current directory.

2002-05-14

	* mboxfs.c: mboxfs_read_attach_node() cleaned and working at least with
	  xbit and base64 encodings.
	* mutt/handler.c: mutt_decode_base64() adjusted so that it reads at most
	  s->datacnt - s->datacnt%3.
	* mboxfs.h: added the mboxfs_options var. and also the --force-mmdf
	  option (untested).
	* mutt: removed regex.c, _regex.h (now only uses GNU Regexp).

2002-05-13

	* backend.h: merged common.h and backend.h
	* mboxfs.c: in mboxfs_lookup_node(), started an example of `on-the-fly'
	  creation of a `from' directory.
	* mboxfs.c: brand new mboxfs_read_attach_node() with a per-node cache
	  system (see struct attach_info) which appears to work; however,
	  base64 attachments are still kind of `out of order'. :(

2002-05-03

	* path.c: added fs_make_node(), fs_add_subdir() taken from mboxfs.c
	  and created fs_link_node().
	* common.h: contains a new more general definition of struct netnode.
	* mboxfs.c: uses the new info field of struct netnode and path.c
	  functions.
	* samplefs.c: likewise.
	* mboxfs_defs.h: simplified struct mboxfs_info.

2002-05-01

	* mutt/parse.c: Regexp fix in mutt_read_rfc822_header(): regexp parsing
	  of the subject field (in order to differentiate env->subject from
	  env->real_subj by removing the "Re:") now works.
	* mboxfs.c: added thread support.
	* path.c: added filter_node_name().
	* handler.c: (binary attachs bug not fixed)

2002-04-29

	* mutt.h: other bugfixes in state_puts(). :)
	  added state_nputs() used by mutt_decoder_pop_to_state()
	  when calling mutt_decode_pop() (bugfix).
	* mboxfs.c:
	  optimization in mboxfs_read_attach_node(): don't start from scratch
	  if requested offset (OFFS) is greater than BYTES_READ.
	  (all kind of attachments seem to work, but uuencoded has not been
	  tested).

2002-04-24

	* mutt.h: bugfixes with macros state_put[sc]
	* handler.c: small bug (?) with mutt_decode_base64()

2002-04-23

	* mboxfs.c: mboxfs_read_attach_node ()
	  -> starts working with mutt_decode_xbit (); keeps track of the previous
	     decoding request;
	* handler.c and mutt.h:
	  -> final change to state_put[sc](), created _setlen().

2002-04-22

	* Updated the argp stuff, added a `--full-headers' option.
	* First attempt at attach decoding on the fly
	  -> changes in libmutt: added handler.c which contains
	     mutt_decode_attachment();
	  -> changed STATE (in mutt.h) to use a BUFFER instead of a
	     FILE;
	  -> doesn't work, no idea of how to do it cleanly. :(

2002-04-17
	
	* Changes and bufixes in libmutt: now supports attachments.
	* Attachments supported by mboxfs now in (from|to)/<sender>/attach/xxxxx.mail .
	  -> TODO: Decode mime attachments on the fly in mboxfs_read_node().

2002-04-16

	* Added mboxfs_add_rcpt(), add_sender() and add_date().
	* Works with date/MmmYYYY/from and date/MmmYYYY/to . :)
	* Uses get_path*(), in path.[ch].

2002-04-15 Ludovic Courts <ludo@chbouib.org>

	* Added read_link to struct fs_backend.
	* Wrote mboxfs_read_link():
	  each entry in DIR_RCPT is shown as a symblink to the corresponding
	  entry in DIR_SENDERS;
	  symlinks' target paths are created using get_path() and
	  get_path_to_root().
	* Finally, get_path*() are unused, due to the fact that the size of
	  the target path has to be known when the symlink is created (st_size).
	  Therefore, nn->link is used instead.

vim:ts=8:ft=changelog:
