Wayne Davison
24e1569f8b
The debug output for add_exclude() now needs to limit the pattern to
...
print only "pat_len" chars.
2004-04-22 08:41:03 +00:00
Wayne Davison
40d38dc0be
In add_exclude_file(), if we're word-splitting, stop reading a "line"
...
at any whitespace (so that we don't overflow the line buffer).
2004-04-17 17:55:45 +00:00
Wayne Davison
b2aa573b1c
Our exclude lists are now comprised of a base structure with a head
...
and a tail pointer pointing to a linked list of items (rather than
an array of pointers that has to be reallocated all the time).
2004-04-14 23:33:40 +00:00
Wayne Davison
61414c83ce
The check_exclude() and report_exclude_result() functions now take a
...
description string that describes what kind of an include/exclude is
happening (which only gets output when verbose is set to 2 or more).
2004-04-14 21:59:41 +00:00
Wayne Davison
abca4eba67
Fixed a potential problem parsing the "!" token from a word-split string.
2004-04-13 19:07:21 +00:00
Wayne Davison
96d3590a08
A few more improvements to get_exclude_tok() and add_exclude().
2004-04-13 18:35:08 +00:00
Wayne Davison
f8f726449b
- add_exclude() now takes a flag int and can optionally word-split
...
items and/or ignore +/- prefixes.
- add_exclude_file() changed to take the same flags as add_exclude().
- add_exclude_line() was removed since add_exclude() can now do its job.
- make_exclude() now takes a size-limited string without a +/- prefix.
- add_cvs_excludes() was changed to word-split the items that come from
a .cvsignore file, and to ignore all +/- prefixes in all the ignore
sources. Since CVS doesn't check if its ignore items are directories,
the dir-names (e.g. SCCS, CVS, etc.) no longer have a trailing slash
(making our excludes match CVS's ignores more exactly).
2004-04-12 17:42:32 +00:00
Wayne Davison
a3dbb20a0e
Fixed a bug where an exclude name that got sent over the wire could get
...
an extra "- " or "+ " parsed off the start of the name (i.e. we have to
quote excluded names that start with those strings with an extra "- "
at the start).
2004-04-10 10:31:11 +00:00
Wayne Davison
a8edfd53d1
Trivial whitespace tweak.
2004-02-23 19:23:53 +00:00
Wayne Davison
5f5be796b0
Changed a couple sizeof calls and improved some string handling in
...
the {send,recv}_exclude_list() calls.
2004-02-03 23:01:58 +00:00
Wayne Davison
ea847c6232
Use who_am_i() to qualify some debug messages.
2004-01-27 23:13:15 +00:00
Wayne Davison
a7725e6df9
Use new pathjoin() function.
2004-01-20 04:53:59 +00:00
Wayne Davison
3f55bd5dad
Got rid of support for protocols 17 and 18.
2004-01-08 00:45:41 +00:00
Wayne Davison
5e7dbaca50
Use buffered I/O to read the exclude list.
2004-01-02 08:31:12 +00:00
Wayne Davison
58cadc8608
Merged in the security fixes from 2.5.7.
2003-12-06 21:07:27 +00:00
Wayne Davison
d04e9c51b4
Changed "remote_version" to "protocol_version".
2003-09-09 15:58:48 +00:00
Wayne Davison
fe332038c6
Call wildmatch(), not fnmatch().
2003-07-30 06:12:27 +00:00
Wayne Davison
5be7fa93fc
Made make_exclude() store anchored config-file excludes with the full
...
path (clear to the root). Changed several functions to make the args
more general (to support separated lists), more consistent, and easier
to understand.
2003-07-01 21:45:16 +00:00
Wayne Davison
170381c052
Fixed some matching bugs; made the logic of the matching code a little
...
clearer by using defined flags; added several comments; optimized the
matching of an anchored literal string.
2003-05-01 19:33:54 +00:00
Wayne Davison
0f2ac85576
Some whitespace/indentation cleanup.
2003-04-17 01:44:33 +00:00
Wayne Davison
ccdff3ebbf
Open the file in BINARY fd mode, handle the normal line-ending characters
...
better than before, and add support for the new --from0 option (which changes
the line separator to a null).
2003-03-30 23:00:40 +00:00
Wayne Davison
bc72130d71
Got rid of O_TEXT_STR and added code to strip '\r' from the end of the
...
lines we read.
2003-01-26 20:10:23 +00:00
David Dykstra
536b84680b
Open config files in text mode when O_TEXT is defined. This helps on
...
Cygwin when the config files are on a filesystem that is mounted in
binary mode. Patch from Ville Herva.
2003-01-26 03:46:54 +00:00
Wayne Davison
95dd949c09
Added .svn/ to the cvs_ignore_list and some trailing slashes to the
...
other dirs in the list.
2003-01-09 03:55:57 +00:00
David Dykstra
f8a94f0de8
Patch from J.W. Schultz to have --include-from and --exclude-from on
...
filename "-" read from standard input.
2002-08-29 14:37:20 +00:00
Martin Pool
32f761755e
Try to fix ctype issues by always calling these functions as
...
if (!isdigit(* (unsigned char *) p)) {
so that the argument is always in the range of unsigned char when
coerced to an int.
(See digit 1.)
2002-04-11 02:25:53 +00:00
Martin Pool
07a874fd9b
Correction from Nelson Beebe: argument to functions such as isspace()
...
must be an int, not a char. This could cause sign-extension problems.
2002-04-09 06:15:13 +00:00
Martin Pool
bb7c4fa361
Doc.
2002-02-18 19:10:28 +00:00
Martin Pool
d7761c1480
Doc: Rusty's /*/* exclude hack produces spurious output with -vv.
2002-02-06 04:34:40 +00:00
Martin Pool
8c35542d1f
Patch from wayned so that add_exclude_list produces clearer debugging
...
output with -vvv.
2002-02-05 00:25:52 +00:00
Martin Pool
9dd891bb28
Signedness security patch from Sebastian Krahmer <krahmer@suse.de> --
...
in some cases we were not sufficiently careful about reading integers
from the network.
Also, make sure log messages are always nul-terminated.
2002-01-23 04:57:18 +00:00
Martin Pool
531d06b824
Fix from Wayne Davison:
...
The --cvs-exclude option is broken in the CVS version of rsync
because of a cut-and-paste-induced bug in exclude.c:
This bug could cause the sending rsync to crash when it dereferenced
a NULL pointer.
2001-06-21 06:15:34 +00:00
Andrew Tridgell
8950ac03f8
imported new snprintf.c from samba, got rid of slprintf
2001-05-07 06:59:37 +00:00
Martin Pool
f0f5767f15
Change from getopt to popt -- requires const-correctness on arguments.
2001-02-23 01:44:56 +00:00
Martin Pool
a039749b4c
Print strerror when a system error occurs; add a new function rsyserr
...
to do this. This is not used in every case yet -- I've just changed a
few cases that were causing trouble. Please convert others as you see them.
2000-10-26 07:24:18 +00:00
Martin Pool
1f52f4c407
Get rid of const modifiers; they're problematic with old compilers.
2000-10-09 03:48:47 +00:00
Martin Pool
d567322fbc
include/exclude cluestick: with -vv, print out whether files are
...
included or excluded and why.
2000-10-09 03:46:38 +00:00
Andrew Tridgell
25cf88936f
a hack to make listing remote sites (by leaving off a target) more
...
useful
2000-08-29 04:45:49 +00:00
Andrew Tridgell
9bec528606
runtime detect fnmatch() bug if ** is used.
...
its all too common to compile with a working libc and run on a broken
one.
2000-01-29 02:35:01 +00:00
Andrew Tridgell
c36cd31713
the convoluted nest of #ifdefs that is fnmatch.c caught us again. On
...
my system the LIBC tests meant it never compiled and we used the
broken system one.
hacked it so it does compile
2000-01-25 14:17:21 +00:00
Andrew Tridgell
b315601ce0
removed Daves include-only optimisation. One of the bug reports turned
...
out to be caused by it and it seems rather a lot of extra effort for
what must really be a minor optimisation in most cases
2000-01-23 13:16:30 +00:00
Andrew Tridgell
2fb139c11b
fixed passing of directory exclude options to remote side (thanks to
...
andrewdagger@xerox.gbr.com )
added note about multiple excludes per exclude option
1999-11-08 09:12:42 +00:00
David Dykstra
651443a7ff
Allow + and - in the "include" and "exclude" directives in rsyncd.conf.
...
Patch submitted by Damian A Ivereigh <damian@cisco.com >
1999-03-12 21:42:51 +00:00
David Dykstra
8458724d25
Disable the optimization that treats include-only files as a special case
...
whenever delete_mode is on. People reported problems when it kicked in
while using --delete and while using --delete-excluded.
1999-03-02 20:56:17 +00:00
David Dykstra
a8b9d4edec
Changed exclude/include matching so that normally wildcards will stop at
...
slashes. The old behavior of crossing slashes can be achieved by using a
double-asterisk ('**') anywhere in a pattern. Note that this can change
some existing exclude patterns in a subtle way. Also note that if the
remote side is an older release the processing on the two sides might not
be exactly the same when there's no double-asterisk, which can affect which
files are excluded from deletion, but they're close enough that people will
probably not notice. I considered changing the protocol version and
checking the remote_version number to ensure the same processing on both
sides, but the exclude patterns are pre-processed before the remote version
number is known and it's just not worth going through extraordinary efforts.
Suggested by Cameron Simpson <cs@zip.com.au >
1999-02-18 16:27:36 +00:00
David Dykstra
19c14f987e
Changed the optimized include mode (which kicks in when there are a series
...
of non-wildcard includes followed by an exclude of *) so that it will silently
ignore included files that don't exist rather than saying "No such file or
directory". This is more like the behavior of the non-optimized include mode.
1999-02-10 18:03:59 +00:00
David Dykstra
122f19a615
Support '#' and ';' comments in exclude files. It would actually not
...
probably cause any harm if they were treated as normal exclude or include
patterns because they just wouldn't match anything, but it's better to
explicitly ignore them. Suggested by David Holland <uholld1@lexis-nexis.com >
1999-02-09 22:31:52 +00:00
David Dykstra
5d5811f7d9
Always include "." when processing exclude lists. This avoids confusion
...
when people do --exclude "*". Also, add an example to the man page that
shows explicitly including parent directories when itemizing specific
paths to include followed by --exclude "*".
1998-11-24 21:26:38 +00:00
David Dykstra
cd64343a7a
Add "include" and "include from" rsyncd.conf options. Contributed
...
by Dennis Gilbert <dennis@oit.pdx.edu >.
1998-11-23 21:54:01 +00:00
Andrew Tridgell
37f9805dab
changed strlcat() and strlcpy() to have the same semantics as the
...
OpenBSD functions of the same name.
changed slprintf() to take buffer length rather than buffer length -1
1998-11-14 23:31:58 +00:00