Fossil SCM
Add the "robot-squelch" defense against bot-nets. Still incomplete, but sufficient to hold off the latest attacks.
Commit
de66eeaab7ab66448fdf6423b8878c9c45e5ef161f64782ed3936ca8d1698503
Parent
b8731485b028989…
11 files changed
+15
+2
-1
+1
+7
+12
+187
+12
+1
+10
-4
+12
+10
+15
| --- src/cgi.c | ||
| +++ src/cgi.c | ||
| @@ -1612,10 +1612,25 @@ | ||
| 1612 | 1612 | } |
| 1613 | 1613 | } |
| 1614 | 1614 | CGIDEBUG(("no-match [%s]\n", zName)); |
| 1615 | 1615 | return zDefault; |
| 1616 | 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 | +} | |
| 1617 | 1632 | |
| 1618 | 1633 | /* |
| 1619 | 1634 | ** Renders the "begone, spider" page and exits. |
| 1620 | 1635 | */ |
| 1621 | 1636 | static void cgi_begone_spider(const char *zName){ |
| 1622 | 1637 |
| --- 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 @@ | ||
| 3787 | 3787 | unsigned clr1, clr2, clr; |
| 3788 | 3788 | int bBlame = g.zPath[0]!='a';/* True for BLAME output. False for ANNOTATE. */ |
| 3789 | 3789 | |
| 3790 | 3790 | /* Gather query parameters */ |
| 3791 | 3791 | 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; } | |
| 3793 | 3793 | if( exclude_spiders(0) ) return; |
| 3794 | + if( robot_squelch(990) ) return; | |
| 3794 | 3795 | fossil_nice_default(); |
| 3795 | 3796 | zFilename = P("filename"); |
| 3796 | 3797 | zRevision = PD("checkin",0); |
| 3797 | 3798 | zOrigin = P("origin"); |
| 3798 | 3799 | zLimit = P("limit"); |
| 3799 | 3800 |
| --- 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 |
+1
| --- src/diffcmd.c | ||
| +++ src/diffcmd.c | ||
| @@ -1522,10 +1522,11 @@ | ||
| 1522 | 1522 | DiffConfig DCfg; |
| 1523 | 1523 | cgi_check_for_malice(); |
| 1524 | 1524 | login_check_credentials(); |
| 1525 | 1525 | if( !g.perm.Read ){ login_needed(g.anon.Read); return; } |
| 1526 | 1526 | if( zFrom==0 || zTo==0 ) fossil_redirect_home(); |
| 1527 | + if( robot_squelch(800) ) return; | |
| 1527 | 1528 | |
| 1528 | 1529 | fossil_nice_default(); |
| 1529 | 1530 | cgi_set_content_type("text/plain"); |
| 1530 | 1531 | diff_config_init(&DCfg, DIFF_VERBOSE); |
| 1531 | 1532 | diff_two_versions(zFrom, zTo, &DCfg, 0); |
| 1532 | 1533 |
| --- 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 @@ | ||
| 1421 | 1421 | Blob qpGlob; /* glob= query parameter for generated links */ |
| 1422 | 1422 | int bInvert = PB("inv"); |
| 1423 | 1423 | |
| 1424 | 1424 | login_check_credentials(); |
| 1425 | 1425 | if( !g.perm.Read ){ login_needed(g.anon.Read); return; } |
| 1426 | + if( robot_squelch(950) ) return; | |
| 1426 | 1427 | login_anonymous_available(); |
| 1427 | 1428 | fossil_nice_default(); |
| 1428 | 1429 | blob_init(&qp, 0, 0); |
| 1429 | 1430 | blob_init(&qpGlob, 0, 0); |
| 1430 | 1431 | diffType = preferred_diff_type(); |
| @@ -1974,10 +1975,11 @@ | ||
| 1974 | 1975 | int verbose = PB("verbose"); |
| 1975 | 1976 | DiffConfig DCfg; |
| 1976 | 1977 | |
| 1977 | 1978 | login_check_credentials(); |
| 1978 | 1979 | if( !g.perm.Read ){ login_needed(g.anon.Read); return; } |
| 1980 | + if( robot_squelch(800) ) return; | |
| 1979 | 1981 | diff_config_init(&DCfg, 0); |
| 1980 | 1982 | diffType = preferred_diff_type(); |
| 1981 | 1983 | if( P("from") && P("to") ){ |
| 1982 | 1984 | v1 = artifact_from_ci_and_filename("from"); |
| 1983 | 1985 | v2 = artifact_from_ci_and_filename("to"); |
| @@ -2700,19 +2702,24 @@ | ||
| 2700 | 2702 | HQuery url; |
| 2701 | 2703 | char *zCIUuid = 0; |
| 2702 | 2704 | int isSymbolicCI = 0; /* ci= exists and is a symbolic name, not a hash */ |
| 2703 | 2705 | int isBranchCI = 0; /* ci= refers to a branch name */ |
| 2704 | 2706 | char *zHeader = 0; |
| 2707 | + int iCost; | |
| 2705 | 2708 | |
| 2706 | 2709 | login_check_credentials(); |
| 2707 | 2710 | if( !g.perm.Read ){ login_needed(g.anon.Read); return; } |
| 2708 | 2711 | cgi_check_for_malice(); |
| 2709 | 2712 | style_set_current_feature("artifact"); |
| 2710 | 2713 | if( fossil_strcmp(g.zPath, "docfile")==0 ){ |
| 2711 | 2714 | isFile = 1; |
| 2712 | 2715 | docOnly = 1; |
| 2713 | 2716 | } |
| 2717 | + iCost = 200; | |
| 2718 | + if( isFile ) iCost += 100; | |
| 2719 | + if( zCI ) iCost += 100; | |
| 2720 | + if( robot_squelch(iCost) ) return; | |
| 2714 | 2721 | |
| 2715 | 2722 | /* Capture and normalize the name= and ci= query parameters */ |
| 2716 | 2723 | if( zName==0 ){ |
| 2717 | 2724 | zName = P("filename"); |
| 2718 | 2725 | if( zName==0 ){ |
| 2719 | 2726 |
| --- 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 @@ | ||
| 119 | 119 | $(SRCDIR)/purge.c \ |
| 120 | 120 | $(SRCDIR)/rebuild.c \ |
| 121 | 121 | $(SRCDIR)/regexp.c \ |
| 122 | 122 | $(SRCDIR)/repolist.c \ |
| 123 | 123 | $(SRCDIR)/report.c \ |
| 124 | + $(SRCDIR)/robot.c \ | |
| 124 | 125 | $(SRCDIR)/rss.c \ |
| 125 | 126 | $(SRCDIR)/schema.c \ |
| 126 | 127 | $(SRCDIR)/search.c \ |
| 127 | 128 | $(SRCDIR)/security_audit.c \ |
| 128 | 129 | $(SRCDIR)/setup.c \ |
| @@ -385,10 +386,11 @@ | ||
| 385 | 386 | $(OBJDIR)/purge_.c \ |
| 386 | 387 | $(OBJDIR)/rebuild_.c \ |
| 387 | 388 | $(OBJDIR)/regexp_.c \ |
| 388 | 389 | $(OBJDIR)/repolist_.c \ |
| 389 | 390 | $(OBJDIR)/report_.c \ |
| 391 | + $(OBJDIR)/robot_.c \ | |
| 390 | 392 | $(OBJDIR)/rss_.c \ |
| 391 | 393 | $(OBJDIR)/schema_.c \ |
| 392 | 394 | $(OBJDIR)/search_.c \ |
| 393 | 395 | $(OBJDIR)/security_audit_.c \ |
| 394 | 396 | $(OBJDIR)/setup_.c \ |
| @@ -535,10 +537,11 @@ | ||
| 535 | 537 | $(OBJDIR)/purge.o \ |
| 536 | 538 | $(OBJDIR)/rebuild.o \ |
| 537 | 539 | $(OBJDIR)/regexp.o \ |
| 538 | 540 | $(OBJDIR)/repolist.o \ |
| 539 | 541 | $(OBJDIR)/report.o \ |
| 542 | + $(OBJDIR)/robot.o \ | |
| 540 | 543 | $(OBJDIR)/rss.o \ |
| 541 | 544 | $(OBJDIR)/schema.o \ |
| 542 | 545 | $(OBJDIR)/search.o \ |
| 543 | 546 | $(OBJDIR)/security_audit.o \ |
| 544 | 547 | $(OBJDIR)/setup.o \ |
| @@ -878,10 +881,11 @@ | ||
| 878 | 881 | $(OBJDIR)/purge_.c:$(OBJDIR)/purge.h \ |
| 879 | 882 | $(OBJDIR)/rebuild_.c:$(OBJDIR)/rebuild.h \ |
| 880 | 883 | $(OBJDIR)/regexp_.c:$(OBJDIR)/regexp.h \ |
| 881 | 884 | $(OBJDIR)/repolist_.c:$(OBJDIR)/repolist.h \ |
| 882 | 885 | $(OBJDIR)/report_.c:$(OBJDIR)/report.h \ |
| 886 | + $(OBJDIR)/robot_.c:$(OBJDIR)/robot.h \ | |
| 883 | 887 | $(OBJDIR)/rss_.c:$(OBJDIR)/rss.h \ |
| 884 | 888 | $(OBJDIR)/schema_.c:$(OBJDIR)/schema.h \ |
| 885 | 889 | $(OBJDIR)/search_.c:$(OBJDIR)/search.h \ |
| 886 | 890 | $(OBJDIR)/security_audit_.c:$(OBJDIR)/security_audit.h \ |
| 887 | 891 | $(OBJDIR)/setup_.c:$(OBJDIR)/setup.h \ |
| @@ -1768,10 +1772,18 @@ | ||
| 1768 | 1772 | |
| 1769 | 1773 | $(OBJDIR)/report.o: $(OBJDIR)/report_.c $(OBJDIR)/report.h $(SRCDIR)/config.h |
| 1770 | 1774 | $(XTCC) -o $(OBJDIR)/report.o -c $(OBJDIR)/report_.c |
| 1771 | 1775 | |
| 1772 | 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 | |
| 1773 | 1785 | |
| 1774 | 1786 | $(OBJDIR)/rss_.c: $(SRCDIR)/rss.c $(OBJDIR)/translate |
| 1775 | 1787 | $(OBJDIR)/translate $(SRCDIR)/rss.c >$@ |
| 1776 | 1788 | |
| 1777 | 1789 | $(OBJDIR)/rss.o: $(OBJDIR)/rss_.c $(OBJDIR)/rss.h $(SRCDIR)/config.h |
| 1778 | 1790 | |
| 1779 | 1791 | 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 @@ | ||
| 494 | 494 | @ defend the site against robots. |
| 495 | 495 | @ |
| 496 | 496 | @ <form action="%R/setup_robot" method="post"><div> |
| 497 | 497 | login_insert_csrf_secret(); |
| 498 | 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 | + | |
| 499 | 511 | @ <hr> |
| 500 | 512 | addAutoHyperlinkSettings(); |
| 501 | 513 | |
| 502 | 514 | @ <hr> |
| 503 | 515 | entry_attribute("Server Load Average Limit", 11, "max-loadavg", "mxldavg", |
| 504 | 516 |
| --- 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 |
+1
| --- tools/makemake.tcl | ||
| +++ tools/makemake.tcl | ||
| @@ -152,10 +152,11 @@ | ||
| 152 | 152 | purge |
| 153 | 153 | rebuild |
| 154 | 154 | regexp |
| 155 | 155 | repolist |
| 156 | 156 | report |
| 157 | + robot | |
| 157 | 158 | rss |
| 158 | 159 | schema |
| 159 | 160 | search |
| 160 | 161 | security_audit |
| 161 | 162 | setup |
| 162 | 163 |
| --- 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 @@ | ||
| 32 | 32 | |
| 33 | 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 | 34 | |
| 35 | 35 | PIKCHR_OPTIONS = -DPIKCHR_TOKEN_LIMIT=10000 |
| 36 | 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 | |
| 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 | 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 | |
| 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 | 40 | |
| 41 | 41 | |
| 42 | 42 | RC=$(DMDIR)\bin\rcc |
| 43 | 43 | RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__ |
| 44 | 44 | |
| @@ -53,11 +53,11 @@ | ||
| 53 | 53 | |
| 54 | 54 | $(OBJDIR)\fossil.res: $B\win\fossil.rc |
| 55 | 55 | $(RC) $(RCFLAGS) -o$@ $** |
| 56 | 56 | |
| 57 | 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 > $@ | |
| 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 | 59 | +echo fossil >> $@ |
| 60 | 60 | +echo fossil >> $@ |
| 61 | 61 | +echo $(LIBS) >> $@ |
| 62 | 62 | +echo. >> $@ |
| 63 | 63 | +echo fossil >> $@ |
| @@ -755,10 +755,16 @@ | ||
| 755 | 755 | $(OBJDIR)\report$O : report_.c report.h |
| 756 | 756 | $(TCC) -o$@ -c report_.c |
| 757 | 757 | |
| 758 | 758 | report_.c : $(SRCDIR)\report.c |
| 759 | 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 $** > $@ | |
| 760 | 766 | |
| 761 | 767 | $(OBJDIR)\rss$O : rss_.c rss.h |
| 762 | 768 | $(TCC) -o$@ -c rss_.c |
| 763 | 769 | |
| 764 | 770 | rss_.c : $(SRCDIR)\rss.c |
| @@ -1015,7 +1021,7 @@ | ||
| 1015 | 1021 | |
| 1016 | 1022 | zip_.c : $(SRCDIR)\zip.c |
| 1017 | 1023 | +translate$E $** > $@ |
| 1018 | 1024 | |
| 1019 | 1025 | 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 | |
| 1021 | 1027 | @copy /Y nul: headers |
| 1022 | 1028 |
| --- 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 |
+12
| --- win/Makefile.mingw | ||
| +++ win/Makefile.mingw | ||
| @@ -505,10 +505,11 @@ | ||
| 505 | 505 | $(SRCDIR)/purge.c \ |
| 506 | 506 | $(SRCDIR)/rebuild.c \ |
| 507 | 507 | $(SRCDIR)/regexp.c \ |
| 508 | 508 | $(SRCDIR)/repolist.c \ |
| 509 | 509 | $(SRCDIR)/report.c \ |
| 510 | + $(SRCDIR)/robot.c \ | |
| 510 | 511 | $(SRCDIR)/rss.c \ |
| 511 | 512 | $(SRCDIR)/schema.c \ |
| 512 | 513 | $(SRCDIR)/search.c \ |
| 513 | 514 | $(SRCDIR)/security_audit.c \ |
| 514 | 515 | $(SRCDIR)/setup.c \ |
| @@ -771,10 +772,11 @@ | ||
| 771 | 772 | $(OBJDIR)/purge_.c \ |
| 772 | 773 | $(OBJDIR)/rebuild_.c \ |
| 773 | 774 | $(OBJDIR)/regexp_.c \ |
| 774 | 775 | $(OBJDIR)/repolist_.c \ |
| 775 | 776 | $(OBJDIR)/report_.c \ |
| 777 | + $(OBJDIR)/robot_.c \ | |
| 776 | 778 | $(OBJDIR)/rss_.c \ |
| 777 | 779 | $(OBJDIR)/schema_.c \ |
| 778 | 780 | $(OBJDIR)/search_.c \ |
| 779 | 781 | $(OBJDIR)/security_audit_.c \ |
| 780 | 782 | $(OBJDIR)/setup_.c \ |
| @@ -921,10 +923,11 @@ | ||
| 921 | 923 | $(OBJDIR)/purge.o \ |
| 922 | 924 | $(OBJDIR)/rebuild.o \ |
| 923 | 925 | $(OBJDIR)/regexp.o \ |
| 924 | 926 | $(OBJDIR)/repolist.o \ |
| 925 | 927 | $(OBJDIR)/report.o \ |
| 928 | + $(OBJDIR)/robot.o \ | |
| 926 | 929 | $(OBJDIR)/rss.o \ |
| 927 | 930 | $(OBJDIR)/schema.o \ |
| 928 | 931 | $(OBJDIR)/search.o \ |
| 929 | 932 | $(OBJDIR)/security_audit.o \ |
| 930 | 933 | $(OBJDIR)/setup.o \ |
| @@ -1275,10 +1278,11 @@ | ||
| 1275 | 1278 | $(OBJDIR)/purge_.c:$(OBJDIR)/purge.h \ |
| 1276 | 1279 | $(OBJDIR)/rebuild_.c:$(OBJDIR)/rebuild.h \ |
| 1277 | 1280 | $(OBJDIR)/regexp_.c:$(OBJDIR)/regexp.h \ |
| 1278 | 1281 | $(OBJDIR)/repolist_.c:$(OBJDIR)/repolist.h \ |
| 1279 | 1282 | $(OBJDIR)/report_.c:$(OBJDIR)/report.h \ |
| 1283 | + $(OBJDIR)/robot_.c:$(OBJDIR)/robot.h \ | |
| 1280 | 1284 | $(OBJDIR)/rss_.c:$(OBJDIR)/rss.h \ |
| 1281 | 1285 | $(OBJDIR)/schema_.c:$(OBJDIR)/schema.h \ |
| 1282 | 1286 | $(OBJDIR)/search_.c:$(OBJDIR)/search.h \ |
| 1283 | 1287 | $(OBJDIR)/security_audit_.c:$(OBJDIR)/security_audit.h \ |
| 1284 | 1288 | $(OBJDIR)/setup_.c:$(OBJDIR)/setup.h \ |
| @@ -2167,10 +2171,18 @@ | ||
| 2167 | 2171 | |
| 2168 | 2172 | $(OBJDIR)/report.o: $(OBJDIR)/report_.c $(OBJDIR)/report.h $(SRCDIR)/config.h |
| 2169 | 2173 | $(XTCC) -o $(OBJDIR)/report.o -c $(OBJDIR)/report_.c |
| 2170 | 2174 | |
| 2171 | 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 | |
| 2172 | 2184 | |
| 2173 | 2185 | $(OBJDIR)/rss_.c: $(SRCDIR)/rss.c $(TRANSLATE) |
| 2174 | 2186 | $(TRANSLATE) $(SRCDIR)/rss.c >$@ |
| 2175 | 2187 | |
| 2176 | 2188 | $(OBJDIR)/rss.o: $(OBJDIR)/rss_.c $(OBJDIR)/rss.h $(SRCDIR)/config.h |
| 2177 | 2189 |
| --- 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 |
+10
| --- win/Makefile.msc | ||
| +++ win/Makefile.msc | ||
| @@ -467,10 +467,11 @@ | ||
| 467 | 467 | "$(OX)\purge_.c" \ |
| 468 | 468 | "$(OX)\rebuild_.c" \ |
| 469 | 469 | "$(OX)\regexp_.c" \ |
| 470 | 470 | "$(OX)\repolist_.c" \ |
| 471 | 471 | "$(OX)\report_.c" \ |
| 472 | + "$(OX)\robot_.c" \ | |
| 472 | 473 | "$(OX)\rss_.c" \ |
| 473 | 474 | "$(OX)\schema_.c" \ |
| 474 | 475 | "$(OX)\search_.c" \ |
| 475 | 476 | "$(OX)\security_audit_.c" \ |
| 476 | 477 | "$(OX)\setup_.c" \ |
| @@ -734,10 +735,11 @@ | ||
| 734 | 735 | "$(OX)\purge$O" \ |
| 735 | 736 | "$(OX)\rebuild$O" \ |
| 736 | 737 | "$(OX)\regexp$O" \ |
| 737 | 738 | "$(OX)\repolist$O" \ |
| 738 | 739 | "$(OX)\report$O" \ |
| 740 | + "$(OX)\robot$O" \ | |
| 739 | 741 | "$(OX)\rss$O" \ |
| 740 | 742 | "$(OX)\schema$O" \ |
| 741 | 743 | "$(OX)\search$O" \ |
| 742 | 744 | "$(OX)\security_audit$O" \ |
| 743 | 745 | "$(OX)\setup$O" \ |
| @@ -984,10 +986,11 @@ | ||
| 984 | 986 | echo "$(OX)\purge.obj" >> $@ |
| 985 | 987 | echo "$(OX)\rebuild.obj" >> $@ |
| 986 | 988 | echo "$(OX)\regexp.obj" >> $@ |
| 987 | 989 | echo "$(OX)\repolist.obj" >> $@ |
| 988 | 990 | echo "$(OX)\report.obj" >> $@ |
| 991 | + echo "$(OX)\robot.obj" >> $@ | |
| 989 | 992 | echo "$(OX)\rss.obj" >> $@ |
| 990 | 993 | echo "$(OX)\schema.obj" >> $@ |
| 991 | 994 | echo "$(OX)\search.obj" >> $@ |
| 992 | 995 | echo "$(OX)\security_audit.obj" >> $@ |
| 993 | 996 | echo "$(OX)\setup.obj" >> $@ |
| @@ -1889,10 +1892,16 @@ | ||
| 1889 | 1892 | "$(OX)\report$O" : "$(OX)\report_.c" "$(OX)\report.h" |
| 1890 | 1893 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\report_.c" |
| 1891 | 1894 | |
| 1892 | 1895 | "$(OX)\report_.c" : "$(SRCDIR)\report.c" |
| 1893 | 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" $** > $@ | |
| 1894 | 1903 | |
| 1895 | 1904 | "$(OX)\rss$O" : "$(OX)\rss_.c" "$(OX)\rss.h" |
| 1896 | 1905 | $(TCC) /Fo$@ /Fd$(@D)\ -c "$(OX)\rss_.c" |
| 1897 | 1906 | |
| 1898 | 1907 | "$(OX)\rss_.c" : "$(SRCDIR)\rss.c" |
| @@ -2257,10 +2266,11 @@ | ||
| 2257 | 2266 | "$(OX)\purge_.c":"$(OX)\purge.h" \ |
| 2258 | 2267 | "$(OX)\rebuild_.c":"$(OX)\rebuild.h" \ |
| 2259 | 2268 | "$(OX)\regexp_.c":"$(OX)\regexp.h" \ |
| 2260 | 2269 | "$(OX)\repolist_.c":"$(OX)\repolist.h" \ |
| 2261 | 2270 | "$(OX)\report_.c":"$(OX)\report.h" \ |
| 2271 | + "$(OX)\robot_.c":"$(OX)\robot.h" \ | |
| 2262 | 2272 | "$(OX)\rss_.c":"$(OX)\rss.h" \ |
| 2263 | 2273 | "$(OX)\schema_.c":"$(OX)\schema.h" \ |
| 2264 | 2274 | "$(OX)\search_.c":"$(OX)\search.h" \ |
| 2265 | 2275 | "$(OX)\security_audit_.c":"$(OX)\security_audit.h" \ |
| 2266 | 2276 | "$(OX)\setup_.c":"$(OX)\setup.h" \ |
| 2267 | 2277 |
| --- 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 |