diff --git a/dataprovider/admin.go b/dataprovider/admin.go index 95e76bd5..c69f7b51 100644 --- a/dataprovider/admin.go +++ b/dataprovider/admin.go @@ -1,6 +1,7 @@ package dataprovider import ( + "crypto/sha256" "encoding/base64" "errors" "fmt" @@ -9,7 +10,6 @@ import ( "strings" "github.com/alexedwards/argon2id" - "github.com/minio/sha256-simd" "github.com/drakkan/sftpgo/utils" ) diff --git a/go.mod b/go.mod index 86e5489e..527f4ebe 100644 --- a/go.mod +++ b/go.mod @@ -33,14 +33,12 @@ require ( github.com/hashicorp/vault/api v1.1.0 // indirect github.com/hashicorp/vault/sdk v0.2.0 // indirect github.com/jlaffaye/ftp v0.0.0-20201112195030-9aae4d151126 - github.com/klauspost/cpuid/v2 v2.0.6 // indirect github.com/lestrrat-go/backoff/v2 v2.0.8 // indirect github.com/lestrrat-go/jwx v1.1.7 github.com/lib/pq v1.10.0 github.com/magiconair/properties v1.8.5 // indirect github.com/mattn/go-sqlite3 v1.14.6 github.com/miekg/dns v1.1.41 // indirect - github.com/minio/sha256-simd v1.0.0 github.com/minio/sio v0.2.1 github.com/mitchellh/mapstructure v1.4.1 // indirect github.com/otiai10/copy v1.5.0 @@ -68,7 +66,7 @@ require ( gocloud.dev/secrets/hashivault v0.22.0 golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2 golang.org/x/mod v0.4.2 // indirect - golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4 + golang.org/x/net v0.0.0-20210331212208-0fccb6fa2b5c golang.org/x/oauth2 v0.0.0-20210402161424-2e8d93401602 // indirect golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57 golang.org/x/text v0.3.6 // indirect @@ -83,6 +81,6 @@ require ( replace ( github.com/cockroachdb/cockroach-go/v2 => github.com/drakkan/cockroach-go/v2 v2.0.0-20210323085558-34fd3dc05ad2 github.com/jlaffaye/ftp => github.com/drakkan/ftp v0.0.0-20201114075148-9b9adce499a9 - golang.org/x/crypto => github.com/drakkan/crypto v0.0.0-20210324082356-50c206558887 - golang.org/x/net => github.com/drakkan/net v0.0.0-20210324113647-4e2c39621093 + golang.org/x/crypto => github.com/drakkan/crypto v0.0.0-20210405160203-85f20b04d0e7 + golang.org/x/net => github.com/drakkan/net v0.0.0-20210405160859-a11a18e6ce6e ) diff --git a/go.sum b/go.sum index 0e799758..1e7ac603 100644 --- a/go.sum +++ b/go.sum @@ -204,12 +204,12 @@ github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5Xh github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/drakkan/cockroach-go/v2 v2.0.0-20210323085558-34fd3dc05ad2 h1:doVtM2S2z5kUY7+DfwcEbzfhvbGo5V7/1lQYS1YpdbU= github.com/drakkan/cockroach-go/v2 v2.0.0-20210323085558-34fd3dc05ad2/go.mod h1:7NtUnP6eK+l6k483WSYNrq3Kb23bWV10IRV1TyeSpwM= -github.com/drakkan/crypto v0.0.0-20210324082356-50c206558887 h1:fQec0kMgGaRU2uDu1GwFDzaoChvCu7BSCBQ8ZbXXB4w= -github.com/drakkan/crypto v0.0.0-20210324082356-50c206558887/go.mod h1:L66LXwR5jyrcyKbWcx1/J/356ka7Lqn6zsxuVf6JhiI= +github.com/drakkan/crypto v0.0.0-20210405160203-85f20b04d0e7 h1:eix8WD5F9/BGBaQn2NJk8JXcuWqrDEMW+QDq3lhKDig= +github.com/drakkan/crypto v0.0.0-20210405160203-85f20b04d0e7/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= github.com/drakkan/ftp v0.0.0-20201114075148-9b9adce499a9 h1:LPH1dEblAOO/LoG7yHPMtBLXhQmjaga91/DDjWk9jWA= github.com/drakkan/ftp v0.0.0-20201114075148-9b9adce499a9/go.mod h1:2lmrmq866uF2tnje75wQHzmPXhmSWUt7Gyx2vgK1RCU= -github.com/drakkan/net v0.0.0-20210324113647-4e2c39621093 h1:ssodnjXJV77Lp4woeJ3raYYIz6kHPJjmu+63o56CpVw= -github.com/drakkan/net v0.0.0-20210324113647-4e2c39621093/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= +github.com/drakkan/net v0.0.0-20210405160859-a11a18e6ce6e h1:9G8t9MMrbcMc+wlcvhPevRIK+kYYC/CcdPo+wyUhdd0= +github.com/drakkan/net v0.0.0-20210405160859-a11a18e6ce6e/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= @@ -550,9 +550,6 @@ github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQL github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/compress v1.10.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= github.com/klauspost/compress v1.11.3/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs= -github.com/klauspost/cpuid/v2 v2.0.4/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/klauspost/cpuid/v2 v2.0.6 h1:dQ5ueTiftKxp0gyjKSx5+8BtPWkyQbd95m8Gys/RarI= -github.com/klauspost/cpuid/v2 v2.0.6/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -627,8 +624,6 @@ github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3N github.com/miekg/dns v1.1.27/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= github.com/miekg/dns v1.1.41 h1:WMszZWJG0XmzbK9FEmzH2TVcqYzFesusSIB41b8KHxY= github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= -github.com/minio/sha256-simd v1.0.0 h1:v1ta+49hkWZyvaKwrQB8elexRqm6Y0aMLjCNsrYxo6g= -github.com/minio/sha256-simd v1.0.0/go.mod h1:OuYzVNI5vcoYIAmbIvHPl3N3jUzVedXbKy5RFepssQM= github.com/minio/sio v0.2.1 h1:NjzKiIMSMcHediVQR0AFVx2tp7Wxh9tKPfDI3kH7aHQ= github.com/minio/sio v0.2.1/go.mod h1:8b0yPp2avGThviy/+OCJBI6OMpvxoUuiLvE6F1lebhw= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= @@ -1021,8 +1016,8 @@ golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210309074719-68d13333faf2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57 h1:F5Gozwx4I1xtr/sr/8CFbb57iKi3297KFs0QDbGN60A= golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 h1:v+OssWQX+hTHEmOBgwxdZxK4zHq3yOs8F9J7mk0PY8E= diff --git a/kms/builtin.go b/kms/builtin.go index 47d30125..4413f422 100644 --- a/kms/builtin.go +++ b/kms/builtin.go @@ -4,10 +4,9 @@ import ( "crypto/aes" "crypto/cipher" "crypto/rand" + "crypto/sha256" "encoding/hex" "io" - - "github.com/minio/sha256-simd" ) type builtinSecret struct { diff --git a/kms/local.go b/kms/local.go index ef80dc7a..0398287d 100644 --- a/kms/local.go +++ b/kms/local.go @@ -2,11 +2,11 @@ package kms import ( "context" + "crypto/sha256" "encoding/base64" "encoding/hex" "io" - "github.com/minio/sha256-simd" "gocloud.dev/secrets/localsecrets" "golang.org/x/crypto/hkdf" ) diff --git a/sftpd/ssh_cmd.go b/sftpd/ssh_cmd.go index ec94e41f..24734b72 100644 --- a/sftpd/ssh_cmd.go +++ b/sftpd/ssh_cmd.go @@ -3,6 +3,7 @@ package sftpd import ( "crypto/md5" "crypto/sha1" + "crypto/sha256" "crypto/sha512" "errors" "fmt" @@ -16,7 +17,6 @@ import ( "sync" "github.com/google/shlex" - "github.com/minio/sha256-simd" fscopy "github.com/otiai10/copy" "golang.org/x/crypto/ssh" diff --git a/vfs/cryptfs.go b/vfs/cryptfs.go index 01309e02..c614a92e 100644 --- a/vfs/cryptfs.go +++ b/vfs/cryptfs.go @@ -3,13 +3,13 @@ package vfs import ( "bytes" "crypto/rand" + "crypto/sha256" "fmt" "io" "net/http" "os" "github.com/eikenb/pipeat" - "github.com/minio/sha256-simd" "github.com/minio/sio" "golang.org/x/crypto/hkdf"