t64)(f)->len32 + ((f)->flags & FLAG_LENGTH64 ?
(int64)F_HIGH_LEN(f) << 32 : 0))
#endif
-#define F_MOD_NSEC(f) ((f)->flags & FLAG_MOD_NSEC ? OPT_EXTRA(f, 0)->unum : 0)
+#define F_MOD_NSEC(f) OPT_EXTRA(f, 0)->unum
+#define F_MOD_NSEC_or_0(f) ((f)->flags & F
/xattrs.c
@@ -719,7 +719,7 @@ int recv_xattr_request(struct file_struct *file, int f_in)
num += rel_pos;
if (am_sender) {
/* The sender-related num values are only in order on
the sender.
- * We use that order here
___________
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
t; = x ]; then
-cert=""
-else
-cert="cert = $RSYNC_SSL_CERT"
-fi
-
-if [ x"$RSYNC_SSL_CA_CERT" = x ]; then
-cafile=""
-verify=0
-else
-cafile="CAfile = $RSYNC_SSL_CA_CERT"
-verify=3
-fi
-
-port="${RSYNC_PORT:-0}"
-if [ "$port" = 0 ]; then
-port="${RSYNC_SSL_PORT:-874}"
-fi
-
-# If the user specified USER@HOSTNAME::module, then rsync passes us
-# the -l USER option too, so we must be prepared to ignore it.
-if [ x"$1" = x"-l" ]; then
-shift 2
-fi
-
-hostname=$1
-shift
-
-if [ x"$hostname" = x -o x"$1" != x"rsync" -o x"$2" != x"--server" -o x"$3" !=
x"--daemon" ]; then
-echo "Usage: stunnel-rsync HOSTNAME rsync --server --daemon ." 1>&2
-exit 1
-fi
-
-# devz...@web.de came up with this no-tmpfile calling syntax:
-@stunnel4@ -fd 10 11<&0 <https://lists.samba.org/mailman/listinfo/rsync-cvs
.h', 'r', encoding='utf-8') as fh:
+for line in fh:
+m = re.match(r'^#define\s+PROTOCOL_VERSION\s+(\d+)', line)
+ if m:
+protocol_version = m[1]
+ continue
+m = re.match(r'^#define\s+SUBPROTOCOL_VERSION\s+(\d+)', line)
+if m:
+subprotocol_version = m[1]
+break
+
+if not protocol_version:
+die("Unable to determine the current PROTOCOL_VERSION.")
+
+if not subprotocol_version:
+die("Unable to determine the current SUBPROTOCOL_VERSION.")
+
+return protocol_version, subprotocol_version
+
# vim: sw=4 et
diff --git a/packaging/release-rsync b/packaging/release-rsync
index 20d8ea07..b0e55387 100755
--- a/packaging/release-rsync
+++ b/packaging/release-rsync
@@ -5,7 +5,7 @@
# the git repository in the current directory will be updated, and the local
# ~/samba-rsync-ftp dir will be ready to be rsynced to samba.org.
-import os, sys, re, argparse, glob, time, shutil, atexit, signal
+import os, sys, re, argparse, glob, shutil, atexit, signal
from datetime import datetime
from getpass import getpass
@@ -21,7 +21,6 @@ MAKE_GEN_CMDS = [
'./config.status'.split(),
'make gen'.split(),
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
$mydir/rsync" --rsh="$mydir/rsync-ssl-rsh" "${@}"
--
The rsync repository.
_______
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
S_ISLNK(new_mode)) {
if (set_acl(fname, file, sxp, new_mode) > 0)
- updated = 1;
+ updated |= UPDATED_ACLS;
}
#endif
@@ -595,7 +628,7 @@ int set_file_attrs(const char *fname, struct file_struct
*file, stat_x *sxp,
goto cleanup;
}
if (ret == 0) /* ret == 1 if symlink could not be set */
- updated = 1;
+ updated |= UPDATED_MODE;
}
#endif
@@ -676,7 +709,7 @@ int finish_transfer(const char *fname, const char *fnametmp,
/* Change permissions before putting the file into place. */
set_file_attrs(fnametmp, file, NULL, fnamecmp,
- ok_to_set_time ? ATTRS_SET_NANO : ATTRS_SKIP_MTIME);
+ ok_to_set_time ? ATTRS_SET_NANO : ATTRS_SKIP_MTIME |
ATTRS_SKIP_ATIME);
/* move tmp file over real file */
if (DEBUG_GTE(RECV, 1))
@@ -701,7 +734,7 @@ int finish_transfer(const char *fname, const char *fnametmp,
do_set_file_attrs:
set_file_attrs(fnametmp, file, NULL, fnamecmp,
- ok_to_set_time ? ATTRS_SET_NANO : ATTRS_SKIP_MTIME);
+ ok_to_set_time ? ATTRS_SET_NANO : ATTRS_SKIP_MTIME |
ATTRS_SKIP_ATIME);
if (temp_copy_name) {
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
nplace = 0;
#ifdef SUPPORT_XATTRS
diff --git a/trimslash.c b/trimslash.c
index 2891279e..004351c2 100644
--- a/trimslash.c
+++ b/trimslash.c
@@ -29,7 +29,7 @@ int list_only = 0;
int preserve_perms = 0;
int preserve_executability = 0;
int preallocate_files = 0;
-int set_noatime = 0;
+int open_noatime = 0;
int inplace = 0;
int
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
time, mod_nsec) == 0)
+ if (do_setattrlist_times(fname, stp) == 0)
break;
if (errno != ENOSYS)
return -1;
--
The rsync repository.
_______
rsync-cvs mailing list
rsync-cvs@l
Copyright (C) 2003-2020 Wayne Davison
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
--
The rsync repository.
_______
rsync-cvs mailing list
;
int list_only = 0;
-int preserve_perms = 0;
-int preserve_executability = 0;
-int preallocate_files = 0;
-int open_noatime = 0;
-int inplace = 0;
int
main(int argc, char **argv)
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
License as published by
--
The rsync repository.
_______________
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
symlink \"%s\" ->
\"%s\"\n",
fname, sl);
}
- return;
+ goto cleanup;
}
if (statret == 0) {
char lnk[MAXPATHLEN];
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
;
if (basename != thisname)
--
The rsync repository.
___________
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
CMP_FNAME : make_backups <= 0));
if (!am_server)
set_current_file_index(file, ndx);
diff --git a/util.c b/util.c
index 03917c31..edb3ae03 100644
--- a/util.c
+++ b/util.c
@@ -498,6 +498,11 @@ int robust_rename(const char *from, const char *to, const
/* protocols ?? - now */
+#define XMIT_SAME_ATIME (1<<14)/* any protocol - restricted by
command-line option */
+#define XMIT_RESERVED_15 (1<<15) /* reserved for future use */
+
+/* The following XMIT flags require an rsync that uses a varint for the flag
values */
+
+#define XMIT_RESERVED_16 (1<<16) /* reserved for future use */
/* These flags are used in the live flist data. */
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
use */
/* These flags are used in the live flist data. */
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
] = m['sz']
+ret.append(m['var'])
+return ret
+
+
+if __name__ == '__main__':
+parser = argparse.ArgumentParser(description='Check the *.c files for
extraneous extern vars.', add_help=False)
+parser.add_argument("--help", "-h", action="help", help="Output this help
message and exit.")
+args = parser.parse_args()
+main()
+
+# vim: sw=4 et
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
27;, r'\g<1>%s\2'
% today, txt, flags=re.M)
with open(yo_tmp, 'w', encoding='utf-8') as fh:
fh.write(txt)
--
The rsync repository.
_______
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
an rsync daemon via a file or via standard input if bf(FILE) is
--
The rsync repository.
_______________
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
o change.
dit(bf(-T, --temp-dir=DIR)) This option instructs rsync to use DIR as a
--
The rsync repository.
_______________
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
s would refuse bf(--checksum) (bf(-c)) and all the various
delete options:
-quote(tt(refuse options = c delete))
+verb(refuse options = c delete)
The reason the above refuses all delete options is that the options imply
bf(--delete), and implied options are refused just like explicit options.
+
+The use of a negated match allows you to fine-tune your refusals after a
+wild-card, such as this:
+
+verb(refuse options = delete-* !delete-during)
+
+Negated matching can also turn your list of refused options into a list of
+accepted options. To do this, begin the list with a "*" (to refuse all options)
+and then specify one or more negated matches to allow. For example:
+
+verb(refuse options = * !a !v !compress*)
+
+Don't worry that the "*" will refuse certain vital options such as
+bf(--server), bf(--no-iconv), bf(--protect-args), etc. These important options
+are not matched by a wild-card, so they must be overridden by their exact name.
+For instance, if you're forcing iconv transfers you could use something like
+this:
+
+verb(refuse options = * no-iconv !a !v)
+
+As an additional aid (beginning in 3.2.0), refusing (or "!refusing") the "a" or
+"archive" option also affects all the options that the bf(--archive) option
+implies (bf(-rdlptgoD)), but only if the option is matched explicitly (not
+using a wildcard). If you want to do something tricky, you can use "archive*"
+to avoid this side-effect, but keep in mind that no normal rsync client ever
+sends the actual archive option to the server.
+
As an additional safety feature, the refusal of "delete" also refuses
bf(remove-source-files) when the daemon is the sender; if you want the latter
-without the former, instead refuse "delete-*" -- that refuses all the
-delete modes without affecting bf(--remove-source-files).
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
cept/refuse bf(--files-from)
without affecting this modifier.
+ it() bf(--iconv): This is auto-disabled based on "charset" parameter.
+ it() bf(--no-iconv): Most transfers use this option.
+ it() bf(--checksum-seed): Is a fairly rare, safe option.
+ it() bf(--write-devices): Is non-wi
write-devices".
+explicitly accepted with "!write-devices". The options "log-file" and
+"log-file-format" are forcibly refused and cannot be accepted.
Here are all the options that are not matched by wild-cards:
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
ild-card-able */
}
assert(list_end != NULL);
@@ -1249,7 +1247,7 @@ static void set_refuse_options(void)
/* Now we use the descrip values to actually mark the options for
refusal. */
for (op = long_options; op != list_end; op++) {
- int refused = *op->descrip == 'r' || *op->descrip == 'R';
+ int refused = op->descrip[0] == 'r';
op->descrip = NULL;
if (!refused)
continue;
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
, %sACLs, %sxattrs, %siconv, %ssymtimes,
%sprealloc\n",
- have_inplace, acls, xattrs, iconv, symtimes, prealloc);
+ rprintf(f, "%sappend, %sACLs, %sxattrs, %siconv, %ssymtimes,
%sprealloc, %ssse2\n",
+ have_inplace, acls, xattrs, iconv, symtimes,
+
+You can also override the checksum using the RSYNC_CHECKSUM_LIST environment
+variable by setting it to a space-separated list of checksum names that you
+consider acceptable. If no common checksum is found, the client exits with an
+error. This method does not allow you to specify the transfer checksum
+separately from the pre-transfer checksum, and it ignores "auto" and all
+unknown checksum names. If the remote rsync is not new enough to handle a
+checksum negotiation list, the list is silently ignored unless it contains the
+string "FAIL" in it.
+
+The use of the bf(--checksum-choice) option overrides this environment list.
dit(bf(-x, --one-file-system)) This tells rsync to avoid crossing a
filesystem boundary when recursing. This does not limit the user's ability
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
on for get_checksum1() is intentionally limited to x86-64
+ * as no 32-bit CPU was available for testing. As 32-bit CPUs only have half
+ * the available xmm registers, this optimized version may not be faster than
+ * the pure C version anyway. Note that all x86-64 CPUs support at least SSE2.
+ *
+ * This file is compiled using GCC 4.8+'s C++ front end to allow the use of
+ * the target attribute, selecting the fastest code path based on runtime
+ * detection of CPU capabilities.
+ */
+
+#ifdef __x86_64__
+#ifdef __cplusplus
+
+#include "rsync.h"
+
+#ifdef HAVE_SIMD
+
+#include
+
+/* Compatibility functions to let our SSSE3 algorithm run on SSE2 */
+
+__attribute__ ((target("sse2"))) static inline __m128i
sse_interleave_odd_epi16(__m128i a, __m128i b) {
+return _mm_packs_epi32(
+_mm_srai_epi32(a, 16),
+_mm_srai_epi32(b, 16)
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
%sACLs, %sxattrs, %siconv, %ssymtimes,
%sprealloc, %sSIMD\n",
- have_inplace, acls, xattrs, iconv, symtimes, prealloc, simd);
+ rprintf(f, " %sappend, %sACLs, %sxattrs, %siconv, %ssymtimes,
%sprealloc, %sSIMD, %sxxhash\n",
+ have_inplace, acls, xattrs, iconv, symtimes, prealloc, simd,
xxhash);
#ifdef MAINTAINER_MODE
rprintf(f, "Panic Action: \"%s\"\n", get_panic_action());
@@ -1932,7 +1937,7 @@ int parse_arguments(int *argc_p, const char ***argv_p)
/* Call this early to verify the args and figure out if we need
to force
* --whole-file. Note that the parse function will get called
again later,
* just in case an "auto" choice needs to know the
protocol_version. */
- parse_checksum_choice();
+ parse_checksum_choice(0);
} else
checksum_choice = NULL;
diff --git a/rsync.h b/rsync.h
index 0eb4fbc0..d6c5de52 100644
--- a/rsync.h
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
POSSIBLE... */
+ saw[cs->num] = ++cnt;
}
- *tok = '\0';
- len = tok - sumbuf;
}
/* Each side sends their list of valid checksum names to the other side
and
--
The rsync repository.
______
r11d, %ebx/* dst += ... */
+ rol $23,%ebx/* dst <<< s */
+ mov %ecx, %r11d /* (NEXT STEP) y' = %ecx */
+ add %ecx, %ebx/* dst += x */
+ lea 681279174(%eax,%r10d),
variable when running a daemon-over-rsh
script. Its value is the user-specified port number (set via --port or an
--
The rsync repository.
_______
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
ength);
void mdfour_result(md_context *md, uchar digest[MD4_DIGEST_LEN]);
-void get_mdfour(uchar digest[MD4_DIGEST_LEN], const uchar *in, int length);
-
+#ifndef USE_OPENSSL
void md5_begin(md_context *ctx);
void md5_update(md_context *ctx, const uchar *input, uint32 length);
void md5_result(md_context *ctx, uchar digest[MD5_DIGEST_LEN]);
-
-void get_md5(uchar digest[MD5_DIGEST_LEN], const uchar *input, int n);
+#endif
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
;$enable_openssl" != x"no" && test x"$ac_cv_header_openssl_md4_h" =
x"yes" && test x"$ac_cv_header_openssl_md5_h" = x"yes"; then
AC_MSG_RESULT(yes)
AC_SEARCH_LIBS(MD5_Init, crypto)
AC_DEFINE(USE_OPENSSL)
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
--
The rsync repository.
___________
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
r *)sum);
break;
#ifdef SUPPORT_XXHASH
case CSUM_XXHASH:
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
+ 4))
-|| (*s != '\t'
- && ((use_isprint && !isPrint(s))
- || *(uchar*)s < ' '))) {
- if (s != buf && fwrite(buf, s - buf, 1, f) != 1)
+ char outbuf[1024], *ob = outbuf;
+ const char *end = in_buf + in_len;
+ while (in_buf < end) {
+ if (ob - outbuf >= (int)sizeof outbuf - 10) {
+ if (fwrite(outbuf, ob - outbuf, 1, f) != 1)
exit_cleanup(RERR_MESSAGEIO);
- fprintf(f, "\\#%03o", *(uchar*)s);
- buf = s + 1;
+ ob = outbuf;
}
+ if ((in_buf < end - 4 && *in_buf == '\\' && in_buf[1] == '#'
+ && isDigit(in_buf + 2) && isDigit(in_buf + 3) &&
isDigit(in_buf + 4))
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
pos + 4, val >> 32);
}
#else /* !CAREFUL_ALIGNMENT */
--
The rsync repository.
_______
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
st of checksum names and choose the first one in the list that
they have in common.
-This typically means that they will choose xxhash if they both support it
+This typically means that they will choose xxh64 if they both support it
and fall back to MD5.
If one side of the transfer is not n
init_nno_saw(nno, 1); /* Since we're parsing client
names, anything we parse first is #1. */
+ for (tok = strtok(tmpbuf, " \t"); tok; tok = strtok(NULL, "
\t")) {
+ struct name_num_item *nni = get_nni_by_name(nno, tok,
-1);
+ if (!nni || !nno->saw[nni->num] || best <=
nno->saw[nni->num])
+ continue;
+ ret = nni;
+ best = nno->saw[nni->num];
+ if (best == 1)
+ break;
+ }
+ if (ret) {
+ free(nno->saw);
+ nno->saw = NULL;
+ nno->negotiated_name = ret->main_name ? ret->main_name
: ret->name;
+ nno->negotiated_num = ret->num;
+ return;
+ }
+ }
+
+ if (!am_server)
+ rprintf(FERROR, "Failed to negotiate a common %s\n", nno->type);
+ exit_cleanup(RERR_UNSUPPORTED);
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
BUG_GTE(NSTR, am_server ? 4 : 2)) {
+ if (am_server)
+ rprintf(FINFO, "Server %s list (on server): %s\n",
nno->type, tmpbuf);
+ else
+ rprintf(FINFO, "Client %s list (on client): %s\n",
nno->type, t
/* Break up long sections in the same way that
* see_deflate_token() does. */
@@ -424,11 +427,6 @@ send_deflated_token(int f, int32 token, struct map_struct
*buf, OFF_T offset,
exit_cleanup(RERR_STREAMIO);
}
} while (toklen > 0);
-#else
- toklen++;
- rprintf(FERROR, "Impossible error in external-zlib code
(1).\n");
- exit_cleanup(RERR_STREAMIO);
-#endif
}
}
@@ -579,7 +577,6 @@ static int32 recv_deflated_token(int f, char **data)
*/
static void see_deflate_token(char *buf, int32 len)
{
-#ifndef EXTERNAL_ZLIB
int r;
int32 blklen;
unsigned char hdr[5];
@@ -617,11 +614,6 @@ static void see_deflate_token(char *buf, int32 len)
exit_cleanup(RERR_STREAMIO);
}
} while (len || rx_strm.avail_out == 0);
-#else
- buf++; len++;
- rprintf(FERROR, "Impossible error in external-zlib code (2).\n");
- exit_cleanup(RERR_STREAMIO);
-#endif
}
/**
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
mpression)
tok = simple_recv_token(f,data);
- } else {
+ else /* CPRES_ZLIB & CPRES_ZLIBX */
tok = recv_deflated_token(f, data);
- }
return tok;
}
@@ -653,6 +652,6 @@ int32 recv_token(int f, char **data)
*/
void see_token(char *data, in
nni->name : "UNKNOWN");
+ }
}
}
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
ient side via the
--
The rsync repository.
_______________
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
choose "zlib" unless you
+override it via something like bf(-zz). These 2 algorithms are the stame
+except that "zlibx" does not try to include matched data that was not
+transferred in the compression computations.
If "none" is specified, that is equivalent to using bf(--no-compress).
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
times
+ on "careful alignment" hosts.
+
- Some code typos were fixed (as pointed out by a Fossies run).
--
The rsync repository.
_______
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
uchar *)map_ptr(buf, i,
remainder), remainder);
SIVAL64(sum, 0, XXH64_digest(state));
XXH64_freeState(state);
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
am is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
l)
+ do_compression_level = max_level;
+}
+
static void add_suffix(struct suffix_tree **prior, char ltr, const char *str)
{
struct suffix_tree *node, *newnode;
@@ -129,7 +161,7 @@ static void init_set_compression(void)
if (!(match_list = t = new_array(char, strlen(f) + 2)))
out_of_memory("set_compression");
- per_file_default_level = def_compress_level;
+ per_file_default_level = do_compression_level;
while (*f) {
if (*f == ' ') {
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
else if (do_compression_level == off_level) {
do_compression = CPRES_NONE;
return;
}
/* We don't bother with any errors or warnings -- just make sure that
the values are valid. */
- if (do_compression_level == CLVL_NOT_SPECIFIED)
- do_compression_level = def_level;
- else if (do_compression_level < min_level)
+ if (do_compression_level < min_level)
do_compression_level = min_level;
else if (do_compression_level > max_level)
do_compression_level = max_level;
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
++rx_token;
+ if (--rx_run == 0)
+ recv_state = r_idle;
+ return -1 - rx_token;
+ }
+ }
+
+}
+
+# if 0
+static void see_uncompressed_token(char *buf, int32 len)
+{
+ static const char *next_in;
+ static int avail_in;
+ int avail_out;
+
+ int32 blklen;
+ char hdr[5];
+
+ avail_in = 0;
+ blklen = 0;
+ hdr[0] = 0;
+ do {
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
+ len. */
-int do_punch_hole(int fd, UNUSED(OFF_T pos), int len)
+int do_punch_hole(int fd, UNUSED(OFF_T pos), OFF_T len)
{
#ifdef HAVE_FALLOCATE
# ifdef HAVE_FALLOC_FL_PUNCH_HOLE
--
The rsync repository.
_______
rsync-cvs mailing list
rsync-cvs@lists.
or installation instructions.
+See the file README.md for installation instructions.
Once installed, you can use rsync to any machine that you can access via
a remote shell (as well as some that you can access using the rsync
--
The rsync repository.
_
+++ b/options.c
@@ -1009,7 +1009,7 @@ static struct poptOption long_options[] = {
{"no-compress", 0, POPT_ARG_NONE, 0, OPT_NO_COMPRESS, 0, 0 },
{"no-z", 0, POPT_ARG_NONE, 0, OPT_NO_COMPRESS, 0, 0 },
{"compress-choice", 0, POPT_ARG_ST
nplace, acls, xattrs, iconv, symtimes, prealloc, simd,
xxhash);
+ rprintf(f, "%sappend, %sACLs, %sxattrs, %siconv, %ssymtimes,
%sprealloc, %sSIMD\n",
+ have_inplace, acls, xattrs, iconv, symtimes, prealloc, simd);
rprintf(f,"\n");
--
got_socketpair, hardlinks, links, ipv6, have_inplace);
- rprintf(f, "%sappend, %sACLs, %sxattrs, %siconv, %ssymtimes,
%sprealloc, %sSIMD\n",
- have_inplace, acls, xattrs, iconv, symtimes, prealloc, simd);
+ print_capabilities(f);
- rprintf(f,"\n");
-
+ rprintf(f, "Checksum list:\n");
get_default_nno_list(&valid_checksums, tmpbuf, sizeof tmpbuf, '(');
- rprintf(f, "Checksum list: %s\n", tmpbuf);
+ rprintf(f, "%s\n", tmpbuf);
+ rprintf(f, "Compress list:\n");
get_default_nno_list(&valid_compressions, tmpbuf, sizeof tmpbuf, '(');
- rprintf(f, "Compress list: %s\n", tmpbuf);
+ rprintf(f, "%s\n", tmpbuf);
#ifdef MAINTAINER_MODE
rprintf(f, "Panic Action: \"%s\"\n", get_panic_action());
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
-8,7 +8,7 @@
. $suitedir/rsync.fns
lnkdir="$tmpdir/lnk"
-$RSYNC --version | grep ", xattrs" >/dev/null || test_skipped "Rsync is
configured without xattr support"
+$RSYNC --version | grep "[, ] xattrs" >/dev/null || test_skipped "Rsync is
configured without xattr support"
case "$HOST_OS" in
darwin*)
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
subcount
- list that shows the counts by type. The wording of the transferred count
- has also changed so that it is clearer that it is only a count of regular
- files.
-
- BUG FIXES:
-
-- Fixed a bug in the iconv code when EINVAL or EILSEQ is returned with a
- full output buffer.
-
-- Fixed some rare bugs in --iconv processing that might cause a multibyte
- character to get translated incorrectly.
-
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
"SIMD",
-#undef add
+ NULL
+ };
- for (line_len = 0, cnt = 0; ; cnt++) {
- char *cap = capabilities[cnt];
+ for (line_len = 0, j = 0; ; j++) {
+ char *cap = capabilities[j];
int cap_len = cap ? strlen(cap) : 1000;
- int need_comma = cap && capabilities[cnt+1] != NULL ? 1 : 0;
+ int need_comma = cap && capabilities[j+1] != NULL ? 1 : 0;
if (line_len + 1 + cap_len + need_comma >= (int)sizeof
line_buf) {
rprintf(f, " %s\n", line_buf);
line_len = 0;
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
f, MAX_NSTR_STRLEN, '\0');
if (DEBUG_GTE(NSTR, am_server ? 3 : 2)) {
if (am_server)
diff --git a/options.c b/options.c
index d5b648cb..1650780e 100644
--- a/options.c
+++ b/options.c
@@ -605,6 +605,8 @@ static void print_capabilities(enum logcode f)
#
ne ATTRS_SKIP_ATIME (1<<3)
+#define MSG_FLUSH 2
#define FULL_FLUSH 1
#define NORMAL_FLUSH 0
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
_in, size - 2);
if (!available_out) {
rprintf(FERROR, "compress returned %d\n",
available_out);
exit_cleanup(RERR_STREAMIO);
--
The rsync repository.
___________
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
x27; : x1 + 'a' - 10;
+ *c++ = x2 <= 9 ? x2 + '0' : x2 + 'a' - 10;
}
+ *c = '\0';
+
return buf;
}
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
0 : 0;
+}
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
rver != 2) {
const char *name;
name = rerr_name(code);
--
The rsync repository.
_______________
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
re.match(r'^--- (old|a)/', line)):
break
-lines.append(re.sub(r'\s*\Z', "\n", line))
+lines.append(re.sub(r'\s*\Z', "\n", line, 1))
info_txt = ''.join(lines).strip() + "\n"
lines = None
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
quot;,
(int)tm->tm_year + 1900, (int)tm->tm_mon + 1, (int)tm->tm_mday,
(int)tm->tm_hour, (int)tm->tm_min, (int)tm->tm_sec);
+ assert(len > 0); /* Silence gcc warning */
return TimeBuf;
}
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
(te, a, alen); te += alen;
+ memcpy(te, a, alen+1); te += alen;
continue;
/*@notreached@*/ /*@switchbreak@*/ break;
default:
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https
le = find_fuzzy(file, fuzzy_dirlist, &fnamecmp_type);
if (fuzzy_file) {
--
The rsync repository.
_______
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
out_fd
< 0 || kluge_around_eof)
+ if (!iobuf.in.buf || !iobuf.out.buf || iobuf.in_fd < 0 || iobuf.out_fd
< 0 || kluge_around_eof || msgs2stderr)
return;
kluge_around_eof = 2;
--
The rsync repository.
_______
rs
in mind that connecting to a normal (non-remote-shell) daemon does
+not have a stderr channel to send messages back to the client side, so a modern
+rsync only allows the option on a remote-shell-run daemon.
This option has the side-effect of making stderr output get line-buffered so
that the merging of the output of 3 programs happens in a more readable manner.
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
; {
-uint32 get_checksum1(char *buf1, int32 len) {
+uint32 get_checksum1(char *buf1, int32 len)
+{
int32 i = 0;
uint32 s1 = 0;
uint32 s2 = 0;
@@ -409,7 +423,8 @@ uint32 get_checksum1(char *buf1, int32 len) {
return (s1 & 0x) + (s2 << 16);
}
-}
+} // "C"
+
#endif /* HAVE_SIMD */
#endif /* __cplusplus */
#endif /* __x86_64__ */
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
uint32 totalN; /* bit count, lower 32 bits */
--
The rsync repository.
_______
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
-aiv example.com::src/ dest)
+manpagefiles()
+
+rsync-ssl-rsh
+
+manpageseealso()
+
+bf(rsync)(1), bf(rsyncd.conf)(5)
+
+manpagebugs()
+
+Please report bugs! See the web site at
+url(http://rsync.samba.org/)(http://rsync.samba.org/)
+
+manpagesection(VERSION)
+
+This man page is current for version 3.1.3 of rsync.
+
+manpagesection(CREDITS)
+
+rsync is distributed under the GNU General Public License. See the file
+COPYING for details.
+
+A WEB site is available at
+url(http://rsync.samba.org/)(http://rsync.samba.org/). The site
+includes an FAQ-O-Matic which may cover questions unanswered by this
+manual page.
+
manpageauthor()
This manpage was written by Wayne Davison.
diff --git a/rsync.yo b/rsync.yo
index 02481084..72812930 100644
--- a/rsync.yo
+++ b/rsync.yo
@@ -3634,7 +3634,7 @@ manpagefiles()
manpageseealso()
-bf(rsyncd.conf)(5)
+bf(rsync-ssl)(1), bf(rsyncd.conf)(5)
manpagebugs()
diff --git a/rsyncd.conf.yo b/rsyncd.conf.yo
index 08d198a1..d57d0277 100644
--- a/rsyncd.conf.yo
+++ b/rsyncd.conf.yo
@@ -1016,9 +1016,7 @@ manpagefiles()
manpageseealso()
-bf(rsync)(1)
-
-manpagediagnostics()
+bf(rsync)(1), bf(rsync-ssl)(1)
manpagebugs()
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
press-level=NUM)) Explicitly set the compression level to use
(see bf(--compress)) instead of letting it default. If NUM is non-zero,
the bf(--compress) option is implied.
--
The rsync repository.
_______
rsync-cvs mailing list
rsync-cvs@lists.samba
compression_level = skip_compression_level;
return;
}
if (!(node = node->child))
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
cpy(curr_dir + curr_dir_len, dir, len + 1);
if (!set_path_only && chdir(curr_dir)) {
+ curr_dir_len = save_dir_len;
curr_dir[curr_dir_len] = '\0';
return 0;
}
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
e the default compress list.
+Use bf(rsync -V) to see the default compress list.
dit(bf(--compress-level=NUM)) Explicitly set the compression level to use
(see bf(--compress)) instead of letting it default. If NUM is non-zero,
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
ession == CPRES_LZ4)
- see_uncompressed_token(data, toklen);
-# endif
+ case CPRES_LZ4:
+ /*see_uncompressed_token(data, toklen);*/
+ break;
#endif
+#ifdef SUPPORT_LZ4
+ case CPRES_ZSTD:
+ break;
+#endif
+ default:
+ assert(0);
+ }
}
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
quot;create";
else if (!lock_range(pid_file_fd, 0, 4))
fail = "lock";
--
The rsync repository.
_______
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
big_num(stats.total_read),
+ big_num(stats.total_size));
+ }
if (code != 0 && am_server != 2) {
const char *name;
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
defined $val;
+ $val =~ s/\$\{(\w+)\}/$subs{$1}/ while $val =~ /\$\{/;
+ $subs{$var} = $val;
+ last if $var eq 'libdir';
+}
+close IN;
+}
+
# We only need to use "\&'" or "\&." at the start of a line.
s/(?<=.)\\\&(['.])/$1/g;
@@ -19,6 +33,8 @@ s/(\\f(B|\(CW).*?\\fP)/ realquotes($1) /egs;
s/^\\\&(\\\(oq)/$1/gm;
+s/\@libdir\@/$subs{libdir}/g;
+
sub realquotes
{
my($txt) = @_;
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
m Libraries exception.
--
The rsync repository.
_______
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
M)
+
+
+def safeText(txt):
+return txt.replace('&', '&').replace('<', '<').replace('>',
'>').replace('"', '"')
+
+
+def warn(*msg):
+print(*msg, file=sys.stderr)
+
+
+def die(*msg):
+warn(*msg)
+sys.exit(1)
+
+
+if __name__ == '__main__':
+parser = argparse.ArgumentParser(description='Transform a NAME.NUM.md
markdown file into a NAME.NUM.html web page & a NAME.NUM man page.',
add_help=False)
+parser.add_argument('--test', action='store_true', help='Test if we can
parse the input w/o updating any files.')
+parser.add_argument('--debug', '-D', action='count', default=0,
help='Output copious info on the html parsing.')
+parser.add_argument("--help", "-h", action="help", help="Output this help
message and exit.")
+parser.add_argument('mdfile', help="The NAME.NUM.md file to parse.")
+args = parser.parse_args()
+
+try:
+import cmarkgfm
+except:
+die("The cmarkgfm library is not available for python3.")
+
+main()
diff --git a/packaging/nightly-rsync b/packaging/nightly-rsync
index eb747432..3ec55190 100755
--- a/packaging/nightly-rsync
+++ b/packaging/nightly-rsync
@@ -34,11 +34,12 @@ def main():
die("$dest does not exist")
if not os.path.isdir('.git'):
die("There is no .git dir in the current directory.")
-if not os.path.exists('rsyncd.conf.yo'):
+if not os.path.exists('rsyncd.conf.5.md'):
die("There is no rsync checkout in the current directory.")
if args.make_tar:
check_git_state('master')
+cmd_chk(['touch', 'latest-year.h'])
cmd_chk(['make', gen_target])
extra_files = get_extra_files()
@@ -73,20 +74,13 @@ def main():
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
ing the file-system
scan that builds the list of the available files. The receiver generates
--
The rsync repository.
_______
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
= open(self.man_fn, 'w', encoding='utf-8')
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
g == 'code' and not st.in_pre:
add_to_txt = NORM_FONT[0]
elif tag == 'strong' or tag == 'bold':
@@ -251,30 +249,31 @@ class MarkdownToManPage(HTMLParser):
if st.list_state.pop() == 'dl':
tag = 'dl'
st.txt += add_to_txt
else:
txt += add_to_txt
if st.dt_from == tag:
-self.man_out.append('.IP "' + manify(txt) + '"\n')
-self.html_out.append('')
+st.man_out.append('.IP "' + manify(txt) + '"\n')
+st.html_out.append('')
st.at_first_tag_in_dd = True
st.dt_from = None
elif tag == 'dt':
-self.html_out.append('')
+st.html_out.append('')
st.at_first_tag_in_dd = True
def handle_data(self, data):
st = self.state
if args.debug:
-print(' DATA', [data], st)
-self.html_out.append(safeText(data))
+self.output_debug('DATA', (data,))
+st.html_out.append(safeText(data))
st.txt += data
+def output_debug(self, event, extra):
+import pprint
+st = self.state
+if args.debug < 2:
+if len(st.html_out) > 2:
+st.html_out = ['...'] + st.html_out[-2:]
+if len(st.man_out) > 2:
+st.man_out = ['...'] + st.man_out[-2:]
+print(event, extra)
+pprint.PrettyPrinter(indent=2).pprint(vars(st))
+
+
def manify(txt):
return re.sub(r"^(['.])", r'\&\1', txt.replace('\\', '')
.replace(NORM_FONT[0], NORM_FONT[1])
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
The branch, master has been updated
via 03fc62ad More man processing improvements
from 68c865c9 A few more man page script improvements.
https://git.samba.org/?p=rsync.git;a=shortlog;h=master
- Log -
commit 03fc62ad2f
ked/rsync/ .
;;
*)
echo "Unknown action: $action"
--
The rsync repository.
_______
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
..03ede269 100755
--- a/md2man
+++ b/md2man
@@ -28,7 +28,6 @@ HTML_START = """\
body {
max-width: 50em;
margin: auto;
- font-size: 1.2em;
}
body, b, strong, u {
font-family: 'Roboto', sans-serif;
--
The rsync repository.
_______
kaging/nightly-rsync
index 3ec55190..021a2c58 100755
--- a/packaging/nightly-rsync
+++ b/packaging/nightly-rsync
@@ -41,6 +41,7 @@ def main():
check_git_state('master')
cmd_chk(['touch', 'latest-year.h'])
cmd_chk(['make',
"patches" dir and OPTIONALLY
(if you type 'y') to launch a shell for each patch
@@ -244,6 +238,9 @@ About to:
if s.returncode:
die('Aborting')
+cmd_chk(['make', 'reconfigure'])
+cmd_chk(['make', '
cooked_argv = new_array(char*, argc+1);
+ for (j = 0; j <= argc; j++)
+ cooked_argv[j] = argv[j];
+ }
SIGACTMASK(SIGINT, sig_int);
SIGACTMASK(SIGHUP, sig_int);
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
quot;
\
+ || test_fail 'test 2 failed'
+ ;;
+esac
# Test 3: --delete-after pass skipped when last dir is dry-missing
$RSYNC -n -r --delete-after -i "$fromdir/" "$todir/" | tee "$scratchdir/out"
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
in "${RSYNC_TEST_TMP:-/override-tmp-not-specified}" /run/shm/tmp
/var/tmp /tmp; do
-[ -d "$tmpdir2" ] || continue
+[ -d "$tmpdir2" -a -w "$tmpdir2" ] || continue
tdev=`$TOOLDIR/getfsdev "$tmpdir2"`
[ x$sdev != x$tdev ] && break
done
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
fed address?\n", ipaddr, name_buf);
strlcpy(name_buf, default_name, name_buf_size);
}
freeaddrinfo(res0);
return 0;
}
+
+/* Returns 1 for a valid IPv4 or IPv6 addr, or 0 for a bad one. */
+static int valid_ipaddr(const char *s)
+{
+ int i;
+
+ if (strchr(s, ':') != NULL) { /* Only IPv6 has a colon. */
+ int count, saw_double_colon = 0;
+ int ipv4_at_end = 0;
+
+ if (*s == ':') { /* A colon at the start must be a :: */
+ if (*++s != ':')
+ return 0;
+ saw_double_colon = 1;
+ s++;
+ }
+
+ for (count = 0; count < 8; count++) {
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
-d "$tmpdir2" -a -w "$tmpdir2" ] || continue
tdev=`$TOOLDIR/getfsdev "$tmpdir2"`
[ x$sdev != x$tdev ] && break
--
The rsync repository.
___________
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
fname);
/* If we're not preserving permissions, change the file-list's
* mode based on the local permissions and some heuristics. */
--
The rsync repository.
___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs
901 - 1000 of 1379 matches
Mail list logo