Disable sha1,sha256,sha512 avx,avx2,sse3 crypto implementations.

Re-implement them later, once stable
This commit is contained in:
Harshavardhana 2015-01-06 16:49:30 -08:00
parent d58f68ccaa
commit 462808b87a
11 changed files with 52 additions and 58 deletions

View File

@ -17,10 +17,7 @@
package main
import (
"bytes"
"encoding/binary"
"fmt"
"io/ioutil"
"log"
"os"
@ -34,7 +31,7 @@ import (
var Options = []cli.Command{
Md5sum,
Sha1sum,
// Sha1sumFast, // not working
// Sha1sumFast, // TODO
Sha256sum,
Sha512sum,
}
@ -55,6 +52,7 @@ var Sha1sum = cli.Command{
Action: doSha1sum,
}
/* TODO
var Sha1sumFast = cli.Command{
Name: "sha1sum-fast",
Usage: "",
@ -62,6 +60,7 @@ var Sha1sumFast = cli.Command{
`,
Action: doSha1sumFast,
}
*/
var Sha256sum = cli.Command{
Name: "sha256sum",
@ -95,6 +94,7 @@ func doSha1sum(c *cli.Context) {
fmt.Printf("%x", hash)
}
/* TODO
func doSha1sumFast(c *cli.Context) {
buffer, err := ioutil.ReadAll(os.Stdin)
if err != nil {
@ -108,6 +108,7 @@ func doSha1sumFast(c *cli.Context) {
binary.Write(&bytesBuffer, binary.LittleEndian, hash)
fmt.Printf("%x", bytesBuffer.Bytes())
}
*/
func doSha256sum(c *cli.Context) {
hash, err := sha256.Sum(os.Stdin)

0
pkg/crypto/sha1/TODO Normal file
View File

View File

@ -24,24 +24,18 @@ package sha1
import "C"
import (
gosha1 "crypto/sha1"
"errors"
"io"
"unsafe"
"github.com/minio-io/minio/pkg/cpu"
)
/*
const (
SHA1_BLOCKSIZE = 64
SHA1_DIGESTSIZE = 20
)
func Sha1(buffer []byte) ([]int32, error) {
if !cpu.HasAVX2() {
// Unsupported processor but do not error out tests
return []int32{0}, nil
}
func Sha1(buffer []byte) ([]int32, error) {
if cpu.HasAVX2() {
var shbuf []int32
var cbuffer *C.char
@ -70,9 +64,10 @@ func Sha1(buffer []byte) ([]int32, error) {
cbuffer = (*C.char)(unsafe.Pointer(&buffer[0]))
C.sha1_transform(cshbuf, cbuffer, C.size_t(rounds))
return shbuf, nil
return 0, nil
}
}
*/
func Sum(reader io.Reader) ([]byte, error) {
hash := gosha1.New()
var err error

View File

@ -67,6 +67,7 @@
*
*/
#ifdef HAS_AVX2
#include "asm.S"
#define CTX %rdi /* arg1 */
@ -698,3 +699,4 @@ BSWAP_SHUFB_CTL:
ret
ENDPROC(sha1_transform)
#endif

View File

@ -14,20 +14,6 @@ type MySuite struct{}
var _ = Suite(&MySuite{})
func (s *MySuite) TestSha1(c *C) {
data_1 := []byte("Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.")
data_2 := []byte("Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum.")
sha, err := Sha1(data_1)
c.Assert(err, IsNil)
newsha, newerr := Sha1(data_2)
c.Assert(newerr, IsNil)
c.Assert(sha, DeepEquals, newsha)
}
func (s *MySuite) TestStreamingSha1(c *C) {
testString := []byte("Test string")
expectedHash, _ := hex.DecodeString("18af819125b70879d36378431c4e8d9bfa6a2599")

View File

@ -47,6 +47,7 @@
# This code schedules 1 block at a time, with 4 lanes per block
########################################################################
#ifdef HAS_AVX
#include "asm.S"
## assume buffers not aligned
@ -491,3 +492,4 @@ _SHUF_00BA:
# shuffle xDxC -> DC00
_SHUF_DC00:
.octa 0x0b0a090803020100FFFFFFFFFFFFFFFF
#endif

View File

@ -48,6 +48,7 @@
# This code schedules 2 blocks at a time, with 4 lanes per block
########################################################################
#ifdef HAS_AVX2
#include "asm.S"
## assume buffers not aligned
@ -768,3 +769,4 @@ _SHUF_00BA:
# shuffle xDxC -> DC00
_SHUF_DC00:
.octa 0x0b0a090803020100FFFFFFFFFFFFFFFF,0x0b0a090803020100FFFFFFFFFFFFFFFF
#endif

View File

@ -46,6 +46,7 @@
#
########################################################################
#ifdef HAS_SSE41
#include "asm.S"
## assume buffers not aligned
@ -504,3 +505,4 @@ _SHUF_00BA:
# shuffle xDxC -> DC00
_SHUF_DC00:
.octa 0x0b0a090803020100FFFFFFFFFFFFFFFF
#endif

View File

@ -47,6 +47,7 @@
#
########################################################################
#ifdef HAS_AVX
#include "asm.S"
.text
@ -419,3 +420,4 @@ K512:
.quad 0x3c9ebe0a15c9bebc,0x431d67c49c100d4c
.quad 0x4cc5d4becb3e42b6,0x597f299cfc657e2a
.quad 0x5fcb6fab3ad6faec,0x6c44198c4a475817
#endif

View File

@ -49,8 +49,7 @@
# This code schedules 1 blocks at a time, with 4 lanes per block
########################################################################
#include "asm.S"
#ifdef HAS_AVX2
.text
# Virtual Registers
@ -739,3 +738,4 @@ PSHUFFLE_BYTE_FLIP_MASK:
MASK_YMM_LO:
.octa 0x00000000000000000000000000000000
.octa 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
#endif

View File

@ -47,6 +47,7 @@
#
########################################################################
#ifdef HAS_SSE41
#include "asm.S"
.text
@ -419,3 +420,4 @@ K512:
.quad 0x3c9ebe0a15c9bebc,0x431d67c49c100d4c
.quad 0x4cc5d4becb3e42b6,0x597f299cfc657e2a
.quad 0x5fcb6fab3ad6faec,0x6c44198c4a475817
#endif