]> 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:
 
 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:
 
     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"
 
     package main
 
     import (
         "encoding/hex"
         "fmt"
 
-        "cypherpunks.ru/gogost/gost34112012256"
+        "go.cypherpunks.ru/gogost/v4/gost34112012256"
     )
 
     func main() {
     )
 
     func main() {
@@ -31,10 +32,13 @@ like this:
         fmt.Println(hex.EncodeToString(h.Sum(nil)))
     }
     EOF
         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
 
     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.
 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.
     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
 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:
 
 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:
 
 streebog512:
-       GOPATH=$(GOPATH) go build -ldflags "$(LDFLAGS)" cypherpunks.ru/gogost/cmd/streebog512
+       GOPATH=$(GOPATH) go build -ldflags "$(LDFLAGS)" $(MOD)/cmd/streebog512
 
 bench:
 
 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
 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
 
 f72018189a5cfb803dbe1f2149cf554c40093d8e7f81c21e08ac5bcd09d9934d
 @end verbatim
 
@@ -18,17 +18,18 @@ And then you can include its source code in your project for example
 like this:
 
 @verbatim
 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"
 
 package main
 
 import (
     "encoding/hex"
     "fmt"
 
-    "cypherpunks.ru/gogost/gost34112012256"
+    "go.cypherpunks.ru/gogost/v4/gost34112012256"
 )
 
 func main() {
 )
 
 func main() {
@@ -37,11 +38,16 @@ func main() {
     fmt.Println(hex.EncodeToString(h.Sum(nil)))
 }
 EOF
     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
 
 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
 
 @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
 
 @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
 @end verbatim
 
 @item
index 6c79acc4f0ece84765ee378882619e053acc5334..2fbbc3516ae579f23aeba22f71e858060a16058e 100755 (executable)
@@ -9,14 +9,28 @@ git clone . $tmp/gogost-$release
 cd $tmp/gogost-$release
 git checkout $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 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
 
 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 {} \;
 
 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 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
 
 
     @end itemize