diff options
author | Unknwon <u@gogs.io> | 2015-11-08 16:59:56 -0500 |
---|---|---|
committer | Unknwon <u@gogs.io> | 2015-11-08 16:59:56 -0500 |
commit | 18c841050b4c843ef723e788d4c0a4c29c67ffe3 (patch) | |
tree | 05fa3bde8473045add17f4efe9a0ba141b178bf7 /modules/crypto/ssh/mac.go | |
parent | b55499d039c5e35130057b8af16401c558e79e79 (diff) |
fix 1540 and experimental SSH server support
Diffstat (limited to 'modules/crypto/ssh/mac.go')
-rwxr-xr-x | modules/crypto/ssh/mac.go | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/modules/crypto/ssh/mac.go b/modules/crypto/ssh/mac.go deleted file mode 100755 index 07744ad6..00000000 --- a/modules/crypto/ssh/mac.go +++ /dev/null @@ -1,57 +0,0 @@ -// Copyright 2012 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package ssh - -// Message authentication support - -import ( - "crypto/hmac" - "crypto/sha1" - "crypto/sha256" - "hash" -) - -type macMode struct { - keySize int - new func(key []byte) hash.Hash -} - -// truncatingMAC wraps around a hash.Hash and truncates the output digest to -// a given size. -type truncatingMAC struct { - length int - hmac hash.Hash -} - -func (t truncatingMAC) Write(data []byte) (int, error) { - return t.hmac.Write(data) -} - -func (t truncatingMAC) Sum(in []byte) []byte { - out := t.hmac.Sum(in) - return out[:len(in)+t.length] -} - -func (t truncatingMAC) Reset() { - t.hmac.Reset() -} - -func (t truncatingMAC) Size() int { - return t.length -} - -func (t truncatingMAC) BlockSize() int { return t.hmac.BlockSize() } - -var macModes = map[string]*macMode{ - "hmac-sha2-256": {32, func(key []byte) hash.Hash { - return hmac.New(sha256.New, key) - }}, - "hmac-sha1": {20, func(key []byte) hash.Hash { - return hmac.New(sha1.New, key) - }}, - "hmac-sha1-96": {20, func(key []byte) hash.Hash { - return truncatingMAC{12, hmac.New(sha1.New, key)} - }}, -} |