Make SMB3 encryption 2x faster again!
This makes use of new functions provided by GnuTLS to work with io vectors directly!
The functions are available with GnuTLS 3.6.10: gnutls/gnutls#718 (closed)
but when I started to use them I discovered a bug which is going to be addressed with: gnutls/gnutls!1085 (merged)
Samba with GnuTLS 3.6.10 using gnutls_aead_cipher_(en|de)crypt
time bin/smbclient //krikkit/test -Uasn%secret -mSMB3 -e -c 'put 4GB.bin;
quit'
putting file 4GB.bin as \4GB.bin (457843.5 kb/s) (average 457843.5 kb/s)
real 0m10.054s
user 0m3.604s
sys 0m4.923s
time bin/smbclient //krikkit/test -Uasn%secret -mSMB3 -e -c 'get 4GB.bin /dev/
null; quit'
getting file \4GB.bin of size 4294967296 as /dev/null (620000.6 KiloBytes/sec)
(average 620000.6 KiloBytes/sec)
real 0m7.425s
user 0m2.840s
sys 0m3.128s
Samba with GnuTLS 3.6.10 using gnutls_aead_cipher_(en|de)cryptv2
(note the v for vector!)
time bin/smbclient //krikkit/test -Uasn%secret -mSMB3 -e -c 'put 4GB.bin;
quit'
putting file 4GB.bin as \4GB.bin (692700.9 kb/s) (average 692700.9 kb/s)
real 0m6.761s
user 0m2.492s
sys 0m2.841s
time bin/smbclient //krikkit/test -Uasn%secret -mSMB3 -e -c 'get 4GB.bin /dev/
null; quit'
getting file \4GB.bin of size 4294967296 as /dev/null (1293739.6 KiloBytes/
sec) (average 1293739.7 KiloBytes/sec)
real 0m3.934s
user 0m1.907s
sys 0m0.558s