Fossil SCM

Use the hardened SHA1 hash function from [https://github.com/cr-marcstevens/sha1collisiondetection].

drh 2017-03-01 21:03 trunk
Commit ba9d10807e938305e3132a6028650ed8ea8f3bd1
--- src/config.h
+++ src/config.h
@@ -168,10 +168,11 @@
168168
# endif
169169
#endif
170170
171171
#if !defined(_RC_COMPILE_) && !defined(SQLITE_AMALGAMATION)
172172
173
+#include <stdint.h>
173174
#include "sqlite3.h"
174175
175176
/*
176177
** On Solaris, getpass() will only return up to 8 characters. getpassphrase() returns up to 257.
177178
*/
178179
--- src/config.h
+++ src/config.h
@@ -168,10 +168,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
@@ -168,10 +168,11 @@
168 # endif
169 #endif
170
171 #if !defined(_RC_COMPILE_) && !defined(SQLITE_AMALGAMATION)
172
173 #include <stdint.h>
174 #include "sqlite3.h"
175
176 /*
177 ** On Solaris, getpass() will only return up to 8 characters. getpassphrase() returns up to 257.
178 */
179
+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
+31 -206
--- src/sha1.c
+++ src/sha1.c
@@ -17,218 +17,43 @@
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
-# 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 $
39
-**
40
-** SHA-1 in C
41
-** By Steve Reid <[email protected]>
42
-** 100% Public Domain
43
-*/
44
-typedef struct SHA1Context SHA1Context;
45
-struct SHA1Context {
46
- unsigned int state[5];
47
- unsigned int count[2];
48
- unsigned char buffer[64];
49
-};
50
-
51
-/*
52
- * blk0() and blk() perform the initial expand.
53
- * I got the idea of expanding during the round function from SSLeay
54
- *
55
- * blk0le() for little-endian and blk0be() for big-endian.
56
- */
57
-#if __GNUC__ && (defined(__i386__) || defined(__x86_64__))
58
-/*
59
- * GCC by itself only generates left rotates. Use right rotates if
60
- * possible to be kinder to dinky implementations with iterative rotate
61
- * instructions.
62
- */
63
-#define SHA_ROT(op, x, k) \
64
- ({ unsigned int y; asm(op " %1,%0" : "=r" (y) : "I" (k), "0" (x)); y; })
65
-#define rol(x,k) SHA_ROT("roll", x, k)
66
-#define ror(x,k) SHA_ROT("rorl", x, k)
67
-
68
-#else
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]
79
-#define blk(i) (block[i&15] = rol(block[(i+13)&15]^block[(i+8)&15] \
80
- ^block[(i+2)&15]^block[i&15],1))
81
-
82
-/*
83
- * (R0+R1), R2, R3, R4 are the different operations (rounds) used in SHA1
84
- *
85
- * Rl0() for little-endian and Rb0() for big-endian. Endianness is
86
- * determined at run-time.
87
- */
88
-#define Rl0(v,w,x,y,z,i) \
89
- z+=((w&(x^y))^y)+blk0le(i)+0x5A827999+rol(v,5);w=ror(w,2);
90
-#define Rb0(v,w,x,y,z,i) \
91
- z+=((w&(x^y))^y)+blk0be(i)+0x5A827999+rol(v,5);w=ror(w,2);
92
-#define R1(v,w,x,y,z,i) \
93
- z+=((w&(x^y))^y)+blk(i)+0x5A827999+rol(v,5);w=ror(w,2);
94
-#define R2(v,w,x,y,z,i) \
95
- z+=(w^x^y)+blk(i)+0x6ED9EBA1+rol(v,5);w=ror(w,2);
96
-#define R3(v,w,x,y,z,i) \
97
- z+=(((w|x)&y)|(w&x))+blk(i)+0x8F1BBCDC+rol(v,5);w=ror(w,2);
98
-#define R4(v,w,x,y,z,i) \
99
- z+=(w^x^y)+blk(i)+0xCA62C1D6+rol(v,5);w=ror(w,2);
100
-
101
-/*
102
- * Hash a single 512-bit block. This is the core of the algorithm.
103
- */
104
-#define a qq[0]
105
-#define b qq[1]
106
-#define c qq[2]
107
-#define d qq[3]
108
-#define e qq[4]
109
-
110
-void SHA1Transform(unsigned int state[5], const unsigned char buffer[64])
111
-{
112
- unsigned int qq[5]; /* a, b, c, d, e; */
113
- static int one = 1;
114
- unsigned int block[16];
115
- memcpy(block, buffer, 64);
116
- memcpy(qq,state,5*sizeof(unsigned int));
117
-
118
- /* Copy context->state[] to working vars */
119
- /*
120
- a = state[0];
121
- b = state[1];
122
- c = state[2];
123
- d = state[3];
124
- e = state[4];
125
- */
126
-
127
- /* 4 rounds of 20 operations each. Loop unrolled. */
128
- if( 1 == *(unsigned char*)&one ){
129
- Rl0(a,b,c,d,e, 0); Rl0(e,a,b,c,d, 1); Rl0(d,e,a,b,c, 2); Rl0(c,d,e,a,b, 3);
130
- Rl0(b,c,d,e,a, 4); Rl0(a,b,c,d,e, 5); Rl0(e,a,b,c,d, 6); Rl0(d,e,a,b,c, 7);
131
- Rl0(c,d,e,a,b, 8); Rl0(b,c,d,e,a, 9); Rl0(a,b,c,d,e,10); Rl0(e,a,b,c,d,11);
132
- Rl0(d,e,a,b,c,12); Rl0(c,d,e,a,b,13); Rl0(b,c,d,e,a,14); Rl0(a,b,c,d,e,15);
133
- }else{
134
- Rb0(a,b,c,d,e, 0); Rb0(e,a,b,c,d, 1); Rb0(d,e,a,b,c, 2); Rb0(c,d,e,a,b, 3);
135
- Rb0(b,c,d,e,a, 4); Rb0(a,b,c,d,e, 5); Rb0(e,a,b,c,d, 6); Rb0(d,e,a,b,c, 7);
136
- Rb0(c,d,e,a,b, 8); Rb0(b,c,d,e,a, 9); Rb0(a,b,c,d,e,10); Rb0(e,a,b,c,d,11);
137
- Rb0(d,e,a,b,c,12); Rb0(c,d,e,a,b,13); Rb0(b,c,d,e,a,14); Rb0(a,b,c,d,e,15);
138
- }
139
- R1(e,a,b,c,d,16); R1(d,e,a,b,c,17); R1(c,d,e,a,b,18); R1(b,c,d,e,a,19);
140
- R2(a,b,c,d,e,20); R2(e,a,b,c,d,21); R2(d,e,a,b,c,22); R2(c,d,e,a,b,23);
141
- R2(b,c,d,e,a,24); R2(a,b,c,d,e,25); R2(e,a,b,c,d,26); R2(d,e,a,b,c,27);
142
- R2(c,d,e,a,b,28); R2(b,c,d,e,a,29); R2(a,b,c,d,e,30); R2(e,a,b,c,d,31);
143
- R2(d,e,a,b,c,32); R2(c,d,e,a,b,33); R2(b,c,d,e,a,34); R2(a,b,c,d,e,35);
144
- R2(e,a,b,c,d,36); R2(d,e,a,b,c,37); R2(c,d,e,a,b,38); R2(b,c,d,e,a,39);
145
- R3(a,b,c,d,e,40); R3(e,a,b,c,d,41); R3(d,e,a,b,c,42); R3(c,d,e,a,b,43);
146
- R3(b,c,d,e,a,44); R3(a,b,c,d,e,45); R3(e,a,b,c,d,46); R3(d,e,a,b,c,47);
147
- R3(c,d,e,a,b,48); R3(b,c,d,e,a,49); R3(a,b,c,d,e,50); R3(e,a,b,c,d,51);
148
- R3(d,e,a,b,c,52); R3(c,d,e,a,b,53); R3(b,c,d,e,a,54); R3(a,b,c,d,e,55);
149
- R3(e,a,b,c,d,56); R3(d,e,a,b,c,57); R3(c,d,e,a,b,58); R3(b,c,d,e,a,59);
150
- R4(a,b,c,d,e,60); R4(e,a,b,c,d,61); R4(d,e,a,b,c,62); R4(c,d,e,a,b,63);
151
- R4(b,c,d,e,a,64); R4(a,b,c,d,e,65); R4(e,a,b,c,d,66); R4(d,e,a,b,c,67);
152
- R4(c,d,e,a,b,68); R4(b,c,d,e,a,69); R4(a,b,c,d,e,70); R4(e,a,b,c,d,71);
153
- R4(d,e,a,b,c,72); R4(c,d,e,a,b,73); R4(b,c,d,e,a,74); R4(a,b,c,d,e,75);
154
- R4(e,a,b,c,d,76); R4(d,e,a,b,c,77); R4(c,d,e,a,b,78); R4(b,c,d,e,a,79);
155
-
156
- /* Add the working vars back into context.state[] */
157
- state[0] += a;
158
- state[1] += b;
159
- state[2] += c;
160
- state[3] += d;
161
- state[4] += e;
162
-}
163
-
164
-
165
-/*
166
- * SHA1Init - Initialize new context
167
- */
168
-static void SHA1Init(SHA1Context *context){
169
- /* SHA1 initialization constants */
170
- context->state[0] = 0x67452301;
171
- context->state[1] = 0xEFCDAB89;
172
- context->state[2] = 0x98BADCFE;
173
- context->state[3] = 0x10325476;
174
- context->state[4] = 0xC3D2E1F0;
175
- context->count[0] = context->count[1] = 0;
176
-}
177
-
178
-
179
-/*
180
- * Run your data through this.
181
- */
182
-static void SHA1Update(
183
- SHA1Context *context,
184
- const unsigned char *data,
185
- unsigned int len
186
-){
187
- unsigned int i, j;
188
-
189
- j = context->count[0];
190
- if ((context->count[0] += len << 3) < j)
191
- context->count[1] += (len>>29)+1;
192
- j = (j >> 3) & 63;
193
- if ((j + len) > 63) {
194
- (void)memcpy(&context->buffer[j], data, (i = 64-j));
195
- SHA1Transform(context->state, context->buffer);
196
- for ( ; i + 63 < len; i += 64)
197
- SHA1Transform(context->state, &data[i]);
198
- j = 0;
199
- } else {
200
- i = 0;
201
- }
202
- (void)memcpy(&context->buffer[j], &data[i], len - i);
203
-}
204
-
205
-
206
-/*
207
- * Add padding and return the message digest.
208
- */
209
-static void SHA1Final(unsigned char *digest, SHA1Context *context){
210
- unsigned int i;
211
- unsigned char finalcount[8];
212
-
213
- for (i = 0; i < 8; i++) {
214
- finalcount[i] = (unsigned char)((context->count[(i >= 4 ? 0 : 1)]
215
- >> ((3-(i & 3)) * 8) ) & 255); /* Endian independent */
216
- }
217
- SHA1Update(context, (const unsigned char *)"\200", 1);
218
- while ((context->count[0] & 504) != 448)
219
- SHA1Update(context, (const unsigned char *)"\0", 1);
220
- SHA1Update(context, finalcount, 8); /* Should cause a SHA1Transform() */
221
-
222
- if (digest) {
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
-
25
+
26
+#if INTERFACE
27
+typedef void(*collision_block_callback)(uint64_t, const uint32_t*, const uint32_t*, const uint32_t*, const uint32_t*);
28
+struct SHA1_CTX {
29
+ uint64_t total;
30
+ uint32_t ihv[5];
31
+ unsigned char buffer[64];
32
+ int bigendian;
33
+ int found_collision;
34
+ int safe_hash;
35
+ int detect_coll;
36
+ int ubc_check;
37
+ int reduced_round_coll;
38
+ collision_block_callback callback;
39
+
40
+ uint32_t ihv1[5];
41
+ uint32_t ihv2[5];
42
+ uint32_t m1[80];
43
+ uint32_t m2[80];
44
+ uint32_t states[80][5];
45
+};
46
+#endif
47
+void SHA1DCInit(SHA1_CTX*);
48
+void SHA1DCUpdate(SHA1_CTX*, const char*, unsigned);
49
+int SHA1DCFinal(unsigned char[20], SHA1_CTX*);
50
+
51
+#define SHA1Context SHA1_CTX
52
+#define SHA1Init SHA1DCInit
53
+#define SHA1Update SHA1DCUpdate
54
+#define SHA1Final SHA1DCFinal
23055
23156
/*
23257
** Convert a digest into base-16. digest should be declared as
23358
** "unsigned char digest[20]" in the calling function. The SHA1
23459
** digest is stored in the first 20 bytes. zBuf should
23560
23661
ADDED src/sha1hard.c
--- src/sha1.c
+++ src/sha1.c
@@ -17,218 +17,43 @@
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 $
39 **
40 ** SHA-1 in C
41 ** By Steve Reid <[email protected]>
42 ** 100% Public Domain
43 */
44 typedef struct SHA1Context SHA1Context;
45 struct SHA1Context {
46 unsigned int state[5];
47 unsigned int count[2];
48 unsigned char buffer[64];
49 };
50
51 /*
52 * blk0() and blk() perform the initial expand.
53 * I got the idea of expanding during the round function from SSLeay
54 *
55 * blk0le() for little-endian and blk0be() for big-endian.
56 */
57 #if __GNUC__ && (defined(__i386__) || defined(__x86_64__))
58 /*
59 * GCC by itself only generates left rotates. Use right rotates if
60 * possible to be kinder to dinky implementations with iterative rotate
61 * instructions.
62 */
63 #define SHA_ROT(op, x, k) \
64 ({ unsigned int y; asm(op " %1,%0" : "=r" (y) : "I" (k), "0" (x)); y; })
65 #define rol(x,k) SHA_ROT("roll", x, k)
66 #define ror(x,k) SHA_ROT("rorl", x, k)
67
68 #else
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]
79 #define blk(i) (block[i&15] = rol(block[(i+13)&15]^block[(i+8)&15] \
80 ^block[(i+2)&15]^block[i&15],1))
81
82 /*
83 * (R0+R1), R2, R3, R4 are the different operations (rounds) used in SHA1
84 *
85 * Rl0() for little-endian and Rb0() for big-endian. Endianness is
86 * determined at run-time.
87 */
88 #define Rl0(v,w,x,y,z,i) \
89 z+=((w&(x^y))^y)+blk0le(i)+0x5A827999+rol(v,5);w=ror(w,2);
90 #define Rb0(v,w,x,y,z,i) \
91 z+=((w&(x^y))^y)+blk0be(i)+0x5A827999+rol(v,5);w=ror(w,2);
92 #define R1(v,w,x,y,z,i) \
93 z+=((w&(x^y))^y)+blk(i)+0x5A827999+rol(v,5);w=ror(w,2);
94 #define R2(v,w,x,y,z,i) \
95 z+=(w^x^y)+blk(i)+0x6ED9EBA1+rol(v,5);w=ror(w,2);
96 #define R3(v,w,x,y,z,i) \
97 z+=(((w|x)&y)|(w&x))+blk(i)+0x8F1BBCDC+rol(v,5);w=ror(w,2);
98 #define R4(v,w,x,y,z,i) \
99 z+=(w^x^y)+blk(i)+0xCA62C1D6+rol(v,5);w=ror(w,2);
100
101 /*
102 * Hash a single 512-bit block. This is the core of the algorithm.
103 */
104 #define a qq[0]
105 #define b qq[1]
106 #define c qq[2]
107 #define d qq[3]
108 #define e qq[4]
109
110 void SHA1Transform(unsigned int state[5], const unsigned char buffer[64])
111 {
112 unsigned int qq[5]; /* a, b, c, d, e; */
113 static int one = 1;
114 unsigned int block[16];
115 memcpy(block, buffer, 64);
116 memcpy(qq,state,5*sizeof(unsigned int));
117
118 /* Copy context->state[] to working vars */
119 /*
120 a = state[0];
121 b = state[1];
122 c = state[2];
123 d = state[3];
124 e = state[4];
125 */
126
127 /* 4 rounds of 20 operations each. Loop unrolled. */
128 if( 1 == *(unsigned char*)&one ){
129 Rl0(a,b,c,d,e, 0); Rl0(e,a,b,c,d, 1); Rl0(d,e,a,b,c, 2); Rl0(c,d,e,a,b, 3);
130 Rl0(b,c,d,e,a, 4); Rl0(a,b,c,d,e, 5); Rl0(e,a,b,c,d, 6); Rl0(d,e,a,b,c, 7);
131 Rl0(c,d,e,a,b, 8); Rl0(b,c,d,e,a, 9); Rl0(a,b,c,d,e,10); Rl0(e,a,b,c,d,11);
132 Rl0(d,e,a,b,c,12); Rl0(c,d,e,a,b,13); Rl0(b,c,d,e,a,14); Rl0(a,b,c,d,e,15);
133 }else{
134 Rb0(a,b,c,d,e, 0); Rb0(e,a,b,c,d, 1); Rb0(d,e,a,b,c, 2); Rb0(c,d,e,a,b, 3);
135 Rb0(b,c,d,e,a, 4); Rb0(a,b,c,d,e, 5); Rb0(e,a,b,c,d, 6); Rb0(d,e,a,b,c, 7);
136 Rb0(c,d,e,a,b, 8); Rb0(b,c,d,e,a, 9); Rb0(a,b,c,d,e,10); Rb0(e,a,b,c,d,11);
137 Rb0(d,e,a,b,c,12); Rb0(c,d,e,a,b,13); Rb0(b,c,d,e,a,14); Rb0(a,b,c,d,e,15);
138 }
139 R1(e,a,b,c,d,16); R1(d,e,a,b,c,17); R1(c,d,e,a,b,18); R1(b,c,d,e,a,19);
140 R2(a,b,c,d,e,20); R2(e,a,b,c,d,21); R2(d,e,a,b,c,22); R2(c,d,e,a,b,23);
141 R2(b,c,d,e,a,24); R2(a,b,c,d,e,25); R2(e,a,b,c,d,26); R2(d,e,a,b,c,27);
142 R2(c,d,e,a,b,28); R2(b,c,d,e,a,29); R2(a,b,c,d,e,30); R2(e,a,b,c,d,31);
143 R2(d,e,a,b,c,32); R2(c,d,e,a,b,33); R2(b,c,d,e,a,34); R2(a,b,c,d,e,35);
144 R2(e,a,b,c,d,36); R2(d,e,a,b,c,37); R2(c,d,e,a,b,38); R2(b,c,d,e,a,39);
145 R3(a,b,c,d,e,40); R3(e,a,b,c,d,41); R3(d,e,a,b,c,42); R3(c,d,e,a,b,43);
146 R3(b,c,d,e,a,44); R3(a,b,c,d,e,45); R3(e,a,b,c,d,46); R3(d,e,a,b,c,47);
147 R3(c,d,e,a,b,48); R3(b,c,d,e,a,49); R3(a,b,c,d,e,50); R3(e,a,b,c,d,51);
148 R3(d,e,a,b,c,52); R3(c,d,e,a,b,53); R3(b,c,d,e,a,54); R3(a,b,c,d,e,55);
149 R3(e,a,b,c,d,56); R3(d,e,a,b,c,57); R3(c,d,e,a,b,58); R3(b,c,d,e,a,59);
150 R4(a,b,c,d,e,60); R4(e,a,b,c,d,61); R4(d,e,a,b,c,62); R4(c,d,e,a,b,63);
151 R4(b,c,d,e,a,64); R4(a,b,c,d,e,65); R4(e,a,b,c,d,66); R4(d,e,a,b,c,67);
152 R4(c,d,e,a,b,68); R4(b,c,d,e,a,69); R4(a,b,c,d,e,70); R4(e,a,b,c,d,71);
153 R4(d,e,a,b,c,72); R4(c,d,e,a,b,73); R4(b,c,d,e,a,74); R4(a,b,c,d,e,75);
154 R4(e,a,b,c,d,76); R4(d,e,a,b,c,77); R4(c,d,e,a,b,78); R4(b,c,d,e,a,79);
155
156 /* Add the working vars back into context.state[] */
157 state[0] += a;
158 state[1] += b;
159 state[2] += c;
160 state[3] += d;
161 state[4] += e;
162 }
163
164
165 /*
166 * SHA1Init - Initialize new context
167 */
168 static void SHA1Init(SHA1Context *context){
169 /* SHA1 initialization constants */
170 context->state[0] = 0x67452301;
171 context->state[1] = 0xEFCDAB89;
172 context->state[2] = 0x98BADCFE;
173 context->state[3] = 0x10325476;
174 context->state[4] = 0xC3D2E1F0;
175 context->count[0] = context->count[1] = 0;
176 }
177
178
179 /*
180 * Run your data through this.
181 */
182 static void SHA1Update(
183 SHA1Context *context,
184 const unsigned char *data,
185 unsigned int len
186 ){
187 unsigned int i, j;
188
189 j = context->count[0];
190 if ((context->count[0] += len << 3) < j)
191 context->count[1] += (len>>29)+1;
192 j = (j >> 3) & 63;
193 if ((j + len) > 63) {
194 (void)memcpy(&context->buffer[j], data, (i = 64-j));
195 SHA1Transform(context->state, context->buffer);
196 for ( ; i + 63 < len; i += 64)
197 SHA1Transform(context->state, &data[i]);
198 j = 0;
199 } else {
200 i = 0;
201 }
202 (void)memcpy(&context->buffer[j], &data[i], len - i);
203 }
204
205
206 /*
207 * Add padding and return the message digest.
208 */
209 static void SHA1Final(unsigned char *digest, SHA1Context *context){
210 unsigned int i;
211 unsigned char finalcount[8];
212
213 for (i = 0; i < 8; i++) {
214 finalcount[i] = (unsigned char)((context->count[(i >= 4 ? 0 : 1)]
215 >> ((3-(i & 3)) * 8) ) & 255); /* Endian independent */
216 }
217 SHA1Update(context, (const unsigned char *)"\200", 1);
218 while ((context->count[0] & 504) != 448)
219 SHA1Update(context, (const unsigned char *)"\0", 1);
220 SHA1Update(context, finalcount, 8); /* Should cause a SHA1Transform() */
221
222 if (digest) {
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,218 +17,43 @@
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 #if INTERFACE
27 typedef void(*collision_block_callback)(uint64_t, const uint32_t*, const uint32_t*, const uint32_t*, const uint32_t*);
28 struct SHA1_CTX {
29 uint64_t total;
30 uint32_t ihv[5];
31 unsigned char buffer[64];
32 int bigendian;
33 int found_collision;
34 int safe_hash;
35 int detect_coll;
36 int ubc_check;
37 int reduced_round_coll;
38 collision_block_callback callback;
39
40 uint32_t ihv1[5];
41 uint32_t ihv2[5];
42 uint32_t m1[80];
43 uint32_t m2[80];
44 uint32_t states[80][5];
45 };
46 #endif
47 void SHA1DCInit(SHA1_CTX*);
48 void SHA1DCUpdate(SHA1_CTX*, const char*, unsigned);
49 int SHA1DCFinal(unsigned char[20], SHA1_CTX*);
50
51 #define SHA1Context SHA1_CTX
52 #define SHA1Init SHA1DCInit
53 #define SHA1Update SHA1DCUpdate
54 #define SHA1Final SHA1DCFinal
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
55
56 /*
57 ** Convert a digest into base-16. digest should be declared as
58 ** "unsigned char digest[20]" in the calling function. The SHA1
59 ** digest is stored in the first 20 bytes. zBuf should
60
61 DDED src/sha1hard.c
--- a/src/sha1hard.c
+++ b/src/sha1hard.c
@@ -0,0 +1 @@
1
+i (const char*)(sha1_padwasOn 2017-03-01, with mi
--- 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_padwasOn 2017-03-01, with mi
+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

Keyboard Shortcuts

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