Check-in [4168b04669]
Overview
Comment:Moved our patchwork to its own internal directories in preparation for a release cleanup
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 4168b0466967b3b6f0497a7b3731eeae989c30396154f2ca20c8d05b0ce4fb5a
User & Date: rkeene on 2018-07-02 07:20:44
Other Links: manifest | tags
Context
2018-07-02
07:22
A bit more cleanup check-in: 795a02cd06 user: rkeene tags: trunk
07:20
Moved our patchwork to its own internal directories in preparation for a release cleanup check-in: 4168b04669 user: rkeene tags: trunk
06:41
Restructuring to get rid of SUPERCOP reference, it is incorrect check-in: 1f76e42a02 user: rkeene tags: trunk
Changes

Modified .fossil-settings/ignore-glob from [bac52d47ba] to [a530363cf3].

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17


18


1
2
3
4
5
6
7
8
9
10
11
12
13




14
15

16
17













-
-
-
-
+
+
-
+
+
nano.so
nano.o
nano.syms
nano.tcl.h
Makefile
pkgIndex.tcl
aclocal.m4
config.guess
config.sub
configure
install-sh
config.log
config.status
blake2b/blake2b.o
blake2b/blake2b-ref-nacl.c
tweetnacl/tweetnacl.c
tweetnacl/tweetnacl.h
tweetnacl
build/tweetnacl/out
tweetnacl/tweetnacl.o
blake2b
build/blake2b/out

Modified Makefile.in from [995ac69c25] to [94758a3fc2].

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15


16
17
18
19
20


21
22
23

24
25
26
27
28
29
30
31
32
33


34
35
36


37
38
39
40
41
42
43

44
45
46

47
48
49
50
51
52
53
54

55
56
1
2
3
4
5
6
7
8

9
10
11
12


13
14
15
16
17


18
19
20
21

22
23
24
25
26
27
28
29
30


31
32
33


34
35
36
37
38
39
40
41

42

43

44

45
46


47
48
49
50
51
52








-




-
-
+
+



-
-
+
+


-
+








-
-
+
+

-
-
+
+






-
+
-

-
+
-


-
-



+


CC            := @CC@
CFLAGS        := @CFLAGS@ @SHOBJFLAGS@
CPPFLAGS      := -I. -I@srcdir@/tweetnacl/ -I@srcdir@/blake2b/ -DNACL_ED25519_BLAKE2B=1 @CPPFLAGS@ @SHOBJCPPFLAGS@ @DEFS@
LDFLAGS       := @LDFLAGS@
LIBS          := @LIBS@
SHOBJLDFLAGS  := @SHOBJLDFLAGS@
srcdir        := @srcdir@
export CC CFLAGS CPPFLAGS
@SET_MAKE@

all: @EXTENSION_TARGET@

ifeq (@TCLEXT_BUILD@,shared)
@EXTENSION_TARGET@: @srcdir@/tweetnacl/tweetnacl.o @srcdir@/blake2b/blake2b.o nano.o Makefile
	$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $(SHOBJLDFLAGS) -o @EXTENSION_TARGET@ nano.o @srcdir@/tweetnacl/tweetnacl.o @srcdir@/blake2b/blake2b.o $(LIBS)
@EXTENSION_TARGET@: tweetnacl.o blake2b.o nano.o Makefile
	$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $(SHOBJLDFLAGS) -o @EXTENSION_TARGET@ nano.o tweetnacl.o blake2b.o $(LIBS)
	-@WEAKENSYMS@ @EXTENSION_TARGET@
	-@REMOVESYMS@ @EXTENSION_TARGET@
else
@EXTENSION_TARGET@: @srcdir@/tweetnacl/tweetnacl.o @srcdir@/blake2b/blake2b.o nano.o Makefile
	$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $(SHOBJLDFLAGS) -o @EXTENSION_TARGET@ nano.o tweetnacl/tweetnacl.o blake2b/blake2b.o $(LIBS)
@EXTENSION_TARGET@: tweetnacl.o blake2b.o nano.o Makefile
	$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $(SHOBJLDFLAGS) -o @EXTENSION_TARGET@ nano.o tweetnacl.o blake2b.o $(LIBS)
endif

nano.o: @srcdir@/nano.c nano.tcl.h Makefile
nano.o: @srcdir@/nano.c @srcdir@/tweetnacl/tweetnacl.h @srcdir@/blake2b/blake2.h nano.tcl.h Makefile
	$(CC) $(CPPFLAGS) $(CFLAGS) -o nano.o -c @srcdir@/nano.c

nano.tcl.h: @srcdir@/nano.tcl Makefile
	od -A n -v -t xC < '@srcdir@/nano.tcl' > nano.tcl.h.new.1
	sed 's@  *@@g;s@..@0x&, @g' < nano.tcl.h.new.1 > nano.tcl.h.new.2
	rm -f nano.tcl.h.new.1
	mv nano.tcl.h.new.2 nano.tcl.h

@srcdir@/tweetnacl/tweetnacl.o:
	$(MAKE) -C @srcdir@/tweetnacl tweetnacl.o
tweetnacl.o: @srcdir@/tweetnacl/tweetnacl.c @srcdir@/tweetnacl/tweetnacl.h
	$(CC) $(CPPFLAGS) $(CFLAGS) -o tweetnacl.o -c @srcdir@/tweetnacl/tweetnacl.c

@srcdir@/blake2b/blake2b.o:
	$(MAKE) -C @srcdir@/blake2b blake2b.o
blake2b.o: @srcdir@/blake2b/blake2b.c @srcdir@/blake2b/blake2.h @srcdir@/blake2b/blake2-impl.h
	$(CC) $(CPPFLAGS) $(CFLAGS) -o blake2b.o -c @srcdir@/blake2b/blake2b.c

test: @EXTENSION_TARGET@
	@srcdir@/build/test/test.tcl

clean:
	rm -f @EXTENSION_TARGET@ nano.o
	$(MAKE) -C @srcdir@/tweetnacl clean
	rm -f blake2b.o tweetnacl.o
	$(MAKE) -C @srcdir@/blake2b clean

distclean:
distclean: clean
	rm -f @EXTENSION_TARGET@ nano.o
	rm -f Makefile pkgIndex.tcl config.log config.status nano.syms
	rm -f nano.tcl.h
	$(MAKE) -C @srcdir@/tweetnacl distclean
	$(MAKE) -C @srcdir@/blake2b distclean

mrproper: distclean
	rm -f configure aclocal.m4 config.guess config.sub install-sh
	rm -rf tweetnacl blake2b

.PHONY: all test clean distclean mrproper

Modified autogen.sh from [426853af67] to [5275187d93].

72
73
74
75
76
77
78














72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92







+
+
+
+
+
+
+
+
+
+
+
+
+
+
	echo "automake failed" >&2
	exit 1
fi

autoconf

rm -rf autom4te.cache

set -e

# Assemble tweetnacl
make -C build/tweetnacl
rm -rf tweetnacl
mkdir tweetnacl
cp build/tweetnacl/out/* tweetnacl/

# Assemble blake2b
make -C build/blake2b
rm -rf blake2b
mkdir blake2b
cp build/blake2b/out/* blake2b/

Renamed and modified blake2b/Makefile [b148d945c1] to build/blake2b/Makefile [f2013095e9].

1

2
3


4
5
6









7
8
9
10


11
12
13
14


1

2
3
4



5
6
7
8
9
10
11
12
13
14
15


16
17
18
19
20

21
-
+
-

+
+
-
-
-
+
+
+
+
+
+
+
+
+


-
-
+
+



-
+
blake2b.o: blake2b-ref-nacl.c blake2-impl.h blake2.h
all: out/blake2b.c out/blake2.h out/blake2-impl.h
	$(CC) $(CPPFLAGS) $(CFLAGS) -o blake2b.o -c blake2b-ref-nacl.c

out/blake2b.c: src/blake2b-ref.c blake2-nacl.c
	mkdir -p out
blake2b-ref-nacl.c: blake2b-ref.c blake2-nacl.c
	rm -f blake2b-ref-nacl.c
	cat blake2b-ref.c blake2-nacl.c > blake2b-ref-nacl.c
	cat src/blake2b-ref.c blake2-nacl.c > out/blake2b.c

out/blake2.h: src/blake2.h blake2-nacl.h
	mkdir -p out
	cat src/blake2.h blake2-nacl.h > out/blake2.h

out/blake2-impl.h: src/blake2-impl.h
	mkdir -p out
	cp src/blake2-impl.h out

clean:
	rm -f blake2b-ref-nacl.c
	rm -f blake2b.o
	rm -f out/blake2b.c out/blake2.h out/blake2-impl.h
	-rmdir out

distclean: clean

.PHONY: clean distclean
.PHONY: all clean distclean

Renamed and modified blake2b/blake2-nacl.c [dc9825f995] to build/blake2b/blake2-nacl.c [41e5cf5dd8].

1
2

3
4
5
6
1

2
3
4
5
6

-
+




#if defined(NACL_ED25519_BLAKE2B)
int crypto_hash_blake2b( unsigned char *out, unsigned char *in, unsigned long long inlen )
int crypto_hash_blake2b( unsigned char *out, const unsigned char *in, unsigned long long inlen )
{
  return blake2b( out, BLAKE2B_OUTBYTES, in, inlen, NULL, 0 );
}
#endif

Renamed and modified blake2b/blake2-nacl.h [8986e1e5b4] to build/blake2b/blake2-nacl.h [25d1438790].




1
2
3
4
5
6
7
8
9









1
2
3
4
5
6
7
8

9
10
11
12
13
14
15
16
17
18
19
20
+
+
+





-



+
+
+
+
+
+
+
+
+
#if defined(NACL_ED25519_BLAKE2B)
#ifndef BLAKE2_NACL_H
#define BLAKE2_NACL_H 1
#define crypto_hash_PRIMITIVE "blake2b"
#define crypto_hash_BYTES crypto_hash_blake2b_BYTES
#define crypto_hash_IMPLEMENTATION crypto_hash_blake2b_IMPLEMENTATION
#define crypto_hash_VERSION crypto_hash_blake2b_VERSION
#define crypto_hash_blake2b_BYTES 64
extern int crypto_hash_blake2b(unsigned char *,const unsigned char *,unsigned long long);
#define crypto_hash_blake2b_VERSION "-"
#define crypto_hash_blake2b_IMPLEMENTATION "blake2b-ref"
#define crypto_hash crypto_hash_blake2b
#if defined(__cplusplus)
extern "C" {
#endif
int crypto_hash_blake2b(unsigned char *,const unsigned char *,unsigned long long);
#if defined(__cplusplus)
}
#endif
#endif
#endif

Name change from blake2b/blake2-impl.h to build/blake2b/src/blake2-impl.h.

Name change from blake2b/blake2.h to build/blake2b/src/blake2.h.

Name change from blake2b/blake2b-ref.c to build/blake2b/src/blake2b-ref.c.

Renamed and modified tweetnacl/Makefile [9e180a9dbc] to build/tweetnacl/Makefile [d736d17e3f].

1

2
3
4
5
6
7
8
9
10
11


12
13
14
15
16
17
18
19

20
21
22


23
24
25
26
27
28


29
30
31
32

1
2
3
4
5
6
7
8
9
10

11
12
13
14
15
16
17
18


19
20


21
22
23
24
25
26
27

28
29
30
31
32
33
-
+









-
+
+






-
-
+

-
-
+
+





-
+
+




all: tweetnacl.o
all: out/tweetnacl.c out/tweetnacl.h

tweetnacl.h.new: src/tweetnacl.h
	rm -f tweetnacl.h.new tweetnacl.h
	cp src/tweetnacl.h tweetnacl.h.new

tweetnacl.c.new: src/tweetnacl.c
	rm -f tweetnacl.c.new tweetnacl.c
	cp src/tweetnacl.c tweetnacl.c.new

tweetnacl.c: tweetnacl.c.new tweetnacl.h.new patches/tweetnacl-ed25519blake2b.diff patches/tweetnacl-derivepubkey.diff
out/tweetnacl.c: tweetnacl.c.new tweetnacl.h.new patches/tweetnacl-ed25519blake2b.diff patches/tweetnacl-derivepubkey.diff
	mkdir -p out
	rm -f tweetnacl.c tweetnacl.h
	patch -p1 < patches/tweetnacl-ed25519blake2b.diff || ( rm -f tweetnacl.c.new tweetnacl.h.new; exit 1 )
	patch -p1 < patches/tweetnacl-derivepubkey.diff || ( rm -f tweetnacl.c.new tweetnacl.h.new; exit 1 )
	rm -f tweetnacl.c.new.orig tweetnacl.h.new.orig
	mv tweetnacl.h.new tweetnacl.h
	mv tweetnacl.c.new tweetnacl.c

tweetnacl.h: tweetnacl.c
	mv tweetnacl.c out

tweetnacl.o: tweetnacl.c tweetnacl.h
	$(CC) $(CPPFLAGS) $(CFLAGS) -I../blake2b/ -o tweetnacl.o -c tweetnacl.c
out/tweetnacl.h: out/tweetnacl.c
	mv tweetnacl.h out

clean:
	rm -f tweetnacl.c.new.orig tweetnacl.h.new.orig
	rm -f tweetnacl.h.new tweetnacl.h
	rm -f tweetnacl.c.new tweetnacl.c
	rm -f tweetnacl.o
	rm -f out/tweetnacl.c out/tweetnacl.h
	-rmdir out

distclean: clean

.PHONY: all clean distclean

Name change from tweetnacl/patches/tweetnacl-derivepubkey.diff to build/tweetnacl/patches/tweetnacl-derivepubkey.diff.

Renamed and modified tweetnacl/patches/tweetnacl-ed25519blake2b.diff [5d9e8c11d3] to build/tweetnacl/patches/tweetnacl-ed25519blake2b.diff [df305f7e81].

54
55
56
57
58
59
60
61

62
63
64
65
54
55
56
57
58
59
60

61
62
63
64
65







-
+




+#ifndef NACL_ED25519_BLAKE2B
 #define crypto_hash_PRIMITIVE "sha512"
 #define crypto_hash crypto_hash_sha512
 #define crypto_hash_BYTES crypto_hash_sha512_BYTES
 #define crypto_hash_IMPLEMENTATION crypto_hash_sha512_IMPLEMENTATION
 #define crypto_hash_VERSION crypto_hash_sha512_VERSION
+#else
+#include "blake2-nacl.h"
+#include "blake2.h"
+#endif
 #define crypto_hash_sha512_tweet_BYTES 64
 extern int crypto_hash_sha512_tweet(unsigned char *,const unsigned char *,unsigned long long);
 #define crypto_hash_sha512_tweet_VERSION "-"

Name change from tweetnacl/src/tweetnacl.c to build/tweetnacl/src/tweetnacl.c.

Name change from tweetnacl/src/tweetnacl.h to build/tweetnacl/src/tweetnacl.h.

Modified nano.c from [1242d36c58] to [470015e0f0].

1
2
3
4
5
6
7
8
9

10
11
12
13
14
15
16
1
2
3
4
5
6
7
8

9
10
11
12
13
14
15
16








-
+







#include <stdint.h>
#include <limits.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <tcl.h>

#include "tweetnacl.h"
#include "blake2-nacl.h"
#include "blake2.h"

#define NANO_SECRET_KEY_LENGTH (crypto_sign_SECRETKEYBYTES - crypto_sign_PUBLICKEYBYTES)
#define NANO_PUBLIC_KEY_LENGTH (crypto_sign_PUBLICKEYBYTES)
#define TclNano_AttemptAlloc(x) ((void *) Tcl_AttemptAlloc(x))
#define TclNano_Free(x) Tcl_Free((char *) x)

#if defined(HAVE_GETRANDOM)