Fossil SCM

Add the "robot-squelch" defense against bot-nets. Still incomplete, but sufficient to hold off the latest attacks.

drh 2025-08-15 19:07 trunk merge
Commit de66eeaab7ab66448fdf6423b8878c9c45e5ef161f64782ed3936ca8d1698503
+15
--- src/cgi.c
+++ src/cgi.c
@@ -1612,10 +1612,25 @@
16121612
}
16131613
}
16141614
CGIDEBUG(("no-match [%s]\n", zName));
16151615
return zDefault;
16161616
}
1617
+
1618
+/*
1619
+** Return TRUE if the specific parameter exists and is a query parameter.
1620
+** Return FALSE if the parameter is a cookie or environment variable.
1621
+*/
1622
+int cgi_is_qp(const char *zName){
1623
+ int i;
1624
+ if( zName==0 || fossil_isupper(zName[0]) ) return 0;
1625
+ for(i=0; i<nUsedQP; i++){
1626
+ if( fossil_strcmp(aParamQP[i].zName,zName)==0 ){
1627
+ return aParamQP[i].isQP;
1628
+ }
1629
+ }
1630
+ return 0;
1631
+}
16171632
16181633
/*
16191634
** Renders the "begone, spider" page and exits.
16201635
*/
16211636
static void cgi_begone_spider(const char *zName){
16221637
--- src/cgi.c
+++ src/cgi.c
@@ -1612,10 +1612,25 @@
1612 }
1613 }
1614 CGIDEBUG(("no-match [%s]\n", zName));
1615 return zDefault;
1616 }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1617
1618 /*
1619 ** Renders the "begone, spider" page and exits.
1620 */
1621 static void cgi_begone_spider(const char *zName){
1622
--- src/cgi.c
+++ src/cgi.c
@@ -1612,10 +1612,25 @@
1612 }
1613 }
1614 CGIDEBUG(("no-match [%s]\n", zName));
1615 return zDefault;
1616 }
1617
1618 /*
1619 ** Return TRUE if the specific parameter exists and is a query parameter.
1620 ** Return FALSE if the parameter is a cookie or environment variable.
1621 */
1622 int cgi_is_qp(const char *zName){
1623 int i;
1624 if( zName==0 || fossil_isupper(zName[0]) ) return 0;
1625 for(i=0; i<nUsedQP; i++){
1626 if( fossil_strcmp(aParamQP[i].zName,zName)==0 ){
1627 return aParamQP[i].isQP;
1628 }
1629 }
1630 return 0;
1631 }
1632
1633 /*
1634 ** Renders the "begone, spider" page and exits.
1635 */
1636 static void cgi_begone_spider(const char *zName){
1637
+2 -1
--- src/diff.c
+++ src/diff.c
@@ -3787,12 +3787,13 @@
37873787
unsigned clr1, clr2, clr;
37883788
int bBlame = g.zPath[0]!='a';/* True for BLAME output. False for ANNOTATE. */
37893789
37903790
/* Gather query parameters */
37913791
login_check_credentials();
3792
- if( !g.perm.Read || g.zLogin==0 ){ login_needed(g.anon.Read); return; }
3792
+ if( !g.perm.Read ){ login_needed(g.anon.Read); return; }
37933793
if( exclude_spiders(0) ) return;
3794
+ if( robot_squelch(990) ) return;
37943795
fossil_nice_default();
37953796
zFilename = P("filename");
37963797
zRevision = PD("checkin",0);
37973798
zOrigin = P("origin");
37983799
zLimit = P("limit");
37993800
--- src/diff.c
+++ src/diff.c
@@ -3787,12 +3787,13 @@
3787 unsigned clr1, clr2, clr;
3788 int bBlame = g.zPath[0]!='a';/* True for BLAME output. False for ANNOTATE. */
3789
3790 /* Gather query parameters */
3791 login_check_credentials();
3792 if( !g.perm.Read || g.zLogin==0 ){ login_needed(g.anon.Read); return; }
3793 if( exclude_spiders(0) ) return;
 
3794 fossil_nice_default();
3795 zFilename = P("filename");
3796 zRevision = PD("checkin",0);
3797 zOrigin = P("origin");
3798 zLimit = P("limit");
3799
--- src/diff.c
+++ src/diff.c
@@ -3787,12 +3787,13 @@
3787 unsigned clr1, clr2, clr;
3788 int bBlame = g.zPath[0]!='a';/* True for BLAME output. False for ANNOTATE. */
3789
3790 /* Gather query parameters */
3791 login_check_credentials();
3792 if( !g.perm.Read ){ login_needed(g.anon.Read); return; }
3793 if( exclude_spiders(0) ) return;
3794 if( robot_squelch(990) ) return;
3795 fossil_nice_default();
3796 zFilename = P("filename");
3797 zRevision = PD("checkin",0);
3798 zOrigin = P("origin");
3799 zLimit = P("limit");
3800
--- src/diffcmd.c
+++ src/diffcmd.c
@@ -1522,10 +1522,11 @@
15221522
DiffConfig DCfg;
15231523
cgi_check_for_malice();
15241524
login_check_credentials();
15251525
if( !g.perm.Read ){ login_needed(g.anon.Read); return; }
15261526
if( zFrom==0 || zTo==0 ) fossil_redirect_home();
1527
+ if( robot_squelch(800) ) return;
15271528
15281529
fossil_nice_default();
15291530
cgi_set_content_type("text/plain");
15301531
diff_config_init(&DCfg, DIFF_VERBOSE);
15311532
diff_two_versions(zFrom, zTo, &DCfg, 0);
15321533
--- src/diffcmd.c
+++ src/diffcmd.c
@@ -1522,10 +1522,11 @@
1522 DiffConfig DCfg;
1523 cgi_check_for_malice();
1524 login_check_credentials();
1525 if( !g.perm.Read ){ login_needed(g.anon.Read); return; }
1526 if( zFrom==0 || zTo==0 ) fossil_redirect_home();
 
1527
1528 fossil_nice_default();
1529 cgi_set_content_type("text/plain");
1530 diff_config_init(&DCfg, DIFF_VERBOSE);
1531 diff_two_versions(zFrom, zTo, &DCfg, 0);
1532
--- src/diffcmd.c
+++ src/diffcmd.c
@@ -1522,10 +1522,11 @@
1522 DiffConfig DCfg;
1523 cgi_check_for_malice();
1524 login_check_credentials();
1525 if( !g.perm.Read ){ login_needed(g.anon.Read); return; }
1526 if( zFrom==0 || zTo==0 ) fossil_redirect_home();
1527 if( robot_squelch(800) ) return;
1528
1529 fossil_nice_default();
1530 cgi_set_content_type("text/plain");
1531 diff_config_init(&DCfg, DIFF_VERBOSE);
1532 diff_two_versions(zFrom, zTo, &DCfg, 0);
1533
+7
--- src/info.c
+++ src/info.c
@@ -1421,10 +1421,11 @@
14211421
Blob qpGlob; /* glob= query parameter for generated links */
14221422
int bInvert = PB("inv");
14231423
14241424
login_check_credentials();
14251425
if( !g.perm.Read ){ login_needed(g.anon.Read); return; }
1426
+ if( robot_squelch(950) ) return;
14261427
login_anonymous_available();
14271428
fossil_nice_default();
14281429
blob_init(&qp, 0, 0);
14291430
blob_init(&qpGlob, 0, 0);
14301431
diffType = preferred_diff_type();
@@ -1974,10 +1975,11 @@
19741975
int verbose = PB("verbose");
19751976
DiffConfig DCfg;
19761977
19771978
login_check_credentials();
19781979
if( !g.perm.Read ){ login_needed(g.anon.Read); return; }
1980
+ if( robot_squelch(800) ) return;
19791981
diff_config_init(&DCfg, 0);
19801982
diffType = preferred_diff_type();
19811983
if( P("from") && P("to") ){
19821984
v1 = artifact_from_ci_and_filename("from");
19831985
v2 = artifact_from_ci_and_filename("to");
@@ -2700,19 +2702,24 @@
27002702
HQuery url;
27012703
char *zCIUuid = 0;
27022704
int isSymbolicCI = 0; /* ci= exists and is a symbolic name, not a hash */
27032705
int isBranchCI = 0; /* ci= refers to a branch name */
27042706
char *zHeader = 0;
2707
+ int iCost;
27052708
27062709
login_check_credentials();
27072710
if( !g.perm.Read ){ login_needed(g.anon.Read); return; }
27082711
cgi_check_for_malice();
27092712
style_set_current_feature("artifact");
27102713
if( fossil_strcmp(g.zPath, "docfile")==0 ){
27112714
isFile = 1;
27122715
docOnly = 1;
27132716
}
2717
+ iCost = 200;
2718
+ if( isFile ) iCost += 100;
2719
+ if( zCI ) iCost += 100;
2720
+ if( robot_squelch(iCost) ) return;
27142721
27152722
/* Capture and normalize the name= and ci= query parameters */
27162723
if( zName==0 ){
27172724
zName = P("filename");
27182725
if( zName==0 ){
27192726
--- src/info.c
+++ src/info.c
@@ -1421,10 +1421,11 @@
1421 Blob qpGlob; /* glob= query parameter for generated links */
1422 int bInvert = PB("inv");
1423
1424 login_check_credentials();
1425 if( !g.perm.Read ){ login_needed(g.anon.Read); return; }
 
1426 login_anonymous_available();
1427 fossil_nice_default();
1428 blob_init(&qp, 0, 0);
1429 blob_init(&qpGlob, 0, 0);
1430 diffType = preferred_diff_type();
@@ -1974,10 +1975,11 @@
1974 int verbose = PB("verbose");
1975 DiffConfig DCfg;
1976
1977 login_check_credentials();
1978 if( !g.perm.Read ){ login_needed(g.anon.Read); return; }
 
1979 diff_config_init(&DCfg, 0);
1980 diffType = preferred_diff_type();
1981 if( P("from") && P("to") ){
1982 v1 = artifact_from_ci_and_filename("from");
1983 v2 = artifact_from_ci_and_filename("to");
@@ -2700,19 +2702,24 @@
2700 HQuery url;
2701 char *zCIUuid = 0;
2702 int isSymbolicCI = 0; /* ci= exists and is a symbolic name, not a hash */
2703 int isBranchCI = 0; /* ci= refers to a branch name */
2704 char *zHeader = 0;
 
2705
2706 login_check_credentials();
2707 if( !g.perm.Read ){ login_needed(g.anon.Read); return; }
2708 cgi_check_for_malice();
2709 style_set_current_feature("artifact");
2710 if( fossil_strcmp(g.zPath, "docfile")==0 ){
2711 isFile = 1;
2712 docOnly = 1;
2713 }
 
 
 
 
2714
2715 /* Capture and normalize the name= and ci= query parameters */
2716 if( zName==0 ){
2717 zName = P("filename");
2718 if( zName==0 ){
2719
--- src/info.c
+++ src/info.c
@@ -1421,10 +1421,11 @@
1421 Blob qpGlob; /* glob= query parameter for generated links */
1422 int bInvert = PB("inv");
1423
1424 login_check_credentials();
1425 if( !g.perm.Read ){ login_needed(g.anon.Read); return; }
1426 if( robot_squelch(950) ) return;
1427 login_anonymous_available();
1428 fossil_nice_default();
1429 blob_init(&qp, 0, 0);
1430 blob_init(&qpGlob, 0, 0);
1431 diffType = preferred_diff_type();
@@ -1974,10 +1975,11 @@
1975 int verbose = PB("verbose");
1976 DiffConfig DCfg;
1977
1978 login_check_credentials();
1979 if( !g.perm.Read ){ login_needed(g.anon.Read); return; }
1980 if( robot_squelch(800) ) return;
1981 diff_config_init(&DCfg, 0);
1982 diffType = preferred_diff_type();
1983 if( P("from") && P("to") ){
1984 v1 = artifact_from_ci_and_filename("from");
1985 v2 = artifact_from_ci_and_filename("to");
@@ -2700,19 +2702,24 @@
2702 HQuery url;
2703 char *zCIUuid = 0;
2704 int isSymbolicCI = 0; /* ci= exists and is a symbolic name, not a hash */
2705 int isBranchCI = 0; /* ci= refers to a branch name */
2706 char *zHeader = 0;
2707 int iCost;
2708
2709 login_check_credentials();
2710 if( !g.perm.Read ){ login_needed(g.anon.Read); return; }
2711 cgi_check_for_malice();
2712 style_set_current_feature("artifact");
2713 if( fossil_strcmp(g.zPath, "docfile")==0 ){
2714 isFile = 1;
2715 docOnly = 1;
2716 }
2717 iCost = 200;
2718 if( isFile ) iCost += 100;
2719 if( zCI ) iCost += 100;
2720 if( robot_squelch(iCost) ) return;
2721
2722 /* Capture and normalize the name= and ci= query parameters */
2723 if( zName==0 ){
2724 zName = P("filename");
2725 if( zName==0 ){
2726
+12
--- src/main.mk
+++ src/main.mk
@@ -119,10 +119,11 @@
119119
$(SRCDIR)/purge.c \
120120
$(SRCDIR)/rebuild.c \
121121
$(SRCDIR)/regexp.c \
122122
$(SRCDIR)/repolist.c \
123123
$(SRCDIR)/report.c \
124
+ $(SRCDIR)/robot.c \
124125
$(SRCDIR)/rss.c \
125126
$(SRCDIR)/schema.c \
126127
$(SRCDIR)/search.c \
127128
$(SRCDIR)/security_audit.c \
128129
$(SRCDIR)/setup.c \
@@ -385,10 +386,11 @@
385386
$(OBJDIR)/purge_.c \
386387
$(OBJDIR)/rebuild_.c \
387388
$(OBJDIR)/regexp_.c \
388389
$(OBJDIR)/repolist_.c \
389390
$(OBJDIR)/report_.c \
391
+ $(OBJDIR)/robot_.c \
390392
$(OBJDIR)/rss_.c \
391393
$(OBJDIR)/schema_.c \
392394
$(OBJDIR)/search_.c \
393395
$(OBJDIR)/security_audit_.c \
394396
$(OBJDIR)/setup_.c \
@@ -535,10 +537,11 @@
535537
$(OBJDIR)/purge.o \
536538
$(OBJDIR)/rebuild.o \
537539
$(OBJDIR)/regexp.o \
538540
$(OBJDIR)/repolist.o \
539541
$(OBJDIR)/report.o \
542
+ $(OBJDIR)/robot.o \
540543
$(OBJDIR)/rss.o \
541544
$(OBJDIR)/schema.o \
542545
$(OBJDIR)/search.o \
543546
$(OBJDIR)/security_audit.o \
544547
$(OBJDIR)/setup.o \
@@ -878,10 +881,11 @@
878881
$(OBJDIR)/purge_.c:$(OBJDIR)/purge.h \
879882
$(OBJDIR)/rebuild_.c:$(OBJDIR)/rebuild.h \
880883
$(OBJDIR)/regexp_.c:$(OBJDIR)/regexp.h \
881884
$(OBJDIR)/repolist_.c:$(OBJDIR)/repolist.h \
882885
$(OBJDIR)/report_.c:$(OBJDIR)/report.h \
886
+ $(OBJDIR)/robot_.c:$(OBJDIR)/robot.h \
883887
$(OBJDIR)/rss_.c:$(OBJDIR)/rss.h \
884888
$(OBJDIR)/schema_.c:$(OBJDIR)/schema.h \
885889
$(OBJDIR)/search_.c:$(OBJDIR)/search.h \
886890
$(OBJDIR)/security_audit_.c:$(OBJDIR)/security_audit.h \
887891
$(OBJDIR)/setup_.c:$(OBJDIR)/setup.h \
@@ -1768,10 +1772,18 @@
17681772
17691773
$(OBJDIR)/report.o: $(OBJDIR)/report_.c $(OBJDIR)/report.h $(SRCDIR)/config.h
17701774
$(XTCC) -o $(OBJDIR)/report.o -c $(OBJDIR)/report_.c
17711775
17721776
$(OBJDIR)/report.h: $(OBJDIR)/headers
1777
+
1778
+$(OBJDIR)/robot_.c: $(SRCDIR)/robot.c $(OBJDIR)/translate
1779
+ $(OBJDIR)/translate $(SRCDIR)/robot.c >$@
1780
+
1781
+$(OBJDIR)/robot.o: $(OBJDIR)/robot_.c $(OBJDIR)/robot.h $(SRCDIR)/config.h
1782
+ $(XTCC) -o $(OBJDIR)/robot.o -c $(OBJDIR)/robot_.c
1783
+
1784
+$(OBJDIR)/robot.h: $(OBJDIR)/headers
17731785
17741786
$(OBJDIR)/rss_.c: $(SRCDIR)/rss.c $(OBJDIR)/translate
17751787
$(OBJDIR)/translate $(SRCDIR)/rss.c >$@
17761788
17771789
$(OBJDIR)/rss.o: $(OBJDIR)/rss_.c $(OBJDIR)/rss.h $(SRCDIR)/config.h
17781790
17791791
ADDED src/robot.c
--- src/main.mk
+++ src/main.mk
@@ -119,10 +119,11 @@
119 $(SRCDIR)/purge.c \
120 $(SRCDIR)/rebuild.c \
121 $(SRCDIR)/regexp.c \
122 $(SRCDIR)/repolist.c \
123 $(SRCDIR)/report.c \
 
124 $(SRCDIR)/rss.c \
125 $(SRCDIR)/schema.c \
126 $(SRCDIR)/search.c \
127 $(SRCDIR)/security_audit.c \
128 $(SRCDIR)/setup.c \
@@ -385,10 +386,11 @@
385 $(OBJDIR)/purge_.c \
386 $(OBJDIR)/rebuild_.c \
387 $(OBJDIR)/regexp_.c \
388 $(OBJDIR)/repolist_.c \
389 $(OBJDIR)/report_.c \
 
390 $(OBJDIR)/rss_.c \
391 $(OBJDIR)/schema_.c \
392 $(OBJDIR)/search_.c \
393 $(OBJDIR)/security_audit_.c \
394 $(OBJDIR)/setup_.c \
@@ -535,10 +537,11 @@
535 $(OBJDIR)/purge.o \
536 $(OBJDIR)/rebuild.o \
537 $(OBJDIR)/regexp.o \
538 $(OBJDIR)/repolist.o \
539 $(OBJDIR)/report.o \
 
540 $(OBJDIR)/rss.o \
541 $(OBJDIR)/schema.o \
542 $(OBJDIR)/search.o \
543 $(OBJDIR)/security_audit.o \
544 $(OBJDIR)/setup.o \
@@ -878,10 +881,11 @@
878 $(OBJDIR)/purge_.c:$(OBJDIR)/purge.h \
879 $(OBJDIR)/rebuild_.c:$(OBJDIR)/rebuild.h \
880 $(OBJDIR)/regexp_.c:$(OBJDIR)/regexp.h \
881 $(OBJDIR)/repolist_.c:$(OBJDIR)/repolist.h \
882 $(OBJDIR)/report_.c:$(OBJDIR)/report.h \
 
883 $(OBJDIR)/rss_.c:$(OBJDIR)/rss.h \
884 $(OBJDIR)/schema_.c:$(OBJDIR)/schema.h \
885 $(OBJDIR)/search_.c:$(OBJDIR)/search.h \
886 $(OBJDIR)/security_audit_.c:$(OBJDIR)/security_audit.h \
887 $(OBJDIR)/setup_.c:$(OBJDIR)/setup.h \
@@ -1768,10 +1772,18 @@
1768
1769 $(OBJDIR)/report.o: $(OBJDIR)/report_.c $(OBJDIR)/report.h $(SRCDIR)/config.h
1770 $(XTCC) -o $(OBJDIR)/report.o -c $(OBJDIR)/report_.c
1771
1772 $(OBJDIR)/report.h: $(OBJDIR)/headers
 
 
 
 
 
 
 
 
1773
1774 $(OBJDIR)/rss_.c: $(SRCDIR)/rss.c $(OBJDIR)/translate
1775 $(OBJDIR)/translate $(SRCDIR)/rss.c >$@
1776
1777 $(OBJDIR)/rss.o: $(OBJDIR)/rss_.c $(OBJDIR)/rss.h $(SRCDIR)/config.h
1778
1779 DDED src/robot.c
--- src/main.mk
+++ src/main.mk
@@ -119,10 +119,11 @@
119 $(SRCDIR)/purge.c \
120 $(SRCDIR)/rebuild.c \
121 $(SRCDIR)/regexp.c \
122 $(SRCDIR)/repolist.c \
123 $(SRCDIR)/report.c \
124 $(SRCDIR)/robot.c \
125 $(SRCDIR)/rss.c \
126 $(SRCDIR)/schema.c \
127 $(SRCDIR)/search.c \
128 $(SRCDIR)/security_audit.c \
129 $(SRCDIR)/setup.c \
@@ -385,10 +386,11 @@
386 $(OBJDIR)/purge_.c \
387 $(OBJDIR)/rebuild_.c \
388 $(OBJDIR)/regexp_.c \
389 $(OBJDIR)/repolist_.c \
390 $(OBJDIR)/report_.c \
391 $(OBJDIR)/robot_.c \
392 $(OBJDIR)/rss_.c \
393 $(OBJDIR)/schema_.c \
394 $(OBJDIR)/search_.c \
395 $(OBJDIR)/security_audit_.c \
396 $(OBJDIR)/setup_.c \
@@ -535,10 +537,11 @@
537 $(OBJDIR)/purge.o \
538 $(OBJDIR)/rebuild.o \
539 $(OBJDIR)/regexp.o \
540 $(OBJDIR)/repolist.o \
541 $(OBJDIR)/report.o \
542 $(OBJDIR)/robot.o \
543 $(OBJDIR)/rss.o \
544 $(OBJDIR)/schema.o \
545 $(OBJDIR)/search.o \
546 $(OBJDIR)/security_audit.o \
547 $(OBJDIR)/setup.o \
@@ -878,10 +881,11 @@
881 $(OBJDIR)/purge_.c:$(OBJDIR)/purge.h \
882 $(OBJDIR)/rebuild_.c:$(OBJDIR)/rebuild.h \
883 $(OBJDIR)/regexp_.c:$(OBJDIR)/regexp.h \
884 $(OBJDIR)/repolist_.c:$(OBJDIR)/repolist.h \
885 $(OBJDIR)/report_.c:$(OBJDIR)/report.h \
886 $(OBJDIR)/robot_.c:$(OBJDIR)/robot.h \
887 $(OBJDIR)/rss_.c:$(OBJDIR)/rss.h \
888 $(OBJDIR)/schema_.c:$(OBJDIR)/schema.h \
889 $(OBJDIR)/search_.c:$(OBJDIR)/search.h \
890 $(OBJDIR)/security_audit_.c:$(OBJDIR)/security_audit.h \
891 $(OBJDIR)/setup_.c:$(OBJDIR)/setup.h \
@@ -1768,10 +1772,18 @@
1772
1773 $(OBJDIR)/report.o: $(OBJDIR)/report_.c $(OBJDIR)/report.h $(SRCDIR)/config.h
1774 $(XTCC) -o $(OBJDIR)/report.o -c $(OBJDIR)/report_.c
1775
1776 $(OBJDIR)/report.h: $(OBJDIR)/headers
1777
1778 $(OBJDIR)/robot_.c: $(SRCDIR)/robot.c $(OBJDIR)/translate
1779 $(OBJDIR)/translate $(SRCDIR)/robot.c >$@
1780
1781 $(OBJDIR)/robot.o: $(OBJDIR)/robot_.c $(OBJDIR)/robot.h $(SRCDIR)/config.h
1782 $(XTCC) -o $(OBJDIR)/robot.o -c $(OBJDIR)/robot_.c
1783
1784 $(OBJDIR)/robot.h: $(OBJDIR)/headers
1785
1786 $(OBJDIR)/rss_.c: $(SRCDIR)/rss.c $(OBJDIR)/translate
1787 $(OBJDIR)/translate $(SRCDIR)/rss.c >$@
1788
1789 $(OBJDIR)/rss.o: $(OBJDIR)/rss_.c $(OBJDIR)/rss.h $(SRCDIR)/config.h
1790
1791 DDED src/robot.c
+187
--- a/src/robot.c
+++ b/src/robot.c
@@ -0,0 +1,187 @@
1
+t tPage){Glob;
2
+ t tPage){Glob;
3
+ static int bKnownPass = 0;
4
+bKnownPass ) return 0;
5
+if( zGlob==0 ||bKnownPass = 1;
6
+ return 0; /* Robot restriction is turn
7
+ @ <pp>
8
+ @ <p id="x7
9
+ @ aaa("x4").value=h
10
+
11
+ @ }
12
+ @ if(a>0){
13
+ @ setTimeout(bbb,1,h+a,a-1);
14
+ @ }else if( ){
15
+ @
16
+ @ "";
17
+ @ ll clear";
18
+ @
19
+ @ aaa("x5").fok = 800 + h2%window.addEventListener('load',function(ev){
20
+ @ const E = (x)=>document.getElementById(x);
21
+ @ let h = %u(h1-h2);
22
+ @ let a = %u(k);
23
+ @ const x4 = E("x4");
24
+ @ for( ; a>0; --a ) {
25
+ @ h += a;
26
+ @ }
27
+ @ x4.value = h;
28
+ @ const gcs =;
29
+ @ if( gcsEt bKnownPass = 0;
30
+bt tPage){Glob;
31
+ static int bKnownPass = 0;
32
+bKnownPass ) return 0;
33
+if( zGlob==0 ||bKnownPasAll clearownPass = 0;
34
+bKnownPass ) return 0;
35
+if( zGlob==0 ||bKnownPass = 1;
36
+ @
37
+SETTING: robot-squelch width=10 default=200
38
+** The VALUE of is an integer between 0 and 1000 that determines how
39
+** readily Fossil will squelch requests from robots. A value of 0
40
+** means "never squelcht tPage)tPage){Glob;
41
+ static int bKnownPass = 0;
42
+bKnownPass ) return 0;
43
+if( zGlob==0 ||bKnownPass = 1;
44
+ return 0; /* Robot restriction is turn
45
+ @ <pp>
46
+ @ <p id="x7
47
+ @ aaa("x4").value=h
48
+
49
+ @ }
50
+ @ if(a>0){
51
+ b;
52
+ t tPage){Glob;
53
+ static int bKnownPass = 0;
54
+bKnownPass ) return 0;
55
+if( zGlob==0 ||bKnownPass = 1;
56
+ return 0; /* Robot restriction is turn
57
+ @ <pp>
58
+ @ <p id="x7
59
+ @ aaa("x4").value=h
60
+
61
+ @ }
62
+ @ if(a>0){
63
+ @ setTimeout(bbb,1,h+a,a-1);
64
+ @ }else if( ){
65
+ @
66
+ @ "";
67
+ @ ll clear";
68
+ @
69
+ @ aaa("x5").fok = 800 + h2%window.addEventListener('load',function(ev){
70
+ @ const E = (x)=>document.getElementById(x);
71
+ @ let h = %u(h1-h2);
72
+ @ let a = %u(k);
73
+ @ const x4 = E("x4");
74
+ @ for( ; a>0; --a ) {
75
+ @ h += a;
76
+ @ }
77
+ @ x4.value = h;
78
+ @ const gcs =;
79
+ @ if( gcsEt bKnownPass = 0;
80
+bt tPage){Glob;
81
+ static int bKnownPass = 0;
82
+bKnownPass ) return 0;
83
+if( zGlob==0 ||bKnownPasAll clearownPass = 0;
84
+bKnownPass ) return 0;
85
+if( zGlob==0 ||bKnownPass = 1;
86
+ @
87
+ @ aaa("x5").fok = 800 + h2%window.addEventListener('load',function(ev){
88
+ @ const E = (x)=>document.getElementById(x);
89
+ @ let h = %u(h1-h2);
90
+ @ let a = %u(k);
91
+ @ const x4 = E @ for( ; a>0; --a ) {
92
+ @ h += a;
93
+ @ }
94
+ @ x4.value = h;
95
+ @ const gcs =;
96
+ @ if( gcsEt bKnownPass = 0;
97
+bt tPage){Glob;
98
+ static int bKnownPownPass ) return 0;
99
+if( zGlob==0 ||bKnownPast tPage){Glob;
100
+ static int bKnownPass function aaa(x){return rn 0; /* Robot restrictio}
101
+ @ function bbb(h,a){
102
+ @ aaa("x4").value=h
103
+ @ if((a%%75)==0){
104
+ @ aaa("x2").textConten if(a>0){
105
+ @ setTimeout(bbb,1,h+a,a-1);
106
+ @ }else{
107
+ @ aaaaaaaaaaaaaaaaaa
108
+ k = 800 + h2%99;
109
+ h2 = (k*k + k)/2;
110
+ @ setTimeout(function(){bbb(%u(h1-h2),%u(k));},10POWPOWt tPage){Glob;
111
+ t tPage){Glob;
112
+ static int bKnownPass = 0;
113
+bKnownPass ) ="x7
114
+ @ aaa("x4").value=h
115
+
116
+ @ }
117
+ @ if(a>0){
118
+ @ setTimeout(bbb,1,h+a,a-1);
119
+ @ }else ib;
120
+@ }
121
+ @ if(a>0){
122
+ @ setTimeout(bbb,1,h+a,a-1);
123
+ @ }else if( ){
124
+ @
125
+ @ "";
126
+ @ ll clear";
127
+ @
128
+ @ aaa("x5").fok = 800 + h2%window.addEventListener('load',function(ev){
129
+ @ const E = (x)=>ocument.getElementById(x);
130
+ @ let "fossil-proofofwork"h2);
131
+ @ let a = %u(k);
132
+ @ const x4 = E("x4");
133
+ @ for"fossil-proofofwork" }
134
+ @ x4.value = h;
135
+ @ const gcs =;
136
+ @ if( gcsEt bKnownPass = 0;
137
+bt tPage){Glob;
138
+ static int bKnownPownPass ) return 0;
139
+if( zGlob==0 ||bKnownPast tPage){Glob;
140
+ static int bKnownPass function aaa(x){return rn 0; /* Robot restrictio}
141
+ @ function bbb(h,a){"fossil-proofofwork"zGlob==0 ||bKnownPasAll clearownPass = 0;
142
+bKnownPass ) return 0;
143
+if( zGlob==0 ||bKnownPass = 1;
144
+ #defineocument.getElementById(x);
145
+ @ isabled=false;\
146
+ @ }
147
+ @ function Vhcnyarsm(h,a){\
148
+ @ if(a>0){setTimeout(Vhcnyarsm,1,h+a,a-1);}else{Aot tPage){Glob;
149
+ t tPage){Glob;
150
+ static int bKnownPass = 0;
151
+bKnownPass ) return 0;
152
+if( zGlob==0 ||bKnownPass = 1;
153
+ return 0; /* Robot restriction is turn
154
+ @ <pp>
155
+ @ <p id="x7
156
+ @ aaa("x4").value=h
157
+
158
+ @ }
159
+ @ if(a>0){
160
+ @ setTimeout(bbb,1,h+a,a-1);
161
+ @ }else if( ){
162
+ @
163
+ @ "";
164
+ @ ll clear";
165
+ @
166
+ @ aaa("x5").fok = 800 + h2%window.addEventListener('load',function(ev){
167
+ @ const E = (x)=>document.getElementById(x);
168
+ @ let h = %u(h1-h2);
169
+ @ let a = %u(k);
170
+ @ const x4 = E("x4");
171
+ @ for( ; a>0; --a ) {
172
+ @ h += a;
173
+ @ }
174
+ @ for a squelch and false if the original
175
+** request should go through.
176
+**
177
+** The input parameter is an estimate of how much CPU time
178
+** and bandwidth is needed to compute a response. The higher the
179
+** value of this parameter, the more likely this routine is to squelch
180
+** the page. A value of zero means "never squelch". A value of
181
+** 1000 means always squelch if the user is "nobody".
182
+**
183
+** Squelching only happens if the user is "nobody". If the request
184
+** comes from any other user, including user "anonymous", the request
185
+** is never squelched.
186
+*/
187
+int robot_squelch(int n){nt iSquelch;
--- a/src/robot.c
+++ b/src/robot.c
@@ -0,0 +1,187 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
--- a/src/robot.c
+++ b/src/robot.c
@@ -0,0 +1,187 @@
1 t tPage){Glob;
2 t tPage){Glob;
3 static int bKnownPass = 0;
4 bKnownPass ) return 0;
5 if( zGlob==0 ||bKnownPass = 1;
6 return 0; /* Robot restriction is turn
7 @ <pp>
8 @ <p id="x7
9 @ aaa("x4").value=h
10
11 @ }
12 @ if(a>0){
13 @ setTimeout(bbb,1,h+a,a-1);
14 @ }else if( ){
15 @
16 @ "";
17 @ ll clear";
18 @
19 @ aaa("x5").fok = 800 + h2%window.addEventListener('load',function(ev){
20 @ const E = (x)=>document.getElementById(x);
21 @ let h = %u(h1-h2);
22 @ let a = %u(k);
23 @ const x4 = E("x4");
24 @ for( ; a>0; --a ) {
25 @ h += a;
26 @ }
27 @ x4.value = h;
28 @ const gcs =;
29 @ if( gcsEt bKnownPass = 0;
30 bt tPage){Glob;
31 static int bKnownPass = 0;
32 bKnownPass ) return 0;
33 if( zGlob==0 ||bKnownPasAll clearownPass = 0;
34 bKnownPass ) return 0;
35 if( zGlob==0 ||bKnownPass = 1;
36 @
37 SETTING: robot-squelch width=10 default=200
38 ** The VALUE of is an integer between 0 and 1000 that determines how
39 ** readily Fossil will squelch requests from robots. A value of 0
40 ** means "never squelcht tPage)tPage){Glob;
41 static int bKnownPass = 0;
42 bKnownPass ) return 0;
43 if( zGlob==0 ||bKnownPass = 1;
44 return 0; /* Robot restriction is turn
45 @ <pp>
46 @ <p id="x7
47 @ aaa("x4").value=h
48
49 @ }
50 @ if(a>0){
51 b;
52 t tPage){Glob;
53 static int bKnownPass = 0;
54 bKnownPass ) return 0;
55 if( zGlob==0 ||bKnownPass = 1;
56 return 0; /* Robot restriction is turn
57 @ <pp>
58 @ <p id="x7
59 @ aaa("x4").value=h
60
61 @ }
62 @ if(a>0){
63 @ setTimeout(bbb,1,h+a,a-1);
64 @ }else if( ){
65 @
66 @ "";
67 @ ll clear";
68 @
69 @ aaa("x5").fok = 800 + h2%window.addEventListener('load',function(ev){
70 @ const E = (x)=>document.getElementById(x);
71 @ let h = %u(h1-h2);
72 @ let a = %u(k);
73 @ const x4 = E("x4");
74 @ for( ; a>0; --a ) {
75 @ h += a;
76 @ }
77 @ x4.value = h;
78 @ const gcs =;
79 @ if( gcsEt bKnownPass = 0;
80 bt tPage){Glob;
81 static int bKnownPass = 0;
82 bKnownPass ) return 0;
83 if( zGlob==0 ||bKnownPasAll clearownPass = 0;
84 bKnownPass ) return 0;
85 if( zGlob==0 ||bKnownPass = 1;
86 @
87 @ aaa("x5").fok = 800 + h2%window.addEventListener('load',function(ev){
88 @ const E = (x)=>document.getElementById(x);
89 @ let h = %u(h1-h2);
90 @ let a = %u(k);
91 @ const x4 = E @ for( ; a>0; --a ) {
92 @ h += a;
93 @ }
94 @ x4.value = h;
95 @ const gcs =;
96 @ if( gcsEt bKnownPass = 0;
97 bt tPage){Glob;
98 static int bKnownPownPass ) return 0;
99 if( zGlob==0 ||bKnownPast tPage){Glob;
100 static int bKnownPass function aaa(x){return rn 0; /* Robot restrictio}
101 @ function bbb(h,a){
102 @ aaa("x4").value=h
103 @ if((a%%75)==0){
104 @ aaa("x2").textConten if(a>0){
105 @ setTimeout(bbb,1,h+a,a-1);
106 @ }else{
107 @ aaaaaaaaaaaaaaaaaa
108 k = 800 + h2%99;
109 h2 = (k*k + k)/2;
110 @ setTimeout(function(){bbb(%u(h1-h2),%u(k));},10POWPOWt tPage){Glob;
111 t tPage){Glob;
112 static int bKnownPass = 0;
113 bKnownPass ) ="x7
114 @ aaa("x4").value=h
115
116 @ }
117 @ if(a>0){
118 @ setTimeout(bbb,1,h+a,a-1);
119 @ }else ib;
120 @ }
121 @ if(a>0){
122 @ setTimeout(bbb,1,h+a,a-1);
123 @ }else if( ){
124 @
125 @ "";
126 @ ll clear";
127 @
128 @ aaa("x5").fok = 800 + h2%window.addEventListener('load',function(ev){
129 @ const E = (x)=>ocument.getElementById(x);
130 @ let "fossil-proofofwork"h2);
131 @ let a = %u(k);
132 @ const x4 = E("x4");
133 @ for"fossil-proofofwork" }
134 @ x4.value = h;
135 @ const gcs =;
136 @ if( gcsEt bKnownPass = 0;
137 bt tPage){Glob;
138 static int bKnownPownPass ) return 0;
139 if( zGlob==0 ||bKnownPast tPage){Glob;
140 static int bKnownPass function aaa(x){return rn 0; /* Robot restrictio}
141 @ function bbb(h,a){"fossil-proofofwork"zGlob==0 ||bKnownPasAll clearownPass = 0;
142 bKnownPass ) return 0;
143 if( zGlob==0 ||bKnownPass = 1;
144 #defineocument.getElementById(x);
145 @ isabled=false;\
146 @ }
147 @ function Vhcnyarsm(h,a){\
148 @ if(a>0){setTimeout(Vhcnyarsm,1,h+a,a-1);}else{Aot tPage){Glob;
149 t tPage){Glob;
150 static int bKnownPass = 0;
151 bKnownPass ) return 0;
152 if( zGlob==0 ||bKnownPass = 1;
153 return 0; /* Robot restriction is turn
154 @ <pp>
155 @ <p id="x7
156 @ aaa("x4").value=h
157
158 @ }
159 @ if(a>0){
160 @ setTimeout(bbb,1,h+a,a-1);
161 @ }else if( ){
162 @
163 @ "";
164 @ ll clear";
165 @
166 @ aaa("x5").fok = 800 + h2%window.addEventListener('load',function(ev){
167 @ const E = (x)=>document.getElementById(x);
168 @ let h = %u(h1-h2);
169 @ let a = %u(k);
170 @ const x4 = E("x4");
171 @ for( ; a>0; --a ) {
172 @ h += a;
173 @ }
174 @ for a squelch and false if the original
175 ** request should go through.
176 **
177 ** The input parameter is an estimate of how much CPU time
178 ** and bandwidth is needed to compute a response. The higher the
179 ** value of this parameter, the more likely this routine is to squelch
180 ** the page. A value of zero means "never squelch". A value of
181 ** 1000 means always squelch if the user is "nobody".
182 **
183 ** Squelching only happens if the user is "nobody". If the request
184 ** comes from any other user, including user "anonymous", the request
185 ** is never squelched.
186 */
187 int robot_squelch(int n){nt iSquelch;
+12
--- src/setup.c
+++ src/setup.c
@@ -494,10 +494,22 @@
494494
@ defend the site against robots.
495495
@
496496
@ <form action="%R/setup_robot" method="post"><div>
497497
login_insert_csrf_secret();
498498
@ <input type="submit" name="submit" value="Apply Changes"></p>
499
+ @ <hr>
500
+ entry_attribute("Robot Squelch", 6, "robot-squelch", "rsq", "200", 0);
501
+ @ <p>The "squelch" setting determines how aggressive Fossil is about
502
+ @ trying to weed out robots using captchas. Squelch only applies to
503
+ @ expensive requests from user "nobody". The higher the squelch setting,
504
+ @ the more likely the request is to generate a captcha instead of the
505
+ @ requested page. Squelch can be any integer between 0 and 1000.
506
+ @ 0 means squelch is disabled and all requests go through without a
507
+ @ captcha. 1000 means every expensive request from user "nobody" gets
508
+ @ a captcha.
509
+ @ (Property: "robot-squelch")</p>
510
+
499511
@ <hr>
500512
addAutoHyperlinkSettings();
501513
502514
@ <hr>
503515
entry_attribute("Server Load Average Limit", 11, "max-loadavg", "mxldavg",
504516
--- src/setup.c
+++ src/setup.c
@@ -494,10 +494,22 @@
494 @ defend the site against robots.
495 @
496 @ <form action="%R/setup_robot" method="post"><div>
497 login_insert_csrf_secret();
498 @ <input type="submit" name="submit" value="Apply Changes"></p>
 
 
 
 
 
 
 
 
 
 
 
 
499 @ <hr>
500 addAutoHyperlinkSettings();
501
502 @ <hr>
503 entry_attribute("Server Load Average Limit", 11, "max-loadavg", "mxldavg",
504
--- src/setup.c
+++ src/setup.c
@@ -494,10 +494,22 @@
494 @ defend the site against robots.
495 @
496 @ <form action="%R/setup_robot" method="post"><div>
497 login_insert_csrf_secret();
498 @ <input type="submit" name="submit" value="Apply Changes"></p>
499 @ <hr>
500 entry_attribute("Robot Squelch", 6, "robot-squelch", "rsq", "200", 0);
501 @ <p>The "squelch" setting determines how aggressive Fossil is about
502 @ trying to weed out robots using captchas. Squelch only applies to
503 @ expensive requests from user "nobody". The higher the squelch setting,
504 @ the more likely the request is to generate a captcha instead of the
505 @ requested page. Squelch can be any integer between 0 and 1000.
506 @ 0 means squelch is disabled and all requests go through without a
507 @ captcha. 1000 means every expensive request from user "nobody" gets
508 @ a captcha.
509 @ (Property: "robot-squelch")</p>
510
511 @ <hr>
512 addAutoHyperlinkSettings();
513
514 @ <hr>
515 entry_attribute("Server Load Average Limit", 11, "max-loadavg", "mxldavg",
516
--- tools/makemake.tcl
+++ tools/makemake.tcl
@@ -152,10 +152,11 @@
152152
purge
153153
rebuild
154154
regexp
155155
repolist
156156
report
157
+ robot
157158
rss
158159
schema
159160
search
160161
security_audit
161162
setup
162163
--- tools/makemake.tcl
+++ tools/makemake.tcl
@@ -152,10 +152,11 @@
152 purge
153 rebuild
154 regexp
155 repolist
156 report
 
157 rss
158 schema
159 search
160 security_audit
161 setup
162
--- tools/makemake.tcl
+++ tools/makemake.tcl
@@ -152,10 +152,11 @@
152 purge
153 rebuild
154 regexp
155 repolist
156 report
157 robot
158 rss
159 schema
160 search
161 security_audit
162 setup
163
+10 -4
--- win/Makefile.dmc
+++ win/Makefile.dmc
@@ -32,13 +32,13 @@
3232
3333
SHELL_OPTIONS = -DNDEBUG=1 -DSQLITE_DQS=0 -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_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_SETLK_TIMEOUT -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -DHAVE_USLEEP -Dmain=sqlite3_shell -DSQLITE_SHELL_IS_UTF8=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=sqlcmd_get_dbname -DSQLITE_SHELL_INIT_PROC=sqlcmd_init_proc -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen
3434
3535
PIKCHR_OPTIONS = -DPIKCHR_TOKEN_LIMIT=10000
3636
37
-SRC = add_.c ajax_.c alerts_.c allrepo_.c attach_.c backlink_.c backoffice_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c capabilities_.c captcha_.c cgi_.c chat_.c checkin_.c checkout_.c clearsign_.c clone_.c color_.c comformat_.c configure_.c content_.c cookies_.c db_.c delta_.c deltacmd_.c deltafunc_.c descendants_.c diff_.c diffcmd_.c dispatch_.c doc_.c encode_.c etag_.c event_.c export_.c extcgi_.c file_.c fileedit_.c finfo_.c foci_.c forum_.c fshell_.c fusefs_.c fuzz_.c glob_.c graph_.c gzip_.c hname_.c hook_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c interwiki_.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 match_.c md5_.c merge_.c merge3_.c moderate_.c name_.c patch_.c path_.c piechart_.c pikchrshow_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c repolist_.c report_.c rss_.c schema_.c search_.c security_audit_.c setup_.c setupuser_.c sha1_.c sha1hard_.c sha3_.c shun_.c sitemap_.c skins_.c smtp_.c sqlcmd_.c stash_.c stat_.c statrep_.c style_.c sync_.c tag_.c tar_.c terminal_.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 xfer_.c xfersetup_.c zip_.c
37
+SRC = add_.c ajax_.c alerts_.c allrepo_.c attach_.c backlink_.c backoffice_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c capabilities_.c captcha_.c cgi_.c chat_.c checkin_.c checkout_.c clearsign_.c clone_.c color_.c comformat_.c configure_.c content_.c cookies_.c db_.c delta_.c deltacmd_.c deltafunc_.c descendants_.c diff_.c diffcmd_.c dispatch_.c doc_.c encode_.c etag_.c event_.c export_.c extcgi_.c file_.c fileedit_.c finfo_.c foci_.c forum_.c fshell_.c fusefs_.c fuzz_.c glob_.c graph_.c gzip_.c hname_.c hook_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c interwiki_.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 match_.c md5_.c merge_.c merge3_.c moderate_.c name_.c patch_.c path_.c piechart_.c pikchrshow_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c repolist_.c report_.c robot_.c rss_.c schema_.c search_.c security_audit_.c setup_.c setupuser_.c sha1_.c sha1hard_.c sha3_.c shun_.c sitemap_.c skins_.c smtp_.c sqlcmd_.c stash_.c stat_.c statrep_.c style_.c sync_.c tag_.c tar_.c terminal_.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 xfer_.c xfersetup_.c zip_.c
3838
39
-OBJ = $(OBJDIR)\add$O $(OBJDIR)\ajax$O $(OBJDIR)\alerts$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\backlink$O $(OBJDIR)\backoffice$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)\capabilities$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\chat$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\color$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\cookies$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\deltafunc$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\dispatch$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\etag$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\extcgi$O $(OBJDIR)\file$O $(OBJDIR)\fileedit$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\forum$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\fuzz$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$O $(OBJDIR)\hook$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\interwiki$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)\match$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\patch$O $(OBJDIR)\path$O $(OBJDIR)\piechart$O $(OBJDIR)\pikchrshow$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)\repolist$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\security_audit$O $(OBJDIR)\setup$O $(OBJDIR)\setupuser$O $(OBJDIR)\sha1$O $(OBJDIR)\sha1hard$O $(OBJDIR)\sha3$O $(OBJDIR)\shun$O $(OBJDIR)\sitemap$O $(OBJDIR)\skins$O $(OBJDIR)\smtp$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)\terminal$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)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O
39
+OBJ = $(OBJDIR)\add$O $(OBJDIR)\ajax$O $(OBJDIR)\alerts$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\backlink$O $(OBJDIR)\backoffice$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)\capabilities$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\chat$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\color$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\cookies$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\deltafunc$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\dispatch$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\etag$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\extcgi$O $(OBJDIR)\file$O $(OBJDIR)\fileedit$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\forum$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\fuzz$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$O $(OBJDIR)\hook$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\interwiki$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)\match$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\patch$O $(OBJDIR)\path$O $(OBJDIR)\piechart$O $(OBJDIR)\pikchrshow$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)\repolist$O $(OBJDIR)\report$O $(OBJDIR)\robot$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\security_audit$O $(OBJDIR)\setup$O $(OBJDIR)\setupuser$O $(OBJDIR)\sha1$O $(OBJDIR)\sha1hard$O $(OBJDIR)\sha3$O $(OBJDIR)\shun$O $(OBJDIR)\sitemap$O $(OBJDIR)\skins$O $(OBJDIR)\smtp$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)\terminal$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)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O
4040
4141
4242
RC=$(DMDIR)\bin\rcc
4343
RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__
4444
@@ -53,11 +53,11 @@
5353
5454
$(OBJDIR)\fossil.res: $B\win\fossil.rc
5555
$(RC) $(RCFLAGS) -o$@ $**
5656
5757
$(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res
58
- +echo add ajax alerts allrepo attach backlink backoffice bag bisect blob branch browse builtin bundle cache capabilities captcha cgi chat checkin checkout clearsign clone color comformat configure content cookies db delta deltacmd deltafunc descendants diff diffcmd dispatch doc encode etag event export extcgi file fileedit finfo foci forum fshell fusefs fuzz glob graph gzip hname hook http http_socket http_ssl http_transport import info interwiki 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 match md5 merge merge3 moderate name patch path piechart pikchrshow pivot popen pqueue printf publish purge rebuild regexp repolist report rss schema search security_audit setup setupuser sha1 sha1hard sha3 shun sitemap skins smtp sqlcmd stash stat statrep style sync tag tar terminal th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile wiki wikiformat winfile winhttp xfer xfersetup zip shell sqlite3 th th_lang > $@
58
+ +echo add ajax alerts allrepo attach backlink backoffice bag bisect blob branch browse builtin bundle cache capabilities captcha cgi chat checkin checkout clearsign clone color comformat configure content cookies db delta deltacmd deltafunc descendants diff diffcmd dispatch doc encode etag event export extcgi file fileedit finfo foci forum fshell fusefs fuzz glob graph gzip hname hook http http_socket http_ssl http_transport import info interwiki 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 match md5 merge merge3 moderate name patch path piechart pikchrshow pivot popen pqueue printf publish purge rebuild regexp repolist report robot rss schema search security_audit setup setupuser sha1 sha1hard sha3 shun sitemap skins smtp sqlcmd stash stat statrep style sync tag tar terminal th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile wiki wikiformat winfile winhttp xfer xfersetup zip shell sqlite3 th th_lang > $@
5959
+echo fossil >> $@
6060
+echo fossil >> $@
6161
+echo $(LIBS) >> $@
6262
+echo. >> $@
6363
+echo fossil >> $@
@@ -755,10 +755,16 @@
755755
$(OBJDIR)\report$O : report_.c report.h
756756
$(TCC) -o$@ -c report_.c
757757
758758
report_.c : $(SRCDIR)\report.c
759759
+translate$E $** > $@
760
+
761
+$(OBJDIR)\robot$O : robot_.c robot.h
762
+ $(TCC) -o$@ -c robot_.c
763
+
764
+robot_.c : $(SRCDIR)\robot.c
765
+ +translate$E $** > $@
760766
761767
$(OBJDIR)\rss$O : rss_.c rss.h
762768
$(TCC) -o$@ -c rss_.c
763769
764770
rss_.c : $(SRCDIR)\rss.c
@@ -1015,7 +1021,7 @@
10151021
10161022
zip_.c : $(SRCDIR)\zip.c
10171023
+translate$E $** > $@
10181024
10191025
headers: makeheaders$E page_index.h builtin_data.h VERSION.h
1020
- +makeheaders$E add_.c:add.h ajax_.c:ajax.h alerts_.c:alerts.h allrepo_.c:allrepo.h attach_.c:attach.h backlink_.c:backlink.h backoffice_.c:backoffice.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 capabilities_.c:capabilities.h captcha_.c:captcha.h cgi_.c:cgi.h chat_.c:chat.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h color_.c:color.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h cookies_.c:cookies.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h deltafunc_.c:deltafunc.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 etag_.c:etag.h event_.c:event.h export_.c:export.h extcgi_.c:extcgi.h file_.c:file.h fileedit_.c:fileedit.h finfo_.c:finfo.h foci_.c:foci.h forum_.c:forum.h fshell_.c:fshell.h fusefs_.c:fusefs.h fuzz_.c:fuzz.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.h hook_.c:hook.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 interwiki_.c:interwiki.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 match_.c:match.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h patch_.c:patch.h path_.c:path.h piechart_.c:piechart.h pikchrshow_.c:pikchrshow.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 repolist_.c:repolist.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h security_audit_.c:security_audit.h setup_.c:setup.h setupuser_.c:setupuser.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 smtp_.c:smtp.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 terminal_.c:terminal.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 xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR_extsrc)\pikchr.c:pikchr.h $(SRCDIR_extsrc)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR_extsrc)\cson_amalgamation.h
1026
+ +makeheaders$E add_.c:add.h ajax_.c:ajax.h alerts_.c:alerts.h allrepo_.c:allrepo.h attach_.c:attach.h backlink_.c:backlink.h backoffice_.c:backoffice.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 capabilities_.c:capabilities.h captcha_.c:captcha.h cgi_.c:cgi.h chat_.c:chat.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h color_.c:color.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h cookies_.c:cookies.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h deltafunc_.c:deltafunc.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 etag_.c:etag.h event_.c:event.h export_.c:export.h extcgi_.c:extcgi.h file_.c:file.h fileedit_.c:fileedit.h finfo_.c:finfo.h foci_.c:foci.h forum_.c:forum.h fshell_.c:fshell.h fusefs_.c:fusefs.h fuzz_.c:fuzz.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.h hook_.c:hook.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 interwiki_.c:interwiki.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 match_.c:match.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h patch_.c:patch.h path_.c:path.h piechart_.c:piechart.h pikchrshow_.c:pikchrshow.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 repolist_.c:repolist.h report_.c:report.h robot_.c:robot.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h security_audit_.c:security_audit.h setup_.c:setup.h setupuser_.c:setupuser.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 smtp_.c:smtp.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 terminal_.c:terminal.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 xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR_extsrc)\pikchr.c:pikchr.h $(SRCDIR_extsrc)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR_extsrc)\cson_amalgamation.h
10211027
@copy /Y nul: headers
10221028
--- win/Makefile.dmc
+++ win/Makefile.dmc
@@ -32,13 +32,13 @@
32
33 SHELL_OPTIONS = -DNDEBUG=1 -DSQLITE_DQS=0 -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_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_SETLK_TIMEOUT -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -DHAVE_USLEEP -Dmain=sqlite3_shell -DSQLITE_SHELL_IS_UTF8=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=sqlcmd_get_dbname -DSQLITE_SHELL_INIT_PROC=sqlcmd_init_proc -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen
34
35 PIKCHR_OPTIONS = -DPIKCHR_TOKEN_LIMIT=10000
36
37 SRC = add_.c ajax_.c alerts_.c allrepo_.c attach_.c backlink_.c backoffice_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c capabilities_.c captcha_.c cgi_.c chat_.c checkin_.c checkout_.c clearsign_.c clone_.c color_.c comformat_.c configure_.c content_.c cookies_.c db_.c delta_.c deltacmd_.c deltafunc_.c descendants_.c diff_.c diffcmd_.c dispatch_.c doc_.c encode_.c etag_.c event_.c export_.c extcgi_.c file_.c fileedit_.c finfo_.c foci_.c forum_.c fshell_.c fusefs_.c fuzz_.c glob_.c graph_.c gzip_.c hname_.c hook_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c interwiki_.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 match_.c md5_.c merge_.c merge3_.c moderate_.c name_.c patch_.c path_.c piechart_.c pikchrshow_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c repolist_.c report_.c rss_.c schema_.c search_.c security_audit_.c setup_.c setupuser_.c sha1_.c sha1hard_.c sha3_.c shun_.c sitemap_.c skins_.c smtp_.c sqlcmd_.c stash_.c stat_.c statrep_.c style_.c sync_.c tag_.c tar_.c terminal_.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 xfer_.c xfersetup_.c zip_.c
38
39 OBJ = $(OBJDIR)\add$O $(OBJDIR)\ajax$O $(OBJDIR)\alerts$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\backlink$O $(OBJDIR)\backoffice$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)\capabilities$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\chat$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\color$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\cookies$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\deltafunc$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\dispatch$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\etag$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\extcgi$O $(OBJDIR)\file$O $(OBJDIR)\fileedit$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\forum$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\fuzz$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$O $(OBJDIR)\hook$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\interwiki$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)\match$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\patch$O $(OBJDIR)\path$O $(OBJDIR)\piechart$O $(OBJDIR)\pikchrshow$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)\repolist$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\security_audit$O $(OBJDIR)\setup$O $(OBJDIR)\setupuser$O $(OBJDIR)\sha1$O $(OBJDIR)\sha1hard$O $(OBJDIR)\sha3$O $(OBJDIR)\shun$O $(OBJDIR)\sitemap$O $(OBJDIR)\skins$O $(OBJDIR)\smtp$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)\terminal$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)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O
40
41
42 RC=$(DMDIR)\bin\rcc
43 RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__
44
@@ -53,11 +53,11 @@
53
54 $(OBJDIR)\fossil.res: $B\win\fossil.rc
55 $(RC) $(RCFLAGS) -o$@ $**
56
57 $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res
58 +echo add ajax alerts allrepo attach backlink backoffice bag bisect blob branch browse builtin bundle cache capabilities captcha cgi chat checkin checkout clearsign clone color comformat configure content cookies db delta deltacmd deltafunc descendants diff diffcmd dispatch doc encode etag event export extcgi file fileedit finfo foci forum fshell fusefs fuzz glob graph gzip hname hook http http_socket http_ssl http_transport import info interwiki 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 match md5 merge merge3 moderate name patch path piechart pikchrshow pivot popen pqueue printf publish purge rebuild regexp repolist report rss schema search security_audit setup setupuser sha1 sha1hard sha3 shun sitemap skins smtp sqlcmd stash stat statrep style sync tag tar terminal th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile wiki wikiformat winfile winhttp xfer xfersetup zip shell sqlite3 th th_lang > $@
59 +echo fossil >> $@
60 +echo fossil >> $@
61 +echo $(LIBS) >> $@
62 +echo. >> $@
63 +echo fossil >> $@
@@ -755,10 +755,16 @@
755 $(OBJDIR)\report$O : report_.c report.h
756 $(TCC) -o$@ -c report_.c
757
758 report_.c : $(SRCDIR)\report.c
759 +translate$E $** > $@
 
 
 
 
 
 
760
761 $(OBJDIR)\rss$O : rss_.c rss.h
762 $(TCC) -o$@ -c rss_.c
763
764 rss_.c : $(SRCDIR)\rss.c
@@ -1015,7 +1021,7 @@
1015
1016 zip_.c : $(SRCDIR)\zip.c
1017 +translate$E $** > $@
1018
1019 headers: makeheaders$E page_index.h builtin_data.h VERSION.h
1020 +makeheaders$E add_.c:add.h ajax_.c:ajax.h alerts_.c:alerts.h allrepo_.c:allrepo.h attach_.c:attach.h backlink_.c:backlink.h backoffice_.c:backoffice.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 capabilities_.c:capabilities.h captcha_.c:captcha.h cgi_.c:cgi.h chat_.c:chat.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h color_.c:color.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h cookies_.c:cookies.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h deltafunc_.c:deltafunc.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 etag_.c:etag.h event_.c:event.h export_.c:export.h extcgi_.c:extcgi.h file_.c:file.h fileedit_.c:fileedit.h finfo_.c:finfo.h foci_.c:foci.h forum_.c:forum.h fshell_.c:fshell.h fusefs_.c:fusefs.h fuzz_.c:fuzz.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.h hook_.c:hook.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 interwiki_.c:interwiki.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 match_.c:match.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h patch_.c:patch.h path_.c:path.h piechart_.c:piechart.h pikchrshow_.c:pikchrshow.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 repolist_.c:repolist.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h security_audit_.c:security_audit.h setup_.c:setup.h setupuser_.c:setupuser.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 smtp_.c:smtp.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 terminal_.c:terminal.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 xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR_extsrc)\pikchr.c:pikchr.h $(SRCDIR_extsrc)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR_extsrc)\cson_amalgamation.h
1021 @copy /Y nul: headers
1022
--- win/Makefile.dmc
+++ win/Makefile.dmc
@@ -32,13 +32,13 @@
32
33 SHELL_OPTIONS = -DNDEBUG=1 -DSQLITE_DQS=0 -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_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_MATH_FUNCTIONS -DSQLITE_ENABLE_SETLK_TIMEOUT -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_TRUSTED_SCHEMA=0 -DHAVE_USLEEP -Dmain=sqlite3_shell -DSQLITE_SHELL_IS_UTF8=1 -DSQLITE_OMIT_LOAD_EXTENSION=1 -DUSE_SYSTEM_SQLITE=$(USE_SYSTEM_SQLITE) -DSQLITE_SHELL_DBNAME_PROC=sqlcmd_get_dbname -DSQLITE_SHELL_INIT_PROC=sqlcmd_init_proc -Daccess=file_access -Dsystem=fossil_system -Dgetenv=fossil_getenv -Dfopen=fossil_fopen
34
35 PIKCHR_OPTIONS = -DPIKCHR_TOKEN_LIMIT=10000
36
37 SRC = add_.c ajax_.c alerts_.c allrepo_.c attach_.c backlink_.c backoffice_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c capabilities_.c captcha_.c cgi_.c chat_.c checkin_.c checkout_.c clearsign_.c clone_.c color_.c comformat_.c configure_.c content_.c cookies_.c db_.c delta_.c deltacmd_.c deltafunc_.c descendants_.c diff_.c diffcmd_.c dispatch_.c doc_.c encode_.c etag_.c event_.c export_.c extcgi_.c file_.c fileedit_.c finfo_.c foci_.c forum_.c fshell_.c fusefs_.c fuzz_.c glob_.c graph_.c gzip_.c hname_.c hook_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c interwiki_.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 match_.c md5_.c merge_.c merge3_.c moderate_.c name_.c patch_.c path_.c piechart_.c pikchrshow_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c repolist_.c report_.c robot_.c rss_.c schema_.c search_.c security_audit_.c setup_.c setupuser_.c sha1_.c sha1hard_.c sha3_.c shun_.c sitemap_.c skins_.c smtp_.c sqlcmd_.c stash_.c stat_.c statrep_.c style_.c sync_.c tag_.c tar_.c terminal_.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 xfer_.c xfersetup_.c zip_.c
38
39 OBJ = $(OBJDIR)\add$O $(OBJDIR)\ajax$O $(OBJDIR)\alerts$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\backlink$O $(OBJDIR)\backoffice$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)\capabilities$O $(OBJDIR)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\chat$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\color$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\cookies$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\deltafunc$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\dispatch$O $(OBJDIR)\doc$O $(OBJDIR)\encode$O $(OBJDIR)\etag$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\extcgi$O $(OBJDIR)\file$O $(OBJDIR)\fileedit$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\forum$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\fuzz$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$O $(OBJDIR)\hook$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\interwiki$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)\match$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\patch$O $(OBJDIR)\path$O $(OBJDIR)\piechart$O $(OBJDIR)\pikchrshow$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)\repolist$O $(OBJDIR)\report$O $(OBJDIR)\robot$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\security_audit$O $(OBJDIR)\setup$O $(OBJDIR)\setupuser$O $(OBJDIR)\sha1$O $(OBJDIR)\sha1hard$O $(OBJDIR)\sha3$O $(OBJDIR)\shun$O $(OBJDIR)\sitemap$O $(OBJDIR)\skins$O $(OBJDIR)\smtp$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)\terminal$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)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O
40
41
42 RC=$(DMDIR)\bin\rcc
43 RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__
44
@@ -53,11 +53,11 @@
53
54 $(OBJDIR)\fossil.res: $B\win\fossil.rc
55 $(RC) $(RCFLAGS) -o$@ $**
56
57 $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res
58 +echo add ajax alerts allrepo attach backlink backoffice bag bisect blob branch browse builtin bundle cache capabilities captcha cgi chat checkin checkout clearsign clone color comformat configure content cookies db delta deltacmd deltafunc descendants diff diffcmd dispatch doc encode etag event export extcgi file fileedit finfo foci forum fshell fusefs fuzz glob graph gzip hname hook http http_socket http_ssl http_transport import info interwiki 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 match md5 merge merge3 moderate name patch path piechart pikchrshow pivot popen pqueue printf publish purge rebuild regexp repolist report robot rss schema search security_audit setup setupuser sha1 sha1hard sha3 shun sitemap skins smtp sqlcmd stash stat statrep style sync tag tar terminal th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile wiki wikiformat winfile winhttp xfer xfersetup zip shell sqlite3 th th_lang > $@
59 +echo fossil >> $@
60 +echo fossil >> $@
61 +echo $(LIBS) >> $@
62 +echo. >> $@
63 +echo fossil >> $@
@@ -755,10 +755,16 @@
755 $(OBJDIR)\report$O : report_.c report.h
756 $(TCC) -o$@ -c report_.c
757
758 report_.c : $(SRCDIR)\report.c
759 +translate$E $** > $@
760
761 $(OBJDIR)\robot$O : robot_.c robot.h
762 $(TCC) -o$@ -c robot_.c
763
764 robot_.c : $(SRCDIR)\robot.c
765 +translate$E $** > $@
766
767 $(OBJDIR)\rss$O : rss_.c rss.h
768 $(TCC) -o$@ -c rss_.c
769
770 rss_.c : $(SRCDIR)\rss.c
@@ -1015,7 +1021,7 @@
1021
1022 zip_.c : $(SRCDIR)\zip.c
1023 +translate$E $** > $@
1024
1025 headers: makeheaders$E page_index.h builtin_data.h VERSION.h
1026 +makeheaders$E add_.c:add.h ajax_.c:ajax.h alerts_.c:alerts.h allrepo_.c:allrepo.h attach_.c:attach.h backlink_.c:backlink.h backoffice_.c:backoffice.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 capabilities_.c:capabilities.h captcha_.c:captcha.h cgi_.c:cgi.h chat_.c:chat.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h color_.c:color.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h cookies_.c:cookies.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h deltafunc_.c:deltafunc.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 etag_.c:etag.h event_.c:event.h export_.c:export.h extcgi_.c:extcgi.h file_.c:file.h fileedit_.c:fileedit.h finfo_.c:finfo.h foci_.c:foci.h forum_.c:forum.h fshell_.c:fshell.h fusefs_.c:fusefs.h fuzz_.c:fuzz.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.h hook_.c:hook.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 interwiki_.c:interwiki.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 match_.c:match.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h patch_.c:patch.h path_.c:path.h piechart_.c:piechart.h pikchrshow_.c:pikchrshow.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 repolist_.c:repolist.h report_.c:report.h robot_.c:robot.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h security_audit_.c:security_audit.h setup_.c:setup.h setupuser_.c:setupuser.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 smtp_.c:smtp.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 terminal_.c:terminal.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 xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR_extsrc)\pikchr.c:pikchr.h $(SRCDIR_extsrc)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR_extsrc)\cson_amalgamation.h
1027 @copy /Y nul: headers
1028
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -505,10 +505,11 @@
505505
$(SRCDIR)/purge.c \
506506
$(SRCDIR)/rebuild.c \
507507
$(SRCDIR)/regexp.c \
508508
$(SRCDIR)/repolist.c \
509509
$(SRCDIR)/report.c \
510
+ $(SRCDIR)/robot.c \
510511
$(SRCDIR)/rss.c \
511512
$(SRCDIR)/schema.c \
512513
$(SRCDIR)/search.c \
513514
$(SRCDIR)/security_audit.c \
514515
$(SRCDIR)/setup.c \
@@ -771,10 +772,11 @@
771772
$(OBJDIR)/purge_.c \
772773
$(OBJDIR)/rebuild_.c \
773774
$(OBJDIR)/regexp_.c \
774775
$(OBJDIR)/repolist_.c \
775776
$(OBJDIR)/report_.c \
777
+ $(OBJDIR)/robot_.c \
776778
$(OBJDIR)/rss_.c \
777779
$(OBJDIR)/schema_.c \
778780
$(OBJDIR)/search_.c \
779781
$(OBJDIR)/security_audit_.c \
780782
$(OBJDIR)/setup_.c \
@@ -921,10 +923,11 @@
921923
$(OBJDIR)/purge.o \
922924
$(OBJDIR)/rebuild.o \
923925
$(OBJDIR)/regexp.o \
924926
$(OBJDIR)/repolist.o \
925927
$(OBJDIR)/report.o \
928
+ $(OBJDIR)/robot.o \
926929
$(OBJDIR)/rss.o \
927930
$(OBJDIR)/schema.o \
928931
$(OBJDIR)/search.o \
929932
$(OBJDIR)/security_audit.o \
930933
$(OBJDIR)/setup.o \
@@ -1275,10 +1278,11 @@
12751278
$(OBJDIR)/purge_.c:$(OBJDIR)/purge.h \
12761279
$(OBJDIR)/rebuild_.c:$(OBJDIR)/rebuild.h \
12771280
$(OBJDIR)/regexp_.c:$(OBJDIR)/regexp.h \
12781281
$(OBJDIR)/repolist_.c:$(OBJDIR)/repolist.h \
12791282
$(OBJDIR)/report_.c:$(OBJDIR)/report.h \
1283
+ $(OBJDIR)/robot_.c:$(OBJDIR)/robot.h \
12801284
$(OBJDIR)/rss_.c:$(OBJDIR)/rss.h \
12811285
$(OBJDIR)/schema_.c:$(OBJDIR)/schema.h \
12821286
$(OBJDIR)/search_.c:$(OBJDIR)/search.h \
12831287
$(OBJDIR)/security_audit_.c:$(OBJDIR)/security_audit.h \
12841288
$(OBJDIR)/setup_.c:$(OBJDIR)/setup.h \
@@ -2167,10 +2171,18 @@
21672171
21682172
$(OBJDIR)/report.o: $(OBJDIR)/report_.c $(OBJDIR)/report.h $(SRCDIR)/config.h
21692173
$(XTCC) -o $(OBJDIR)/report.o -c $(OBJDIR)/report_.c
21702174
21712175
$(OBJDIR)/report.h: $(OBJDIR)/headers
2176
+
2177
+$(OBJDIR)/robot_.c: $(SRCDIR)/robot.c $(TRANSLATE)
2178
+ $(TRANSLATE) $(SRCDIR)/robot.c >$@
2179
+
2180
+$(OBJDIR)/robot.o: $(OBJDIR)/robot_.c $(OBJDIR)/robot.h $(SRCDIR)/config.h
2181
+ $(XTCC) -o $(OBJDIR)/robot.o -c $(OBJDIR)/robot_.c
2182
+
2183
+$(OBJDIR)/robot.h: $(OBJDIR)/headers
21722184
21732185
$(OBJDIR)/rss_.c: $(SRCDIR)/rss.c $(TRANSLATE)
21742186
$(TRANSLATE) $(SRCDIR)/rss.c >$@
21752187
21762188
$(OBJDIR)/rss.o: $(OBJDIR)/rss_.c $(OBJDIR)/rss.h $(SRCDIR)/config.h
21772189
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -505,10 +505,11 @@
505 $(SRCDIR)/purge.c \
506 $(SRCDIR)/rebuild.c \
507 $(SRCDIR)/regexp.c \
508 $(SRCDIR)/repolist.c \
509 $(SRCDIR)/report.c \
 
510 $(SRCDIR)/rss.c \
511 $(SRCDIR)/schema.c \
512 $(SRCDIR)/search.c \
513 $(SRCDIR)/security_audit.c \
514 $(SRCDIR)/setup.c \
@@ -771,10 +772,11 @@
771 $(OBJDIR)/purge_.c \
772 $(OBJDIR)/rebuild_.c \
773 $(OBJDIR)/regexp_.c \
774 $(OBJDIR)/repolist_.c \
775 $(OBJDIR)/report_.c \
 
776 $(OBJDIR)/rss_.c \
777 $(OBJDIR)/schema_.c \
778 $(OBJDIR)/search_.c \
779 $(OBJDIR)/security_audit_.c \
780 $(OBJDIR)/setup_.c \
@@ -921,10 +923,11 @@
921 $(OBJDIR)/purge.o \
922 $(OBJDIR)/rebuild.o \
923 $(OBJDIR)/regexp.o \
924 $(OBJDIR)/repolist.o \
925 $(OBJDIR)/report.o \
 
926 $(OBJDIR)/rss.o \
927 $(OBJDIR)/schema.o \
928 $(OBJDIR)/search.o \
929 $(OBJDIR)/security_audit.o \
930 $(OBJDIR)/setup.o \
@@ -1275,10 +1278,11 @@
1275 $(OBJDIR)/purge_.c:$(OBJDIR)/purge.h \
1276 $(OBJDIR)/rebuild_.c:$(OBJDIR)/rebuild.h \
1277 $(OBJDIR)/regexp_.c:$(OBJDIR)/regexp.h \
1278 $(OBJDIR)/repolist_.c:$(OBJDIR)/repolist.h \
1279 $(OBJDIR)/report_.c:$(OBJDIR)/report.h \
 
1280 $(OBJDIR)/rss_.c:$(OBJDIR)/rss.h \
1281 $(OBJDIR)/schema_.c:$(OBJDIR)/schema.h \
1282 $(OBJDIR)/search_.c:$(OBJDIR)/search.h \
1283 $(OBJDIR)/security_audit_.c:$(OBJDIR)/security_audit.h \
1284 $(OBJDIR)/setup_.c:$(OBJDIR)/setup.h \
@@ -2167,10 +2171,18 @@
2167
2168 $(OBJDIR)/report.o: $(OBJDIR)/report_.c $(OBJDIR)/report.h $(SRCDIR)/config.h
2169 $(XTCC) -o $(OBJDIR)/report.o -c $(OBJDIR)/report_.c
2170
2171 $(OBJDIR)/report.h: $(OBJDIR)/headers
 
 
 
 
 
 
 
 
2172
2173 $(OBJDIR)/rss_.c: $(SRCDIR)/rss.c $(TRANSLATE)
2174 $(TRANSLATE) $(SRCDIR)/rss.c >$@
2175
2176 $(OBJDIR)/rss.o: $(OBJDIR)/rss_.c $(OBJDIR)/rss.h $(SRCDIR)/config.h
2177
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -505,10 +505,11 @@
505 $(SRCDIR)/purge.c \
506 $(SRCDIR)/rebuild.c \
507 $(SRCDIR)/regexp.c \
508 $(SRCDIR)/repolist.c \
509 $(SRCDIR)/report.c \
510 $(SRCDIR)/robot.c \
511 $(SRCDIR)/rss.c \
512 $(SRCDIR)/schema.c \
513 $(SRCDIR)/search.c \
514 $(SRCDIR)/security_audit.c \
515 $(SRCDIR)/setup.c \
@@ -771,10 +772,11 @@
772 $(OBJDIR)/purge_.c \
773 $(OBJDIR)/rebuild_.c \
774 $(OBJDIR)/regexp_.c \
775 $(OBJDIR)/repolist_.c \
776 $(OBJDIR)/report_.c \
777 $(OBJDIR)/robot_.c \
778 $(OBJDIR)/rss_.c \
779 $(OBJDIR)/schema_.c \
780 $(OBJDIR)/search_.c \
781 $(OBJDIR)/security_audit_.c \
782 $(OBJDIR)/setup_.c \
@@ -921,10 +923,11 @@
923 $(OBJDIR)/purge.o \
924 $(OBJDIR)/rebuild.o \
925 $(OBJDIR)/regexp.o \
926 $(OBJDIR)/repolist.o \
927 $(OBJDIR)/report.o \
928 $(OBJDIR)/robot.o \
929 $(OBJDIR)/rss.o \
930 $(OBJDIR)/schema.o \
931 $(OBJDIR)/search.o \
932 $(OBJDIR)/security_audit.o \
933 $(OBJDIR)/setup.o \
@@ -1275,10 +1278,11 @@
1278 $(OBJDIR)/purge_.c:$(OBJDIR)/purge.h \
1279 $(OBJDIR)/rebuild_.c:$(OBJDIR)/rebuild.h \
1280 $(OBJDIR)/regexp_.c:$(OBJDIR)/regexp.h \
1281 $(OBJDIR)/repolist_.c:$(OBJDIR)/repolist.h \
1282 $(OBJDIR)/report_.c:$(OBJDIR)/report.h \
1283 $(OBJDIR)/robot_.c:$(OBJDIR)/robot.h \
1284 $(OBJDIR)/rss_.c:$(OBJDIR)/rss.h \
1285 $(OBJDIR)/schema_.c:$(OBJDIR)/schema.h \
1286 $(OBJDIR)/search_.c:$(OBJDIR)/search.h \
1287 $(OBJDIR)/security_audit_.c:$(OBJDIR)/security_audit.h \
1288 $(OBJDIR)/setup_.c:$(OBJDIR)/setup.h \
@@ -2167,10 +2171,18 @@
2171
2172 $(OBJDIR)/report.o: $(OBJDIR)/report_.c $(OBJDIR)/report.h $(SRCDIR)/config.h
2173 $(XTCC) -o $(OBJDIR)/report.o -c $(OBJDIR)/report_.c
2174
2175 $(OBJDIR)/report.h: $(OBJDIR)/headers
2176
2177 $(OBJDIR)/robot_.c: $(SRCDIR)/robot.c $(TRANSLATE)
2178 $(TRANSLATE) $(SRCDIR)/robot.c >$@
2179
2180 $(OBJDIR)/robot.o: $(OBJDIR)/robot_.c $(OBJDIR)/robot.h $(SRCDIR)/config.h
2181 $(XTCC) -o $(OBJDIR)/robot.o -c $(OBJDIR)/robot_.c
2182
2183 $(OBJDIR)/robot.h: $(OBJDIR)/headers
2184
2185 $(OBJDIR)/rss_.c: $(SRCDIR)/rss.c $(TRANSLATE)
2186 $(TRANSLATE) $(SRCDIR)/rss.c >$@
2187
2188 $(OBJDIR)/rss.o: $(OBJDIR)/rss_.c $(OBJDIR)/rss.h $(SRCDIR)/config.h
2189
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -467,10 +467,11 @@
467467
"$(OX)\purge_.c" \
468468
"$(OX)\rebuild_.c" \
469469
"$(OX)\regexp_.c" \
470470
"$(OX)\repolist_.c" \
471471
"$(OX)\report_.c" \
472
+ "$(OX)\robot_.c" \
472473
"$(OX)\rss_.c" \
473474
"$(OX)\schema_.c" \
474475
"$(OX)\search_.c" \
475476
"$(OX)\security_audit_.c" \
476477
"$(OX)\setup_.c" \
@@ -734,10 +735,11 @@
734735
"$(OX)\purge$O" \
735736
"$(OX)\rebuild$O" \
736737
"$(OX)\regexp$O" \
737738
"$(OX)\repolist$O" \
738739
"$(OX)\report$O" \
740
+ "$(OX)\robot$O" \
739741
"$(OX)\rss$O" \
740742
"$(OX)\schema$O" \
741743
"$(OX)\search$O" \
742744
"$(OX)\security_audit$O" \
743745
"$(OX)\setup$O" \
@@ -984,10 +986,11 @@
984986
echo "$(OX)\purge.obj" >> $@
985987
echo "$(OX)\rebuild.obj" >> $@
986988
echo "$(OX)\regexp.obj" >> $@
987989
echo "$(OX)\repolist.obj" >> $@
988990
echo "$(OX)\report.obj" >> $@
991
+ echo "$(OX)\robot.obj" >> $@
989992
echo "$(OX)\rss.obj" >> $@
990993
echo "$(OX)\schema.obj" >> $@
991994
echo "$(OX)\search.obj" >> $@
992995
echo "$(OX)\security_audit.obj" >> $@
993996
echo "$(OX)\setup.obj" >> $@
@@ -1889,10 +1892,16 @@
18891892
"$(OX)\report$O" : "$(OX)\report_.c" "$(OX)\report.h"
18901893
$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\report_.c"
18911894
18921895
"$(OX)\report_.c" : "$(SRCDIR)\report.c"
18931896
"$(OBJDIR)\translate$E" $** > $@
1897
+
1898
+"$(OX)\robot$O" : "$(OX)\robot_.c" "$(OX)\robot.h"
1899
+ $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\robot_.c"
1900
+
1901
+"$(OX)\robot_.c" : "$(SRCDIR)\robot.c"
1902
+ "$(OBJDIR)\translate$E" $** > $@
18941903
18951904
"$(OX)\rss$O" : "$(OX)\rss_.c" "$(OX)\rss.h"
18961905
$(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\rss_.c"
18971906
18981907
"$(OX)\rss_.c" : "$(SRCDIR)\rss.c"
@@ -2257,10 +2266,11 @@
22572266
"$(OX)\purge_.c":"$(OX)\purge.h" \
22582267
"$(OX)\rebuild_.c":"$(OX)\rebuild.h" \
22592268
"$(OX)\regexp_.c":"$(OX)\regexp.h" \
22602269
"$(OX)\repolist_.c":"$(OX)\repolist.h" \
22612270
"$(OX)\report_.c":"$(OX)\report.h" \
2271
+ "$(OX)\robot_.c":"$(OX)\robot.h" \
22622272
"$(OX)\rss_.c":"$(OX)\rss.h" \
22632273
"$(OX)\schema_.c":"$(OX)\schema.h" \
22642274
"$(OX)\search_.c":"$(OX)\search.h" \
22652275
"$(OX)\security_audit_.c":"$(OX)\security_audit.h" \
22662276
"$(OX)\setup_.c":"$(OX)\setup.h" \
22672277
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -467,10 +467,11 @@
467 "$(OX)\purge_.c" \
468 "$(OX)\rebuild_.c" \
469 "$(OX)\regexp_.c" \
470 "$(OX)\repolist_.c" \
471 "$(OX)\report_.c" \
 
472 "$(OX)\rss_.c" \
473 "$(OX)\schema_.c" \
474 "$(OX)\search_.c" \
475 "$(OX)\security_audit_.c" \
476 "$(OX)\setup_.c" \
@@ -734,10 +735,11 @@
734 "$(OX)\purge$O" \
735 "$(OX)\rebuild$O" \
736 "$(OX)\regexp$O" \
737 "$(OX)\repolist$O" \
738 "$(OX)\report$O" \
 
739 "$(OX)\rss$O" \
740 "$(OX)\schema$O" \
741 "$(OX)\search$O" \
742 "$(OX)\security_audit$O" \
743 "$(OX)\setup$O" \
@@ -984,10 +986,11 @@
984 echo "$(OX)\purge.obj" >> $@
985 echo "$(OX)\rebuild.obj" >> $@
986 echo "$(OX)\regexp.obj" >> $@
987 echo "$(OX)\repolist.obj" >> $@
988 echo "$(OX)\report.obj" >> $@
 
989 echo "$(OX)\rss.obj" >> $@
990 echo "$(OX)\schema.obj" >> $@
991 echo "$(OX)\search.obj" >> $@
992 echo "$(OX)\security_audit.obj" >> $@
993 echo "$(OX)\setup.obj" >> $@
@@ -1889,10 +1892,16 @@
1889 "$(OX)\report$O" : "$(OX)\report_.c" "$(OX)\report.h"
1890 $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\report_.c"
1891
1892 "$(OX)\report_.c" : "$(SRCDIR)\report.c"
1893 "$(OBJDIR)\translate$E" $** > $@
 
 
 
 
 
 
1894
1895 "$(OX)\rss$O" : "$(OX)\rss_.c" "$(OX)\rss.h"
1896 $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\rss_.c"
1897
1898 "$(OX)\rss_.c" : "$(SRCDIR)\rss.c"
@@ -2257,10 +2266,11 @@
2257 "$(OX)\purge_.c":"$(OX)\purge.h" \
2258 "$(OX)\rebuild_.c":"$(OX)\rebuild.h" \
2259 "$(OX)\regexp_.c":"$(OX)\regexp.h" \
2260 "$(OX)\repolist_.c":"$(OX)\repolist.h" \
2261 "$(OX)\report_.c":"$(OX)\report.h" \
 
2262 "$(OX)\rss_.c":"$(OX)\rss.h" \
2263 "$(OX)\schema_.c":"$(OX)\schema.h" \
2264 "$(OX)\search_.c":"$(OX)\search.h" \
2265 "$(OX)\security_audit_.c":"$(OX)\security_audit.h" \
2266 "$(OX)\setup_.c":"$(OX)\setup.h" \
2267
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -467,10 +467,11 @@
467 "$(OX)\purge_.c" \
468 "$(OX)\rebuild_.c" \
469 "$(OX)\regexp_.c" \
470 "$(OX)\repolist_.c" \
471 "$(OX)\report_.c" \
472 "$(OX)\robot_.c" \
473 "$(OX)\rss_.c" \
474 "$(OX)\schema_.c" \
475 "$(OX)\search_.c" \
476 "$(OX)\security_audit_.c" \
477 "$(OX)\setup_.c" \
@@ -734,10 +735,11 @@
735 "$(OX)\purge$O" \
736 "$(OX)\rebuild$O" \
737 "$(OX)\regexp$O" \
738 "$(OX)\repolist$O" \
739 "$(OX)\report$O" \
740 "$(OX)\robot$O" \
741 "$(OX)\rss$O" \
742 "$(OX)\schema$O" \
743 "$(OX)\search$O" \
744 "$(OX)\security_audit$O" \
745 "$(OX)\setup$O" \
@@ -984,10 +986,11 @@
986 echo "$(OX)\purge.obj" >> $@
987 echo "$(OX)\rebuild.obj" >> $@
988 echo "$(OX)\regexp.obj" >> $@
989 echo "$(OX)\repolist.obj" >> $@
990 echo "$(OX)\report.obj" >> $@
991 echo "$(OX)\robot.obj" >> $@
992 echo "$(OX)\rss.obj" >> $@
993 echo "$(OX)\schema.obj" >> $@
994 echo "$(OX)\search.obj" >> $@
995 echo "$(OX)\security_audit.obj" >> $@
996 echo "$(OX)\setup.obj" >> $@
@@ -1889,10 +1892,16 @@
1892 "$(OX)\report$O" : "$(OX)\report_.c" "$(OX)\report.h"
1893 $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\report_.c"
1894
1895 "$(OX)\report_.c" : "$(SRCDIR)\report.c"
1896 "$(OBJDIR)\translate$E" $** > $@
1897
1898 "$(OX)\robot$O" : "$(OX)\robot_.c" "$(OX)\robot.h"
1899 $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\robot_.c"
1900
1901 "$(OX)\robot_.c" : "$(SRCDIR)\robot.c"
1902 "$(OBJDIR)\translate$E" $** > $@
1903
1904 "$(OX)\rss$O" : "$(OX)\rss_.c" "$(OX)\rss.h"
1905 $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\rss_.c"
1906
1907 "$(OX)\rss_.c" : "$(SRCDIR)\rss.c"
@@ -2257,10 +2266,11 @@
2266 "$(OX)\purge_.c":"$(OX)\purge.h" \
2267 "$(OX)\rebuild_.c":"$(OX)\rebuild.h" \
2268 "$(OX)\regexp_.c":"$(OX)\regexp.h" \
2269 "$(OX)\repolist_.c":"$(OX)\repolist.h" \
2270 "$(OX)\report_.c":"$(OX)\report.h" \
2271 "$(OX)\robot_.c":"$(OX)\robot.h" \
2272 "$(OX)\rss_.c":"$(OX)\rss.h" \
2273 "$(OX)\schema_.c":"$(OX)\schema.h" \
2274 "$(OX)\search_.c":"$(OX)\search.h" \
2275 "$(OX)\security_audit_.c":"$(OX)\security_audit.h" \
2276 "$(OX)\setup_.c":"$(OX)\setup.h" \
2277

Keyboard Shortcuts

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