[SCM] The rsync repository. - branch master updated

2020-05-23 Thread Rsync CVS commit messages
The branch, master has been updated
   via  1c9bb168 Unify the checksum context memory, since we only use one 
at a time.
  from  799de21a Fixed the use of openssl MD4 for transfer checksums.

https://git.samba.org/?p=rsync.git;a=shortlog;h=master


- Log -
commit 1c9bb168bb0d40fd47f1fc7fbb0a278db3da7c0d
Author: Wayne Davison 
Date:   Sat May 23 18:25:11 2020 -0700

Unify the checksum context memory, since we only use one at a time.

---

Summary of changes:
 checksum.c | 70 +-
 1 file changed, 37 insertions(+), 33 deletions(-)


Changeset truncated at 500 lines:

diff --git a/checksum.c b/checksum.c
index 3a6959b2..4176b099 100644
--- a/checksum.c
+++ b/checksum.c
@@ -315,14 +315,9 @@ uint32 get_checksum1(char *buf1, int32 len)
 
 void get_checksum2(char *buf, int32 len, char *sum)
 {
-   md_context m;
-#ifdef USE_OPENSSL
-   MD4_CTX m4;
-#endif
-   MD5_CTX m5;
-
switch (xfersum_type) {
  case CSUM_MD5: {
+   MD5_CTX m5;
uchar seedbuf[4];
MD5_Init();
if (proper_seed_order) {
@@ -344,6 +339,7 @@ void get_checksum2(char *buf, int32 len, char *sum)
  case CSUM_MD4:
 #ifdef USE_OPENSSL
  {
+   MD4_CTX m4;
MD4_Init();
MD4_Update(, (uchar *)buf, len);
if (checksum_seed) {
@@ -358,6 +354,7 @@ void get_checksum2(char *buf, int32 len, char *sum)
  case CSUM_MD4_OLD:
  case CSUM_MD4_BUSTED:
  case CSUM_MD4_ARCHAIC: {
+   md_context m;
int32 i;
static char *buf1;
static int32 len1;
@@ -408,11 +405,6 @@ void file_checksum(const char *fname, const STRUCT_STAT 
*st_p, char *sum)
 {
struct map_struct *buf;
OFF_T i, len = st_p->st_size;
-   md_context m;
-#ifdef USE_OPENSSL
-   MD4_CTX m4;
-#endif
-   MD5_CTX m5;
int32 remainder;
int fd;
 
@@ -425,7 +417,9 @@ void file_checksum(const char *fname, const STRUCT_STAT 
*st_p, char *sum)
buf = map_file(fd, len, MAX_MAP_SIZE, CSUM_CHUNK);
 
switch (checksum_type) {
- case CSUM_MD5:
+ case CSUM_MD5: {
+   MD5_CTX m5;
+
MD5_Init();
 
for (i = 0; i + CSUM_CHUNK <= len; i += CSUM_CHUNK)
@@ -437,8 +431,12 @@ void file_checksum(const char *fname, const STRUCT_STAT 
*st_p, char *sum)
 
MD5_Final((uchar *)sum, );
break;
+ }
  case CSUM_MD4:
 #ifdef USE_OPENSSL
+ {
+   MD4_CTX m4;
+
MD4_Init();
 
for (i = 0; i + CSUM_CHUNK <= len; i += CSUM_CHUNK)
@@ -450,10 +448,13 @@ void file_checksum(const char *fname, const STRUCT_STAT 
*st_p, char *sum)
 
MD4_Final((uchar *)sum, );
break;
+ }
 #endif
  case CSUM_MD4_OLD:
  case CSUM_MD4_BUSTED:
- case CSUM_MD4_ARCHAIC:
+ case CSUM_MD4_ARCHAIC: {
+   md_context m;
+
mdfour_begin();
 
for (i = 0; i + CSUM_CHUNK <= len; i += CSUM_CHUNK)
@@ -469,6 +470,7 @@ void file_checksum(const char *fname, const STRUCT_STAT 
*st_p, char *sum)
 
mdfour_result(, (uchar *)sum);
break;
+ }
 #ifdef SUPPORT_XXHASH
  case CSUM_XXHASH: {
XXH64_state_t* state = XXH64_createState();
@@ -507,11 +509,13 @@ void file_checksum(const char *fname, const STRUCT_STAT 
*st_p, char *sum)
 }
 
 static int32 sumresidue;
-static md_context md;
+static union {
+   md_context md;
 #ifdef USE_OPENSSL
-static MD4_CTX m4;
+   MD4_CTX m4;
 #endif
-static MD5_CTX m5;
+   MD5_CTX m5;
+} ctx;
 static int cursum_type;
 #ifdef SUPPORT_XXHASH
 XXH64_state_t* xxh64_state = NULL;
@@ -527,20 +531,20 @@ void sum_init(int csum_type, int seed)
 
switch (csum_type) {
  case CSUM_MD5:
-   MD5_Init();
+   MD5_Init();
break;
  case CSUM_MD4:
 #ifdef USE_OPENSSL
-   MD4_Init();
+   MD4_Init();
 #else
-   mdfour_begin();
+   mdfour_begin();
sumresidue = 0;
 #endif
break;
  case CSUM_MD4_OLD:
  case CSUM_MD4_BUSTED:
  case CSUM_MD4_ARCHAIC:
-   mdfour_begin();
+   mdfour_begin();
sumresidue = 0;
SIVAL(s, 0, seed);
sum_update(s, 4);
@@ -577,39 +581,39 @@ void sum_update(const char *p, int32 len)
 {
switch (cursum_type) {
  case CSUM_MD5:
-   MD5_Update(, (uchar *)p, len);
+   MD5_Update(, (uchar *)p, len);
break;
  case CSUM_MD4:
 #ifdef USE_OPENSSL
-  

[SCM] The rsync repository. - branch master updated

2020-05-23 Thread Rsync CVS commit messages
The branch, master has been updated
   via  799de21a Fixed the use of openssl MD4 for transfer checksums.
  from  1cb1edeb Optional openssl support for MD4 pre-transfer checksums 
(but, sadly, not transfer checksums).

https://git.samba.org/?p=rsync.git;a=shortlog;h=master


- Log -
commit 799de21af61ad7b3018749e8a3f0f0319af54521
Author: Wayne Davison 
Date:   Sat May 23 16:22:36 2020 -0700

Fixed the use of openssl MD4 for transfer checksums.

---

Summary of changes:
 checksum.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)


Changeset truncated at 500 lines:

diff --git a/checksum.c b/checksum.c
index 596a31ad..3a6959b2 100644
--- a/checksum.c
+++ b/checksum.c
@@ -316,7 +316,7 @@ uint32 get_checksum1(char *buf1, int32 len)
 void get_checksum2(char *buf, int32 len, char *sum)
 {
md_context m;
-#if 0 /* #ifdef USE_OPENSSL */
+#ifdef USE_OPENSSL
MD4_CTX m4;
 #endif
MD5_CTX m5;
@@ -342,15 +342,15 @@ void get_checksum2(char *buf, int32 len, char *sum)
break;
  }
  case CSUM_MD4:
-#if 0 /* #ifdef USE_OPENSSL -- this doesn't match the old checksums. */
+#ifdef USE_OPENSSL
  {
MD4_Init();
+   MD4_Update(, (uchar *)buf, len);
if (checksum_seed) {
uchar seedbuf[4];
SIVALu(seedbuf, 0, checksum_seed);
MD4_Update(, seedbuf, 4);
}
-   MD4_Update(, (uchar *)buf, len);
MD4_Final((uchar *)sum, );
break;
  }


-- 
The rsync repository.

___
rsync-cvs mailing list
rsync-cvs@lists.samba.org
https://lists.samba.org/mailman/listinfo/rsync-cvs


[Bug 14371] Combined Exclude & Protect Filter Type

2020-05-23 Thread just subscribed for rsync-qa from bugzilla via rsync
https://bugzilla.samba.org/show_bug.cgi?id=14371

--- Comment #7 from Wayne Davison  ---
If you don't want something deleted on the receiving side, you need to protect
it via either a protect rule or an exclude rule. Using --delete-excluded just
turns all exclude rules into hide rules, which limits your options.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
-- 
Please use reply-all for most replies to avoid omitting the mailing list.
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html


[Bug 14371] Combined Exclude & Protect Filter Type

2020-05-23 Thread just subscribed for rsync-qa from bugzilla via rsync
https://bugzilla.samba.org/show_bug.cgi?id=14371

Wayne Davison  changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution|--- |WONTFIX

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
-- 
Please use reply-all for most replies to avoid omitting the mailing list.
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html


[Bug 14371] Combined Exclude & Protect Filter Type

2020-05-23 Thread just subscribed for rsync-qa from bugzilla via rsync
https://bugzilla.samba.org/show_bug.cgi?id=14371

Haravikk  changed:

   What|Removed |Added

 Resolution|WONTFIX |---
 Status|RESOLVED|REOPENED

--- Comment #6 from Haravikk  ---
In fact, no it doesn't, hide does not work as I'm requesting with
--delete-excluded enabled, everything that is excluded is still destroyed on
the receiving side:

mkdir src
mkdir dest
touch src/file1
touch src/file2
touch dest/file2
touch dest/file3
rsync -ri --delete-excluded -filter 'H file3' --exclude 'file2' src/ dest/

Note that only file2 exists in both directories initially, meanwhile file1
exists only in the source, and file3 exists only in the destination. I want
file1 to be transferred, file2 to be deleted in the destination, and file3 to
be preserved in the destination.

In other words the result that I want to get is:

*deletingfile2
>f..T... file1

The result I actually get is:

*deletingfile2
*deletingfile3
>f..T... file1

So hide definitely doesn't do what I want.
Meanwhile protect alone doesn't either, because while it won't delete file3, it
will still compare it between src/ and dest/ and overwrite it with changes,
which I don't want either.

So I'm sorry but I'm re-opening this as it is not a case that appears to be
covered by existing rules. I need rsync to NOT scan or send a pattern, but
without deleting it either. As mentioned in the first post, this only seems to
be possible through the use of two rules, and a shorthand form of this would
still be beneficial.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
-- 
Please use reply-all for most replies to avoid omitting the mailing list.
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html


Re: [PATCH] Optimized assembler version of md5_process() for x86-64

2020-05-23 Thread uxio prego via rsync
Thank you, Sebastian.

> On 23 May 2020, at 13:37, Sebastian Andrzej Siewior via rsync 
>  wrote:
> 
> On 2020-05-22 22:54:18 [-0700], Wayne Davison via rsync wrote:
>> Thanks for the optimizing patches, Jorrit!  I've merged your latest changes
>> into the git master branch.
> 
> Wouldn't it be better to add support for a crypto library (like openssl)
> which would provide optimized algorithms for more than just one platform
> without the need to maintain it separately?
> 
>> ..wayne..
> 
> Sebastian
> 
> -- 
> Please use reply-all for most replies to avoid omitting the mailing list.
> To unsubscribe or change options: 
> https://lists.samba.org/mailman/listinfo/rsync
> Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html


-- 
Please use reply-all for most replies to avoid omitting the mailing list.
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html


Re: [PATCH] Optimized assembler version of md5_process() for x86-64

2020-05-23 Thread Karl O. Pinc via rsync
On Sat, 23 May 2020 10:21:31 -0700
Wayne Davison via rsync  wrote:

> Adding optional support for openssl's crypto library is also a good
> idea.

There is also libressl to consider, if you're considering libraries.

Karl 
Free Software:  "You don't pay back, you pay forward."
 -- Robert A. Heinlein

-- 
Please use reply-all for most replies to avoid omitting the mailing list.
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html


[SCM] The rsync repository. - branch master updated

2020-05-23 Thread Rsync CVS commit messages
The branch, master has been updated
   via  1cb1edeb Optional openssl support for MD4 pre-transfer checksums 
(but, sadly, not transfer checksums).
  from  15c1162b Add optional use of the openssl crypto lib for MD5.

https://git.samba.org/?p=rsync.git;a=shortlog;h=master


- Log -
commit 1cb1edeb6853abe89e66fa10f8d3a532a909c2f8
Author: Wayne Davison 
Date:   Sat May 23 12:26:06 2020 -0700

Optional openssl support for MD4 pre-transfer checksums (but, sadly, not 
transfer checksums).

---

Summary of changes:
 NEWS | 10 +-
 checksum.c   | 59 ---
 configure.ac |  4 ++--
 3 files changed, 59 insertions(+), 14 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS b/NEWS
index 5509..ecd469ff 100644
--- a/NEWS
+++ b/NEWS
@@ -39,11 +39,11 @@ Changes since 3.1.3:
   ENHANCEMENTS:
 
 - Various checksum enhancements, including the optional use of openssl's
-  MD5 checksum algorithms, x86_64 optimizations for the rolling checksum,
-  x86_64 optimizations for the (non-openssl) MD5 checksum, the addition of
-  xxhash checksum support, and a simple checksum negotation heuristic that
-  will ensure that it is easier to add new checksum algorithms in the
-  future.  Currently the x86_64 optimizations require the use of the
+  MD4 & MD5 checksum algorithms, some x86_64 optimizations for the rolling
+  checksum, some x86_64 optimizations for the (non-openssl) MD5 checksum,
+  the addition of xxhash checksum support, and a simple checksum negotation
+  heuristic that ensures that it is easier to add new checksum algorithms
+  in the future.  Currently the x86_64 optimizations require the use of the
   --enable-simd flag to configure, but they will probably be enabled by
   default in the near future.
 
diff --git a/checksum.c b/checksum.c
index 7c4c855c..596a31ad 100644
--- a/checksum.c
+++ b/checksum.c
@@ -31,6 +31,7 @@
 #include "xxhash.h"
 #endif
 #ifdef USE_OPENSSL
+#include "openssl/md4.h"
 #include "openssl/md5.h"
 #endif
 
@@ -121,7 +122,7 @@ static const char *checksum_name(int num)
if (num < CSUM_MD4)
return "MD4";
 
-   return "UNKNOWN";
+   return "UNKNOWN"; /* IMPOSSIBLE */
 }
 
 void parse_checksum_choice(int final_call)
@@ -315,6 +316,9 @@ uint32 get_checksum1(char *buf1, int32 len)
 void get_checksum2(char *buf, int32 len, char *sum)
 {
md_context m;
+#if 0 /* #ifdef USE_OPENSSL */
+   MD4_CTX m4;
+#endif
MD5_CTX m5;
 
switch (xfersum_type) {
@@ -338,6 +342,19 @@ void get_checksum2(char *buf, int32 len, char *sum)
break;
  }
  case CSUM_MD4:
+#if 0 /* #ifdef USE_OPENSSL -- this doesn't match the old checksums. */
+ {
+   MD4_Init();
+   if (checksum_seed) {
+   uchar seedbuf[4];
+   SIVALu(seedbuf, 0, checksum_seed);
+   MD4_Update(, seedbuf, 4);
+   }
+   MD4_Update(, (uchar *)buf, len);
+   MD4_Final((uchar *)sum, );
+   break;
+ }
+#endif
  case CSUM_MD4_OLD:
  case CSUM_MD4_BUSTED:
  case CSUM_MD4_ARCHAIC: {
@@ -392,6 +409,9 @@ void file_checksum(const char *fname, const STRUCT_STAT 
*st_p, char *sum)
struct map_struct *buf;
OFF_T i, len = st_p->st_size;
md_context m;
+#ifdef USE_OPENSSL
+   MD4_CTX m4;
+#endif
MD5_CTX m5;
int32 remainder;
int fd;
@@ -408,10 +428,8 @@ void file_checksum(const char *fname, const STRUCT_STAT 
*st_p, char *sum)
  case CSUM_MD5:
MD5_Init();
 
-   for (i = 0; i + CSUM_CHUNK <= len; i += CSUM_CHUNK) {
-   MD5_Update(, (uchar *)map_ptr(buf, i, CSUM_CHUNK),
-  CSUM_CHUNK);
-   }
+   for (i = 0; i + CSUM_CHUNK <= len; i += CSUM_CHUNK)
+   MD5_Update(, (uchar *)map_ptr(buf, i, CSUM_CHUNK), 
CSUM_CHUNK);
 
remainder = (int32)(len - i);
if (remainder > 0)
@@ -420,14 +438,26 @@ void file_checksum(const char *fname, const STRUCT_STAT 
*st_p, char *sum)
MD5_Final((uchar *)sum, );
break;
  case CSUM_MD4:
+#ifdef USE_OPENSSL
+   MD4_Init();
+
+   for (i = 0; i + CSUM_CHUNK <= len; i += CSUM_CHUNK)
+   MD4_Update(, (uchar *)map_ptr(buf, i, CSUM_CHUNK), 
CSUM_CHUNK);
+
+   remainder = (int32)(len - i);
+   if (remainder > 0)
+   MD4_Update(, (uchar *)map_ptr(buf, i, remainder), 
remainder);
+
+   MD4_Final((uchar *)sum, );
+   break;
+#endif
  case CSUM_MD4_OLD:
  case 

Re: [PATCH] Optimized assembler version of md5_process() for x86-64

2020-05-23 Thread Sebastian Andrzej Siewior via rsync
On 2020-05-23 10:21:31 [-0700], Wayne Davison wrote:
> 
> Adding optional support for openssl's crypto library is also a good idea.

I posted [0] openssl support with SHA1 support and asked whether openssl is
possible. At that time added md5 and I think md4. I received no feedback
bach then but if you want me to respin the openssl part (without sha1
now that we have xxhash) I can certainly do that.

> I've also added a comment to the checksum.c file about my support of being
> able to distribute a dynamically linked version of rsync that links with
> the openssl and xxhash libraries (since they are both BSD 2-clause
> licensed), especially since this should (IMO) be considered to be covered
> under the System Libraries part of the GPL.

also, openssl 3.0 will be apache-2 licensed.

[0] https://lists.samba.org/archive/rsync/2020-February/032062.html

> ..wayne..

Sebastian

-- 
Please use reply-all for most replies to avoid omitting the mailing list.
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html


Re: [PATCH] Optimized assembler version of md5_process() for x86-64

2020-05-23 Thread Wayne Davison via rsync
On Sat, May 23, 2020 at 4:37 AM Sebastian Andrzej Siewior <
rs...@ml.breakpoint.cc> wrote:

> Wouldn't it be better to add support for a crypto library (like openssl)
> which would provide optimized algorithms for more than just one platform
> without the need to maintain it separately?
>

Adding optional support for openssl's crypto library is also a good idea.
I've made rsync's MD5 code able to support using either the crypto library
or the rsync-included MD5 code.  I did not bother to try to support it for
MD4 checksums, since those are mostly historical & there are some weird
exceptions for really old rsync compatibility that would need to be worked
out.  However, I might make it where the main MD4 checksum is covered by
openssl and just the historical ones get the historical code.

I've also added a comment to the checksum.c file about my support of being
able to distribute a dynamically linked version of rsync that links with
the openssl and xxhash libraries (since they are both BSD 2-clause
licensed), especially since this should (IMO) be considered to be covered
under the System Libraries part of the GPL.

..wayne..
-- 
Please use reply-all for most replies to avoid omitting the mailing list.
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html


[SCM] The rsync repository. - branch master updated

2020-05-23 Thread Rsync CVS commit messages
The branch, master has been updated
   via  15c1162b Add optional use of the openssl crypto lib for MD5.
  from  a7175ee0 Mention a few more news items.

https://git.samba.org/?p=rsync.git;a=shortlog;h=master


- Log -
commit 15c1162b24f51b29cbd534b2e8f732e06995ef89
Author: Wayne Davison 
Date:   Sat May 23 09:23:01 2020 -0700

Add optional use of the openssl crypto lib for MD5.

---

Summary of changes:
 NEWS  |  9 +
 checksum.c| 46 +-
 configure.ac  | 28 +---
 lib/md5.c |  6 --
 lib/mdfour.c  |  3 ++-
 lib/mdigest.h |  6 ++
 6 files changed, 67 insertions(+), 31 deletions(-)


Changeset truncated at 500 lines:

diff --git a/NEWS b/NEWS
index edf59452..5509 100644
--- a/NEWS
+++ b/NEWS
@@ -38,10 +38,11 @@ Changes since 3.1.3:
 
   ENHANCEMENTS:
 
-- Various checksum enhancements, including x86_64 optimizations for the
-  rolling checksum, optimizations for the MD5 checksums, the addition of
-  xxhash checksums, and a simple checksum negotation heuristic that will
-  ensure that it is easier to add improved checksum algorithms in the
+- Various checksum enhancements, including the optional use of openssl's
+  MD5 checksum algorithms, x86_64 optimizations for the rolling checksum,
+  x86_64 optimizations for the (non-openssl) MD5 checksum, the addition of
+  xxhash checksum support, and a simple checksum negotation heuristic that
+  will ensure that it is easier to add new checksum algorithms in the
   future.  Currently the x86_64 optimizations require the use of the
   --enable-simd flag to configure, but they will probably be enabled by
   default in the near future.
diff --git a/checksum.c b/checksum.c
index a21222d4..7c4c855c 100644
--- a/checksum.c
+++ b/checksum.c
@@ -10,6 +10,13 @@
  * the Free Software Foundation; either version 3 of the License, or
  * (at your option) any later version.
  *
+ * In addition, as a special exception, the copyright holders give
+ * permission to dynamically link rsync with the OpenSSL and xxhash
+ * libraries when those libraries are being distributed in compliance
+ * with their license terms, and to distribute a dynamically linked
+ * combination of rsync and these libraries.  This is also considered
+ * to be covered under the GPL's System Libraries exception.
+ *
  * This program is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
@@ -23,6 +30,9 @@
 #ifdef SUPPORT_XXHASH
 #include "xxhash.h"
 #endif
+#ifdef USE_OPENSSL
+#include "openssl/md5.h"
+#endif
 
 extern int am_server;
 extern int local_server;
@@ -58,6 +68,13 @@ struct csum_struct {
 
 #define MAX_CHECKSUM_LIST 1024
 
+#ifndef USE_OPENSSL
+#define MD5_CTX md_context
+#define MD5_Init md5_begin
+#define MD5_Update md5_update
+#define MD5_Final(digest, cptr) md5_result(cptr, digest)
+#endif
+
 int xfersum_type = 0; /* used for the file transfer checksums */
 int checksum_type = 0; /* used for the pre-transfer (--checksum) checksums */
 const char *negotiated_csum_name = NULL;
@@ -298,25 +315,26 @@ uint32 get_checksum1(char *buf1, int32 len)
 void get_checksum2(char *buf, int32 len, char *sum)
 {
md_context m;
+   MD5_CTX m5;
 
switch (xfersum_type) {
  case CSUM_MD5: {
uchar seedbuf[4];
-   md5_begin();
+   MD5_Init();
if (proper_seed_order) {
if (checksum_seed) {
SIVALu(seedbuf, 0, checksum_seed);
-   md5_update(, seedbuf, 4);
+   MD5_Update(, seedbuf, 4);
}
-   md5_update(, (uchar *)buf, len);
+   MD5_Update(, (uchar *)buf, len);
} else {
-   md5_update(, (uchar *)buf, len);
+   MD5_Update(, (uchar *)buf, len);
if (checksum_seed) {
SIVALu(seedbuf, 0, checksum_seed);
-   md5_update(, seedbuf, 4);
+   MD5_Update(, seedbuf, 4);
}
}
-   md5_result(, (uchar *)sum);
+   MD5_Final((uchar *)sum, );
break;
  }
  case CSUM_MD4:
@@ -374,6 +392,7 @@ void file_checksum(const char *fname, const STRUCT_STAT 
*st_p, char *sum)
struct map_struct *buf;
OFF_T i, len = st_p->st_size;
md_context m;
+   MD5_CTX m5;
int32 remainder;
int fd;
 
@@ -387,18 +406,18 @@ void file_checksum(const char *fname, const STRUCT_STAT 
*st_p, char *sum)
 

Re: [PATCH] Optimized assembler version of md5_process() for x86-64

2020-05-23 Thread Sebastian Andrzej Siewior via rsync
On 2020-05-22 22:54:18 [-0700], Wayne Davison via rsync wrote:
> Thanks for the optimizing patches, Jorrit!  I've merged your latest changes
> into the git master branch.

Wouldn't it be better to add support for a crypto library (like openssl)
which would provide optimized algorithms for more than just one platform
without the need to maintain it separately?

> ..wayne..

Sebastian

-- 
Please use reply-all for most replies to avoid omitting the mailing list.
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html


Re: checksum feature request

2020-05-23 Thread Jorrit Jongma via rsync
This is great! However, do you have access to a big-endian CPU? I'm
not sure how relevant this still is but I've read at some point that
xxhash might have produced different (reverse?) hashes on different
endian CPUs. It may be prudent to acutally test if that is the case
with this implementation or how rsync uses it.

On Sat, May 23, 2020 at 8:11 AM Wayne Davison via rsync
 wrote:
>
> On Tue, Oct 1, 2019 at 8:02 AM Bill Wichser via rsync  
> wrote:
>>
>> Attached is the patch we applied [to add xxhash checksums]
>
>
> Thanks, Bill!  I finally got around to finishing up some checksum 
> improvements and have added support for xxhash in the master branch. The 
> latest version in git now picks the best checksum algorithm in common between 
> the client & server version, and will support future checksum algorithms 
> being added without the need for a protocol bump.  It also supports a new 
> RSYNC_CHECKSUM_LIST environment variable that allows the user to limit what 
> checksum algorithms they want rsync to use (in addition to the already 
> existing --checksum-choice=FOO option that forces the checksum choice).
>
> ..wayne..
> --
> Please use reply-all for most replies to avoid omitting the mailing list.
> To unsubscribe or change options: 
> https://lists.samba.org/mailman/listinfo/rsync
> Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html

-- 
Please use reply-all for most replies to avoid omitting the mailing list.
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html


[Bug 14371] Combined Exclude & Protect Filter Type

2020-05-23 Thread just subscribed for rsync-qa from bugzilla via rsync
https://bugzilla.samba.org/show_bug.cgi?id=14371

--- Comment #5 from Haravikk  ---
Oh, I see; so hide actually does what I need, you confused me with the mention
of not using --delete-excluded, as it actually seems to work just fine with a
mixture of hide and exclude rules for different items.

Thanks!

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
-- 
Please use reply-all for most replies to avoid omitting the mailing list.
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html


[Bug 13082] [REQ] Hardware / SSE based MD5 operations

2020-05-23 Thread just subscribed for rsync-qa from bugzilla via rsync
https://bugzilla.samba.org/show_bug.cgi?id=13082

--- Comment #5 from Ben RUBSON  ---
Really nice additions, it looks promising, thank you very much Jorrit & Wayne !

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
-- 
Please use reply-all for most replies to avoid omitting the mailing list.
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html


Re: checksum feature request

2020-05-23 Thread Filipe Maia via rsync
That's excellent news!

On Sat, 23 May 2020 at 08:11, Wayne Davison via rsync 
wrote:

> On Tue, Oct 1, 2019 at 8:02 AM Bill Wichser via rsync <
> rsync@lists.samba.org> wrote:
>
>> Attached is the patch we applied [to add xxhash checksums]
>
>
> Thanks, Bill!  I finally got around to finishing up some checksum
> improvements and have added support for xxhash in the master branch. The
> latest version in git now picks the best checksum algorithm in common
> between the client & server version, and will support future checksum
> algorithms being added without the need for a protocol bump.  It also
> supports a new RSYNC_CHECKSUM_LIST environment variable that allows the
> user to limit what checksum algorithms they want rsync to use (in addition
> to the already existing --checksum-choice=FOO option that forces the
> checksum choice).
>
> ..wayne..
> --
> Please use reply-all for most replies to avoid omitting the mailing list.
> To unsubscribe or change options:
> https://lists.samba.org/mailman/listinfo/rsync
> Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html
>
-- 
Please use reply-all for most replies to avoid omitting the mailing list.
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html


[Bug 14371] Combined Exclude & Protect Filter Type

2020-05-23 Thread just subscribed for rsync-qa from bugzilla via rsync
https://bugzilla.samba.org/show_bug.cgi?id=14371

--- Comment #4 from Wayne Davison  ---
You don't add an exclude rule, you add a hide rule. An exclude rule is a
combination of a hide (server side) and a protect (client side). So you choose
between the 3 idioms (hide, protect, exclude) depending on if you want the rule
to affect one or both sides of the transfer.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
-- 
Please use reply-all for most replies to avoid omitting the mailing list.
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html


[SCM] The rsync repository. - branch master updated

2020-05-23 Thread Rsync CVS commit messages
The branch, master has been updated
   via  a7175ee0 Mention a few more news items.
  from  68516f91 Add "input" handling for cmd_txt_*() pkglib.py.

https://git.samba.org/?p=rsync.git;a=shortlog;h=master


- Log -
commit a7175ee0297dc4f8c8680626c3d3f0d4bc6b108f
Author: Wayne Davison 
Date:   Fri May 22 23:26:25 2020 -0700

Mention a few more news items.

---

Summary of changes:
 NEWS | 13 -
 1 file changed, 12 insertions(+), 1 deletion(-)


Changeset truncated at 500 lines:

diff --git a/NEWS b/NEWS
index d29ea3c4..edf59452 100644
--- a/NEWS
+++ b/NEWS
@@ -33,8 +33,19 @@ Changes since 3.1.3:
 
 - Fixed a crash in the --iconv code.
 
+- Fixed a bug in the writing of the batch.sh file (w/--write-batch) when
+  the source & destination args were not last on the command-line.
+
   ENHANCEMENTS:
 
+- Various checksum enhancements, including x86_64 optimizations for the
+  rolling checksum, optimizations for the MD5 checksums, the addition of
+  xxhash checksums, and a simple checksum negotation heuristic that will
+  ensure that it is easier to add improved checksum algorithms in the
+  future.  Currently the x86_64 optimizations require the use of the
+  --enable-simd flag to configure, but they will probably be enabled by
+  default in the near future.
+
 - Improved the --atimes patch and promoted it to be in the release.
 
 - Added --open-noatime option to open files using O_NOATIME.
@@ -42,7 +53,7 @@ Changes since 3.1.3:
 - Improved the --write-devices patch and promoted it to be in the release.
 
 - Added openssl support to the rsync-ssl script via its renamed helper
-  script, rsync-ssl-rsh.  Install both bash scripts by default now
+  script, rsync-ssl-rsh.  Both bash scripts are now installed by default
   (removing the install-ssl-client make target).  Rsync was also enhanced
   to set the RSYNC_PORT environment 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


Re: checksum feature request

2020-05-23 Thread Wayne Davison via rsync
On Tue, Oct 1, 2019 at 8:02 AM Bill Wichser via rsync 
wrote:

> Attached is the patch we applied [to add xxhash checksums]


Thanks, Bill!  I finally got around to finishing up some checksum
improvements and have added support for xxhash in the master branch. The
latest version in git now picks the best checksum algorithm in common
between the client & server version, and will support future checksum
algorithms being added without the need for a protocol bump.  It also
supports a new RSYNC_CHECKSUM_LIST environment variable that allows the
user to limit what checksum algorithms they want rsync to use (in addition
to the already existing --checksum-choice=FOO option that forces the
checksum choice).

..wayne..
-- 
Please use reply-all for most replies to avoid omitting the mailing list.
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html


Re: [PATCH] Optimized assembler version of md5_process() for x86-64

2020-05-23 Thread Wayne Davison via rsync
On Fri, May 22, 2020 at 11:08 AM Jorrit Jongma via rsync <
rsync@lists.samba.org> wrote:

> This patch introduces an optimized assembler version of md5_process(), the
> inner loop of MD5 checksumming. It affects the performance of all MD5
> operations in rsync - including block matching and whole-file checksums.
>

Thanks for the optimizing patches, Jorrit!  I've merged your latest changes
into the git master branch.

..wayne..
-- 
Please use reply-all for most replies to avoid omitting the mailing list.
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html


[Bug 13082] [REQ] Hardware / SSE based MD5 operations

2020-05-23 Thread just subscribed for rsync-qa from bugzilla via rsync
https://bugzilla.samba.org/show_bug.cgi?id=13082

Wayne Davison  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #4 from Wayne Davison  ---
Jorrit Jongma has supplied a nice patch that provides some assembler
optimizations for MD5 on x86_64 which I have just merged (along with his
optimizations for the rolling checksum algorithm).  Also, my xxhash changes
have finally landed, and it includes a way for rsync to negotiate the best
checksum algorithm shared between the client & server.  This will make it
easier to add new checksum algorithms in the future.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
-- 
Please use reply-all for most replies to avoid omitting the mailing list.
To unsubscribe or change options: https://lists.samba.org/mailman/listinfo/rsync
Before posting, read: http://www.catb.org/~esr/faqs/smart-questions.html