Fossil SCM

Merge recent enhancements from trunk.

drh 2017-03-01 21:57 fossil-2.1 merge
Commit 32ba35f3b02d67c6debc133518ebd90c845877eb
--- src/config.h
+++ src/config.h
@@ -38,10 +38,15 @@
3838
#endif
3939
4040
#ifdef HAVE_AUTOCONFIG_H
4141
#include "autoconfig.h"
4242
#endif
43
+
44
+/* Enable the hardened SHA1 implemenation by default */
45
+#ifndef FOSSIL_HARDENED_SHA1
46
+# define FOSSIL_HARDENED_SHA1 1
47
+#endif
4348
4449
#ifndef _RC_COMPILE_
4550
4651
/*
4752
** System header files used by all modules
@@ -168,10 +173,11 @@
168173
# endif
169174
#endif
170175
171176
#if !defined(_RC_COMPILE_) && !defined(SQLITE_AMALGAMATION)
172177
178
+#include <stdint.h>
173179
#include "sqlite3.h"
174180
175181
/*
176182
** On Solaris, getpass() will only return up to 8 characters. getpassphrase() returns up to 257.
177183
*/
178184
--- src/config.h
+++ src/config.h
@@ -38,10 +38,15 @@
38 #endif
39
40 #ifdef HAVE_AUTOCONFIG_H
41 #include "autoconfig.h"
42 #endif
 
 
 
 
 
43
44 #ifndef _RC_COMPILE_
45
46 /*
47 ** System header files used by all modules
@@ -168,10 +173,11 @@
168 # endif
169 #endif
170
171 #if !defined(_RC_COMPILE_) && !defined(SQLITE_AMALGAMATION)
172
 
173 #include "sqlite3.h"
174
175 /*
176 ** On Solaris, getpass() will only return up to 8 characters. getpassphrase() returns up to 257.
177 */
178
--- src/config.h
+++ src/config.h
@@ -38,10 +38,15 @@
38 #endif
39
40 #ifdef HAVE_AUTOCONFIG_H
41 #include "autoconfig.h"
42 #endif
43
44 /* Enable the hardened SHA1 implemenation by default */
45 #ifndef FOSSIL_HARDENED_SHA1
46 # define FOSSIL_HARDENED_SHA1 1
47 #endif
48
49 #ifndef _RC_COMPILE_
50
51 /*
52 ** System header files used by all modules
@@ -168,10 +173,11 @@
173 # endif
174 #endif
175
176 #if !defined(_RC_COMPILE_) && !defined(SQLITE_AMALGAMATION)
177
178 #include <stdint.h>
179 #include "sqlite3.h"
180
181 /*
182 ** On Solaris, getpass() will only return up to 8 characters. getpassphrase() returns up to 257.
183 */
184
+3
--- src/main.c
+++ src/main.c
@@ -935,10 +935,13 @@
935935
#if defined(FOSSIL_ENABLE_MINIZ)
936936
blob_appendf(pOut, "miniz %s, loaded %s\n", MZ_VERSION, mz_version());
937937
#else
938938
blob_appendf(pOut, "zlib %s, loaded %s\n", ZLIB_VERSION, zlibVersion());
939939
#endif
940
+#if FOSSIL_HARDENED_SHA1
941
+ blob_appendf(pOut, "hardened-SHA1 by Marc Stevens and Dan Shumow\n");
942
+#endif
940943
#if defined(FOSSIL_ENABLE_SSL)
941944
blob_appendf(pOut, "SSL (%s)\n", SSLeay_version(SSLEAY_VERSION));
942945
#endif
943946
#if defined(FOSSIL_HAVE_FUSEFS)
944947
blob_appendf(pOut, "libfuse %s, loaded %s\n", fusefs_inc_version(),
945948
--- src/main.c
+++ src/main.c
@@ -935,10 +935,13 @@
935 #if defined(FOSSIL_ENABLE_MINIZ)
936 blob_appendf(pOut, "miniz %s, loaded %s\n", MZ_VERSION, mz_version());
937 #else
938 blob_appendf(pOut, "zlib %s, loaded %s\n", ZLIB_VERSION, zlibVersion());
939 #endif
 
 
 
940 #if defined(FOSSIL_ENABLE_SSL)
941 blob_appendf(pOut, "SSL (%s)\n", SSLeay_version(SSLEAY_VERSION));
942 #endif
943 #if defined(FOSSIL_HAVE_FUSEFS)
944 blob_appendf(pOut, "libfuse %s, loaded %s\n", fusefs_inc_version(),
945
--- src/main.c
+++ src/main.c
@@ -935,10 +935,13 @@
935 #if defined(FOSSIL_ENABLE_MINIZ)
936 blob_appendf(pOut, "miniz %s, loaded %s\n", MZ_VERSION, mz_version());
937 #else
938 blob_appendf(pOut, "zlib %s, loaded %s\n", ZLIB_VERSION, zlibVersion());
939 #endif
940 #if FOSSIL_HARDENED_SHA1
941 blob_appendf(pOut, "hardened-SHA1 by Marc Stevens and Dan Shumow\n");
942 #endif
943 #if defined(FOSSIL_ENABLE_SSL)
944 blob_appendf(pOut, "SSL (%s)\n", SSLeay_version(SSLEAY_VERSION));
945 #endif
946 #if defined(FOSSIL_HAVE_FUSEFS)
947 blob_appendf(pOut, "libfuse %s, loaded %s\n", fusefs_inc_version(),
948
+12
--- src/main.mk
+++ src/main.mk
@@ -103,10 +103,11 @@
103103
$(SRCDIR)/rss.c \
104104
$(SRCDIR)/schema.c \
105105
$(SRCDIR)/search.c \
106106
$(SRCDIR)/setup.c \
107107
$(SRCDIR)/sha1.c \
108
+ $(SRCDIR)/sha1hard.c \
108109
$(SRCDIR)/sha3.c \
109110
$(SRCDIR)/shun.c \
110111
$(SRCDIR)/sitemap.c \
111112
$(SRCDIR)/skins.c \
112113
$(SRCDIR)/sqlcmd.c \
@@ -280,10 +281,11 @@
280281
$(OBJDIR)/rss_.c \
281282
$(OBJDIR)/schema_.c \
282283
$(OBJDIR)/search_.c \
283284
$(OBJDIR)/setup_.c \
284285
$(OBJDIR)/sha1_.c \
286
+ $(OBJDIR)/sha1hard_.c \
285287
$(OBJDIR)/sha3_.c \
286288
$(OBJDIR)/shun_.c \
287289
$(OBJDIR)/sitemap_.c \
288290
$(OBJDIR)/skins_.c \
289291
$(OBJDIR)/sqlcmd_.c \
@@ -406,10 +408,11 @@
406408
$(OBJDIR)/rss.o \
407409
$(OBJDIR)/schema.o \
408410
$(OBJDIR)/search.o \
409411
$(OBJDIR)/setup.o \
410412
$(OBJDIR)/sha1.o \
413
+ $(OBJDIR)/sha1hard.o \
411414
$(OBJDIR)/sha3.o \
412415
$(OBJDIR)/shun.o \
413416
$(OBJDIR)/sitemap.o \
414417
$(OBJDIR)/skins.o \
415418
$(OBJDIR)/sqlcmd.o \
@@ -693,10 +696,11 @@
693696
$(OBJDIR)/rss_.c:$(OBJDIR)/rss.h \
694697
$(OBJDIR)/schema_.c:$(OBJDIR)/schema.h \
695698
$(OBJDIR)/search_.c:$(OBJDIR)/search.h \
696699
$(OBJDIR)/setup_.c:$(OBJDIR)/setup.h \
697700
$(OBJDIR)/sha1_.c:$(OBJDIR)/sha1.h \
701
+ $(OBJDIR)/sha1hard_.c:$(OBJDIR)/sha1hard.h \
698702
$(OBJDIR)/sha3_.c:$(OBJDIR)/sha3.h \
699703
$(OBJDIR)/shun_.c:$(OBJDIR)/shun.h \
700704
$(OBJDIR)/sitemap_.c:$(OBJDIR)/sitemap.h \
701705
$(OBJDIR)/skins_.c:$(OBJDIR)/skins.h \
702706
$(OBJDIR)/sqlcmd_.c:$(OBJDIR)/sqlcmd.h \
@@ -1453,10 +1457,18 @@
14531457
14541458
$(OBJDIR)/sha1.o: $(OBJDIR)/sha1_.c $(OBJDIR)/sha1.h $(SRCDIR)/config.h
14551459
$(XTCC) -o $(OBJDIR)/sha1.o -c $(OBJDIR)/sha1_.c
14561460
14571461
$(OBJDIR)/sha1.h: $(OBJDIR)/headers
1462
+
1463
+$(OBJDIR)/sha1hard_.c: $(SRCDIR)/sha1hard.c $(OBJDIR)/translate
1464
+ $(OBJDIR)/translate $(SRCDIR)/sha1hard.c >$@
1465
+
1466
+$(OBJDIR)/sha1hard.o: $(OBJDIR)/sha1hard_.c $(OBJDIR)/sha1hard.h $(SRCDIR)/config.h
1467
+ $(XTCC) -o $(OBJDIR)/sha1hard.o -c $(OBJDIR)/sha1hard_.c
1468
+
1469
+$(OBJDIR)/sha1hard.h: $(OBJDIR)/headers
14581470
14591471
$(OBJDIR)/sha3_.c: $(SRCDIR)/sha3.c $(OBJDIR)/translate
14601472
$(OBJDIR)/translate $(SRCDIR)/sha3.c >$@
14611473
14621474
$(OBJDIR)/sha3.o: $(OBJDIR)/sha3_.c $(OBJDIR)/sha3.h $(SRCDIR)/config.h
14631475
--- src/main.mk
+++ src/main.mk
@@ -103,10 +103,11 @@
103 $(SRCDIR)/rss.c \
104 $(SRCDIR)/schema.c \
105 $(SRCDIR)/search.c \
106 $(SRCDIR)/setup.c \
107 $(SRCDIR)/sha1.c \
 
108 $(SRCDIR)/sha3.c \
109 $(SRCDIR)/shun.c \
110 $(SRCDIR)/sitemap.c \
111 $(SRCDIR)/skins.c \
112 $(SRCDIR)/sqlcmd.c \
@@ -280,10 +281,11 @@
280 $(OBJDIR)/rss_.c \
281 $(OBJDIR)/schema_.c \
282 $(OBJDIR)/search_.c \
283 $(OBJDIR)/setup_.c \
284 $(OBJDIR)/sha1_.c \
 
285 $(OBJDIR)/sha3_.c \
286 $(OBJDIR)/shun_.c \
287 $(OBJDIR)/sitemap_.c \
288 $(OBJDIR)/skins_.c \
289 $(OBJDIR)/sqlcmd_.c \
@@ -406,10 +408,11 @@
406 $(OBJDIR)/rss.o \
407 $(OBJDIR)/schema.o \
408 $(OBJDIR)/search.o \
409 $(OBJDIR)/setup.o \
410 $(OBJDIR)/sha1.o \
 
411 $(OBJDIR)/sha3.o \
412 $(OBJDIR)/shun.o \
413 $(OBJDIR)/sitemap.o \
414 $(OBJDIR)/skins.o \
415 $(OBJDIR)/sqlcmd.o \
@@ -693,10 +696,11 @@
693 $(OBJDIR)/rss_.c:$(OBJDIR)/rss.h \
694 $(OBJDIR)/schema_.c:$(OBJDIR)/schema.h \
695 $(OBJDIR)/search_.c:$(OBJDIR)/search.h \
696 $(OBJDIR)/setup_.c:$(OBJDIR)/setup.h \
697 $(OBJDIR)/sha1_.c:$(OBJDIR)/sha1.h \
 
698 $(OBJDIR)/sha3_.c:$(OBJDIR)/sha3.h \
699 $(OBJDIR)/shun_.c:$(OBJDIR)/shun.h \
700 $(OBJDIR)/sitemap_.c:$(OBJDIR)/sitemap.h \
701 $(OBJDIR)/skins_.c:$(OBJDIR)/skins.h \
702 $(OBJDIR)/sqlcmd_.c:$(OBJDIR)/sqlcmd.h \
@@ -1453,10 +1457,18 @@
1453
1454 $(OBJDIR)/sha1.o: $(OBJDIR)/sha1_.c $(OBJDIR)/sha1.h $(SRCDIR)/config.h
1455 $(XTCC) -o $(OBJDIR)/sha1.o -c $(OBJDIR)/sha1_.c
1456
1457 $(OBJDIR)/sha1.h: $(OBJDIR)/headers
 
 
 
 
 
 
 
 
1458
1459 $(OBJDIR)/sha3_.c: $(SRCDIR)/sha3.c $(OBJDIR)/translate
1460 $(OBJDIR)/translate $(SRCDIR)/sha3.c >$@
1461
1462 $(OBJDIR)/sha3.o: $(OBJDIR)/sha3_.c $(OBJDIR)/sha3.h $(SRCDIR)/config.h
1463
--- src/main.mk
+++ src/main.mk
@@ -103,10 +103,11 @@
103 $(SRCDIR)/rss.c \
104 $(SRCDIR)/schema.c \
105 $(SRCDIR)/search.c \
106 $(SRCDIR)/setup.c \
107 $(SRCDIR)/sha1.c \
108 $(SRCDIR)/sha1hard.c \
109 $(SRCDIR)/sha3.c \
110 $(SRCDIR)/shun.c \
111 $(SRCDIR)/sitemap.c \
112 $(SRCDIR)/skins.c \
113 $(SRCDIR)/sqlcmd.c \
@@ -280,10 +281,11 @@
281 $(OBJDIR)/rss_.c \
282 $(OBJDIR)/schema_.c \
283 $(OBJDIR)/search_.c \
284 $(OBJDIR)/setup_.c \
285 $(OBJDIR)/sha1_.c \
286 $(OBJDIR)/sha1hard_.c \
287 $(OBJDIR)/sha3_.c \
288 $(OBJDIR)/shun_.c \
289 $(OBJDIR)/sitemap_.c \
290 $(OBJDIR)/skins_.c \
291 $(OBJDIR)/sqlcmd_.c \
@@ -406,10 +408,11 @@
408 $(OBJDIR)/rss.o \
409 $(OBJDIR)/schema.o \
410 $(OBJDIR)/search.o \
411 $(OBJDIR)/setup.o \
412 $(OBJDIR)/sha1.o \
413 $(OBJDIR)/sha1hard.o \
414 $(OBJDIR)/sha3.o \
415 $(OBJDIR)/shun.o \
416 $(OBJDIR)/sitemap.o \
417 $(OBJDIR)/skins.o \
418 $(OBJDIR)/sqlcmd.o \
@@ -693,10 +696,11 @@
696 $(OBJDIR)/rss_.c:$(OBJDIR)/rss.h \
697 $(OBJDIR)/schema_.c:$(OBJDIR)/schema.h \
698 $(OBJDIR)/search_.c:$(OBJDIR)/search.h \
699 $(OBJDIR)/setup_.c:$(OBJDIR)/setup.h \
700 $(OBJDIR)/sha1_.c:$(OBJDIR)/sha1.h \
701 $(OBJDIR)/sha1hard_.c:$(OBJDIR)/sha1hard.h \
702 $(OBJDIR)/sha3_.c:$(OBJDIR)/sha3.h \
703 $(OBJDIR)/shun_.c:$(OBJDIR)/shun.h \
704 $(OBJDIR)/sitemap_.c:$(OBJDIR)/sitemap.h \
705 $(OBJDIR)/skins_.c:$(OBJDIR)/skins.h \
706 $(OBJDIR)/sqlcmd_.c:$(OBJDIR)/sqlcmd.h \
@@ -1453,10 +1457,18 @@
1457
1458 $(OBJDIR)/sha1.o: $(OBJDIR)/sha1_.c $(OBJDIR)/sha1.h $(SRCDIR)/config.h
1459 $(XTCC) -o $(OBJDIR)/sha1.o -c $(OBJDIR)/sha1_.c
1460
1461 $(OBJDIR)/sha1.h: $(OBJDIR)/headers
1462
1463 $(OBJDIR)/sha1hard_.c: $(SRCDIR)/sha1hard.c $(OBJDIR)/translate
1464 $(OBJDIR)/translate $(SRCDIR)/sha1hard.c >$@
1465
1466 $(OBJDIR)/sha1hard.o: $(OBJDIR)/sha1hard_.c $(OBJDIR)/sha1hard.h $(SRCDIR)/config.h
1467 $(XTCC) -o $(OBJDIR)/sha1hard.o -c $(OBJDIR)/sha1hard_.c
1468
1469 $(OBJDIR)/sha1hard.h: $(OBJDIR)/headers
1470
1471 $(OBJDIR)/sha3_.c: $(SRCDIR)/sha3.c $(OBJDIR)/translate
1472 $(OBJDIR)/translate $(SRCDIR)/sha3.c >$@
1473
1474 $(OBJDIR)/sha3.o: $(OBJDIR)/sha3_.c $(OBJDIR)/sha3.h $(SRCDIR)/config.h
1475
--- src/makeheaders.c
+++ src/makeheaders.c
@@ -1017,11 +1017,14 @@
10171017
/* printf("%04d: Type=%d nIf=%d [%.*s]\n",
10181018
pToken->nLine,pToken->eType,nIf,pToken->nText,
10191019
pToken->eType!=TT_Space ? pToken->zText : "<space>"); */
10201020
pToken->pComment = blockComment;
10211021
switch( pToken->eType ){
1022
- case TT_Comment:
1022
+ case TT_Comment: /*0123456789 12345678 */
1023
+ if( strncmp(pToken->zText, "/*MAKEHEADERS-STOP", 18)==0 ) return nErr;
1024
+ break;
1025
+
10231026
case TT_Space:
10241027
break;
10251028
10261029
case TT_BlockComment:
10271030
if( doc_flag ){
@@ -2181,10 +2184,12 @@
21812184
if( nArg==9 && strncmp(zArg,"INTERFACE",9)==0 ){
21822185
PushIfMacro(0,0,0,pToken->nLine,PS_Interface);
21832186
}else if( nArg==16 && strncmp(zArg,"EXPORT_INTERFACE",16)==0 ){
21842187
PushIfMacro(0,0,0,pToken->nLine,PS_Export);
21852188
}else if( nArg==15 && strncmp(zArg,"LOCAL_INTERFACE",15)==0 ){
2189
+ PushIfMacro(0,0,0,pToken->nLine,PS_Local);
2190
+ }else if( nArg==15 && strncmp(zArg,"MAKEHEADERS_STOPLOCAL_INTERFACE",15)==0 ){
21862191
PushIfMacro(0,0,0,pToken->nLine,PS_Local);
21872192
}else{
21882193
PushIfMacro(0,zArg,nArg,pToken->nLine,0);
21892194
}
21902195
}else if( nCmd==5 && strncmp(zCmd,"ifdef",5)==0 ){
21912196
--- src/makeheaders.c
+++ src/makeheaders.c
@@ -1017,11 +1017,14 @@
1017 /* printf("%04d: Type=%d nIf=%d [%.*s]\n",
1018 pToken->nLine,pToken->eType,nIf,pToken->nText,
1019 pToken->eType!=TT_Space ? pToken->zText : "<space>"); */
1020 pToken->pComment = blockComment;
1021 switch( pToken->eType ){
1022 case TT_Comment:
 
 
 
1023 case TT_Space:
1024 break;
1025
1026 case TT_BlockComment:
1027 if( doc_flag ){
@@ -2181,10 +2184,12 @@
2181 if( nArg==9 && strncmp(zArg,"INTERFACE",9)==0 ){
2182 PushIfMacro(0,0,0,pToken->nLine,PS_Interface);
2183 }else if( nArg==16 && strncmp(zArg,"EXPORT_INTERFACE",16)==0 ){
2184 PushIfMacro(0,0,0,pToken->nLine,PS_Export);
2185 }else if( nArg==15 && strncmp(zArg,"LOCAL_INTERFACE",15)==0 ){
 
 
2186 PushIfMacro(0,0,0,pToken->nLine,PS_Local);
2187 }else{
2188 PushIfMacro(0,zArg,nArg,pToken->nLine,0);
2189 }
2190 }else if( nCmd==5 && strncmp(zCmd,"ifdef",5)==0 ){
2191
--- src/makeheaders.c
+++ src/makeheaders.c
@@ -1017,11 +1017,14 @@
1017 /* printf("%04d: Type=%d nIf=%d [%.*s]\n",
1018 pToken->nLine,pToken->eType,nIf,pToken->nText,
1019 pToken->eType!=TT_Space ? pToken->zText : "<space>"); */
1020 pToken->pComment = blockComment;
1021 switch( pToken->eType ){
1022 case TT_Comment: /*0123456789 12345678 */
1023 if( strncmp(pToken->zText, "/*MAKEHEADERS-STOP", 18)==0 ) return nErr;
1024 break;
1025
1026 case TT_Space:
1027 break;
1028
1029 case TT_BlockComment:
1030 if( doc_flag ){
@@ -2181,10 +2184,12 @@
2184 if( nArg==9 && strncmp(zArg,"INTERFACE",9)==0 ){
2185 PushIfMacro(0,0,0,pToken->nLine,PS_Interface);
2186 }else if( nArg==16 && strncmp(zArg,"EXPORT_INTERFACE",16)==0 ){
2187 PushIfMacro(0,0,0,pToken->nLine,PS_Export);
2188 }else if( nArg==15 && strncmp(zArg,"LOCAL_INTERFACE",15)==0 ){
2189 PushIfMacro(0,0,0,pToken->nLine,PS_Local);
2190 }else if( nArg==15 && strncmp(zArg,"MAKEHEADERS_STOPLOCAL_INTERFACE",15)==0 ){
2191 PushIfMacro(0,0,0,pToken->nLine,PS_Local);
2192 }else{
2193 PushIfMacro(0,zArg,nArg,pToken->nLine,0);
2194 }
2195 }else if( nCmd==5 && strncmp(zCmd,"ifdef",5)==0 ){
2196
--- src/makemake.tcl
+++ src/makemake.tcl
@@ -108,10 +108,11 @@
108108
rss
109109
schema
110110
search
111111
setup
112112
sha1
113
+ sha1hard
113114
sha3
114115
shun
115116
sitemap
116117
skins
117118
sqlcmd
118119
--- src/makemake.tcl
+++ src/makemake.tcl
@@ -108,10 +108,11 @@
108 rss
109 schema
110 search
111 setup
112 sha1
 
113 sha3
114 shun
115 sitemap
116 skins
117 sqlcmd
118
--- src/makemake.tcl
+++ src/makemake.tcl
@@ -108,10 +108,11 @@
108 rss
109 schema
110 search
111 setup
112 sha1
113 sha1hard
114 sha3
115 shun
116 sitemap
117 skins
118 sqlcmd
119
--- src/rebuild.c
+++ src/rebuild.c
@@ -342,11 +342,10 @@
342342
** construct a sane repository.
343343
*/
344344
int rebuild_db(int randomize, int doOut, int doClustering){
345345
Stmt s, q;
346346
int errCnt = 0;
347
- char *zTable;
348347
int incrSize;
349348
Blob sql;
350349
351350
bag_init(&bagDone);
352351
ttyOutput = doOut;
353352
--- src/rebuild.c
+++ src/rebuild.c
@@ -342,11 +342,10 @@
342 ** construct a sane repository.
343 */
344 int rebuild_db(int randomize, int doOut, int doClustering){
345 Stmt s, q;
346 int errCnt = 0;
347 char *zTable;
348 int incrSize;
349 Blob sql;
350
351 bag_init(&bagDone);
352 ttyOutput = doOut;
353
--- src/rebuild.c
+++ src/rebuild.c
@@ -342,11 +342,10 @@
342 ** construct a sane repository.
343 */
344 int rebuild_db(int randomize, int doOut, int doClustering){
345 Stmt s, q;
346 int errCnt = 0;
 
347 int incrSize;
348 Blob sql;
349
350 bag_init(&bagDone);
351 ttyOutput = doOut;
352
+56 -4
--- src/sha1.c
+++ src/sha1.c
@@ -17,22 +17,72 @@
1717
**
1818
** This implementation of SHA1.
1919
*/
2020
#include "config.h"
2121
#include <sys/types.h>
22
+#include <stdint.h>
2223
#include "sha1.h"
2324
24
-#ifdef FOSSIL_ENABLE_SSL
25
+
26
+/*
27
+** SHA1 Implementation #1 is the hardened SHA1 implementation by
28
+** Marc Stevens. Code obtained from GitHub
29
+**
30
+** https://github.com/cr-marcstevens/sha1collisiondetection
31
+**
32
+** Downloaded on 2017-03-01 then repackaged to work with Fossil
33
+** and makeheaders.
34
+*/
35
+#if FOSSIL_HARDENED_SHA1
36
+
37
+#if INTERFACE
38
+typedef void(*collision_block_callback)(uint64_t, const uint32_t*, const uint32_t*, const uint32_t*, const uint32_t*);
39
+struct SHA1_CTX {
40
+ uint64_t total;
41
+ uint32_t ihv[5];
42
+ unsigned char buffer[64];
43
+ int bigendian;
44
+ int found_collision;
45
+ int safe_hash;
46
+ int detect_coll;
47
+ int ubc_check;
48
+ int reduced_round_coll;
49
+ collision_block_callback callback;
50
+
51
+ uint32_t ihv1[5];
52
+ uint32_t ihv2[5];
53
+ uint32_t m1[80];
54
+ uint32_t m2[80];
55
+ uint32_t states[80][5];
56
+};
57
+#endif
58
+void SHA1DCInit(SHA1_CTX*);
59
+void SHA1DCUpdate(SHA1_CTX*, const char*, unsigned);
60
+int SHA1DCFinal(unsigned char[20], SHA1_CTX*);
61
+
62
+#define SHA1Context SHA1_CTX
63
+#define SHA1Init SHA1DCInit
64
+#define SHA1Update SHA1DCUpdate
65
+#define SHA1Final SHA1DCFinal
66
+
67
+/*
68
+** SHA1 Implemenatation #2: use the SHA1 algorithm built into SSL
69
+*/
70
+#elif defined(FOSSIL_ENABLE_SSL)
2571
2672
# include <openssl/sha.h>
2773
# define SHA1Context SHA_CTX
2874
# define SHA1Init SHA1_Init
2975
# define SHA1Update SHA1_Update
3076
# define SHA1Final SHA1_Final
3177
78
+/*
79
+** SHA1 Implemenatation #3: If none of the previous two SHA1
80
+** algorithms work, there is this built-in. This built-in was the
81
+** original implementation used by Fossil.
82
+*/
3283
#else
33
-
3484
/*
3585
** The SHA1 implementation below is adapted from:
3686
**
3787
** $NetBSD: sha1.c,v 1.6 2009/11/06 20:31:18 joerg Exp $
3888
** $OpenBSD: sha1.c,v 1.9 1997/07/23 21:12:32 kstailey Exp $
@@ -69,10 +119,13 @@
69119
/* Generic C equivalent */
70120
#define SHA_ROT(x,l,r) ((x) << (l) | (x) >> (r))
71121
#define rol(x,k) SHA_ROT(x,k,32-(k))
72122
#define ror(x,k) SHA_ROT(x,32-(k),k)
73123
#endif
124
+
125
+
126
+
74127
75128
76129
#define blk0le(i) (block[i] = (ror(block[i],8)&0xFF00FF00) \
77130
|(rol(block[i],8)&0x00FF00FF))
78131
#define blk0be(i) block[i]
@@ -223,12 +276,11 @@
223276
for (i = 0; i < 20; i++)
224277
digest[i] = (unsigned char)
225278
((context->state[i>>2] >> ((3-(i & 3)) * 8) ) & 255);
226279
}
227280
}
228
-#endif
229
-
281
+#endif /* Built-in SHA1 implemenation */
230282
231283
/*
232284
** Convert a digest into base-16. digest should be declared as
233285
** "unsigned char digest[20]" in the calling function. The SHA1
234286
** digest is stored in the first 20 bytes. zBuf should
235287
236288
ADDED src/sha1hard.c
--- src/sha1.c
+++ src/sha1.c
@@ -17,22 +17,72 @@
17 **
18 ** This implementation of SHA1.
19 */
20 #include "config.h"
21 #include <sys/types.h>
 
22 #include "sha1.h"
23
24 #ifdef FOSSIL_ENABLE_SSL
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25
26 # include <openssl/sha.h>
27 # define SHA1Context SHA_CTX
28 # define SHA1Init SHA1_Init
29 # define SHA1Update SHA1_Update
30 # define SHA1Final SHA1_Final
31
 
 
 
 
 
32 #else
33
34 /*
35 ** The SHA1 implementation below is adapted from:
36 **
37 ** $NetBSD: sha1.c,v 1.6 2009/11/06 20:31:18 joerg Exp $
38 ** $OpenBSD: sha1.c,v 1.9 1997/07/23 21:12:32 kstailey Exp $
@@ -69,10 +119,13 @@
69 /* Generic C equivalent */
70 #define SHA_ROT(x,l,r) ((x) << (l) | (x) >> (r))
71 #define rol(x,k) SHA_ROT(x,k,32-(k))
72 #define ror(x,k) SHA_ROT(x,32-(k),k)
73 #endif
 
 
 
74
75
76 #define blk0le(i) (block[i] = (ror(block[i],8)&0xFF00FF00) \
77 |(rol(block[i],8)&0x00FF00FF))
78 #define blk0be(i) block[i]
@@ -223,12 +276,11 @@
223 for (i = 0; i < 20; i++)
224 digest[i] = (unsigned char)
225 ((context->state[i>>2] >> ((3-(i & 3)) * 8) ) & 255);
226 }
227 }
228 #endif
229
230
231 /*
232 ** Convert a digest into base-16. digest should be declared as
233 ** "unsigned char digest[20]" in the calling function. The SHA1
234 ** digest is stored in the first 20 bytes. zBuf should
235
236 DDED src/sha1hard.c
--- src/sha1.c
+++ src/sha1.c
@@ -17,22 +17,72 @@
17 **
18 ** This implementation of SHA1.
19 */
20 #include "config.h"
21 #include <sys/types.h>
22 #include <stdint.h>
23 #include "sha1.h"
24
25
26 /*
27 ** SHA1 Implementation #1 is the hardened SHA1 implementation by
28 ** Marc Stevens. Code obtained from GitHub
29 **
30 ** https://github.com/cr-marcstevens/sha1collisiondetection
31 **
32 ** Downloaded on 2017-03-01 then repackaged to work with Fossil
33 ** and makeheaders.
34 */
35 #if FOSSIL_HARDENED_SHA1
36
37 #if INTERFACE
38 typedef void(*collision_block_callback)(uint64_t, const uint32_t*, const uint32_t*, const uint32_t*, const uint32_t*);
39 struct SHA1_CTX {
40 uint64_t total;
41 uint32_t ihv[5];
42 unsigned char buffer[64];
43 int bigendian;
44 int found_collision;
45 int safe_hash;
46 int detect_coll;
47 int ubc_check;
48 int reduced_round_coll;
49 collision_block_callback callback;
50
51 uint32_t ihv1[5];
52 uint32_t ihv2[5];
53 uint32_t m1[80];
54 uint32_t m2[80];
55 uint32_t states[80][5];
56 };
57 #endif
58 void SHA1DCInit(SHA1_CTX*);
59 void SHA1DCUpdate(SHA1_CTX*, const char*, unsigned);
60 int SHA1DCFinal(unsigned char[20], SHA1_CTX*);
61
62 #define SHA1Context SHA1_CTX
63 #define SHA1Init SHA1DCInit
64 #define SHA1Update SHA1DCUpdate
65 #define SHA1Final SHA1DCFinal
66
67 /*
68 ** SHA1 Implemenatation #2: use the SHA1 algorithm built into SSL
69 */
70 #elif defined(FOSSIL_ENABLE_SSL)
71
72 # include <openssl/sha.h>
73 # define SHA1Context SHA_CTX
74 # define SHA1Init SHA1_Init
75 # define SHA1Update SHA1_Update
76 # define SHA1Final SHA1_Final
77
78 /*
79 ** SHA1 Implemenatation #3: If none of the previous two SHA1
80 ** algorithms work, there is this built-in. This built-in was the
81 ** original implementation used by Fossil.
82 */
83 #else
 
84 /*
85 ** The SHA1 implementation below is adapted from:
86 **
87 ** $NetBSD: sha1.c,v 1.6 2009/11/06 20:31:18 joerg Exp $
88 ** $OpenBSD: sha1.c,v 1.9 1997/07/23 21:12:32 kstailey Exp $
@@ -69,10 +119,13 @@
119 /* Generic C equivalent */
120 #define SHA_ROT(x,l,r) ((x) << (l) | (x) >> (r))
121 #define rol(x,k) SHA_ROT(x,k,32-(k))
122 #define ror(x,k) SHA_ROT(x,32-(k),k)
123 #endif
124
125
126
127
128
129 #define blk0le(i) (block[i] = (ror(block[i],8)&0xFF00FF00) \
130 |(rol(block[i],8)&0x00FF00FF))
131 #define blk0be(i) block[i]
@@ -223,12 +276,11 @@
276 for (i = 0; i < 20; i++)
277 digest[i] = (unsigned char)
278 ((context->state[i>>2] >> ((3-(i & 3)) * 8) ) & 255);
279 }
280 }
281 #endif /* Built-in SHA1 implemenation */
 
282
283 /*
284 ** Convert a digest into base-16. digest should be declared as
285 ** "unsigned char digest[20]" in the calling function. The SHA1
286 ** digest is stored in the first 20 bytes. zBuf should
287
288 DDED src/sha1hard.c
--- a/src/sha1hard.c
+++ b/src/sha1hard.c
@@ -0,0 +1 @@
1
+i (const char*)(sha1_padding)"config.h"
--- a/src/sha1hard.c
+++ b/src/sha1hard.c
@@ -0,0 +1 @@
 
--- a/src/sha1hard.c
+++ b/src/sha1hard.c
@@ -0,0 +1 @@
1 i (const char*)(sha1_padding)"config.h"
-1
--- src/tar.c
+++ src/tar.c
@@ -476,11 +476,10 @@
476476
Manifest *pManifest;
477477
ManifestFile *pFile;
478478
Blob filename;
479479
int nPrefix;
480480
char *zName = 0;
481
- char *zUuid;
482481
unsigned int mTime;
483482
484483
content_get(rid, &mfile);
485484
if( blob_size(&mfile)==0 ){
486485
blob_zero(pTar);
487486
--- src/tar.c
+++ src/tar.c
@@ -476,11 +476,10 @@
476 Manifest *pManifest;
477 ManifestFile *pFile;
478 Blob filename;
479 int nPrefix;
480 char *zName = 0;
481 char *zUuid;
482 unsigned int mTime;
483
484 content_get(rid, &mfile);
485 if( blob_size(&mfile)==0 ){
486 blob_zero(pTar);
487
--- src/tar.c
+++ src/tar.c
@@ -476,11 +476,10 @@
476 Manifest *pManifest;
477 ManifestFile *pFile;
478 Blob filename;
479 int nPrefix;
480 char *zName = 0;
 
481 unsigned int mTime;
482
483 content_get(rid, &mfile);
484 if( blob_size(&mfile)==0 ){
485 blob_zero(pTar);
486
+1 -1
--- src/verify.c
+++ src/verify.c
@@ -34,11 +34,11 @@
3434
**
3535
** Panic if anything goes wrong. If this procedure returns it means
3636
** that everything is OK.
3737
*/
3838
static void verify_rid(int rid){
39
- Blob uuid, hash, content;
39
+ Blob uuid, content;
4040
if( content_size(rid, 0)<0 ){
4141
return; /* No way to verify phantoms */
4242
}
4343
blob_zero(&uuid);
4444
db_blob(&uuid, "SELECT uuid FROM blob WHERE rid=%d", rid);
4545
--- src/verify.c
+++ src/verify.c
@@ -34,11 +34,11 @@
34 **
35 ** Panic if anything goes wrong. If this procedure returns it means
36 ** that everything is OK.
37 */
38 static void verify_rid(int rid){
39 Blob uuid, hash, content;
40 if( content_size(rid, 0)<0 ){
41 return; /* No way to verify phantoms */
42 }
43 blob_zero(&uuid);
44 db_blob(&uuid, "SELECT uuid FROM blob WHERE rid=%d", rid);
45
--- src/verify.c
+++ src/verify.c
@@ -34,11 +34,11 @@
34 **
35 ** Panic if anything goes wrong. If this procedure returns it means
36 ** that everything is OK.
37 */
38 static void verify_rid(int rid){
39 Blob uuid, content;
40 if( content_size(rid, 0)<0 ){
41 return; /* No way to verify phantoms */
42 }
43 blob_zero(&uuid);
44 db_blob(&uuid, "SELECT uuid FROM blob WHERE rid=%d", rid);
45
--- src/vfile.c
+++ src/vfile.c
@@ -171,11 +171,10 @@
171171
** to see whether or not the edit was a null-edit.
172172
*/
173173
void vfile_check_signature(int vid, unsigned int cksigFlags){
174174
int nErr = 0;
175175
Stmt q;
176
- Blob fileCksum, origCksum;
177176
int useMtime = (cksigFlags & CKSIG_HASH)==0
178177
&& db_get_boolean("mtime-changes", 1);
179178
180179
db_begin_transaction();
181180
db_prepare(&q, "SELECT id, %Q || pathname,"
182181
--- src/vfile.c
+++ src/vfile.c
@@ -171,11 +171,10 @@
171 ** to see whether or not the edit was a null-edit.
172 */
173 void vfile_check_signature(int vid, unsigned int cksigFlags){
174 int nErr = 0;
175 Stmt q;
176 Blob fileCksum, origCksum;
177 int useMtime = (cksigFlags & CKSIG_HASH)==0
178 && db_get_boolean("mtime-changes", 1);
179
180 db_begin_transaction();
181 db_prepare(&q, "SELECT id, %Q || pathname,"
182
--- src/vfile.c
+++ src/vfile.c
@@ -171,11 +171,10 @@
171 ** to see whether or not the edit was a null-edit.
172 */
173 void vfile_check_signature(int vid, unsigned int cksigFlags){
174 int nErr = 0;
175 Stmt q;
 
176 int useMtime = (cksigFlags & CKSIG_HASH)==0
177 && db_get_boolean("mtime-changes", 1);
178
179 db_begin_transaction();
180 db_prepare(&q, "SELECT id, %Q || pathname,"
181
-1
--- src/xfer.c
+++ src/xfer.c
@@ -755,11 +755,10 @@
755755
** The type of hash computed (SHA1, SHA3-224, SHA3-256) is determined by
756756
** the length of the input hash in pHash.
757757
*/
758758
static int check_tail_hash(Blob *pHash, Blob *pMsg){
759759
Blob tail;
760
- Blob h2;
761760
int rc;
762761
blob_tail(pMsg, &tail);
763762
rc = hname_verify_hash(&tail, blob_buffer(pHash), blob_size(pHash));
764763
blob_reset(&tail);
765764
return rc==HNAME_ERROR;
766765
--- src/xfer.c
+++ src/xfer.c
@@ -755,11 +755,10 @@
755 ** The type of hash computed (SHA1, SHA3-224, SHA3-256) is determined by
756 ** the length of the input hash in pHash.
757 */
758 static int check_tail_hash(Blob *pHash, Blob *pMsg){
759 Blob tail;
760 Blob h2;
761 int rc;
762 blob_tail(pMsg, &tail);
763 rc = hname_verify_hash(&tail, blob_buffer(pHash), blob_size(pHash));
764 blob_reset(&tail);
765 return rc==HNAME_ERROR;
766
--- src/xfer.c
+++ src/xfer.c
@@ -755,11 +755,10 @@
755 ** The type of hash computed (SHA1, SHA3-224, SHA3-256) is determined by
756 ** the length of the input hash in pHash.
757 */
758 static int check_tail_hash(Blob *pHash, Blob *pMsg){
759 Blob tail;
 
760 int rc;
761 blob_tail(pMsg, &tail);
762 rc = hname_verify_hash(&tail, blob_buffer(pHash), blob_size(pHash));
763 blob_reset(&tail);
764 return rc==HNAME_ERROR;
765
+10 -4
--- win/Makefile.dmc
+++ win/Makefile.dmc
@@ -28,13 +28,13 @@
2828
2929
SQLITE_OPTIONS = -DNDEBUG=1 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5
3030
3131
SHELL_OPTIONS = -Dmain=sqlite3_shell -DSQLITE_SHELL_IS_UTF8=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=fossil_open -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen
3232
33
-SRC = add_.c allrepo_.c attach_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c dispatch_.c doc_.c encode_.c event_.c export_.c file_.c finfo_.c foci_.c fshell_.c fusefs_.c glob_.c graph_.c gzip_.c hname_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c loadctrl_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c piechart_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c report_.c rss_.c schema_.c search_.c setup_.c sha1_.c sha3_.c shun_.c sitemap_.c skins_.c sqlcmd_.c stash_.c stat_.c statrep_.c style_.c sync_.c tag_.c tar_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c unversioned_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c
33
+SRC = add_.c allrepo_.c attach_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c dispatch_.c doc_.c encode_.c event_.c export_.c file_.c finfo_.c foci_.c fshell_.c fusefs_.c glob_.c graph_.c gzip_.c hname_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c loadctrl_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c piechart_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c report_.c rss_.c schema_.c search_.c setup_.c sha1_.c sha1hard_.c sha3_.c shun_.c sitemap_.c skins_.c sqlcmd_.c stash_.c stat_.c statrep_.c style_.c sync_.c tag_.c tar_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c unversioned_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c
3434
35
-OBJ = $(OBJDIR)\add$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\builtin$O $(OBJDIR)\bundle$O $(OBJDIR)\cache$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\dispatch$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\loadctrl$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\piechart$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\setup$O $(OBJDIR)\sha1$O $(OBJDIR)\sha3$O $(OBJDIR)\shun$O $(OBJDIR)\sitemap$O $(OBJDIR)\skins$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\statrep$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$O $(OBJDIR)\unversioned$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\utf8$O $(OBJDIR)\util$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winfile$O $(OBJDIR)\winhttp$O $(OBJDIR)\wysiwyg$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O
35
+OBJ = $(OBJDIR)\add$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\builtin$O $(OBJDIR)\bundle$O $(OBJDIR)\cache$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\dispatch$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\loadctrl$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\piechart$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\setup$O $(OBJDIR)\sha1$O $(OBJDIR)\sha1hard$O $(OBJDIR)\sha3$O $(OBJDIR)\shun$O $(OBJDIR)\sitemap$O $(OBJDIR)\skins$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\statrep$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$O $(OBJDIR)\unversioned$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\utf8$O $(OBJDIR)\util$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winfile$O $(OBJDIR)\winhttp$O $(OBJDIR)\wysiwyg$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O
3636
3737
3838
RC=$(DMDIR)\bin\rcc
3939
RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__
4040
@@ -49,11 +49,11 @@
4949
5050
$(OBJDIR)\fossil.res: $B\win\fossil.rc
5151
$(RC) $(RCFLAGS) -o$@ $**
5252
5353
$(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res
54
- +echo add allrepo attach bag bisect blob branch browse builtin bundle cache captcha cgi checkin checkout clearsign clone comformat configure content db delta deltacmd descendants diff diffcmd dispatch doc encode event export file finfo foci fshell fusefs glob graph gzip hname http http_socket http_ssl http_transport import info json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf loadctrl login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path piechart pivot popen pqueue printf publish purge rebuild regexp report rss schema search setup sha1 sha3 shun sitemap skins sqlcmd stash stat statrep style sync tag tar th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@
54
+ +echo add allrepo attach bag bisect blob branch browse builtin bundle cache captcha cgi checkin checkout clearsign clone comformat configure content db delta deltacmd descendants diff diffcmd dispatch doc encode event export file finfo foci fshell fusefs glob graph gzip hname http http_socket http_ssl http_transport import info json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf loadctrl login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path piechart pivot popen pqueue printf publish purge rebuild regexp report rss schema search setup sha1 sha1hard sha3 shun sitemap skins sqlcmd stash stat statrep style sync tag tar th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@
5555
+echo fossil >> $@
5656
+echo fossil >> $@
5757
+echo $(LIBS) >> $@
5858
+echo. >> $@
5959
+echo fossil >> $@
@@ -662,10 +662,16 @@
662662
$(OBJDIR)\sha1$O : sha1_.c sha1.h
663663
$(TCC) -o$@ -c sha1_.c
664664
665665
sha1_.c : $(SRCDIR)\sha1.c
666666
+translate$E $** > $@
667
+
668
+$(OBJDIR)\sha1hard$O : sha1hard_.c sha1hard.h
669
+ $(TCC) -o$@ -c sha1hard_.c
670
+
671
+sha1hard_.c : $(SRCDIR)\sha1hard.c
672
+ +translate$E $** > $@
667673
668674
$(OBJDIR)\sha3$O : sha3_.c sha3.h
669675
$(TCC) -o$@ -c sha3_.c
670676
671677
sha3_.c : $(SRCDIR)\sha3.c
@@ -868,7 +874,7 @@
868874
869875
zip_.c : $(SRCDIR)\zip.c
870876
+translate$E $** > $@
871877
872878
headers: makeheaders$E page_index.h builtin_data.h VERSION.h
873
- +makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h builtin_.c:builtin.h bundle_.c:bundle.h cache_.c:cache.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h dispatch_.c:dispatch.h doc_.c:doc.h encode_.c:encode.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h foci_.c:foci.h fshell_.c:fshell.h fusefs_.c:fusefs.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h loadctrl_.c:loadctrl.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h piechart_.c:piechart.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h publish_.c:publish.h purge_.c:purge.h rebuild_.c:rebuild.h regexp_.c:regexp.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h setup_.c:setup.h sha1_.c:sha1.h sha3_.c:sha3.h shun_.c:shun.h sitemap_.c:sitemap.h skins_.c:skins.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h statrep_.c:statrep.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h unicode_.c:unicode.h unversioned_.c:unversioned.h update_.c:update.h url_.c:url.h user_.c:user.h utf8_.c:utf8.h util_.c:util.h verify_.c:verify.h vfile_.c:vfile.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winfile_.c:winfile.h winhttp_.c:winhttp.h wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h
879
+ +makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h builtin_.c:builtin.h bundle_.c:bundle.h cache_.c:cache.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h dispatch_.c:dispatch.h doc_.c:doc.h encode_.c:encode.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h foci_.c:foci.h fshell_.c:fshell.h fusefs_.c:fusefs.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h loadctrl_.c:loadctrl.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h piechart_.c:piechart.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h publish_.c:publish.h purge_.c:purge.h rebuild_.c:rebuild.h regexp_.c:regexp.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h setup_.c:setup.h sha1_.c:sha1.h sha1hard_.c:sha1hard.h sha3_.c:sha3.h shun_.c:shun.h sitemap_.c:sitemap.h skins_.c:skins.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h statrep_.c:statrep.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h unicode_.c:unicode.h unversioned_.c:unversioned.h update_.c:update.h url_.c:url.h user_.c:user.h utf8_.c:utf8.h util_.c:util.h verify_.c:verify.h vfile_.c:vfile.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winfile_.c:winfile.h winhttp_.c:winhttp.h wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h
874880
@copy /Y nul: headers
875881
--- win/Makefile.dmc
+++ win/Makefile.dmc
@@ -28,13 +28,13 @@
28
29 SQLITE_OPTIONS = -DNDEBUG=1 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5
30
31 SHELL_OPTIONS = -Dmain=sqlite3_shell -DSQLITE_SHELL_IS_UTF8=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=fossil_open -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen
32
33 SRC = add_.c allrepo_.c attach_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c dispatch_.c doc_.c encode_.c event_.c export_.c file_.c finfo_.c foci_.c fshell_.c fusefs_.c glob_.c graph_.c gzip_.c hname_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c loadctrl_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c piechart_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c report_.c rss_.c schema_.c search_.c setup_.c sha1_.c sha3_.c shun_.c sitemap_.c skins_.c sqlcmd_.c stash_.c stat_.c statrep_.c style_.c sync_.c tag_.c tar_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c unversioned_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c
34
35 OBJ = $(OBJDIR)\add$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\builtin$O $(OBJDIR)\bundle$O $(OBJDIR)\cache$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\dispatch$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\loadctrl$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\piechart$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\setup$O $(OBJDIR)\sha1$O $(OBJDIR)\sha3$O $(OBJDIR)\shun$O $(OBJDIR)\sitemap$O $(OBJDIR)\skins$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\statrep$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$O $(OBJDIR)\unversioned$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\utf8$O $(OBJDIR)\util$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winfile$O $(OBJDIR)\winhttp$O $(OBJDIR)\wysiwyg$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O
36
37
38 RC=$(DMDIR)\bin\rcc
39 RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__
40
@@ -49,11 +49,11 @@
49
50 $(OBJDIR)\fossil.res: $B\win\fossil.rc
51 $(RC) $(RCFLAGS) -o$@ $**
52
53 $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res
54 +echo add allrepo attach bag bisect blob branch browse builtin bundle cache captcha cgi checkin checkout clearsign clone comformat configure content db delta deltacmd descendants diff diffcmd dispatch doc encode event export file finfo foci fshell fusefs glob graph gzip hname http http_socket http_ssl http_transport import info json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf loadctrl login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path piechart pivot popen pqueue printf publish purge rebuild regexp report rss schema search setup sha1 sha3 shun sitemap skins sqlcmd stash stat statrep style sync tag tar th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@
55 +echo fossil >> $@
56 +echo fossil >> $@
57 +echo $(LIBS) >> $@
58 +echo. >> $@
59 +echo fossil >> $@
@@ -662,10 +662,16 @@
662 $(OBJDIR)\sha1$O : sha1_.c sha1.h
663 $(TCC) -o$@ -c sha1_.c
664
665 sha1_.c : $(SRCDIR)\sha1.c
666 +translate$E $** > $@
 
 
 
 
 
 
667
668 $(OBJDIR)\sha3$O : sha3_.c sha3.h
669 $(TCC) -o$@ -c sha3_.c
670
671 sha3_.c : $(SRCDIR)\sha3.c
@@ -868,7 +874,7 @@
868
869 zip_.c : $(SRCDIR)\zip.c
870 +translate$E $** > $@
871
872 headers: makeheaders$E page_index.h builtin_data.h VERSION.h
873 +makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h builtin_.c:builtin.h bundle_.c:bundle.h cache_.c:cache.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h dispatch_.c:dispatch.h doc_.c:doc.h encode_.c:encode.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h foci_.c:foci.h fshell_.c:fshell.h fusefs_.c:fusefs.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h loadctrl_.c:loadctrl.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h piechart_.c:piechart.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h publish_.c:publish.h purge_.c:purge.h rebuild_.c:rebuild.h regexp_.c:regexp.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h setup_.c:setup.h sha1_.c:sha1.h sha3_.c:sha3.h shun_.c:shun.h sitemap_.c:sitemap.h skins_.c:skins.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h statrep_.c:statrep.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h unicode_.c:unicode.h unversioned_.c:unversioned.h update_.c:update.h url_.c:url.h user_.c:user.h utf8_.c:utf8.h util_.c:util.h verify_.c:verify.h vfile_.c:vfile.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winfile_.c:winfile.h winhttp_.c:winhttp.h wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h
874 @copy /Y nul: headers
875
--- win/Makefile.dmc
+++ win/Makefile.dmc
@@ -28,13 +28,13 @@
28
29 SQLITE_OPTIONS = -DNDEBUG=1 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5
30
31 SHELL_OPTIONS = -Dmain=sqlite3_shell -DSQLITE_SHELL_IS_UTF8=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=fossil_open -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen
32
33 SRC = add_.c allrepo_.c attach_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c dispatch_.c doc_.c encode_.c event_.c export_.c file_.c finfo_.c foci_.c fshell_.c fusefs_.c glob_.c graph_.c gzip_.c hname_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c loadctrl_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c piechart_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c report_.c rss_.c schema_.c search_.c setup_.c sha1_.c sha1hard_.c sha3_.c shun_.c sitemap_.c skins_.c sqlcmd_.c stash_.c stat_.c statrep_.c style_.c sync_.c tag_.c tar_.c th_main_.c timeline_.c tkt_.c tktsetup_.c undo_.c unicode_.c unversioned_.c update_.c url_.c user_.c utf8_.c util_.c verify_.c vfile_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c
34
35 OBJ = $(OBJDIR)\add$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\bag$O $(OBJDIR)\bisect$O $(OBJDIR)\blob$O $(OBJDIR)\branch$O $(OBJDIR)\browse$O $(OBJDIR)\builtin$O $(OBJDIR)\bundle$O $(OBJDIR)\cache$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\dispatch$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\loadctrl$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\piechart$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\setup$O $(OBJDIR)\sha1$O $(OBJDIR)\sha1hard$O $(OBJDIR)\sha3$O $(OBJDIR)\shun$O $(OBJDIR)\sitemap$O $(OBJDIR)\skins$O $(OBJDIR)\sqlcmd$O $(OBJDIR)\stash$O $(OBJDIR)\stat$O $(OBJDIR)\statrep$O $(OBJDIR)\style$O $(OBJDIR)\sync$O $(OBJDIR)\tag$O $(OBJDIR)\tar$O $(OBJDIR)\th_main$O $(OBJDIR)\timeline$O $(OBJDIR)\tkt$O $(OBJDIR)\tktsetup$O $(OBJDIR)\undo$O $(OBJDIR)\unicode$O $(OBJDIR)\unversioned$O $(OBJDIR)\update$O $(OBJDIR)\url$O $(OBJDIR)\user$O $(OBJDIR)\utf8$O $(OBJDIR)\util$O $(OBJDIR)\verify$O $(OBJDIR)\vfile$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winfile$O $(OBJDIR)\winhttp$O $(OBJDIR)\wysiwyg$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O
36
37
38 RC=$(DMDIR)\bin\rcc
39 RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__
40
@@ -49,11 +49,11 @@
49
50 $(OBJDIR)\fossil.res: $B\win\fossil.rc
51 $(RC) $(RCFLAGS) -o$@ $**
52
53 $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res
54 +echo add allrepo attach bag bisect blob branch browse builtin bundle cache captcha cgi checkin checkout clearsign clone comformat configure content db delta deltacmd descendants diff diffcmd dispatch doc encode event export file finfo foci fshell fusefs glob graph gzip hname http http_socket http_ssl http_transport import info json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf loadctrl login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path piechart pivot popen pqueue printf publish purge rebuild regexp report rss schema search setup sha1 sha1hard sha3 shun sitemap skins sqlcmd stash stat statrep style sync tag tar th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@
55 +echo fossil >> $@
56 +echo fossil >> $@
57 +echo $(LIBS) >> $@
58 +echo. >> $@
59 +echo fossil >> $@
@@ -662,10 +662,16 @@
662 $(OBJDIR)\sha1$O : sha1_.c sha1.h
663 $(TCC) -o$@ -c sha1_.c
664
665 sha1_.c : $(SRCDIR)\sha1.c
666 +translate$E $** > $@
667
668 $(OBJDIR)\sha1hard$O : sha1hard_.c sha1hard.h
669 $(TCC) -o$@ -c sha1hard_.c
670
671 sha1hard_.c : $(SRCDIR)\sha1hard.c
672 +translate$E $** > $@
673
674 $(OBJDIR)\sha3$O : sha3_.c sha3.h
675 $(TCC) -o$@ -c sha3_.c
676
677 sha3_.c : $(SRCDIR)\sha3.c
@@ -868,7 +874,7 @@
874
875 zip_.c : $(SRCDIR)\zip.c
876 +translate$E $** > $@
877
878 headers: makeheaders$E page_index.h builtin_data.h VERSION.h
879 +makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.h bag_.c:bag.h bisect_.c:bisect.h blob_.c:blob.h branch_.c:branch.h browse_.c:browse.h builtin_.c:builtin.h bundle_.c:bundle.h cache_.c:cache.h captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h dispatch_.c:dispatch.h doc_.c:doc.h encode_.c:encode.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h foci_.c:foci.h fshell_.c:fshell.h fusefs_.c:fusefs.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h loadctrl_.c:loadctrl.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h piechart_.c:piechart.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h publish_.c:publish.h purge_.c:purge.h rebuild_.c:rebuild.h regexp_.c:regexp.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h setup_.c:setup.h sha1_.c:sha1.h sha1hard_.c:sha1hard.h sha3_.c:sha3.h shun_.c:shun.h sitemap_.c:sitemap.h skins_.c:skins.h sqlcmd_.c:sqlcmd.h stash_.c:stash.h stat_.c:stat.h statrep_.c:statrep.h style_.c:style.h sync_.c:sync.h tag_.c:tag.h tar_.c:tar.h th_main_.c:th_main.h timeline_.c:timeline.h tkt_.c:tkt.h tktsetup_.c:tktsetup.h undo_.c:undo.h unicode_.c:unicode.h unversioned_.c:unversioned.h update_.c:update.h url_.c:url.h user_.c:user.h utf8_.c:utf8.h util_.c:util.h verify_.c:verify.h vfile_.c:vfile.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winfile_.c:winfile.h winhttp_.c:winhttp.h wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h
880 @copy /Y nul: headers
881
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -512,10 +512,11 @@
512512
$(SRCDIR)/rss.c \
513513
$(SRCDIR)/schema.c \
514514
$(SRCDIR)/search.c \
515515
$(SRCDIR)/setup.c \
516516
$(SRCDIR)/sha1.c \
517
+ $(SRCDIR)/sha1hard.c \
517518
$(SRCDIR)/sha3.c \
518519
$(SRCDIR)/shun.c \
519520
$(SRCDIR)/sitemap.c \
520521
$(SRCDIR)/skins.c \
521522
$(SRCDIR)/sqlcmd.c \
@@ -689,10 +690,11 @@
689690
$(OBJDIR)/rss_.c \
690691
$(OBJDIR)/schema_.c \
691692
$(OBJDIR)/search_.c \
692693
$(OBJDIR)/setup_.c \
693694
$(OBJDIR)/sha1_.c \
695
+ $(OBJDIR)/sha1hard_.c \
694696
$(OBJDIR)/sha3_.c \
695697
$(OBJDIR)/shun_.c \
696698
$(OBJDIR)/sitemap_.c \
697699
$(OBJDIR)/skins_.c \
698700
$(OBJDIR)/sqlcmd_.c \
@@ -815,10 +817,11 @@
815817
$(OBJDIR)/rss.o \
816818
$(OBJDIR)/schema.o \
817819
$(OBJDIR)/search.o \
818820
$(OBJDIR)/setup.o \
819821
$(OBJDIR)/sha1.o \
822
+ $(OBJDIR)/sha1hard.o \
820823
$(OBJDIR)/sha3.o \
821824
$(OBJDIR)/shun.o \
822825
$(OBJDIR)/sitemap.o \
823826
$(OBJDIR)/skins.o \
824827
$(OBJDIR)/sqlcmd.o \
@@ -1152,10 +1155,11 @@
11521155
$(OBJDIR)/rss_.c:$(OBJDIR)/rss.h \
11531156
$(OBJDIR)/schema_.c:$(OBJDIR)/schema.h \
11541157
$(OBJDIR)/search_.c:$(OBJDIR)/search.h \
11551158
$(OBJDIR)/setup_.c:$(OBJDIR)/setup.h \
11561159
$(OBJDIR)/sha1_.c:$(OBJDIR)/sha1.h \
1160
+ $(OBJDIR)/sha1hard_.c:$(OBJDIR)/sha1hard.h \
11571161
$(OBJDIR)/sha3_.c:$(OBJDIR)/sha3.h \
11581162
$(OBJDIR)/shun_.c:$(OBJDIR)/shun.h \
11591163
$(OBJDIR)/sitemap_.c:$(OBJDIR)/sitemap.h \
11601164
$(OBJDIR)/skins_.c:$(OBJDIR)/skins.h \
11611165
$(OBJDIR)/sqlcmd_.c:$(OBJDIR)/sqlcmd.h \
@@ -1914,10 +1918,18 @@
19141918
19151919
$(OBJDIR)/sha1.o: $(OBJDIR)/sha1_.c $(OBJDIR)/sha1.h $(SRCDIR)/config.h
19161920
$(XTCC) -o $(OBJDIR)/sha1.o -c $(OBJDIR)/sha1_.c
19171921
19181922
$(OBJDIR)/sha1.h: $(OBJDIR)/headers
1923
+
1924
+$(OBJDIR)/sha1hard_.c: $(SRCDIR)/sha1hard.c $(TRANSLATE)
1925
+ $(TRANSLATE) $(SRCDIR)/sha1hard.c >$@
1926
+
1927
+$(OBJDIR)/sha1hard.o: $(OBJDIR)/sha1hard_.c $(OBJDIR)/sha1hard.h $(SRCDIR)/config.h
1928
+ $(XTCC) -o $(OBJDIR)/sha1hard.o -c $(OBJDIR)/sha1hard_.c
1929
+
1930
+$(OBJDIR)/sha1hard.h: $(OBJDIR)/headers
19191931
19201932
$(OBJDIR)/sha3_.c: $(SRCDIR)/sha3.c $(TRANSLATE)
19211933
$(TRANSLATE) $(SRCDIR)/sha3.c >$@
19221934
19231935
$(OBJDIR)/sha3.o: $(OBJDIR)/sha3_.c $(OBJDIR)/sha3.h $(SRCDIR)/config.h
19241936
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -512,10 +512,11 @@
512 $(SRCDIR)/rss.c \
513 $(SRCDIR)/schema.c \
514 $(SRCDIR)/search.c \
515 $(SRCDIR)/setup.c \
516 $(SRCDIR)/sha1.c \
 
517 $(SRCDIR)/sha3.c \
518 $(SRCDIR)/shun.c \
519 $(SRCDIR)/sitemap.c \
520 $(SRCDIR)/skins.c \
521 $(SRCDIR)/sqlcmd.c \
@@ -689,10 +690,11 @@
689 $(OBJDIR)/rss_.c \
690 $(OBJDIR)/schema_.c \
691 $(OBJDIR)/search_.c \
692 $(OBJDIR)/setup_.c \
693 $(OBJDIR)/sha1_.c \
 
694 $(OBJDIR)/sha3_.c \
695 $(OBJDIR)/shun_.c \
696 $(OBJDIR)/sitemap_.c \
697 $(OBJDIR)/skins_.c \
698 $(OBJDIR)/sqlcmd_.c \
@@ -815,10 +817,11 @@
815 $(OBJDIR)/rss.o \
816 $(OBJDIR)/schema.o \
817 $(OBJDIR)/search.o \
818 $(OBJDIR)/setup.o \
819 $(OBJDIR)/sha1.o \
 
820 $(OBJDIR)/sha3.o \
821 $(OBJDIR)/shun.o \
822 $(OBJDIR)/sitemap.o \
823 $(OBJDIR)/skins.o \
824 $(OBJDIR)/sqlcmd.o \
@@ -1152,10 +1155,11 @@
1152 $(OBJDIR)/rss_.c:$(OBJDIR)/rss.h \
1153 $(OBJDIR)/schema_.c:$(OBJDIR)/schema.h \
1154 $(OBJDIR)/search_.c:$(OBJDIR)/search.h \
1155 $(OBJDIR)/setup_.c:$(OBJDIR)/setup.h \
1156 $(OBJDIR)/sha1_.c:$(OBJDIR)/sha1.h \
 
1157 $(OBJDIR)/sha3_.c:$(OBJDIR)/sha3.h \
1158 $(OBJDIR)/shun_.c:$(OBJDIR)/shun.h \
1159 $(OBJDIR)/sitemap_.c:$(OBJDIR)/sitemap.h \
1160 $(OBJDIR)/skins_.c:$(OBJDIR)/skins.h \
1161 $(OBJDIR)/sqlcmd_.c:$(OBJDIR)/sqlcmd.h \
@@ -1914,10 +1918,18 @@
1914
1915 $(OBJDIR)/sha1.o: $(OBJDIR)/sha1_.c $(OBJDIR)/sha1.h $(SRCDIR)/config.h
1916 $(XTCC) -o $(OBJDIR)/sha1.o -c $(OBJDIR)/sha1_.c
1917
1918 $(OBJDIR)/sha1.h: $(OBJDIR)/headers
 
 
 
 
 
 
 
 
1919
1920 $(OBJDIR)/sha3_.c: $(SRCDIR)/sha3.c $(TRANSLATE)
1921 $(TRANSLATE) $(SRCDIR)/sha3.c >$@
1922
1923 $(OBJDIR)/sha3.o: $(OBJDIR)/sha3_.c $(OBJDIR)/sha3.h $(SRCDIR)/config.h
1924
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -512,10 +512,11 @@
512 $(SRCDIR)/rss.c \
513 $(SRCDIR)/schema.c \
514 $(SRCDIR)/search.c \
515 $(SRCDIR)/setup.c \
516 $(SRCDIR)/sha1.c \
517 $(SRCDIR)/sha1hard.c \
518 $(SRCDIR)/sha3.c \
519 $(SRCDIR)/shun.c \
520 $(SRCDIR)/sitemap.c \
521 $(SRCDIR)/skins.c \
522 $(SRCDIR)/sqlcmd.c \
@@ -689,10 +690,11 @@
690 $(OBJDIR)/rss_.c \
691 $(OBJDIR)/schema_.c \
692 $(OBJDIR)/search_.c \
693 $(OBJDIR)/setup_.c \
694 $(OBJDIR)/sha1_.c \
695 $(OBJDIR)/sha1hard_.c \
696 $(OBJDIR)/sha3_.c \
697 $(OBJDIR)/shun_.c \
698 $(OBJDIR)/sitemap_.c \
699 $(OBJDIR)/skins_.c \
700 $(OBJDIR)/sqlcmd_.c \
@@ -815,10 +817,11 @@
817 $(OBJDIR)/rss.o \
818 $(OBJDIR)/schema.o \
819 $(OBJDIR)/search.o \
820 $(OBJDIR)/setup.o \
821 $(OBJDIR)/sha1.o \
822 $(OBJDIR)/sha1hard.o \
823 $(OBJDIR)/sha3.o \
824 $(OBJDIR)/shun.o \
825 $(OBJDIR)/sitemap.o \
826 $(OBJDIR)/skins.o \
827 $(OBJDIR)/sqlcmd.o \
@@ -1152,10 +1155,11 @@
1155 $(OBJDIR)/rss_.c:$(OBJDIR)/rss.h \
1156 $(OBJDIR)/schema_.c:$(OBJDIR)/schema.h \
1157 $(OBJDIR)/search_.c:$(OBJDIR)/search.h \
1158 $(OBJDIR)/setup_.c:$(OBJDIR)/setup.h \
1159 $(OBJDIR)/sha1_.c:$(OBJDIR)/sha1.h \
1160 $(OBJDIR)/sha1hard_.c:$(OBJDIR)/sha1hard.h \
1161 $(OBJDIR)/sha3_.c:$(OBJDIR)/sha3.h \
1162 $(OBJDIR)/shun_.c:$(OBJDIR)/shun.h \
1163 $(OBJDIR)/sitemap_.c:$(OBJDIR)/sitemap.h \
1164 $(OBJDIR)/skins_.c:$(OBJDIR)/skins.h \
1165 $(OBJDIR)/sqlcmd_.c:$(OBJDIR)/sqlcmd.h \
@@ -1914,10 +1918,18 @@
1918
1919 $(OBJDIR)/sha1.o: $(OBJDIR)/sha1_.c $(OBJDIR)/sha1.h $(SRCDIR)/config.h
1920 $(XTCC) -o $(OBJDIR)/sha1.o -c $(OBJDIR)/sha1_.c
1921
1922 $(OBJDIR)/sha1.h: $(OBJDIR)/headers
1923
1924 $(OBJDIR)/sha1hard_.c: $(SRCDIR)/sha1hard.c $(TRANSLATE)
1925 $(TRANSLATE) $(SRCDIR)/sha1hard.c >$@
1926
1927 $(OBJDIR)/sha1hard.o: $(OBJDIR)/sha1hard_.c $(OBJDIR)/sha1hard.h $(SRCDIR)/config.h
1928 $(XTCC) -o $(OBJDIR)/sha1hard.o -c $(OBJDIR)/sha1hard_.c
1929
1930 $(OBJDIR)/sha1hard.h: $(OBJDIR)/headers
1931
1932 $(OBJDIR)/sha3_.c: $(SRCDIR)/sha3.c $(TRANSLATE)
1933 $(TRANSLATE) $(SRCDIR)/sha3.c >$@
1934
1935 $(OBJDIR)/sha3.o: $(OBJDIR)/sha3_.c $(OBJDIR)/sha3.h $(SRCDIR)/config.h
1936
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -437,10 +437,11 @@
437437
rss_.c \
438438
schema_.c \
439439
search_.c \
440440
setup_.c \
441441
sha1_.c \
442
+ sha1hard_.c \
442443
sha3_.c \
443444
shun_.c \
444445
sitemap_.c \
445446
skins_.c \
446447
sqlcmd_.c \
@@ -613,10 +614,11 @@
613614
$(OX)\rss$O \
614615
$(OX)\schema$O \
615616
$(OX)\search$O \
616617
$(OX)\setup$O \
617618
$(OX)\sha1$O \
619
+ $(OX)\sha1hard$O \
618620
$(OX)\sha3$O \
619621
$(OX)\shell$O \
620622
$(OX)\shun$O \
621623
$(OX)\sitemap$O \
622624
$(OX)\skins$O \
@@ -798,10 +800,11 @@
798800
echo $(OX)\rss.obj >> $@
799801
echo $(OX)\schema.obj >> $@
800802
echo $(OX)\search.obj >> $@
801803
echo $(OX)\setup.obj >> $@
802804
echo $(OX)\sha1.obj >> $@
805
+ echo $(OX)\sha1hard.obj >> $@
803806
echo $(OX)\sha3.obj >> $@
804807
echo $(OX)\shell.obj >> $@
805808
echo $(OX)\shun.obj >> $@
806809
echo $(OX)\sitemap.obj >> $@
807810
echo $(OX)\skins.obj >> $@
@@ -1487,10 +1490,16 @@
14871490
$(OX)\sha1$O : sha1_.c sha1.h
14881491
$(TCC) /Fo$@ -c sha1_.c
14891492
14901493
sha1_.c : $(SRCDIR)\sha1.c
14911494
translate$E $** > $@
1495
+
1496
+$(OX)\sha1hard$O : sha1hard_.c sha1hard.h
1497
+ $(TCC) /Fo$@ -c sha1hard_.c
1498
+
1499
+sha1hard_.c : $(SRCDIR)\sha1hard.c
1500
+ translate$E $** > $@
14921501
14931502
$(OX)\sha3$O : sha3_.c sha3.h
14941503
$(TCC) /Fo$@ -c sha3_.c
14951504
14961505
sha3_.c : $(SRCDIR)\sha3.c
@@ -1786,10 +1795,11 @@
17861795
rss_.c:rss.h \
17871796
schema_.c:schema.h \
17881797
search_.c:search.h \
17891798
setup_.c:setup.h \
17901799
sha1_.c:sha1.h \
1800
+ sha1hard_.c:sha1hard.h \
17911801
sha3_.c:sha3.h \
17921802
shun_.c:shun.h \
17931803
sitemap_.c:sitemap.h \
17941804
skins_.c:skins.h \
17951805
sqlcmd_.c:sqlcmd.h \
17961806
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -437,10 +437,11 @@
437 rss_.c \
438 schema_.c \
439 search_.c \
440 setup_.c \
441 sha1_.c \
 
442 sha3_.c \
443 shun_.c \
444 sitemap_.c \
445 skins_.c \
446 sqlcmd_.c \
@@ -613,10 +614,11 @@
613 $(OX)\rss$O \
614 $(OX)\schema$O \
615 $(OX)\search$O \
616 $(OX)\setup$O \
617 $(OX)\sha1$O \
 
618 $(OX)\sha3$O \
619 $(OX)\shell$O \
620 $(OX)\shun$O \
621 $(OX)\sitemap$O \
622 $(OX)\skins$O \
@@ -798,10 +800,11 @@
798 echo $(OX)\rss.obj >> $@
799 echo $(OX)\schema.obj >> $@
800 echo $(OX)\search.obj >> $@
801 echo $(OX)\setup.obj >> $@
802 echo $(OX)\sha1.obj >> $@
 
803 echo $(OX)\sha3.obj >> $@
804 echo $(OX)\shell.obj >> $@
805 echo $(OX)\shun.obj >> $@
806 echo $(OX)\sitemap.obj >> $@
807 echo $(OX)\skins.obj >> $@
@@ -1487,10 +1490,16 @@
1487 $(OX)\sha1$O : sha1_.c sha1.h
1488 $(TCC) /Fo$@ -c sha1_.c
1489
1490 sha1_.c : $(SRCDIR)\sha1.c
1491 translate$E $** > $@
 
 
 
 
 
 
1492
1493 $(OX)\sha3$O : sha3_.c sha3.h
1494 $(TCC) /Fo$@ -c sha3_.c
1495
1496 sha3_.c : $(SRCDIR)\sha3.c
@@ -1786,10 +1795,11 @@
1786 rss_.c:rss.h \
1787 schema_.c:schema.h \
1788 search_.c:search.h \
1789 setup_.c:setup.h \
1790 sha1_.c:sha1.h \
 
1791 sha3_.c:sha3.h \
1792 shun_.c:shun.h \
1793 sitemap_.c:sitemap.h \
1794 skins_.c:skins.h \
1795 sqlcmd_.c:sqlcmd.h \
1796
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -437,10 +437,11 @@
437 rss_.c \
438 schema_.c \
439 search_.c \
440 setup_.c \
441 sha1_.c \
442 sha1hard_.c \
443 sha3_.c \
444 shun_.c \
445 sitemap_.c \
446 skins_.c \
447 sqlcmd_.c \
@@ -613,10 +614,11 @@
614 $(OX)\rss$O \
615 $(OX)\schema$O \
616 $(OX)\search$O \
617 $(OX)\setup$O \
618 $(OX)\sha1$O \
619 $(OX)\sha1hard$O \
620 $(OX)\sha3$O \
621 $(OX)\shell$O \
622 $(OX)\shun$O \
623 $(OX)\sitemap$O \
624 $(OX)\skins$O \
@@ -798,10 +800,11 @@
800 echo $(OX)\rss.obj >> $@
801 echo $(OX)\schema.obj >> $@
802 echo $(OX)\search.obj >> $@
803 echo $(OX)\setup.obj >> $@
804 echo $(OX)\sha1.obj >> $@
805 echo $(OX)\sha1hard.obj >> $@
806 echo $(OX)\sha3.obj >> $@
807 echo $(OX)\shell.obj >> $@
808 echo $(OX)\shun.obj >> $@
809 echo $(OX)\sitemap.obj >> $@
810 echo $(OX)\skins.obj >> $@
@@ -1487,10 +1490,16 @@
1490 $(OX)\sha1$O : sha1_.c sha1.h
1491 $(TCC) /Fo$@ -c sha1_.c
1492
1493 sha1_.c : $(SRCDIR)\sha1.c
1494 translate$E $** > $@
1495
1496 $(OX)\sha1hard$O : sha1hard_.c sha1hard.h
1497 $(TCC) /Fo$@ -c sha1hard_.c
1498
1499 sha1hard_.c : $(SRCDIR)\sha1hard.c
1500 translate$E $** > $@
1501
1502 $(OX)\sha3$O : sha3_.c sha3.h
1503 $(TCC) /Fo$@ -c sha3_.c
1504
1505 sha3_.c : $(SRCDIR)\sha3.c
@@ -1786,10 +1795,11 @@
1795 rss_.c:rss.h \
1796 schema_.c:schema.h \
1797 search_.c:search.h \
1798 setup_.c:setup.h \
1799 sha1_.c:sha1.h \
1800 sha1hard_.c:sha1hard.h \
1801 sha3_.c:sha3.h \
1802 shun_.c:shun.h \
1803 sitemap_.c:sitemap.h \
1804 skins_.c:skins.h \
1805 sqlcmd_.c:sqlcmd.h \
1806
--- www/changes.wiki
+++ www/changes.wiki
@@ -1,13 +1,17 @@
11
<title>Change Log</title>
22
33
<a name='v2_0'></a>
4
-<h2>Changes for Version 2.0 (2017-03-??)</h2>
4
+<h2>Changes for Version 2.0 (2017-03-03)</h2>
55
6
- * Added support for SHA3 hashes used as
7
- [./fileformat.wiki#names|artifact names].
8
- * Added support for the [/help?cmd=sha3sum|sha3sum] command.
6
+ * Use the
7
+ [https://github.com/cr-marcstevens/sha1collisiondetection|hardened SHA1]
8
+ implemenation by Marc Stevens and Dan Shumow.
9
+ * Add the ability to read and understand
10
+ [./fileformat.wiki#names|artifact names] that are based on SHA3-256
11
+ rather than SHA1, but do not actually generate any such names.
12
+ * Added the [/help?cmd=sha3sum|sha3sum] command.
913
* Update the built-in SQLite to version 3.17.0.
1014
1115
<a name='v1_37'></a>
1216
<h2>Changes for Version 1.37 (2017-01-16)</h2>
1317
1418
--- www/changes.wiki
+++ www/changes.wiki
@@ -1,13 +1,17 @@
1 <title>Change Log</title>
2
3 <a name='v2_0'></a>
4 <h2>Changes for Version 2.0 (2017-03-??)</h2>
5
6 * Added support for SHA3 hashes used as
7 [./fileformat.wiki#names|artifact names].
8 * Added support for the [/help?cmd=sha3sum|sha3sum] command.
 
 
 
 
9 * Update the built-in SQLite to version 3.17.0.
10
11 <a name='v1_37'></a>
12 <h2>Changes for Version 1.37 (2017-01-16)</h2>
13
14
--- www/changes.wiki
+++ www/changes.wiki
@@ -1,13 +1,17 @@
1 <title>Change Log</title>
2
3 <a name='v2_0'></a>
4 <h2>Changes for Version 2.0 (2017-03-03)</h2>
5
6 * Use the
7 [https://github.com/cr-marcstevens/sha1collisiondetection|hardened SHA1]
8 implemenation by Marc Stevens and Dan Shumow.
9 * Add the ability to read and understand
10 [./fileformat.wiki#names|artifact names] that are based on SHA3-256
11 rather than SHA1, but do not actually generate any such names.
12 * Added the [/help?cmd=sha3sum|sha3sum] command.
13 * Update the built-in SQLite to version 3.17.0.
14
15 <a name='v1_37'></a>
16 <h2>Changes for Version 1.37 (2017-01-16)</h2>
17
18

Keyboard Shortcuts

Open search /
Next entry (timeline) j
Previous entry (timeline) k
Open focused entry Enter
Show this help ?
Toggle theme Top nav button