Skip to content

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

Merge request reports