]> Cypherpunks.ru repositories - gogost.git/commitdiff
Prepare for release v4.1.0
authorSergey Matveev <stargrave@stargrave.org>
Thu, 3 Oct 2019 08:11:55 +0000 (11:11 +0300)
committerSergey Matveev <stargrave@stargrave.org>
Thu, 3 Oct 2019 10:51:20 +0000 (13:51 +0300)
.gitmodules [deleted file]
INSTALL
NEWS
VERSION
common.mk
download.texi
makedist.sh
news.texi

diff --git a/.gitmodules b/.gitmodules
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/INSTALL b/INSTALL
index fedfbac04a5533911312cd65fb0585be93ca2b66..bf0b19cda674623f50ca1656809427b89db2a265 100644 (file)
--- 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 <<EOF
+    $ mkdir -p myproj/src
+    $ cp -r gogost-4.1.0/src/go.cypherpunks.ru myproj/src
+    $ export GOPATH=$PWD/myproj
+    $ cd myproj/src
+    $ cat > main.go <<EOF
     package main
 
     import (
         "encoding/hex"
         "fmt"
 
-        "cypherpunks.ru/gogost/gost34112012256"
+        "go.cypherpunks.ru/gogost/v4/gost34112012256"
     )
 
     func main() {
@@ -31,10 +32,13 @@ like this:
         fmt.Println(hex.EncodeToString(h.Sum(nil)))
     }
     EOF
-    % cp -r ../../gogost-1.1/src/cypherpunks.ru .
-    % go run main.go
+    $ go run main.go
     c600fd9dd049cf8abd2f5b32e840d2cb0e41ea44de1c155dcd88dc84fe58a855
 
+GoGOST is also go-get-able. For example to use streebog256 utility:
+
+    $ go get go.cypherpunks.ru/gogost/cmd/streebog256
+
 You have to verify downloaded tarballs integrity and authenticity to be
 sure that you retrieved trusted and untampered software. GNU Privacy
 Guard is used for that purpose.
@@ -48,5 +52,5 @@ resources.
     uid   GoGOST releases <gogost at cypherpunks dot ru>
 
     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 9b82e8ccabd85479f55e78844ad4aaf7e21c26a4..452e15acbf1c4bbfc7577b9af01279d6e8b5b272 100644 (file)
--- 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 5186d07068cfed4c3f4705df79c73e115dd35c43..7d5c902e777905446c67de7e52a945b88fd2038c 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-4.0
+4.1
index e528f9a5f2c290b606693b7b60db951312b26e81..c4bb97d0b9dffa509a2cc721e5df66cb2814f776 100644 (file)
--- 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)/...
index e506a2a00a8eabbbcd04108d426c23af54cbf192..390d3cc7940e29a789723db57bb62384338cb0b6 100644 (file)
@@ -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 <<EOF
+$ mkdir -p myproj/src
+$ cp -r gogost-4.1.0/src/go.cypherpunks.ru myproj/src
+$ export GOPATH=$PWD/myproj
+$ cd myproj/src
+$ cat > main.go <<EOF
 package main
 
 import (
     "encoding/hex"
     "fmt"
 
-    "cypherpunks.ru/gogost/gost34112012256"
+    "go.cypherpunks.ru/gogost/v4/gost34112012256"
 )
 
 func main() {
@@ -37,11 +38,16 @@ func main() {
     fmt.Println(hex.EncodeToString(h.Sum(nil)))
 }
 EOF
-% cp -r ../../gogost-4.0/src/cypherpunks.ru .
-% go run main.go
+$ go run main.go
 c600fd9dd049cf8abd2f5b32e840d2cb0e41ea44de1c155dcd88dc84fe58a855
 @end verbatim
 
+GoGOST is also @command{go get}-able. For example to use
+@command{streebog256} utility:
+@verbatim
+$ go get go.cypherpunks.ru/gogost/cmd/streebog256
+@end verbatim
+
 @multitable {XXXXX} {XXXX-XX-XX} {XXXX KiB} {link sign} {xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx} {xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}
 @headitem Version @tab Date @tab Size @tab Tarball @tab SHA256 checksum @tab Streebog-256 checksum
 
@@ -93,8 +99,8 @@ uid   GoGOST releases <gogost at cypherpunks dot ru>
 
 @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
index 6c79acc4f0ece84765ee378882619e053acc5334..2fbbc3516ae579f23aeba22f71e858060a16058e 100755 (executable)
@@ -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 {} \;
index 5569269f1fa848ef6585fc3047bdae7a4cde5fcf..91449e25796312aaad658a5676dc28249528e10b 100644 (file)
--- 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