1999-12-04  Finn Arne Gangstad  <finnag@fast.no>

	* Makefile.in (VER): Made version 0.8.4

	* Added timeout for timezone testing (so it won't hang eternally)
	
1999-09-10  Finn Arne Gangstad  <finnag@fast.no>

	* Makefile.in (VER): Made version 0.8.4pre13

	* configure.in (SET_CFLAGS): Don't set -Wtraditional when using gcc

	* Makefile.in (VER): Made version 0.8.4pre12

	* configure.in: link with -lm if necessary for fabs
	
	* configure.in: additional check on RETSIGTYPE to make signal handlers
	only return values if RETSIGTYPE is != void

1999-09-09  Finn Arne Gangstad  <finnag@fast.no>

	* Makefile.in (VER): Made version 0.8.4pre11

	* fmirror.c: Made lookup_hostname and Date2Min static. Changed type
	of argv to char *const *

1999-06-18  Finn Arne Gangstad  <finnag@fast.no>

	* Makefile.in (all): Made version 0.8.4pre10

1999-06-18  Finn Arne Gangstad  <finnag@fast.no>

	* fmirror.c (handle_dir_listing): Merged patch from
 	<janl@linpro.no>. Missing timeout detection when getting
 	ls-listing could cause fmirror to hang indefinitely.
 
Sat May 29 08:29:27 1999  Arne Henrik Juul  <arnej@math.ntnu.no>

	* fmirror.c: Make and use new OPT_SET_LOG macro.
	Change log_lstat function name to avoid confusion.
	Convert running output to use log_eta and log_hashes.
	Always log what's mirrored (from and to).
	Make findtz more robust in dir-walking code.
	Move default setting of logging options to new function,
	called after user has gotten the chance to tweak various
	parameters.

1999-01-25  Arne Henrik Juul  <arnej@math.ntnu.no>

	* fmirror.c: Actually make the non-MDTM case work again,
	and restructure a bit to get correct logging as well.

1999-01-24  Finn Arne Gangstad  <finnag@fast.no>

	* Makefile.in (VER): Made version 0.8.4pre8

1999-01-24  Arne Henrik Juul  <arnej@math.ntnu.no>

	* fmirror.c: new option -T (remotetz) to specify timezone

	* fmirror.1: Added doc for "remotetz" option

1999-01-18  Finn Arne Gangstad  <finnag@fast.no>

	* Makefile.in (VER): Made version 0.8.4pre7

Sun Jan 17 22:35:00 1999  Arne Henrik Juul  <arnej@math.ntnu.no>

	* Makefile.in: Bump version number here instead.
	Compile via .o file to ease linking with extra libraries.
	Allow CFLAGS command-line override per GNU standards.
	Remove obsolete comment.
	
	* fmirror.c: fix find_timezone to be smarter and fall-back
 	gracefully when it fails.  Implement options and configuration
 	file keywords for use_mdtm, dircmd_tz, and log_findtz.  Reorganize
 	the logic for comparing time stamps, modes and lengths to make -R
 	option actually work.  Don't be so verbose about the timezone/MDTM
	by default.

	* fmirror.1: Document new options.  Fix some typos.  Update
	copyrights.

1999-01-15  Finn Arne Gangstad  <finnag@fast.no>

	* Makefile (VER): Made version 0.8.4pre6
	
	* fmirror.c: Merged mdtm support from <arnej@pvv.org>
	Minor log cleanups.

1998-12-16  Finn Arne Gangstad  <finnag@guardian.no>

	* fmirror.c (handle_ftp_transfer): permissions were logged wrongly
	if file_and_mask or file_or_mask changed the permission.
	(do_mirror): retry the initial connect a configurable number of times
	with configurable delay between connects (for busy servers)
	(reconnect_timeout, reconnect_retries): new config variables
	(parse_args): Exit if stray command line params are detected

	* Makefile.in (VER): Made version 0.8.4pre4

	* fmirror.c (get_input): cleaned up ALRM-handling a bit.
	(do_mirror): don't send passwords unless it's set or asked for
	(make_connected_socket): Code cleanup: One function to make all
	connected sockets using the right timeouts and retries.
	(accept_connection): Code cleanup: One function to accept connections
	using the right timeouts.
	(make_passive_connection): Code cleanup: Opening passive connections
	used more than once, put into a function.
	
	
	* INSTALL: compile & install instructions

	* configure.in, Makefile.in, configure, install.sh: autoconf setup
 	
	* Makefile (VER): Made version 0.8.4pre3
	
	* fmirror.1: Updated manpage

	* fmirror.c: Merged a patch from Nicolai, added input_timeout,
	connect_timeout and connect_retries. Also added some more timeout
	checks to avoid hanging sessions.

1998-12-12  Finn Arne Gangstad  <finnag@guardian.no>

	* Makefile (VER): Made version 0.8.4pre2
	
	* fmirror.c (utc_mktime): New function to generate UTC timestamps.
	(logit): use gcc __attribute__ to trap bad params. Fixed some log
	statements.
	

1998-12-10  Finn Arne Gangstad  <finnag@guardian.no>

	* Makefile (VER): Made version 0.8.4pre1
	
	* fmirror.c: #include <netinet/in_systm.h>
	(MY_MAX): renamed MAX to MY_MAX to avoid conflicts
	(mkdir_mode): New function to create directories with correct modes,
	fixes Debian bug report #28062
	
	* New config-option: keep_newer (-k). Don't download files unless they
 	are newer
	* New config-option: reset_times (-R). Set modification times of local
	files that have different timestamps than remote files.
	* Output format changed a bit for normal interactive use
	

Thu Aug  6 00:34:21 1998  Finn Arne Gangstad  <finnag@guardian.no>

	* made 0.8.4beta (0.8.4beta-pre1 seemed stable and was just renamed)
	
Mon Aug  3 18:09:38 1998  Finn Arne Gangstad  <finnag@guardian.no>

	* OOPS: in non-passive mode, the retrieval of ls listings would be
	  killed after 70 seconds. fixed.
	* renamed changelog to Changelog
        * Improved logic to detect what year a file's modification date is if
          it is listed without year in ls-listing
        * Files that were created in newly made directories were
          created with mode 0 instead of 0200. fixed.
        * Don't fflush the tempfile before rewinding it (if disk is full,
          it may not trigger before the fflush, so better avoid it)
        * Fixed some typos in log statements

Tue Apr 28 13:15:51 1998  Finn Arne Gangstad  <finnag@guardian.no>

	* Made 0.8.4alpha
	* Updated documentation (man page & fmirror -h)
	* Added verbosity level (-V option) to give less verbose output
	  suitable for cron jobs etc.
	* Started work on finer granularity of logging
	* log_timestamp option is in, if 0 disable timestamps
	* bugfix: changed symlinks are now actually changed

	
11 Dec 1997 (ver 0.8.3 beta)

The .in.xxx files are made with permission 0200 instead of 0, to avoid
failure next time if fmirror dies during mirroring.

Erroneous deletion of files in top directory fixed

	
6 Dec 1997 (ver 0.8.3 alpha)

Updated man-page a bit

Reformatted comments

Removed setsockopts that set send and receive buffers

Initial support for reget (not functional) - new option "try_reget"

Filenames and directory commands containing "%" will now work

Unneeded complexity in make_hash_value() removed

Hash-table speeded up and tuned a bit (add_to_hash(), del_from_hash())

Obscure bug leading to needless reallocing of hash table fixed

Multiple spaces allowed before inclusion and exclusion rules

Directories containing more than one space would confuse parse_filename().
Improved the new-directory detection.

Filenames or directory names starting with space should now work


13 Oct (ver 0.8.2)

Default loglevel set to 3 (was 2)

Now keeps track of total bytes targeted for mirror and estimates the time
left to completion.

19 Sep 1997 (ver 0.8.1 alpha)

Added -F (pidfile) option  - save the pid of fmirror to a file

Passive mode default to off

New option -S (passive) for passive mode


19 Sep 1997 (ver 0.8 alpha)

Some doc fixes

New option -N (nodel) : don't delete local files.

Workaround for ftp servers that have multi-line welcome messages without
the 4th char on the line being '-'

Support for passive mode

File descriptor leak in certain error conditions fixed

New flag on include and exclude rules 'n' - don't delete a file/dir if
this rule matches and the file would otherwise be deleted.

Daylight savings time handling turned _off_. Caused some problems with
files that had impossible times.

	
16 Mar 1997: (ver 0.7alpha)

Fmirror can now decompress a file-listing that is received. New options,
with config-file equivalents in (), default values in []:

 -z (compressed): decompress file listing
 -x <string> (decompressor) : name of decompressor program [gzip]
 -o <string> (decompressor-opt) : options to decompressor [-dc]

In order to get a file-list without listing directly, specify a dir-command
like this (see redhat.conf for an example):

 -c <string> (dircmd) : use <string> as directory command [LIST -lgRa]

Other new options:

 -A <number> (file_and_mask) : and-mask for file permissions [0111]
 -O <number> (file_or_mask) : or-mask for file permissions [0444]
 -p <number> (port) : port number of remote ftp server [21]
 -m <number> (dirmode) : permission dirs should be created with [0755]
 -C <string> : Parse <string> as if it was a line in a config file
 -e <string> (exclude) add an exclude-entry.
 -i <string> (include) add an include-entry.
 -t <number> (timefuzz) Allow files to differ by up to <number> seconds [0].

The example configuration files now include better default excludes.
Temporary files are now named .in.* instead of *.__IN__, and are
created with permissions 0000. They are also chmoded and the date is
updated before they are renamed, so you never risk giving out bogus
dates or permissions.

Fmirror now handles ls-listings with or without group-information.

Missing files are printed on loglevel 3 for consistency.

Fmirror understands octal (starting with 0), decimal, and hexadecimal
numbers (starting with 0x) when specifying permissions etc.

Inverted regex matches are in, a new option 'x' can be used in regex
options. The meaning then becomes 'include/exclude anything NOT
matching <pattern>'. This is most useful for excludes.

config-file now can use space or tab as whitespace anywhere. Previously
tab was required in some places.

Some portability changes are in, makes it easier to compile on older oses.

File descriptor and memory leak fixed when PORT command failed.

Filenames and pathnames are guaranteted _not_ to start with "./" when
being matched gainst regex rules even if the remote ls gives listings that
start with "./".

Directories will always get "/" appended before being matches against
the regex rules, so you can do "exclude p (^|/)old/" to exclude
directories named "old" and everything in them, without excluding
files named "old".

27 Jan 1997: (ver 0.6)

Forgot to clear hash-table of files to be deleted, resulting in lots
of spam about files it wanted to delete that it couldn't find.

18 Jan 1997: (ver 0.6beta2)

excluded directories made it whine and exit, fixed.

18 Jan 1997: (ver 0.6beta)

changelog is now in a more reasonable order.

default username works

fmirror will now delete files itself, do __NOT__ run a find after fmirror
has run to delete files, fmirror no longer updates ctime of all files.

28 Jun 1996: (ver 0.5)

Local ip-address is fetched in a better way, to use the right address
if the host has more than one interface and only one is accessible
from the outside.

Time comparison of remote timestamps didn't work properly in all cases

Some log-statements had wrong types for passed values (short/int etc)

Added SYST-command in startup for easier tracking of problems

Now checks for timeouts when getting remote files so it isn't stuck forever.

Incorrectly ended with exit(0) if remote hostname could not be found, which
caused massive deletion of files when remote nameserver was dead.

13 mar 1996: (ver 0.4)

Major code cleanups. Big functions split into nice small ones.
Bugs fixed:
 - Directories replaced by files/symlinks were not deleted.
 - the -v option didn't work properly (duh)
 - the fuzzy date-matching didn't work at all. fixed.



17 feb 1996: (ver 0.3)

Error messages rewritten to give better messages. Some cleanups
Date matching on files older than 2 months is now a bit fuzzy,
since ls only has day resolution for old files. Prevents
files from being mirrorded twice in their lifetime.


6 dec 1995: (ver 0.2)

Directory exclusion partly fixed. All leading exludes are now applied to
directories as well, but as soon as one include is encountered, further
exlucde have no effect on directory-creation.

ctime is now set for directories and symlinks as well, so find can be used to
delete all old files.

Now uses a separate FILE for inut and output, to solve the problems using
only one caused on a lot of OSes.


20 nov 1995:

Fixed a bug with ls-list parsing, if a directory has a link count of more
than 99, the ls program in the other end sometimes forgets to put a space
before linkcount.

exit(-1) changed to exit(0) if a partition is full, so that mirror isn't run
again immediately (with the normal while ! fmirror ; do sleep 30 ; done )

