Fossil SCM
Use the hardened SHA1 hash function from [https://github.com/cr-marcstevens/sha1collisiondetection].
Commit
ba9d10807e938305e3132a6028650ed8ea8f3bd1
Parent
537ab8868e5e32a…
9 files changed
+1
+12
+6
-1
+1
+31
-206
+1
+10
-4
+12
+10
+1
| --- src/config.h | ||
| +++ src/config.h | ||
| @@ -168,10 +168,11 @@ | ||
| 168 | 168 | # endif |
| 169 | 169 | #endif |
| 170 | 170 | |
| 171 | 171 | #if !defined(_RC_COMPILE_) && !defined(SQLITE_AMALGAMATION) |
| 172 | 172 | |
| 173 | +#include <stdint.h> | |
| 173 | 174 | #include "sqlite3.h" |
| 174 | 175 | |
| 175 | 176 | /* |
| 176 | 177 | ** On Solaris, getpass() will only return up to 8 characters. getpassphrase() returns up to 257. |
| 177 | 178 | */ |
| 178 | 179 |
| --- 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 @@ | ||
| 103 | 103 | $(SRCDIR)/rss.c \ |
| 104 | 104 | $(SRCDIR)/schema.c \ |
| 105 | 105 | $(SRCDIR)/search.c \ |
| 106 | 106 | $(SRCDIR)/setup.c \ |
| 107 | 107 | $(SRCDIR)/sha1.c \ |
| 108 | + $(SRCDIR)/sha1hard.c \ | |
| 108 | 109 | $(SRCDIR)/sha3.c \ |
| 109 | 110 | $(SRCDIR)/shun.c \ |
| 110 | 111 | $(SRCDIR)/sitemap.c \ |
| 111 | 112 | $(SRCDIR)/skins.c \ |
| 112 | 113 | $(SRCDIR)/sqlcmd.c \ |
| @@ -280,10 +281,11 @@ | ||
| 280 | 281 | $(OBJDIR)/rss_.c \ |
| 281 | 282 | $(OBJDIR)/schema_.c \ |
| 282 | 283 | $(OBJDIR)/search_.c \ |
| 283 | 284 | $(OBJDIR)/setup_.c \ |
| 284 | 285 | $(OBJDIR)/sha1_.c \ |
| 286 | + $(OBJDIR)/sha1hard_.c \ | |
| 285 | 287 | $(OBJDIR)/sha3_.c \ |
| 286 | 288 | $(OBJDIR)/shun_.c \ |
| 287 | 289 | $(OBJDIR)/sitemap_.c \ |
| 288 | 290 | $(OBJDIR)/skins_.c \ |
| 289 | 291 | $(OBJDIR)/sqlcmd_.c \ |
| @@ -406,10 +408,11 @@ | ||
| 406 | 408 | $(OBJDIR)/rss.o \ |
| 407 | 409 | $(OBJDIR)/schema.o \ |
| 408 | 410 | $(OBJDIR)/search.o \ |
| 409 | 411 | $(OBJDIR)/setup.o \ |
| 410 | 412 | $(OBJDIR)/sha1.o \ |
| 413 | + $(OBJDIR)/sha1hard.o \ | |
| 411 | 414 | $(OBJDIR)/sha3.o \ |
| 412 | 415 | $(OBJDIR)/shun.o \ |
| 413 | 416 | $(OBJDIR)/sitemap.o \ |
| 414 | 417 | $(OBJDIR)/skins.o \ |
| 415 | 418 | $(OBJDIR)/sqlcmd.o \ |
| @@ -693,10 +696,11 @@ | ||
| 693 | 696 | $(OBJDIR)/rss_.c:$(OBJDIR)/rss.h \ |
| 694 | 697 | $(OBJDIR)/schema_.c:$(OBJDIR)/schema.h \ |
| 695 | 698 | $(OBJDIR)/search_.c:$(OBJDIR)/search.h \ |
| 696 | 699 | $(OBJDIR)/setup_.c:$(OBJDIR)/setup.h \ |
| 697 | 700 | $(OBJDIR)/sha1_.c:$(OBJDIR)/sha1.h \ |
| 701 | + $(OBJDIR)/sha1hard_.c:$(OBJDIR)/sha1hard.h \ | |
| 698 | 702 | $(OBJDIR)/sha3_.c:$(OBJDIR)/sha3.h \ |
| 699 | 703 | $(OBJDIR)/shun_.c:$(OBJDIR)/shun.h \ |
| 700 | 704 | $(OBJDIR)/sitemap_.c:$(OBJDIR)/sitemap.h \ |
| 701 | 705 | $(OBJDIR)/skins_.c:$(OBJDIR)/skins.h \ |
| 702 | 706 | $(OBJDIR)/sqlcmd_.c:$(OBJDIR)/sqlcmd.h \ |
| @@ -1453,10 +1457,18 @@ | ||
| 1453 | 1457 | |
| 1454 | 1458 | $(OBJDIR)/sha1.o: $(OBJDIR)/sha1_.c $(OBJDIR)/sha1.h $(SRCDIR)/config.h |
| 1455 | 1459 | $(XTCC) -o $(OBJDIR)/sha1.o -c $(OBJDIR)/sha1_.c |
| 1456 | 1460 | |
| 1457 | 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 | |
| 1458 | 1470 | |
| 1459 | 1471 | $(OBJDIR)/sha3_.c: $(SRCDIR)/sha3.c $(OBJDIR)/translate |
| 1460 | 1472 | $(OBJDIR)/translate $(SRCDIR)/sha3.c >$@ |
| 1461 | 1473 | |
| 1462 | 1474 | $(OBJDIR)/sha3.o: $(OBJDIR)/sha3_.c $(OBJDIR)/sha3.h $(SRCDIR)/config.h |
| 1463 | 1475 |
| --- 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 |
+6
-1
| --- src/makeheaders.c | ||
| +++ src/makeheaders.c | ||
| @@ -1017,11 +1017,14 @@ | ||
| 1017 | 1017 | /* printf("%04d: Type=%d nIf=%d [%.*s]\n", |
| 1018 | 1018 | pToken->nLine,pToken->eType,nIf,pToken->nText, |
| 1019 | 1019 | pToken->eType!=TT_Space ? pToken->zText : "<space>"); */ |
| 1020 | 1020 | pToken->pComment = blockComment; |
| 1021 | 1021 | 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 | + | |
| 1023 | 1026 | case TT_Space: |
| 1024 | 1027 | break; |
| 1025 | 1028 | |
| 1026 | 1029 | case TT_BlockComment: |
| 1027 | 1030 | if( doc_flag ){ |
| @@ -2181,10 +2184,12 @@ | ||
| 2181 | 2184 | if( nArg==9 && strncmp(zArg,"INTERFACE",9)==0 ){ |
| 2182 | 2185 | PushIfMacro(0,0,0,pToken->nLine,PS_Interface); |
| 2183 | 2186 | }else if( nArg==16 && strncmp(zArg,"EXPORT_INTERFACE",16)==0 ){ |
| 2184 | 2187 | PushIfMacro(0,0,0,pToken->nLine,PS_Export); |
| 2185 | 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 ){ | |
| 2186 | 2191 | PushIfMacro(0,0,0,pToken->nLine,PS_Local); |
| 2187 | 2192 | }else{ |
| 2188 | 2193 | PushIfMacro(0,zArg,nArg,pToken->nLine,0); |
| 2189 | 2194 | } |
| 2190 | 2195 | }else if( nCmd==5 && strncmp(zCmd,"ifdef",5)==0 ){ |
| 2191 | 2196 |
| --- 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 |
+1
| --- src/makemake.tcl | ||
| +++ src/makemake.tcl | ||
| @@ -108,10 +108,11 @@ | ||
| 108 | 108 | rss |
| 109 | 109 | schema |
| 110 | 110 | search |
| 111 | 111 | setup |
| 112 | 112 | sha1 |
| 113 | + sha1hard | |
| 113 | 114 | sha3 |
| 114 | 115 | shun |
| 115 | 116 | sitemap |
| 116 | 117 | skins |
| 117 | 118 | sqlcmd |
| 118 | 119 |
| --- 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 @@ | ||
| 17 | 17 | ** |
| 18 | 18 | ** This implementation of SHA1. |
| 19 | 19 | */ |
| 20 | 20 | #include "config.h" |
| 21 | 21 | #include <sys/types.h> |
| 22 | +#include <stdint.h> | |
| 22 | 23 | #include "sha1.h" |
| 23 | 24 | |
| 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 | |
| 230 | 55 | |
| 231 | 56 | /* |
| 232 | 57 | ** Convert a digest into base-16. digest should be declared as |
| 233 | 58 | ** "unsigned char digest[20]" in the calling function. The SHA1 |
| 234 | 59 | ** digest is stored in the first 20 bytes. zBuf should |
| 235 | 60 | |
| 236 | 61 | 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 |
+1
| --- 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 @@ | ||
| 28 | 28 | |
| 29 | 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 | 30 | |
| 31 | 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 | 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 | |
| 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 | 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 | |
| 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 | 36 | |
| 37 | 37 | |
| 38 | 38 | RC=$(DMDIR)\bin\rcc |
| 39 | 39 | RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__ |
| 40 | 40 | |
| @@ -49,11 +49,11 @@ | ||
| 49 | 49 | |
| 50 | 50 | $(OBJDIR)\fossil.res: $B\win\fossil.rc |
| 51 | 51 | $(RC) $(RCFLAGS) -o$@ $** |
| 52 | 52 | |
| 53 | 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 > $@ | |
| 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 | 55 | +echo fossil >> $@ |
| 56 | 56 | +echo fossil >> $@ |
| 57 | 57 | +echo $(LIBS) >> $@ |
| 58 | 58 | +echo. >> $@ |
| 59 | 59 | +echo fossil >> $@ |
| @@ -662,10 +662,16 @@ | ||
| 662 | 662 | $(OBJDIR)\sha1$O : sha1_.c sha1.h |
| 663 | 663 | $(TCC) -o$@ -c sha1_.c |
| 664 | 664 | |
| 665 | 665 | sha1_.c : $(SRCDIR)\sha1.c |
| 666 | 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 $** > $@ | |
| 667 | 673 | |
| 668 | 674 | $(OBJDIR)\sha3$O : sha3_.c sha3.h |
| 669 | 675 | $(TCC) -o$@ -c sha3_.c |
| 670 | 676 | |
| 671 | 677 | sha3_.c : $(SRCDIR)\sha3.c |
| @@ -868,7 +874,7 @@ | ||
| 868 | 874 | |
| 869 | 875 | zip_.c : $(SRCDIR)\zip.c |
| 870 | 876 | +translate$E $** > $@ |
| 871 | 877 | |
| 872 | 878 | 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 | |
| 874 | 880 | @copy /Y nul: headers |
| 875 | 881 |
| --- 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 |
+12
| --- win/Makefile.mingw | ||
| +++ win/Makefile.mingw | ||
| @@ -512,10 +512,11 @@ | ||
| 512 | 512 | $(SRCDIR)/rss.c \ |
| 513 | 513 | $(SRCDIR)/schema.c \ |
| 514 | 514 | $(SRCDIR)/search.c \ |
| 515 | 515 | $(SRCDIR)/setup.c \ |
| 516 | 516 | $(SRCDIR)/sha1.c \ |
| 517 | + $(SRCDIR)/sha1hard.c \ | |
| 517 | 518 | $(SRCDIR)/sha3.c \ |
| 518 | 519 | $(SRCDIR)/shun.c \ |
| 519 | 520 | $(SRCDIR)/sitemap.c \ |
| 520 | 521 | $(SRCDIR)/skins.c \ |
| 521 | 522 | $(SRCDIR)/sqlcmd.c \ |
| @@ -689,10 +690,11 @@ | ||
| 689 | 690 | $(OBJDIR)/rss_.c \ |
| 690 | 691 | $(OBJDIR)/schema_.c \ |
| 691 | 692 | $(OBJDIR)/search_.c \ |
| 692 | 693 | $(OBJDIR)/setup_.c \ |
| 693 | 694 | $(OBJDIR)/sha1_.c \ |
| 695 | + $(OBJDIR)/sha1hard_.c \ | |
| 694 | 696 | $(OBJDIR)/sha3_.c \ |
| 695 | 697 | $(OBJDIR)/shun_.c \ |
| 696 | 698 | $(OBJDIR)/sitemap_.c \ |
| 697 | 699 | $(OBJDIR)/skins_.c \ |
| 698 | 700 | $(OBJDIR)/sqlcmd_.c \ |
| @@ -815,10 +817,11 @@ | ||
| 815 | 817 | $(OBJDIR)/rss.o \ |
| 816 | 818 | $(OBJDIR)/schema.o \ |
| 817 | 819 | $(OBJDIR)/search.o \ |
| 818 | 820 | $(OBJDIR)/setup.o \ |
| 819 | 821 | $(OBJDIR)/sha1.o \ |
| 822 | + $(OBJDIR)/sha1hard.o \ | |
| 820 | 823 | $(OBJDIR)/sha3.o \ |
| 821 | 824 | $(OBJDIR)/shun.o \ |
| 822 | 825 | $(OBJDIR)/sitemap.o \ |
| 823 | 826 | $(OBJDIR)/skins.o \ |
| 824 | 827 | $(OBJDIR)/sqlcmd.o \ |
| @@ -1152,10 +1155,11 @@ | ||
| 1152 | 1155 | $(OBJDIR)/rss_.c:$(OBJDIR)/rss.h \ |
| 1153 | 1156 | $(OBJDIR)/schema_.c:$(OBJDIR)/schema.h \ |
| 1154 | 1157 | $(OBJDIR)/search_.c:$(OBJDIR)/search.h \ |
| 1155 | 1158 | $(OBJDIR)/setup_.c:$(OBJDIR)/setup.h \ |
| 1156 | 1159 | $(OBJDIR)/sha1_.c:$(OBJDIR)/sha1.h \ |
| 1160 | + $(OBJDIR)/sha1hard_.c:$(OBJDIR)/sha1hard.h \ | |
| 1157 | 1161 | $(OBJDIR)/sha3_.c:$(OBJDIR)/sha3.h \ |
| 1158 | 1162 | $(OBJDIR)/shun_.c:$(OBJDIR)/shun.h \ |
| 1159 | 1163 | $(OBJDIR)/sitemap_.c:$(OBJDIR)/sitemap.h \ |
| 1160 | 1164 | $(OBJDIR)/skins_.c:$(OBJDIR)/skins.h \ |
| 1161 | 1165 | $(OBJDIR)/sqlcmd_.c:$(OBJDIR)/sqlcmd.h \ |
| @@ -1914,10 +1918,18 @@ | ||
| 1914 | 1918 | |
| 1915 | 1919 | $(OBJDIR)/sha1.o: $(OBJDIR)/sha1_.c $(OBJDIR)/sha1.h $(SRCDIR)/config.h |
| 1916 | 1920 | $(XTCC) -o $(OBJDIR)/sha1.o -c $(OBJDIR)/sha1_.c |
| 1917 | 1921 | |
| 1918 | 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 | |
| 1919 | 1931 | |
| 1920 | 1932 | $(OBJDIR)/sha3_.c: $(SRCDIR)/sha3.c $(TRANSLATE) |
| 1921 | 1933 | $(TRANSLATE) $(SRCDIR)/sha3.c >$@ |
| 1922 | 1934 | |
| 1923 | 1935 | $(OBJDIR)/sha3.o: $(OBJDIR)/sha3_.c $(OBJDIR)/sha3.h $(SRCDIR)/config.h |
| 1924 | 1936 |
| --- 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 |
+10
| --- win/Makefile.msc | ||
| +++ win/Makefile.msc | ||
| @@ -437,10 +437,11 @@ | ||
| 437 | 437 | rss_.c \ |
| 438 | 438 | schema_.c \ |
| 439 | 439 | search_.c \ |
| 440 | 440 | setup_.c \ |
| 441 | 441 | sha1_.c \ |
| 442 | + sha1hard_.c \ | |
| 442 | 443 | sha3_.c \ |
| 443 | 444 | shun_.c \ |
| 444 | 445 | sitemap_.c \ |
| 445 | 446 | skins_.c \ |
| 446 | 447 | sqlcmd_.c \ |
| @@ -613,10 +614,11 @@ | ||
| 613 | 614 | $(OX)\rss$O \ |
| 614 | 615 | $(OX)\schema$O \ |
| 615 | 616 | $(OX)\search$O \ |
| 616 | 617 | $(OX)\setup$O \ |
| 617 | 618 | $(OX)\sha1$O \ |
| 619 | + $(OX)\sha1hard$O \ | |
| 618 | 620 | $(OX)\sha3$O \ |
| 619 | 621 | $(OX)\shell$O \ |
| 620 | 622 | $(OX)\shun$O \ |
| 621 | 623 | $(OX)\sitemap$O \ |
| 622 | 624 | $(OX)\skins$O \ |
| @@ -798,10 +800,11 @@ | ||
| 798 | 800 | echo $(OX)\rss.obj >> $@ |
| 799 | 801 | echo $(OX)\schema.obj >> $@ |
| 800 | 802 | echo $(OX)\search.obj >> $@ |
| 801 | 803 | echo $(OX)\setup.obj >> $@ |
| 802 | 804 | echo $(OX)\sha1.obj >> $@ |
| 805 | + echo $(OX)\sha1hard.obj >> $@ | |
| 803 | 806 | echo $(OX)\sha3.obj >> $@ |
| 804 | 807 | echo $(OX)\shell.obj >> $@ |
| 805 | 808 | echo $(OX)\shun.obj >> $@ |
| 806 | 809 | echo $(OX)\sitemap.obj >> $@ |
| 807 | 810 | echo $(OX)\skins.obj >> $@ |
| @@ -1487,10 +1490,16 @@ | ||
| 1487 | 1490 | $(OX)\sha1$O : sha1_.c sha1.h |
| 1488 | 1491 | $(TCC) /Fo$@ -c sha1_.c |
| 1489 | 1492 | |
| 1490 | 1493 | sha1_.c : $(SRCDIR)\sha1.c |
| 1491 | 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 $** > $@ | |
| 1492 | 1501 | |
| 1493 | 1502 | $(OX)\sha3$O : sha3_.c sha3.h |
| 1494 | 1503 | $(TCC) /Fo$@ -c sha3_.c |
| 1495 | 1504 | |
| 1496 | 1505 | sha3_.c : $(SRCDIR)\sha3.c |
| @@ -1786,10 +1795,11 @@ | ||
| 1786 | 1795 | rss_.c:rss.h \ |
| 1787 | 1796 | schema_.c:schema.h \ |
| 1788 | 1797 | search_.c:search.h \ |
| 1789 | 1798 | setup_.c:setup.h \ |
| 1790 | 1799 | sha1_.c:sha1.h \ |
| 1800 | + sha1hard_.c:sha1hard.h \ | |
| 1791 | 1801 | sha3_.c:sha3.h \ |
| 1792 | 1802 | shun_.c:shun.h \ |
| 1793 | 1803 | sitemap_.c:sitemap.h \ |
| 1794 | 1804 | skins_.c:skins.h \ |
| 1795 | 1805 | sqlcmd_.c:sqlcmd.h \ |
| 1796 | 1806 |
| --- 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 |