From: Sergey Matveev Date: Thu, 3 Oct 2019 08:11:55 +0000 (+0300) Subject: Prepare for release X-Git-Tag: v4.1.0^0 X-Git-Url: http://www.git.cypherpunks.ru/?p=gogost.git;a=commitdiff_plain;h=30588af8972ef366e0eb9a3e5aac799946de0e1a Prepare for release --- diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index e69de29..0000000 diff --git a/INSTALL b/INSTALL index fedfbac..bf0b19c 100644 --- a/INSTALL +++ b/INSTALL @@ -1,28 +1,29 @@ Preferable way is to download tarball with the signature from official website and, for example, run tests with benchmarks: - % wget http://gogost.cypherpunks.ru/gogost-1.1.tar.xz - % wget http://gogost.cypherpunks.ru/gogost-1.1.tar.xz.sig - % gpg --verify gogost-1.1.tar.xz.sig gogost-1.1.tar.xz - % xz -d < gogost-1.1.tar.xz | tar xf - - % make -C gogost-1.1 all bench - % echo hello world | ./gogost-1.1/streebog256 + $ wget http://gogost.cypherpunks.ru/gogost-4.1.0.tar.xz + $ wget http://gogost.cypherpunks.ru/gogost-4.1.0.tar.xz.sig + $ gpg --verify gogost-4.1.0.tar.xz.sig gogost-4.1.0.tar.xz + $ xz -d < gogost-4.1.0.tar.xz | tar xf - + $ make -C gogost-4.1.0 all bench + $ echo hello world | ./gogost-4.1.0/streebog256 f72018189a5cfb803dbe1f2149cf554c40093d8e7f81c21e08ac5bcd09d9934d And then you can include its source code in your project for example like this: - % mkdir -p myproj/src - % export GOPATH=$PWD/myproj - % cd myproj/src - % cat > main.go < main.go < Look in PUBKEY.asc file. - % gpg --auto-key-locate dane --locate-keys gogost at cypherpunks dot ru - % gpg --auto-key-locate wkd --locate-keys gogost at cypherpunks dot ru + $ gpg --auto-key-locate dane --locate-keys gogost at cypherpunks dot ru + $ gpg --auto-key-locate wkd --locate-keys gogost at cypherpunks dot ru diff --git a/NEWS b/NEWS index 9b82e8c..452e15a 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,11 @@ +4.1: + * ESPTREE implementation + * CurveIdtc26gost34102012256paramSetB, CurveIdtc26gost34102012256paramSetC, + CurveIdtc26gost34102012256paramSetD curve aliases + * Forbid any later GNU GPL version autousage + (project's licence now is GNU GPLv3 only) + * Project now is go-get-able: go get go.cypherpunks.ru/gogost/v4 + 4.0: * Backward incompatible change: all keys passing to encryption functions are slices now, not the fixed arrays. That heavily diff --git a/VERSION b/VERSION index 5186d07..7d5c902 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -4.0 +4.1 diff --git a/common.mk b/common.mk index e528f9a..c4bb97d 100644 --- a/common.mk +++ b/common.mk @@ -1,12 +1,13 @@ -LDFLAGS = -X cypherpunks.ru/gogost.Version=$(VERSION) +MOD = go.cypherpunks.ru/gogost/v4 +LDFLAGS = -X $(MOD).Version=$(VERSION) all: streebog256 streebog512 streebog256: - GOPATH=$(GOPATH) go build -ldflags "$(LDFLAGS)" cypherpunks.ru/gogost/cmd/streebog256 + GOPATH=$(GOPATH) go build -ldflags "$(LDFLAGS)" $(MOD)/cmd/streebog256 streebog512: - GOPATH=$(GOPATH) go build -ldflags "$(LDFLAGS)" cypherpunks.ru/gogost/cmd/streebog512 + GOPATH=$(GOPATH) go build -ldflags "$(LDFLAGS)" $(MOD)/cmd/streebog512 bench: - GOPATH=$(GOPATH) go test -benchmem -bench . cypherpunks.ru/gogost/... + GOPATH=$(GOPATH) go test -benchmem -bench . $(MOD)/... diff --git a/download.texi b/download.texi index e506a2a..390d3cc 100644 --- a/download.texi +++ b/download.texi @@ -5,12 +5,12 @@ Preferable way is to download tarball with the signature from website and, for example, run tests with benchmarks: @verbatim -% wget http://gogost.cypherpunks.ru/gogost-4.0.tar.xz -% wget http://gogost.cypherpunks.ru/gogost-4.0.tar.xz.sig -% gpg --verify gogost-4.0.tar.xz.sig gogost-4.0.tar.xz -% xz -d < gogost-4.0.tar.xz | tar xf - -% make -C gogost-4.0 all bench -% echo hello world | ./gogost-4.0/streebog256 +$ wget http://gogost.cypherpunks.ru/gogost-4.1.0.tar.xz +$ wget http://gogost.cypherpunks.ru/gogost-4.1.0.tar.xz.sig +$ gpg --verify gogost-4.1.0.tar.xz.sig gogost-4.1.0.tar.xz +$ xz -d < gogost-4.1.0.tar.xz | tar xf - +$ make -C gogost-4.1.0 all bench +$ echo hello world | ./gogost-4.1.0/streebog256 f72018189a5cfb803dbe1f2149cf554c40093d8e7f81c21e08ac5bcd09d9934d @end verbatim @@ -18,17 +18,18 @@ And then you can include its source code in your project for example like this: @verbatim -% mkdir -p myproj/src -% export GOPATH=$PWD/myproj -% cd myproj/src -% cat > main.go < main.go < @item @verbatim -% gpg --auto-key-locate dane --locate-keys gogost at cypherpunks dot ru -% gpg --auto-key-locate wkd --locate-keys gogost at cypherpunks dot ru +$ gpg --auto-key-locate dane --locate-keys gogost at cypherpunks dot ru +$ gpg --auto-key-locate wkd --locate-keys gogost at cypherpunks dot ru @end verbatim @item diff --git a/makedist.sh b/makedist.sh index 6c79acc..2fbbc35 100755 --- a/makedist.sh +++ b/makedist.sh @@ -9,14 +9,28 @@ git clone . $tmp/gogost-$release cd $tmp/gogost-$release git checkout $release -crypto_path=src/cypherpunks.ru/gogost/vendor/golang.org/x/crypto -mkdir -p $crypto_path -( cd $cur/gopath/pkg/mod/golang.org/x/crypto@v0.0.0-20190701094942-4def268fd1a4 ; \ +mod_name=$(sed -n 's/^module //p' go.mod) +crypto_mod_path=$(sed -n 's#^require \(golang.org/x/crypto\) \(.*\)$#\1@\2#p' go.mod) +mkdir -p src/$mod_name +mv \ + gost28147 \ + gost3410 \ + gost34112012256 \ + gost34112012512 \ + gost341194 \ + gost3412128 \ + gost341264 \ + gost3413 \ + mgm \ + internal gogost.go go.mod go.sum src/$mod_name + +mkdir -p src/golang.org/x/crypto +( cd $GOPATH/pkg/mod/$crypto_mod_path ; \ tar cf - AUTHORS CONTRIBUTORS LICENSE PATENTS README.md pbkdf2 hkdf ) | - tar xfC - $crypto_path + tar xfC - src/golang.org/x/crypto find . -name .git -type d | xargs rm -fr -rm -f www* makedist* TODO +rm -f www* news.texi style.css makedist* TODO find . -type d -exec chmod 700 {} \; find . -type f -exec chmod 600 {} \; diff --git a/news.texi b/news.texi index 5569269..91449e2 100644 --- a/news.texi +++ b/news.texi @@ -7,6 +7,12 @@ @item 4.1 @itemize @item @code{ESPTREE} implementation + @item @code{CurveIdtc26gost34102012256paramSetB}, + @code{CurveIdtc26gost34102012256paramSetC}, + @code{CurveIdtc26gost34102012256paramSetD} curve aliases + @item Forbid any later GNU GPL version autousage + (project's licence now is GNU GPLv3 only) + @item Project now is go-get-able: @command{go get go.cypherpunks.ru/gogost/v4} @end itemize