1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231
|
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 )
|