Fossil SCM

Break out the processing of capability strings into a separate source file. Add new SQL functions: capunion() and fullcap(). Only send email notifications to users who have appropriate capabilities.

drh 2018-07-30 19:14 UTC forum-v2
Commit 8a28a37c87a7a85f98109a1306a84d2f64055b6835a96e9e174190088f85b080
--- a/src/capabilities.c
+++ b/src/capabilities.c
@@ -0,0 +1,20 @@
1
+ Set or removSet or removSet or removSet or removemovSet or remov@ <table>
2
+<i:</i> </tr>
3
+ }void){
4
+ @ <table>
5
+ a</th>
6
+ @ <td><i>Admin:</i> </td></tr>
7
+ }
8
+if( zReader==0 ){
9
+ }
10
+Reader)}
11
+Anon);
12
+Nobody);jDeleteRegular Users56/* Code */
13
+oet or removSet or removSet or removSet or removemovSet or remov@ <table>
14
+<i:</i> </tr>
15
+ }void){
16
+ @ <table>
17
+ a</th>
18
+ @ <td><i>Admin:</i> </td></tr>
19
+ }
20
+ifmovSet or removSet or remov
--- a/src/capabilities.c
+++ b/src/capabilities.c
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
--- a/src/capabilities.c
+++ b/src/capabilities.c
@@ -0,0 +1,20 @@
1 Set or removSet or removSet or removSet or removemovSet or remov@ <table>
2 <i:</i> </tr>
3 }void){
4 @ <table>
5 a</th>
6 @ <td><i>Admin:</i> </td></tr>
7 }
8 if( zReader==0 ){
9 }
10 Reader)}
11 Anon);
12 Nobody);jDeleteRegular Users56/* Code */
13 oet or removSet or removSet or removSet or removemovSet or remov@ <table>
14 <i:</i> </tr>
15 }void){
16 @ <table>
17 a</th>
18 @ <td><i>Admin:</i> </td></tr>
19 }
20 ifmovSet or removSet or remov
+4
--- src/db.c
+++ src/db.c
@@ -1012,10 +1012,14 @@
10121012
db_tolocal_function, 0, 0);
10131013
sqlite3_create_function(db, "fromLocal", 0, SQLITE_UTF8, 0,
10141014
db_fromlocal_function, 0, 0);
10151015
sqlite3_create_function(db, "hextoblob", 1, SQLITE_UTF8, 0,
10161016
db_hextoblob, 0, 0);
1017
+ sqlite3_create_function(db, "capunion", 1, SQLITE_UTF8, 0,
1018
+ 0, capability_union_step, capability_union_finalize);
1019
+ sqlite3_create_function(db, "fullcap", 1, SQLITE_UTF8, 0,
1020
+ capability_fullcap, 0, 0);
10171021
}
10181022
10191023
#if USE_SEE
10201024
/*
10211025
** This is a pointer to the saved database encryption key string.
10221026
--- src/db.c
+++ src/db.c
@@ -1012,10 +1012,14 @@
1012 db_tolocal_function, 0, 0);
1013 sqlite3_create_function(db, "fromLocal", 0, SQLITE_UTF8, 0,
1014 db_fromlocal_function, 0, 0);
1015 sqlite3_create_function(db, "hextoblob", 1, SQLITE_UTF8, 0,
1016 db_hextoblob, 0, 0);
 
 
 
 
1017 }
1018
1019 #if USE_SEE
1020 /*
1021 ** This is a pointer to the saved database encryption key string.
1022
--- src/db.c
+++ src/db.c
@@ -1012,10 +1012,14 @@
1012 db_tolocal_function, 0, 0);
1013 sqlite3_create_function(db, "fromLocal", 0, SQLITE_UTF8, 0,
1014 db_fromlocal_function, 0, 0);
1015 sqlite3_create_function(db, "hextoblob", 1, SQLITE_UTF8, 0,
1016 db_hextoblob, 0, 0);
1017 sqlite3_create_function(db, "capunion", 1, SQLITE_UTF8, 0,
1018 0, capability_union_step, capability_union_finalize);
1019 sqlite3_create_function(db, "fullcap", 1, SQLITE_UTF8, 0,
1020 capability_fullcap, 0, 0);
1021 }
1022
1023 #if USE_SEE
1024 /*
1025 ** This is a pointer to the saved database encryption key string.
1026
+23 -4
--- src/email.c
+++ src/email.c
@@ -1,7 +1,7 @@
11
/*
2
-** Copyright (c) 2007 D. Richard Hipp
2
+** Copyright (c) 2018 D. Richard Hipp
33
**
44
** This program is free software; you can redistribute it and/or
55
** modify it under the terms of the Simplified BSD License (also
66
** known as the "2-Clause License" or "FreeBSD License".)
77
**
@@ -14,11 +14,16 @@
1414
** http://www.hwaci.com/drh/
1515
**
1616
*******************************************************************************
1717
**
1818
** Logic for email notification, also known as "alerts".
19
-*/
19
+**
20
+** Are you looking for the code that reads and writes the internet
21
+** email protocol? That is not here. See the "smtp.c" file instead.
22
+** Yes, the choice of source code filenames is not the greatest, but
23
+** it is not so bad that changing them seems justified.
24
+*/
2025
#include "config.h"
2126
#include "email.h"
2227
#include <assert.h>
2328
#include <time.h>
2429
@@ -1784,11 +1789,11 @@
17841789
/*
17851790
** A single event that might appear in an alert is recorded as an
17861791
** instance of the following object.
17871792
*/
17881793
struct EmailEvent {
1789
- int type; /* 'c', 't', 'w', etc. */
1794
+ int type; /* 'c', 't', 'w', 'f' */
17901795
Blob txt; /* Text description to appear in an alert */
17911796
EmailEvent *pNext; /* Next in chronological order */
17921797
};
17931798
#endif
17941799
@@ -2031,23 +2036,37 @@
20312036
blob_init(&body, 0, 0);
20322037
db_prepare(&q,
20332038
"SELECT"
20342039
" hex(subscriberCode)," /* 0 */
20352040
" semail," /* 1 */
2036
- " ssub" /* 2 */
2041
+ " ssub," /* 2 */
2042
+ " fullcap((SELECT cap FROM user WHERE login=suname))" /* 3 */
20372043
" FROM subscriber"
20382044
" WHERE sverified AND NOT sdonotcall"
20392045
" AND sdigest IS %s",
20402046
zDigest/*safe-for-%s*/
20412047
);
20422048
while( db_step(&q)==SQLITE_ROW ){
20432049
const char *zCode = db_column_text(&q, 0);
20442050
const char *zSub = db_column_text(&q, 2);
20452051
const char *zEmail = db_column_text(&q, 1);
2052
+ const char *zCap = db_column_text(&q, 3);
20462053
int nHit = 0;
20472054
for(p=pEvents; p; p=p->pNext){
20482055
if( strchr(zSub,p->type)==0 ) continue;
2056
+ if( strchr(zSub,'s')!=0 || strchr(zSub,'a')!=0 ){
2057
+ /* Setup and admin users can get any notification */
2058
+ }else{
2059
+ char xType = '*';
2060
+ switch( p->type ){
2061
+ case 'c': xType = 'o'; break;
2062
+ case 'f': xType = '2'; break;
2063
+ case 't': xType = 'r'; break;
2064
+ case 'w': xType = 'j'; break;
2065
+ }
2066
+ if( strchr(zSub,xType)==0 ) continue;
2067
+ }
20492068
if( nHit==0 ){
20502069
blob_appendf(&hdr,"To: <%s>\r\n", zEmail);
20512070
blob_appendf(&hdr,"Subject: %s activity alert\r\n", zRepoName);
20522071
blob_appendf(&body,
20532072
"This is an automated email sent by the Fossil repository "
20542073
--- src/email.c
+++ src/email.c
@@ -1,7 +1,7 @@
1 /*
2 ** Copyright (c) 2007 D. Richard Hipp
3 **
4 ** This program is free software; you can redistribute it and/or
5 ** modify it under the terms of the Simplified BSD License (also
6 ** known as the "2-Clause License" or "FreeBSD License".)
7 **
@@ -14,11 +14,16 @@
14 ** http://www.hwaci.com/drh/
15 **
16 *******************************************************************************
17 **
18 ** Logic for email notification, also known as "alerts".
19 */
 
 
 
 
 
20 #include "config.h"
21 #include "email.h"
22 #include <assert.h>
23 #include <time.h>
24
@@ -1784,11 +1789,11 @@
1784 /*
1785 ** A single event that might appear in an alert is recorded as an
1786 ** instance of the following object.
1787 */
1788 struct EmailEvent {
1789 int type; /* 'c', 't', 'w', etc. */
1790 Blob txt; /* Text description to appear in an alert */
1791 EmailEvent *pNext; /* Next in chronological order */
1792 };
1793 #endif
1794
@@ -2031,23 +2036,37 @@
2031 blob_init(&body, 0, 0);
2032 db_prepare(&q,
2033 "SELECT"
2034 " hex(subscriberCode)," /* 0 */
2035 " semail," /* 1 */
2036 " ssub" /* 2 */
 
2037 " FROM subscriber"
2038 " WHERE sverified AND NOT sdonotcall"
2039 " AND sdigest IS %s",
2040 zDigest/*safe-for-%s*/
2041 );
2042 while( db_step(&q)==SQLITE_ROW ){
2043 const char *zCode = db_column_text(&q, 0);
2044 const char *zSub = db_column_text(&q, 2);
2045 const char *zEmail = db_column_text(&q, 1);
 
2046 int nHit = 0;
2047 for(p=pEvents; p; p=p->pNext){
2048 if( strchr(zSub,p->type)==0 ) continue;
 
 
 
 
 
 
 
 
 
 
 
 
2049 if( nHit==0 ){
2050 blob_appendf(&hdr,"To: <%s>\r\n", zEmail);
2051 blob_appendf(&hdr,"Subject: %s activity alert\r\n", zRepoName);
2052 blob_appendf(&body,
2053 "This is an automated email sent by the Fossil repository "
2054
--- src/email.c
+++ src/email.c
@@ -1,7 +1,7 @@
1 /*
2 ** Copyright (c) 2018 D. Richard Hipp
3 **
4 ** This program is free software; you can redistribute it and/or
5 ** modify it under the terms of the Simplified BSD License (also
6 ** known as the "2-Clause License" or "FreeBSD License".)
7 **
@@ -14,11 +14,16 @@
14 ** http://www.hwaci.com/drh/
15 **
16 *******************************************************************************
17 **
18 ** Logic for email notification, also known as "alerts".
19 **
20 ** Are you looking for the code that reads and writes the internet
21 ** email protocol? That is not here. See the "smtp.c" file instead.
22 ** Yes, the choice of source code filenames is not the greatest, but
23 ** it is not so bad that changing them seems justified.
24 */
25 #include "config.h"
26 #include "email.h"
27 #include <assert.h>
28 #include <time.h>
29
@@ -1784,11 +1789,11 @@
1789 /*
1790 ** A single event that might appear in an alert is recorded as an
1791 ** instance of the following object.
1792 */
1793 struct EmailEvent {
1794 int type; /* 'c', 't', 'w', 'f' */
1795 Blob txt; /* Text description to appear in an alert */
1796 EmailEvent *pNext; /* Next in chronological order */
1797 };
1798 #endif
1799
@@ -2031,23 +2036,37 @@
2036 blob_init(&body, 0, 0);
2037 db_prepare(&q,
2038 "SELECT"
2039 " hex(subscriberCode)," /* 0 */
2040 " semail," /* 1 */
2041 " ssub," /* 2 */
2042 " fullcap((SELECT cap FROM user WHERE login=suname))" /* 3 */
2043 " FROM subscriber"
2044 " WHERE sverified AND NOT sdonotcall"
2045 " AND sdigest IS %s",
2046 zDigest/*safe-for-%s*/
2047 );
2048 while( db_step(&q)==SQLITE_ROW ){
2049 const char *zCode = db_column_text(&q, 0);
2050 const char *zSub = db_column_text(&q, 2);
2051 const char *zEmail = db_column_text(&q, 1);
2052 const char *zCap = db_column_text(&q, 3);
2053 int nHit = 0;
2054 for(p=pEvents; p; p=p->pNext){
2055 if( strchr(zSub,p->type)==0 ) continue;
2056 if( strchr(zSub,'s')!=0 || strchr(zSub,'a')!=0 ){
2057 /* Setup and admin users can get any notification */
2058 }else{
2059 char xType = '*';
2060 switch( p->type ){
2061 case 'c': xType = 'o'; break;
2062 case 'f': xType = '2'; break;
2063 case 't': xType = 'r'; break;
2064 case 'w': xType = 'j'; break;
2065 }
2066 if( strchr(zSub,xType)==0 ) continue;
2067 }
2068 if( nHit==0 ){
2069 blob_appendf(&hdr,"To: <%s>\r\n", zEmail);
2070 blob_appendf(&hdr,"Subject: %s activity alert\r\n", zRepoName);
2071 blob_appendf(&body,
2072 "This is an automated email sent by the Fossil repository "
2073
+12
--- src/main.mk
+++ src/main.mk
@@ -25,10 +25,11 @@
2525
$(SRCDIR)/branch.c \
2626
$(SRCDIR)/browse.c \
2727
$(SRCDIR)/builtin.c \
2828
$(SRCDIR)/bundle.c \
2929
$(SRCDIR)/cache.c \
30
+ $(SRCDIR)/capabilities.c \
3031
$(SRCDIR)/captcha.c \
3132
$(SRCDIR)/cgi.c \
3233
$(SRCDIR)/checkin.c \
3334
$(SRCDIR)/checkout.c \
3435
$(SRCDIR)/clearsign.c \
@@ -232,10 +233,11 @@
232233
$(OBJDIR)/branch_.c \
233234
$(OBJDIR)/browse_.c \
234235
$(OBJDIR)/builtin_.c \
235236
$(OBJDIR)/bundle_.c \
236237
$(OBJDIR)/cache_.c \
238
+ $(OBJDIR)/capabilities_.c \
237239
$(OBJDIR)/captcha_.c \
238240
$(OBJDIR)/cgi_.c \
239241
$(OBJDIR)/checkin_.c \
240242
$(OBJDIR)/checkout_.c \
241243
$(OBJDIR)/clearsign_.c \
@@ -367,10 +369,11 @@
367369
$(OBJDIR)/branch.o \
368370
$(OBJDIR)/browse.o \
369371
$(OBJDIR)/builtin.o \
370372
$(OBJDIR)/bundle.o \
371373
$(OBJDIR)/cache.o \
374
+ $(OBJDIR)/capabilities.o \
372375
$(OBJDIR)/captcha.o \
373376
$(OBJDIR)/cgi.o \
374377
$(OBJDIR)/checkin.o \
375378
$(OBJDIR)/checkout.o \
376379
$(OBJDIR)/clearsign.o \
@@ -700,10 +703,11 @@
700703
$(OBJDIR)/branch_.c:$(OBJDIR)/branch.h \
701704
$(OBJDIR)/browse_.c:$(OBJDIR)/browse.h \
702705
$(OBJDIR)/builtin_.c:$(OBJDIR)/builtin.h \
703706
$(OBJDIR)/bundle_.c:$(OBJDIR)/bundle.h \
704707
$(OBJDIR)/cache_.c:$(OBJDIR)/cache.h \
708
+ $(OBJDIR)/capabilities_.c:$(OBJDIR)/capabilities.h \
705709
$(OBJDIR)/captcha_.c:$(OBJDIR)/captcha.h \
706710
$(OBJDIR)/cgi_.c:$(OBJDIR)/cgi.h \
707711
$(OBJDIR)/checkin_.c:$(OBJDIR)/checkin.h \
708712
$(OBJDIR)/checkout_.c:$(OBJDIR)/checkout.h \
709713
$(OBJDIR)/clearsign_.c:$(OBJDIR)/clearsign.h \
@@ -923,10 +927,18 @@
923927
924928
$(OBJDIR)/cache.o: $(OBJDIR)/cache_.c $(OBJDIR)/cache.h $(SRCDIR)/config.h
925929
$(XTCC) -o $(OBJDIR)/cache.o -c $(OBJDIR)/cache_.c
926930
927931
$(OBJDIR)/cache.h: $(OBJDIR)/headers
932
+
933
+$(OBJDIR)/capabilities_.c: $(SRCDIR)/capabilities.c $(OBJDIR)/translate
934
+ $(OBJDIR)/translate $(SRCDIR)/capabilities.c >$@
935
+
936
+$(OBJDIR)/capabilities.o: $(OBJDIR)/capabilities_.c $(OBJDIR)/capabilities.h $(SRCDIR)/config.h
937
+ $(XTCC) -o $(OBJDIR)/capabilities.o -c $(OBJDIR)/capabilities_.c
938
+
939
+$(OBJDIR)/capabilities.h: $(OBJDIR)/headers
928940
929941
$(OBJDIR)/captcha_.c: $(SRCDIR)/captcha.c $(OBJDIR)/translate
930942
$(OBJDIR)/translate $(SRCDIR)/captcha.c >$@
931943
932944
$(OBJDIR)/captcha.o: $(OBJDIR)/captcha_.c $(OBJDIR)/captcha.h $(SRCDIR)/config.h
933945
--- src/main.mk
+++ src/main.mk
@@ -25,10 +25,11 @@
25 $(SRCDIR)/branch.c \
26 $(SRCDIR)/browse.c \
27 $(SRCDIR)/builtin.c \
28 $(SRCDIR)/bundle.c \
29 $(SRCDIR)/cache.c \
 
30 $(SRCDIR)/captcha.c \
31 $(SRCDIR)/cgi.c \
32 $(SRCDIR)/checkin.c \
33 $(SRCDIR)/checkout.c \
34 $(SRCDIR)/clearsign.c \
@@ -232,10 +233,11 @@
232 $(OBJDIR)/branch_.c \
233 $(OBJDIR)/browse_.c \
234 $(OBJDIR)/builtin_.c \
235 $(OBJDIR)/bundle_.c \
236 $(OBJDIR)/cache_.c \
 
237 $(OBJDIR)/captcha_.c \
238 $(OBJDIR)/cgi_.c \
239 $(OBJDIR)/checkin_.c \
240 $(OBJDIR)/checkout_.c \
241 $(OBJDIR)/clearsign_.c \
@@ -367,10 +369,11 @@
367 $(OBJDIR)/branch.o \
368 $(OBJDIR)/browse.o \
369 $(OBJDIR)/builtin.o \
370 $(OBJDIR)/bundle.o \
371 $(OBJDIR)/cache.o \
 
372 $(OBJDIR)/captcha.o \
373 $(OBJDIR)/cgi.o \
374 $(OBJDIR)/checkin.o \
375 $(OBJDIR)/checkout.o \
376 $(OBJDIR)/clearsign.o \
@@ -700,10 +703,11 @@
700 $(OBJDIR)/branch_.c:$(OBJDIR)/branch.h \
701 $(OBJDIR)/browse_.c:$(OBJDIR)/browse.h \
702 $(OBJDIR)/builtin_.c:$(OBJDIR)/builtin.h \
703 $(OBJDIR)/bundle_.c:$(OBJDIR)/bundle.h \
704 $(OBJDIR)/cache_.c:$(OBJDIR)/cache.h \
 
705 $(OBJDIR)/captcha_.c:$(OBJDIR)/captcha.h \
706 $(OBJDIR)/cgi_.c:$(OBJDIR)/cgi.h \
707 $(OBJDIR)/checkin_.c:$(OBJDIR)/checkin.h \
708 $(OBJDIR)/checkout_.c:$(OBJDIR)/checkout.h \
709 $(OBJDIR)/clearsign_.c:$(OBJDIR)/clearsign.h \
@@ -923,10 +927,18 @@
923
924 $(OBJDIR)/cache.o: $(OBJDIR)/cache_.c $(OBJDIR)/cache.h $(SRCDIR)/config.h
925 $(XTCC) -o $(OBJDIR)/cache.o -c $(OBJDIR)/cache_.c
926
927 $(OBJDIR)/cache.h: $(OBJDIR)/headers
 
 
 
 
 
 
 
 
928
929 $(OBJDIR)/captcha_.c: $(SRCDIR)/captcha.c $(OBJDIR)/translate
930 $(OBJDIR)/translate $(SRCDIR)/captcha.c >$@
931
932 $(OBJDIR)/captcha.o: $(OBJDIR)/captcha_.c $(OBJDIR)/captcha.h $(SRCDIR)/config.h
933
--- src/main.mk
+++ src/main.mk
@@ -25,10 +25,11 @@
25 $(SRCDIR)/branch.c \
26 $(SRCDIR)/browse.c \
27 $(SRCDIR)/builtin.c \
28 $(SRCDIR)/bundle.c \
29 $(SRCDIR)/cache.c \
30 $(SRCDIR)/capabilities.c \
31 $(SRCDIR)/captcha.c \
32 $(SRCDIR)/cgi.c \
33 $(SRCDIR)/checkin.c \
34 $(SRCDIR)/checkout.c \
35 $(SRCDIR)/clearsign.c \
@@ -232,10 +233,11 @@
233 $(OBJDIR)/branch_.c \
234 $(OBJDIR)/browse_.c \
235 $(OBJDIR)/builtin_.c \
236 $(OBJDIR)/bundle_.c \
237 $(OBJDIR)/cache_.c \
238 $(OBJDIR)/capabilities_.c \
239 $(OBJDIR)/captcha_.c \
240 $(OBJDIR)/cgi_.c \
241 $(OBJDIR)/checkin_.c \
242 $(OBJDIR)/checkout_.c \
243 $(OBJDIR)/clearsign_.c \
@@ -367,10 +369,11 @@
369 $(OBJDIR)/branch.o \
370 $(OBJDIR)/browse.o \
371 $(OBJDIR)/builtin.o \
372 $(OBJDIR)/bundle.o \
373 $(OBJDIR)/cache.o \
374 $(OBJDIR)/capabilities.o \
375 $(OBJDIR)/captcha.o \
376 $(OBJDIR)/cgi.o \
377 $(OBJDIR)/checkin.o \
378 $(OBJDIR)/checkout.o \
379 $(OBJDIR)/clearsign.o \
@@ -700,10 +703,11 @@
703 $(OBJDIR)/branch_.c:$(OBJDIR)/branch.h \
704 $(OBJDIR)/browse_.c:$(OBJDIR)/browse.h \
705 $(OBJDIR)/builtin_.c:$(OBJDIR)/builtin.h \
706 $(OBJDIR)/bundle_.c:$(OBJDIR)/bundle.h \
707 $(OBJDIR)/cache_.c:$(OBJDIR)/cache.h \
708 $(OBJDIR)/capabilities_.c:$(OBJDIR)/capabilities.h \
709 $(OBJDIR)/captcha_.c:$(OBJDIR)/captcha.h \
710 $(OBJDIR)/cgi_.c:$(OBJDIR)/cgi.h \
711 $(OBJDIR)/checkin_.c:$(OBJDIR)/checkin.h \
712 $(OBJDIR)/checkout_.c:$(OBJDIR)/checkout.h \
713 $(OBJDIR)/clearsign_.c:$(OBJDIR)/clearsign.h \
@@ -923,10 +927,18 @@
927
928 $(OBJDIR)/cache.o: $(OBJDIR)/cache_.c $(OBJDIR)/cache.h $(SRCDIR)/config.h
929 $(XTCC) -o $(OBJDIR)/cache.o -c $(OBJDIR)/cache_.c
930
931 $(OBJDIR)/cache.h: $(OBJDIR)/headers
932
933 $(OBJDIR)/capabilities_.c: $(SRCDIR)/capabilities.c $(OBJDIR)/translate
934 $(OBJDIR)/translate $(SRCDIR)/capabilities.c >$@
935
936 $(OBJDIR)/capabilities.o: $(OBJDIR)/capabilities_.c $(OBJDIR)/capabilities.h $(SRCDIR)/config.h
937 $(XTCC) -o $(OBJDIR)/capabilities.o -c $(OBJDIR)/capabilities_.c
938
939 $(OBJDIR)/capabilities.h: $(OBJDIR)/headers
940
941 $(OBJDIR)/captcha_.c: $(SRCDIR)/captcha.c $(OBJDIR)/translate
942 $(OBJDIR)/translate $(SRCDIR)/captcha.c >$@
943
944 $(OBJDIR)/captcha.o: $(OBJDIR)/captcha_.c $(OBJDIR)/captcha.h $(SRCDIR)/config.h
945
--- src/makemake.tcl
+++ src/makemake.tcl
@@ -37,10 +37,11 @@
3737
branch
3838
browse
3939
builtin
4040
bundle
4141
cache
42
+ capabilities
4243
captcha
4344
cgi
4445
checkin
4546
checkout
4647
clearsign
4748
--- src/makemake.tcl
+++ src/makemake.tcl
@@ -37,10 +37,11 @@
37 branch
38 browse
39 builtin
40 bundle
41 cache
 
42 captcha
43 cgi
44 checkin
45 checkout
46 clearsign
47
--- src/makemake.tcl
+++ src/makemake.tcl
@@ -37,10 +37,11 @@
37 branch
38 browse
39 builtin
40 bundle
41 cache
42 capabilities
43 captcha
44 cgi
45 checkin
46 checkout
47 clearsign
48
--- src/security_audit.c
+++ src/security_audit.c
@@ -58,11 +58,11 @@
5858
/* Step 1: Determine if the repository is public or private. "Public"
5959
** means that any anonymous user on the internet can access all content.
6060
** "Private" repos require (non-anonymous) login to access all content,
6161
** though some content may be accessible anonymously.
6262
*/
63
- zAnonCap = db_text("", "SELECT group_concat(coalesce(cap,'')) FROM user"
63
+ zAnonCap = db_text("", "SELECT capunion(cap) FROM user"
6464
" WHERE login IN ('anonymous','nobody')");
6565
zPubPages = db_get("public-pages",0);
6666
if( hasAnyCap(zAnonCap,"as") ){
6767
@ <li><p>This repository is <big><b>Wildly INSECURE</b></big> because
6868
@ it grants administrator privileges to anonymous users. You
6969
--- src/security_audit.c
+++ src/security_audit.c
@@ -58,11 +58,11 @@
58 /* Step 1: Determine if the repository is public or private. "Public"
59 ** means that any anonymous user on the internet can access all content.
60 ** "Private" repos require (non-anonymous) login to access all content,
61 ** though some content may be accessible anonymously.
62 */
63 zAnonCap = db_text("", "SELECT group_concat(coalesce(cap,'')) FROM user"
64 " WHERE login IN ('anonymous','nobody')");
65 zPubPages = db_get("public-pages",0);
66 if( hasAnyCap(zAnonCap,"as") ){
67 @ <li><p>This repository is <big><b>Wildly INSECURE</b></big> because
68 @ it grants administrator privileges to anonymous users. You
69
--- src/security_audit.c
+++ src/security_audit.c
@@ -58,11 +58,11 @@
58 /* Step 1: Determine if the repository is public or private. "Public"
59 ** means that any anonymous user on the internet can access all content.
60 ** "Private" repos require (non-anonymous) login to access all content,
61 ** though some content may be accessible anonymously.
62 */
63 zAnonCap = db_text("", "SELECT capunion(cap) FROM user"
64 " WHERE login IN ('anonymous','nobody')");
65 zPubPages = db_get("public-pages",0);
66 if( hasAnyCap(zAnonCap,"as") ){
67 @ <li><p>This repository is <big><b>Wildly INSECURE</b></big> because
68 @ it grants administrator privileges to anonymous users. You
69
+2 -83
--- src/setup.c
+++ src/setup.c
@@ -296,91 +296,10 @@
296296
db_finalize(&s);
297297
style_table_sorter();
298298
style_footer();
299299
}
300300
301
-/*
302
-** Render the user-capability table
303
-*/
304
-static void setup_usercap_table(void){
305
- @ <table>
306
- @ <tr><th valign="top">a</th>
307
- @ <td><i>Admin:</i> Create and delete users</td></tr>
308
- @ <tr><th valign="top">b</th>
309
- @ <td><i>Attach:</i> Add attachments to wiki or tickets</td></tr>
310
- @ <tr><th valign="top">c</th>
311
- @ <td><i>Append-Tkt:</i> Append to tickets</td></tr>
312
- @ <tr><th valign="top">d</th>
313
- @ <td><i>Delete:</i> Delete wiki and tickets</td></tr>
314
- @ <tr><th valign="top">e</th>
315
- @ <td><i>View-PII:</i> \
316
- @ View sensitive data such as email addresses</td></tr>
317
- @ <tr><th valign="top">f</th>
318
- @ <td><i>New-Wiki:</i> Create new wiki pages</td></tr>
319
- @ <tr><th valign="top">g</th>
320
- @ <td><i>Clone:</i> Clone the repository</td></tr>
321
- @ <tr><th valign="top">h</th>
322
- @ <td><i>Hyperlinks:</i> Show hyperlinks to detailed
323
- @ repository history</td></tr>
324
- @ <tr><th valign="top">i</th>
325
- @ <td><i>Check-In:</i> Commit new versions in the repository</td></tr>
326
- @ <tr><th valign="top">j</th>
327
- @ <td><i>Read-Wiki:</i> View wiki pages</td></tr>
328
- @ <tr><th valign="top">k</th>
329
- @ <td><i>Write-Wiki:</i> Edit wiki pages</td></tr>
330
- @ <tr><th valign="top">l</th>
331
- @ <td><i>Mod-Wiki:</i> Moderator for wiki pages</td></tr>
332
- @ <tr><th valign="top">m</th>
333
- @ <td><i>Append-Wiki:</i> Append to wiki pages</td></tr>
334
- @ <tr><th valign="top">n</th>
335
- @ <td><i>New-Tkt:</i> Create new tickets</td></tr>
336
- @ <tr><th valign="top">o</th>
337
- @ <td><i>Check-Out:</i> Check out versions</td></tr>
338
- @ <tr><th valign="top">p</th>
339
- @ <td><i>Password:</i> Change your own password</td></tr>
340
- @ <tr><th valign="top">q</th>
341
- @ <td><i>Mod-Tkt:</i> Moderator for tickets</td></tr>
342
- @ <tr><th valign="top">r</th>
343
- @ <td><i>Read-Tkt:</i> View tickets</td></tr>
344
- @ <tr><th valign="top">s</th>
345
- @ <td><i>Setup/Super-user:</i> Setup and configure this website</td></tr>
346
- @ <tr><th valign="top">t</th>
347
- @ <td><i>Tkt-Report:</i> Create new bug summary reports</td></tr>
348
- @ <tr><th valign="top">u</th>
349
- @ <td><i>Reader:</i> Inherit privileges of
350
- @ user <tt>reader</tt></td></tr>
351
- @ <tr><th valign="top">v</th>
352
- @ <td><i>Developer:</i> Inherit privileges of
353
- @ user <tt>developer</tt></td></tr>
354
- @ <tr><th valign="top">w</th>
355
- @ <td><i>Write-Tkt:</i> Edit tickets</td></tr>
356
- @ <tr><th valign="top">x</th>
357
- @ <td><i>Private:</i> Push and/or pull private branches</td></tr>
358
- @ <tr><th valign="top">y</th>
359
- @ <td><i>Write-Unver:</i> Push unversioned files</td></tr>
360
- @ <tr><th valign="top">z</th>
361
- @ <td><i>Zip download:</i> Download a ZIP archive or tarball</td></tr>
362
- @ <tr><th valign="top">2</th>
363
- @ <td><i>Forum-Read:</i> Read forum posts by others </td></tr>
364
- @ <tr><th valign="top">3</th>
365
- @ <td><i>Forum-Append:</i> Add new forum posts</td></tr>
366
- @ <tr><th valign="top">4</th>
367
- @ <td><i>Forum-Trusted:</i> Add pre-approved forum posts </td></tr>
368
- @ <tr><th valign="top">5</th>
369
- @ <td><i>Forum-Moderator:</i> Approve or disapprove forum posts</td></tr>
370
- @ <tr><th valign="top">6</th>
371
- @ <td><i>Forum-Supervisor:</i> \
372
- @ Forum administrator: Set or remove capability "4" for other users
373
- @ <tr><th valign="top">7</th>
374
- @ <td><i>Email-Alerts:</i> Sign up for email nofications</td></tr>
375
- @ <tr><th valign="top">A</th>
376
- @ <td><i>Announce:</i> Send announcements</td></tr>
377
- @ <tr><th valign="top">D</th>
378
- @ <td><i>Debug:</i> Enable debugging features</td></tr>
379
- @ </table>
380
-}
381
-
382301
/*
383302
** WEBPAGE: setup_ulist_notes
384303
**
385304
** A documentation page showing notes about user configuration. This
386305
** information used to be a side-bar on the user list page, but has been
@@ -417,11 +336,11 @@
417336
@ <span class="usertype">anonymous</span>, and
418337
@ <span class="usertype">nobody</span>.
419338
@ </p></li>
420339
@
421340
@ <li><p>The permission flags are as follows:</p>
422
- setup_usercap_table();
341
+ capabilities_table();
423342
@ </li>
424343
@ </ol>
425344
style_footer();
426345
}
427346
@@ -431,11 +350,11 @@
431350
** A documentation page showing the meaning of the various user capabilities
432351
** code letters.
433352
*/
434353
void setup_ucap_list(void){
435354
style_header("User Capability Codes");
436
- setup_usercap_table();
355
+ capabilities_table();
437356
style_footer();
438357
}
439358
440359
/*
441360
** Return true if zPw is a valid password string. A valid
442361
--- src/setup.c
+++ src/setup.c
@@ -296,91 +296,10 @@
296 db_finalize(&s);
297 style_table_sorter();
298 style_footer();
299 }
300
301 /*
302 ** Render the user-capability table
303 */
304 static void setup_usercap_table(void){
305 @ <table>
306 @ <tr><th valign="top">a</th>
307 @ <td><i>Admin:</i> Create and delete users</td></tr>
308 @ <tr><th valign="top">b</th>
309 @ <td><i>Attach:</i> Add attachments to wiki or tickets</td></tr>
310 @ <tr><th valign="top">c</th>
311 @ <td><i>Append-Tkt:</i> Append to tickets</td></tr>
312 @ <tr><th valign="top">d</th>
313 @ <td><i>Delete:</i> Delete wiki and tickets</td></tr>
314 @ <tr><th valign="top">e</th>
315 @ <td><i>View-PII:</i> \
316 @ View sensitive data such as email addresses</td></tr>
317 @ <tr><th valign="top">f</th>
318 @ <td><i>New-Wiki:</i> Create new wiki pages</td></tr>
319 @ <tr><th valign="top">g</th>
320 @ <td><i>Clone:</i> Clone the repository</td></tr>
321 @ <tr><th valign="top">h</th>
322 @ <td><i>Hyperlinks:</i> Show hyperlinks to detailed
323 @ repository history</td></tr>
324 @ <tr><th valign="top">i</th>
325 @ <td><i>Check-In:</i> Commit new versions in the repository</td></tr>
326 @ <tr><th valign="top">j</th>
327 @ <td><i>Read-Wiki:</i> View wiki pages</td></tr>
328 @ <tr><th valign="top">k</th>
329 @ <td><i>Write-Wiki:</i> Edit wiki pages</td></tr>
330 @ <tr><th valign="top">l</th>
331 @ <td><i>Mod-Wiki:</i> Moderator for wiki pages</td></tr>
332 @ <tr><th valign="top">m</th>
333 @ <td><i>Append-Wiki:</i> Append to wiki pages</td></tr>
334 @ <tr><th valign="top">n</th>
335 @ <td><i>New-Tkt:</i> Create new tickets</td></tr>
336 @ <tr><th valign="top">o</th>
337 @ <td><i>Check-Out:</i> Check out versions</td></tr>
338 @ <tr><th valign="top">p</th>
339 @ <td><i>Password:</i> Change your own password</td></tr>
340 @ <tr><th valign="top">q</th>
341 @ <td><i>Mod-Tkt:</i> Moderator for tickets</td></tr>
342 @ <tr><th valign="top">r</th>
343 @ <td><i>Read-Tkt:</i> View tickets</td></tr>
344 @ <tr><th valign="top">s</th>
345 @ <td><i>Setup/Super-user:</i> Setup and configure this website</td></tr>
346 @ <tr><th valign="top">t</th>
347 @ <td><i>Tkt-Report:</i> Create new bug summary reports</td></tr>
348 @ <tr><th valign="top">u</th>
349 @ <td><i>Reader:</i> Inherit privileges of
350 @ user <tt>reader</tt></td></tr>
351 @ <tr><th valign="top">v</th>
352 @ <td><i>Developer:</i> Inherit privileges of
353 @ user <tt>developer</tt></td></tr>
354 @ <tr><th valign="top">w</th>
355 @ <td><i>Write-Tkt:</i> Edit tickets</td></tr>
356 @ <tr><th valign="top">x</th>
357 @ <td><i>Private:</i> Push and/or pull private branches</td></tr>
358 @ <tr><th valign="top">y</th>
359 @ <td><i>Write-Unver:</i> Push unversioned files</td></tr>
360 @ <tr><th valign="top">z</th>
361 @ <td><i>Zip download:</i> Download a ZIP archive or tarball</td></tr>
362 @ <tr><th valign="top">2</th>
363 @ <td><i>Forum-Read:</i> Read forum posts by others </td></tr>
364 @ <tr><th valign="top">3</th>
365 @ <td><i>Forum-Append:</i> Add new forum posts</td></tr>
366 @ <tr><th valign="top">4</th>
367 @ <td><i>Forum-Trusted:</i> Add pre-approved forum posts </td></tr>
368 @ <tr><th valign="top">5</th>
369 @ <td><i>Forum-Moderator:</i> Approve or disapprove forum posts</td></tr>
370 @ <tr><th valign="top">6</th>
371 @ <td><i>Forum-Supervisor:</i> \
372 @ Forum administrator: Set or remove capability "4" for other users
373 @ <tr><th valign="top">7</th>
374 @ <td><i>Email-Alerts:</i> Sign up for email nofications</td></tr>
375 @ <tr><th valign="top">A</th>
376 @ <td><i>Announce:</i> Send announcements</td></tr>
377 @ <tr><th valign="top">D</th>
378 @ <td><i>Debug:</i> Enable debugging features</td></tr>
379 @ </table>
380 }
381
382 /*
383 ** WEBPAGE: setup_ulist_notes
384 **
385 ** A documentation page showing notes about user configuration. This
386 ** information used to be a side-bar on the user list page, but has been
@@ -417,11 +336,11 @@
417 @ <span class="usertype">anonymous</span>, and
418 @ <span class="usertype">nobody</span>.
419 @ </p></li>
420 @
421 @ <li><p>The permission flags are as follows:</p>
422 setup_usercap_table();
423 @ </li>
424 @ </ol>
425 style_footer();
426 }
427
@@ -431,11 +350,11 @@
431 ** A documentation page showing the meaning of the various user capabilities
432 ** code letters.
433 */
434 void setup_ucap_list(void){
435 style_header("User Capability Codes");
436 setup_usercap_table();
437 style_footer();
438 }
439
440 /*
441 ** Return true if zPw is a valid password string. A valid
442
--- src/setup.c
+++ src/setup.c
@@ -296,91 +296,10 @@
296 db_finalize(&s);
297 style_table_sorter();
298 style_footer();
299 }
300
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
301 /*
302 ** WEBPAGE: setup_ulist_notes
303 **
304 ** A documentation page showing notes about user configuration. This
305 ** information used to be a side-bar on the user list page, but has been
@@ -417,11 +336,11 @@
336 @ <span class="usertype">anonymous</span>, and
337 @ <span class="usertype">nobody</span>.
338 @ </p></li>
339 @
340 @ <li><p>The permission flags are as follows:</p>
341 capabilities_table();
342 @ </li>
343 @ </ol>
344 style_footer();
345 }
346
@@ -431,11 +350,11 @@
350 ** A documentation page showing the meaning of the various user capabilities
351 ** code letters.
352 */
353 void setup_ucap_list(void){
354 style_header("User Capability Codes");
355 capabilities_table();
356 style_footer();
357 }
358
359 /*
360 ** Return true if zPw is a valid password string. A valid
361
+10 -4
--- win/Makefile.dmc
+++ win/Makefile.dmc
@@ -28,13 +28,13 @@
2828
2929
SQLITE_OPTIONS = -DNDEBUG=1 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_GET_TABLE -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB
3030
3131
SHELL_OPTIONS = -DNDEBUG=1 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_GET_TABLE -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -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
3232
33
-SRC = add_.c allrepo_.c attach_.c backoffice_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c cookies_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c dispatch_.c doc_.c email_.c encode_.c etag_.c event_.c export_.c file_.c finfo_.c foci_.c forum_.c fshell_.c fusefs_.c glob_.c graph_.c gzip_.c hname_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c loadctrl_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c piechart_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c report_.c rss_.c schema_.c search_.c security_audit_.c setup_.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 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 webmail_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c
33
+SRC = add_.c allrepo_.c attach_.c backoffice_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c capabilities_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c cookies_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c dispatch_.c doc_.c email_.c encode_.c etag_.c event_.c export_.c file_.c finfo_.c foci_.c forum_.c fshell_.c fusefs_.c glob_.c graph_.c gzip_.c hname_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c loadctrl_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c piechart_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c report_.c rss_.c schema_.c search_.c security_audit_.c setup_.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 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 webmail_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c
3434
35
-OBJ = $(OBJDIR)\add$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\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)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\cookies$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\dispatch$O $(OBJDIR)\doc$O $(OBJDIR)\email$O $(OBJDIR)\encode$O $(OBJDIR)\etag$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\forum$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\loadctrl$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\piechart$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\security_audit$O $(OBJDIR)\setup$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)\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)\webmail$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winfile$O $(OBJDIR)\winhttp$O $(OBJDIR)\wysiwyg$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O
35
+OBJ = $(OBJDIR)\add$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\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)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\cookies$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\dispatch$O $(OBJDIR)\doc$O $(OBJDIR)\email$O $(OBJDIR)\encode$O $(OBJDIR)\etag$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\forum$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\loadctrl$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\piechart$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\security_audit$O $(OBJDIR)\setup$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)\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)\webmail$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winfile$O $(OBJDIR)\winhttp$O $(OBJDIR)\wysiwyg$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O
3636
3737
3838
RC=$(DMDIR)\bin\rcc
3939
RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__
4040
@@ -49,11 +49,11 @@
4949
5050
$(OBJDIR)\fossil.res: $B\win\fossil.rc
5151
$(RC) $(RCFLAGS) -o$@ $**
5252
5353
$(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res
54
- +echo add allrepo attach backoffice bag bisect blob branch browse builtin bundle cache captcha cgi checkin checkout clearsign clone comformat configure content cookies db delta deltacmd descendants diff diffcmd dispatch doc email encode etag event export file finfo foci forum fshell fusefs glob graph gzip hname http http_socket http_ssl http_transport import info json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf loadctrl login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path piechart pivot popen pqueue printf publish purge rebuild regexp report rss schema search security_audit setup sha1 sha1hard sha3 shun sitemap skins smtp sqlcmd stash stat statrep style sync tag tar th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile webmail wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@
54
+ +echo add allrepo attach backoffice bag bisect blob branch browse builtin bundle cache capabilities captcha cgi checkin checkout clearsign clone comformat configure content cookies db delta deltacmd descendants diff diffcmd dispatch doc email encode etag event export file finfo foci forum fshell fusefs glob graph gzip hname http http_socket http_ssl http_transport import info json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf loadctrl login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path piechart pivot popen pqueue printf publish purge rebuild regexp report rss schema search security_audit setup sha1 sha1hard sha3 shun sitemap skins smtp sqlcmd stash stat statrep style sync tag tar th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile webmail wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@
5555
+echo fossil >> $@
5656
+echo fossil >> $@
5757
+echo $(LIBS) >> $@
5858
+echo. >> $@
5959
+echo fossil >> $@
@@ -200,10 +200,16 @@
200200
$(OBJDIR)\cache$O : cache_.c cache.h
201201
$(TCC) -o$@ -c cache_.c
202202
203203
cache_.c : $(SRCDIR)\cache.c
204204
+translate$E $** > $@
205
+
206
+$(OBJDIR)\capabilities$O : capabilities_.c capabilities.h
207
+ $(TCC) -o$@ -c capabilities_.c
208
+
209
+capabilities_.c : $(SRCDIR)\capabilities.c
210
+ +translate$E $** > $@
205211
206212
$(OBJDIR)\captcha$O : captcha_.c captcha.h
207213
$(TCC) -o$@ -c captcha_.c
208214
209215
captcha_.c : $(SRCDIR)\captcha.c
@@ -928,7 +934,7 @@
928934
929935
zip_.c : $(SRCDIR)\zip.c
930936
+translate$E $** > $@
931937
932938
headers: makeheaders$E page_index.h builtin_data.h default_css.h VERSION.h
933
- +makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.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 captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h cookies_.c:cookies.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h dispatch_.c:dispatch.h doc_.c:doc.h email_.c:email.h encode_.c:encode.h etag_.c:etag.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h foci_.c:foci.h forum_.c:forum.h fshell_.c:fshell.h fusefs_.c:fusefs.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h loadctrl_.c:loadctrl.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h piechart_.c:piechart.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h publish_.c:publish.h purge_.c:purge.h rebuild_.c:rebuild.h regexp_.c:regexp.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h security_audit_.c:security_audit.h setup_.c:setup.h sha1_.c:sha1.h sha1hard_.c:sha1hard.h sha3_.c:sha3.h shun_.c:shun.h sitemap_.c:sitemap.h skins_.c:skins.h 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 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 webmail_.c:webmail.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winfile_.c:winfile.h winhttp_.c:winhttp.h wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h
939
+ +makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.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 checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h cookies_.c:cookies.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h dispatch_.c:dispatch.h doc_.c:doc.h email_.c:email.h encode_.c:encode.h etag_.c:etag.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h foci_.c:foci.h forum_.c:forum.h fshell_.c:fshell.h fusefs_.c:fusefs.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h loadctrl_.c:loadctrl.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h piechart_.c:piechart.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h publish_.c:publish.h purge_.c:purge.h rebuild_.c:rebuild.h regexp_.c:regexp.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h security_audit_.c:security_audit.h setup_.c:setup.h sha1_.c:sha1.h sha1hard_.c:sha1hard.h sha3_.c:sha3.h shun_.c:shun.h sitemap_.c:sitemap.h skins_.c:skins.h 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 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 webmail_.c:webmail.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winfile_.c:winfile.h winhttp_.c:winhttp.h wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h
934940
@copy /Y nul: headers
935941
--- win/Makefile.dmc
+++ win/Makefile.dmc
@@ -28,13 +28,13 @@
28
29 SQLITE_OPTIONS = -DNDEBUG=1 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_GET_TABLE -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB
30
31 SHELL_OPTIONS = -DNDEBUG=1 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_GET_TABLE -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -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
32
33 SRC = add_.c allrepo_.c attach_.c backoffice_.c bag_.c bisect_.c blob_.c branch_.c browse_.c builtin_.c bundle_.c cache_.c captcha_.c cgi_.c checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c cookies_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c dispatch_.c doc_.c email_.c encode_.c etag_.c event_.c export_.c file_.c finfo_.c foci_.c forum_.c fshell_.c fusefs_.c glob_.c graph_.c gzip_.c hname_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c loadctrl_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c piechart_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c report_.c rss_.c schema_.c search_.c security_audit_.c setup_.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 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 webmail_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c
34
35 OBJ = $(OBJDIR)\add$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\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)\captcha$O $(OBJDIR)\cgi$O $(OBJDIR)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\cookies$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\dispatch$O $(OBJDIR)\doc$O $(OBJDIR)\email$O $(OBJDIR)\encode$O $(OBJDIR)\etag$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\forum$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\loadctrl$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\piechart$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\security_audit$O $(OBJDIR)\setup$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)\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)\webmail$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winfile$O $(OBJDIR)\winhttp$O $(OBJDIR)\wysiwyg$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O
36
37
38 RC=$(DMDIR)\bin\rcc
39 RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__
40
@@ -49,11 +49,11 @@
49
50 $(OBJDIR)\fossil.res: $B\win\fossil.rc
51 $(RC) $(RCFLAGS) -o$@ $**
52
53 $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res
54 +echo add allrepo attach backoffice bag bisect blob branch browse builtin bundle cache captcha cgi checkin checkout clearsign clone comformat configure content cookies db delta deltacmd descendants diff diffcmd dispatch doc email encode etag event export file finfo foci forum fshell fusefs glob graph gzip hname http http_socket http_ssl http_transport import info json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf loadctrl login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path piechart pivot popen pqueue printf publish purge rebuild regexp report rss schema search security_audit setup sha1 sha1hard sha3 shun sitemap skins smtp sqlcmd stash stat statrep style sync tag tar th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile webmail wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@
55 +echo fossil >> $@
56 +echo fossil >> $@
57 +echo $(LIBS) >> $@
58 +echo. >> $@
59 +echo fossil >> $@
@@ -200,10 +200,16 @@
200 $(OBJDIR)\cache$O : cache_.c cache.h
201 $(TCC) -o$@ -c cache_.c
202
203 cache_.c : $(SRCDIR)\cache.c
204 +translate$E $** > $@
 
 
 
 
 
 
205
206 $(OBJDIR)\captcha$O : captcha_.c captcha.h
207 $(TCC) -o$@ -c captcha_.c
208
209 captcha_.c : $(SRCDIR)\captcha.c
@@ -928,7 +934,7 @@
928
929 zip_.c : $(SRCDIR)\zip.c
930 +translate$E $** > $@
931
932 headers: makeheaders$E page_index.h builtin_data.h default_css.h VERSION.h
933 +makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.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 captcha_.c:captcha.h cgi_.c:cgi.h checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h cookies_.c:cookies.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h dispatch_.c:dispatch.h doc_.c:doc.h email_.c:email.h encode_.c:encode.h etag_.c:etag.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h foci_.c:foci.h forum_.c:forum.h fshell_.c:fshell.h fusefs_.c:fusefs.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h loadctrl_.c:loadctrl.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h piechart_.c:piechart.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h publish_.c:publish.h purge_.c:purge.h rebuild_.c:rebuild.h regexp_.c:regexp.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h security_audit_.c:security_audit.h setup_.c:setup.h sha1_.c:sha1.h sha1hard_.c:sha1hard.h sha3_.c:sha3.h shun_.c:shun.h sitemap_.c:sitemap.h skins_.c:skins.h 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 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 webmail_.c:webmail.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winfile_.c:winfile.h winhttp_.c:winhttp.h wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h
934 @copy /Y nul: headers
935
--- win/Makefile.dmc
+++ win/Makefile.dmc
@@ -28,13 +28,13 @@
28
29 SQLITE_OPTIONS = -DNDEBUG=1 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_GET_TABLE -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB
30
31 SHELL_OPTIONS = -DNDEBUG=1 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_MEMSTATUS=0 -DSQLITE_DEFAULT_WAL_SYNCHRONOUS=1 -DSQLITE_LIKE_DOESNT_MATCH_BLOBS -DSQLITE_OMIT_DECLTYPE -DSQLITE_OMIT_DEPRECATED -DSQLITE_OMIT_GET_TABLE -DSQLITE_OMIT_PROGRESS_CALLBACK -DSQLITE_OMIT_SHARED_CACHE -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_MAX_EXPR_DEPTH=0 -DSQLITE_USE_ALLOCA -DSQLITE_ENABLE_LOCKING_STYLE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_FTS3_PARENTHESIS -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS5 -DSQLITE_ENABLE_STMTVTAB -DSQLITE_HAVE_ZLIB -DSQLITE_INTROSPECTION_PRAGMAS -DSQLITE_ENABLE_DBPAGE_VTAB -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
32
33 SRC = add_.c allrepo_.c attach_.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 checkin_.c checkout_.c clearsign_.c clone_.c comformat_.c configure_.c content_.c cookies_.c db_.c delta_.c deltacmd_.c descendants_.c diff_.c diffcmd_.c dispatch_.c doc_.c email_.c encode_.c etag_.c event_.c export_.c file_.c finfo_.c foci_.c forum_.c fshell_.c fusefs_.c glob_.c graph_.c gzip_.c hname_.c http_.c http_socket_.c http_ssl_.c http_transport_.c import_.c info_.c json_.c json_artifact_.c json_branch_.c json_config_.c json_diff_.c json_dir_.c json_finfo_.c json_login_.c json_query_.c json_report_.c json_status_.c json_tag_.c json_timeline_.c json_user_.c json_wiki_.c leaf_.c loadctrl_.c login_.c lookslike_.c main_.c manifest_.c markdown_.c markdown_html_.c md5_.c merge_.c merge3_.c moderate_.c name_.c path_.c piechart_.c pivot_.c popen_.c pqueue_.c printf_.c publish_.c purge_.c rebuild_.c regexp_.c report_.c rss_.c schema_.c search_.c security_audit_.c setup_.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 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 webmail_.c wiki_.c wikiformat_.c winfile_.c winhttp_.c wysiwyg_.c xfer_.c xfersetup_.c zip_.c
34
35 OBJ = $(OBJDIR)\add$O $(OBJDIR)\allrepo$O $(OBJDIR)\attach$O $(OBJDIR)\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)\checkin$O $(OBJDIR)\checkout$O $(OBJDIR)\clearsign$O $(OBJDIR)\clone$O $(OBJDIR)\comformat$O $(OBJDIR)\configure$O $(OBJDIR)\content$O $(OBJDIR)\cookies$O $(OBJDIR)\db$O $(OBJDIR)\delta$O $(OBJDIR)\deltacmd$O $(OBJDIR)\descendants$O $(OBJDIR)\diff$O $(OBJDIR)\diffcmd$O $(OBJDIR)\dispatch$O $(OBJDIR)\doc$O $(OBJDIR)\email$O $(OBJDIR)\encode$O $(OBJDIR)\etag$O $(OBJDIR)\event$O $(OBJDIR)\export$O $(OBJDIR)\file$O $(OBJDIR)\finfo$O $(OBJDIR)\foci$O $(OBJDIR)\forum$O $(OBJDIR)\fshell$O $(OBJDIR)\fusefs$O $(OBJDIR)\glob$O $(OBJDIR)\graph$O $(OBJDIR)\gzip$O $(OBJDIR)\hname$O $(OBJDIR)\http$O $(OBJDIR)\http_socket$O $(OBJDIR)\http_ssl$O $(OBJDIR)\http_transport$O $(OBJDIR)\import$O $(OBJDIR)\info$O $(OBJDIR)\json$O $(OBJDIR)\json_artifact$O $(OBJDIR)\json_branch$O $(OBJDIR)\json_config$O $(OBJDIR)\json_diff$O $(OBJDIR)\json_dir$O $(OBJDIR)\json_finfo$O $(OBJDIR)\json_login$O $(OBJDIR)\json_query$O $(OBJDIR)\json_report$O $(OBJDIR)\json_status$O $(OBJDIR)\json_tag$O $(OBJDIR)\json_timeline$O $(OBJDIR)\json_user$O $(OBJDIR)\json_wiki$O $(OBJDIR)\leaf$O $(OBJDIR)\loadctrl$O $(OBJDIR)\login$O $(OBJDIR)\lookslike$O $(OBJDIR)\main$O $(OBJDIR)\manifest$O $(OBJDIR)\markdown$O $(OBJDIR)\markdown_html$O $(OBJDIR)\md5$O $(OBJDIR)\merge$O $(OBJDIR)\merge3$O $(OBJDIR)\moderate$O $(OBJDIR)\name$O $(OBJDIR)\path$O $(OBJDIR)\piechart$O $(OBJDIR)\pivot$O $(OBJDIR)\popen$O $(OBJDIR)\pqueue$O $(OBJDIR)\printf$O $(OBJDIR)\publish$O $(OBJDIR)\purge$O $(OBJDIR)\rebuild$O $(OBJDIR)\regexp$O $(OBJDIR)\report$O $(OBJDIR)\rss$O $(OBJDIR)\schema$O $(OBJDIR)\search$O $(OBJDIR)\security_audit$O $(OBJDIR)\setup$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)\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)\webmail$O $(OBJDIR)\wiki$O $(OBJDIR)\wikiformat$O $(OBJDIR)\winfile$O $(OBJDIR)\winhttp$O $(OBJDIR)\wysiwyg$O $(OBJDIR)\xfer$O $(OBJDIR)\xfersetup$O $(OBJDIR)\zip$O $(OBJDIR)\shell$O $(OBJDIR)\sqlite3$O $(OBJDIR)\th$O $(OBJDIR)\th_lang$O
36
37
38 RC=$(DMDIR)\bin\rcc
39 RCFLAGS=-32 -w1 -I$(SRCDIR) /D__DMC__
40
@@ -49,11 +49,11 @@
49
50 $(OBJDIR)\fossil.res: $B\win\fossil.rc
51 $(RC) $(RCFLAGS) -o$@ $**
52
53 $(OBJDIR)\link: $B\win\Makefile.dmc $(OBJDIR)\fossil.res
54 +echo add allrepo attach backoffice bag bisect blob branch browse builtin bundle cache capabilities captcha cgi checkin checkout clearsign clone comformat configure content cookies db delta deltacmd descendants diff diffcmd dispatch doc email encode etag event export file finfo foci forum fshell fusefs glob graph gzip hname http http_socket http_ssl http_transport import info json json_artifact json_branch json_config json_diff json_dir json_finfo json_login json_query json_report json_status json_tag json_timeline json_user json_wiki leaf loadctrl login lookslike main manifest markdown markdown_html md5 merge merge3 moderate name path piechart pivot popen pqueue printf publish purge rebuild regexp report rss schema search security_audit setup sha1 sha1hard sha3 shun sitemap skins smtp sqlcmd stash stat statrep style sync tag tar th_main timeline tkt tktsetup undo unicode unversioned update url user utf8 util verify vfile webmail wiki wikiformat winfile winhttp wysiwyg xfer xfersetup zip shell sqlite3 th th_lang > $@
55 +echo fossil >> $@
56 +echo fossil >> $@
57 +echo $(LIBS) >> $@
58 +echo. >> $@
59 +echo fossil >> $@
@@ -200,10 +200,16 @@
200 $(OBJDIR)\cache$O : cache_.c cache.h
201 $(TCC) -o$@ -c cache_.c
202
203 cache_.c : $(SRCDIR)\cache.c
204 +translate$E $** > $@
205
206 $(OBJDIR)\capabilities$O : capabilities_.c capabilities.h
207 $(TCC) -o$@ -c capabilities_.c
208
209 capabilities_.c : $(SRCDIR)\capabilities.c
210 +translate$E $** > $@
211
212 $(OBJDIR)\captcha$O : captcha_.c captcha.h
213 $(TCC) -o$@ -c captcha_.c
214
215 captcha_.c : $(SRCDIR)\captcha.c
@@ -928,7 +934,7 @@
934
935 zip_.c : $(SRCDIR)\zip.c
936 +translate$E $** > $@
937
938 headers: makeheaders$E page_index.h builtin_data.h default_css.h VERSION.h
939 +makeheaders$E add_.c:add.h allrepo_.c:allrepo.h attach_.c:attach.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 checkin_.c:checkin.h checkout_.c:checkout.h clearsign_.c:clearsign.h clone_.c:clone.h comformat_.c:comformat.h configure_.c:configure.h content_.c:content.h cookies_.c:cookies.h db_.c:db.h delta_.c:delta.h deltacmd_.c:deltacmd.h descendants_.c:descendants.h diff_.c:diff.h diffcmd_.c:diffcmd.h dispatch_.c:dispatch.h doc_.c:doc.h email_.c:email.h encode_.c:encode.h etag_.c:etag.h event_.c:event.h export_.c:export.h file_.c:file.h finfo_.c:finfo.h foci_.c:foci.h forum_.c:forum.h fshell_.c:fshell.h fusefs_.c:fusefs.h glob_.c:glob.h graph_.c:graph.h gzip_.c:gzip.h hname_.c:hname.h http_.c:http.h http_socket_.c:http_socket.h http_ssl_.c:http_ssl.h http_transport_.c:http_transport.h import_.c:import.h info_.c:info.h json_.c:json.h json_artifact_.c:json_artifact.h json_branch_.c:json_branch.h json_config_.c:json_config.h json_diff_.c:json_diff.h json_dir_.c:json_dir.h json_finfo_.c:json_finfo.h json_login_.c:json_login.h json_query_.c:json_query.h json_report_.c:json_report.h json_status_.c:json_status.h json_tag_.c:json_tag.h json_timeline_.c:json_timeline.h json_user_.c:json_user.h json_wiki_.c:json_wiki.h leaf_.c:leaf.h loadctrl_.c:loadctrl.h login_.c:login.h lookslike_.c:lookslike.h main_.c:main.h manifest_.c:manifest.h markdown_.c:markdown.h markdown_html_.c:markdown_html.h md5_.c:md5.h merge_.c:merge.h merge3_.c:merge3.h moderate_.c:moderate.h name_.c:name.h path_.c:path.h piechart_.c:piechart.h pivot_.c:pivot.h popen_.c:popen.h pqueue_.c:pqueue.h printf_.c:printf.h publish_.c:publish.h purge_.c:purge.h rebuild_.c:rebuild.h regexp_.c:regexp.h report_.c:report.h rss_.c:rss.h schema_.c:schema.h search_.c:search.h security_audit_.c:security_audit.h setup_.c:setup.h sha1_.c:sha1.h sha1hard_.c:sha1hard.h sha3_.c:sha3.h shun_.c:shun.h sitemap_.c:sitemap.h skins_.c:skins.h 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 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 webmail_.c:webmail.h wiki_.c:wiki.h wikiformat_.c:wikiformat.h winfile_.c:winfile.h winhttp_.c:winhttp.h wysiwyg_.c:wysiwyg.h xfer_.c:xfer.h xfersetup_.c:xfersetup.h zip_.c:zip.h $(SRCDIR)\sqlite3.h $(SRCDIR)\th.h VERSION.h $(SRCDIR)\cson_amalgamation.h
940 @copy /Y nul: headers
941
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -448,10 +448,11 @@
448448
$(SRCDIR)/branch.c \
449449
$(SRCDIR)/browse.c \
450450
$(SRCDIR)/builtin.c \
451451
$(SRCDIR)/bundle.c \
452452
$(SRCDIR)/cache.c \
453
+ $(SRCDIR)/capabilities.c \
453454
$(SRCDIR)/captcha.c \
454455
$(SRCDIR)/cgi.c \
455456
$(SRCDIR)/checkin.c \
456457
$(SRCDIR)/checkout.c \
457458
$(SRCDIR)/clearsign.c \
@@ -655,10 +656,11 @@
655656
$(OBJDIR)/branch_.c \
656657
$(OBJDIR)/browse_.c \
657658
$(OBJDIR)/builtin_.c \
658659
$(OBJDIR)/bundle_.c \
659660
$(OBJDIR)/cache_.c \
661
+ $(OBJDIR)/capabilities_.c \
660662
$(OBJDIR)/captcha_.c \
661663
$(OBJDIR)/cgi_.c \
662664
$(OBJDIR)/checkin_.c \
663665
$(OBJDIR)/checkout_.c \
664666
$(OBJDIR)/clearsign_.c \
@@ -790,10 +792,11 @@
790792
$(OBJDIR)/branch.o \
791793
$(OBJDIR)/browse.o \
792794
$(OBJDIR)/builtin.o \
793795
$(OBJDIR)/bundle.o \
794796
$(OBJDIR)/cache.o \
797
+ $(OBJDIR)/capabilities.o \
795798
$(OBJDIR)/captcha.o \
796799
$(OBJDIR)/cgi.o \
797800
$(OBJDIR)/checkin.o \
798801
$(OBJDIR)/checkout.o \
799802
$(OBJDIR)/clearsign.o \
@@ -1144,10 +1147,11 @@
11441147
$(OBJDIR)/branch_.c:$(OBJDIR)/branch.h \
11451148
$(OBJDIR)/browse_.c:$(OBJDIR)/browse.h \
11461149
$(OBJDIR)/builtin_.c:$(OBJDIR)/builtin.h \
11471150
$(OBJDIR)/bundle_.c:$(OBJDIR)/bundle.h \
11481151
$(OBJDIR)/cache_.c:$(OBJDIR)/cache.h \
1152
+ $(OBJDIR)/capabilities_.c:$(OBJDIR)/capabilities.h \
11491153
$(OBJDIR)/captcha_.c:$(OBJDIR)/captcha.h \
11501154
$(OBJDIR)/cgi_.c:$(OBJDIR)/cgi.h \
11511155
$(OBJDIR)/checkin_.c:$(OBJDIR)/checkin.h \
11521156
$(OBJDIR)/checkout_.c:$(OBJDIR)/checkout.h \
11531157
$(OBJDIR)/clearsign_.c:$(OBJDIR)/clearsign.h \
@@ -1369,10 +1373,18 @@
13691373
13701374
$(OBJDIR)/cache.o: $(OBJDIR)/cache_.c $(OBJDIR)/cache.h $(SRCDIR)/config.h
13711375
$(XTCC) -o $(OBJDIR)/cache.o -c $(OBJDIR)/cache_.c
13721376
13731377
$(OBJDIR)/cache.h: $(OBJDIR)/headers
1378
+
1379
+$(OBJDIR)/capabilities_.c: $(SRCDIR)/capabilities.c $(TRANSLATE)
1380
+ $(TRANSLATE) $(SRCDIR)/capabilities.c >$@
1381
+
1382
+$(OBJDIR)/capabilities.o: $(OBJDIR)/capabilities_.c $(OBJDIR)/capabilities.h $(SRCDIR)/config.h
1383
+ $(XTCC) -o $(OBJDIR)/capabilities.o -c $(OBJDIR)/capabilities_.c
1384
+
1385
+$(OBJDIR)/capabilities.h: $(OBJDIR)/headers
13741386
13751387
$(OBJDIR)/captcha_.c: $(SRCDIR)/captcha.c $(TRANSLATE)
13761388
$(TRANSLATE) $(SRCDIR)/captcha.c >$@
13771389
13781390
$(OBJDIR)/captcha.o: $(OBJDIR)/captcha_.c $(OBJDIR)/captcha.h $(SRCDIR)/config.h
13791391
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -448,10 +448,11 @@
448 $(SRCDIR)/branch.c \
449 $(SRCDIR)/browse.c \
450 $(SRCDIR)/builtin.c \
451 $(SRCDIR)/bundle.c \
452 $(SRCDIR)/cache.c \
 
453 $(SRCDIR)/captcha.c \
454 $(SRCDIR)/cgi.c \
455 $(SRCDIR)/checkin.c \
456 $(SRCDIR)/checkout.c \
457 $(SRCDIR)/clearsign.c \
@@ -655,10 +656,11 @@
655 $(OBJDIR)/branch_.c \
656 $(OBJDIR)/browse_.c \
657 $(OBJDIR)/builtin_.c \
658 $(OBJDIR)/bundle_.c \
659 $(OBJDIR)/cache_.c \
 
660 $(OBJDIR)/captcha_.c \
661 $(OBJDIR)/cgi_.c \
662 $(OBJDIR)/checkin_.c \
663 $(OBJDIR)/checkout_.c \
664 $(OBJDIR)/clearsign_.c \
@@ -790,10 +792,11 @@
790 $(OBJDIR)/branch.o \
791 $(OBJDIR)/browse.o \
792 $(OBJDIR)/builtin.o \
793 $(OBJDIR)/bundle.o \
794 $(OBJDIR)/cache.o \
 
795 $(OBJDIR)/captcha.o \
796 $(OBJDIR)/cgi.o \
797 $(OBJDIR)/checkin.o \
798 $(OBJDIR)/checkout.o \
799 $(OBJDIR)/clearsign.o \
@@ -1144,10 +1147,11 @@
1144 $(OBJDIR)/branch_.c:$(OBJDIR)/branch.h \
1145 $(OBJDIR)/browse_.c:$(OBJDIR)/browse.h \
1146 $(OBJDIR)/builtin_.c:$(OBJDIR)/builtin.h \
1147 $(OBJDIR)/bundle_.c:$(OBJDIR)/bundle.h \
1148 $(OBJDIR)/cache_.c:$(OBJDIR)/cache.h \
 
1149 $(OBJDIR)/captcha_.c:$(OBJDIR)/captcha.h \
1150 $(OBJDIR)/cgi_.c:$(OBJDIR)/cgi.h \
1151 $(OBJDIR)/checkin_.c:$(OBJDIR)/checkin.h \
1152 $(OBJDIR)/checkout_.c:$(OBJDIR)/checkout.h \
1153 $(OBJDIR)/clearsign_.c:$(OBJDIR)/clearsign.h \
@@ -1369,10 +1373,18 @@
1369
1370 $(OBJDIR)/cache.o: $(OBJDIR)/cache_.c $(OBJDIR)/cache.h $(SRCDIR)/config.h
1371 $(XTCC) -o $(OBJDIR)/cache.o -c $(OBJDIR)/cache_.c
1372
1373 $(OBJDIR)/cache.h: $(OBJDIR)/headers
 
 
 
 
 
 
 
 
1374
1375 $(OBJDIR)/captcha_.c: $(SRCDIR)/captcha.c $(TRANSLATE)
1376 $(TRANSLATE) $(SRCDIR)/captcha.c >$@
1377
1378 $(OBJDIR)/captcha.o: $(OBJDIR)/captcha_.c $(OBJDIR)/captcha.h $(SRCDIR)/config.h
1379
--- win/Makefile.mingw
+++ win/Makefile.mingw
@@ -448,10 +448,11 @@
448 $(SRCDIR)/branch.c \
449 $(SRCDIR)/browse.c \
450 $(SRCDIR)/builtin.c \
451 $(SRCDIR)/bundle.c \
452 $(SRCDIR)/cache.c \
453 $(SRCDIR)/capabilities.c \
454 $(SRCDIR)/captcha.c \
455 $(SRCDIR)/cgi.c \
456 $(SRCDIR)/checkin.c \
457 $(SRCDIR)/checkout.c \
458 $(SRCDIR)/clearsign.c \
@@ -655,10 +656,11 @@
656 $(OBJDIR)/branch_.c \
657 $(OBJDIR)/browse_.c \
658 $(OBJDIR)/builtin_.c \
659 $(OBJDIR)/bundle_.c \
660 $(OBJDIR)/cache_.c \
661 $(OBJDIR)/capabilities_.c \
662 $(OBJDIR)/captcha_.c \
663 $(OBJDIR)/cgi_.c \
664 $(OBJDIR)/checkin_.c \
665 $(OBJDIR)/checkout_.c \
666 $(OBJDIR)/clearsign_.c \
@@ -790,10 +792,11 @@
792 $(OBJDIR)/branch.o \
793 $(OBJDIR)/browse.o \
794 $(OBJDIR)/builtin.o \
795 $(OBJDIR)/bundle.o \
796 $(OBJDIR)/cache.o \
797 $(OBJDIR)/capabilities.o \
798 $(OBJDIR)/captcha.o \
799 $(OBJDIR)/cgi.o \
800 $(OBJDIR)/checkin.o \
801 $(OBJDIR)/checkout.o \
802 $(OBJDIR)/clearsign.o \
@@ -1144,10 +1147,11 @@
1147 $(OBJDIR)/branch_.c:$(OBJDIR)/branch.h \
1148 $(OBJDIR)/browse_.c:$(OBJDIR)/browse.h \
1149 $(OBJDIR)/builtin_.c:$(OBJDIR)/builtin.h \
1150 $(OBJDIR)/bundle_.c:$(OBJDIR)/bundle.h \
1151 $(OBJDIR)/cache_.c:$(OBJDIR)/cache.h \
1152 $(OBJDIR)/capabilities_.c:$(OBJDIR)/capabilities.h \
1153 $(OBJDIR)/captcha_.c:$(OBJDIR)/captcha.h \
1154 $(OBJDIR)/cgi_.c:$(OBJDIR)/cgi.h \
1155 $(OBJDIR)/checkin_.c:$(OBJDIR)/checkin.h \
1156 $(OBJDIR)/checkout_.c:$(OBJDIR)/checkout.h \
1157 $(OBJDIR)/clearsign_.c:$(OBJDIR)/clearsign.h \
@@ -1369,10 +1373,18 @@
1373
1374 $(OBJDIR)/cache.o: $(OBJDIR)/cache_.c $(OBJDIR)/cache.h $(SRCDIR)/config.h
1375 $(XTCC) -o $(OBJDIR)/cache.o -c $(OBJDIR)/cache_.c
1376
1377 $(OBJDIR)/cache.h: $(OBJDIR)/headers
1378
1379 $(OBJDIR)/capabilities_.c: $(SRCDIR)/capabilities.c $(TRANSLATE)
1380 $(TRANSLATE) $(SRCDIR)/capabilities.c >$@
1381
1382 $(OBJDIR)/capabilities.o: $(OBJDIR)/capabilities_.c $(OBJDIR)/capabilities.h $(SRCDIR)/config.h
1383 $(XTCC) -o $(OBJDIR)/capabilities.o -c $(OBJDIR)/capabilities_.c
1384
1385 $(OBJDIR)/capabilities.h: $(OBJDIR)/headers
1386
1387 $(OBJDIR)/captcha_.c: $(SRCDIR)/captcha.c $(TRANSLATE)
1388 $(TRANSLATE) $(SRCDIR)/captcha.c >$@
1389
1390 $(OBJDIR)/captcha.o: $(OBJDIR)/captcha_.c $(OBJDIR)/captcha.h $(SRCDIR)/config.h
1391
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -390,10 +390,11 @@
390390
branch_.c \
391391
browse_.c \
392392
builtin_.c \
393393
bundle_.c \
394394
cache_.c \
395
+ capabilities_.c \
395396
captcha_.c \
396397
cgi_.c \
397398
checkin_.c \
398399
checkout_.c \
399400
clearsign_.c \
@@ -595,10 +596,11 @@
595596
$(OX)\branch$O \
596597
$(OX)\browse$O \
597598
$(OX)\builtin$O \
598599
$(OX)\bundle$O \
599600
$(OX)\cache$O \
601
+ $(OX)\capabilities$O \
600602
$(OX)\captcha$O \
601603
$(OX)\cgi$O \
602604
$(OX)\checkin$O \
603605
$(OX)\checkout$O \
604606
$(OX)\clearsign$O \
@@ -789,10 +791,11 @@
789791
echo $(OX)\branch.obj >> $@
790792
echo $(OX)\browse.obj >> $@
791793
echo $(OX)\builtin.obj >> $@
792794
echo $(OX)\bundle.obj >> $@
793795
echo $(OX)\cache.obj >> $@
796
+ echo $(OX)\capabilities.obj >> $@
794797
echo $(OX)\captcha.obj >> $@
795798
echo $(OX)\cgi.obj >> $@
796799
echo $(OX)\checkin.obj >> $@
797800
echo $(OX)\checkout.obj >> $@
798801
echo $(OX)\clearsign.obj >> $@
@@ -1105,10 +1108,16 @@
11051108
$(OX)\cache$O : cache_.c cache.h
11061109
$(TCC) /Fo$@ -c cache_.c
11071110
11081111
cache_.c : $(SRCDIR)\cache.c
11091112
translate$E $** > $@
1113
+
1114
+$(OX)\capabilities$O : capabilities_.c capabilities.h
1115
+ $(TCC) /Fo$@ -c capabilities_.c
1116
+
1117
+capabilities_.c : $(SRCDIR)\capabilities.c
1118
+ translate$E $** > $@
11101119
11111120
$(OX)\captcha$O : captcha_.c captcha.h
11121121
$(TCC) /Fo$@ -c captcha_.c
11131122
11141123
captcha_.c : $(SRCDIR)\captcha.c
@@ -1848,10 +1857,11 @@
18481857
branch_.c:branch.h \
18491858
browse_.c:browse.h \
18501859
builtin_.c:builtin.h \
18511860
bundle_.c:bundle.h \
18521861
cache_.c:cache.h \
1862
+ capabilities_.c:capabilities.h \
18531863
captcha_.c:captcha.h \
18541864
cgi_.c:cgi.h \
18551865
checkin_.c:checkin.h \
18561866
checkout_.c:checkout.h \
18571867
clearsign_.c:clearsign.h \
18581868
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -390,10 +390,11 @@
390 branch_.c \
391 browse_.c \
392 builtin_.c \
393 bundle_.c \
394 cache_.c \
 
395 captcha_.c \
396 cgi_.c \
397 checkin_.c \
398 checkout_.c \
399 clearsign_.c \
@@ -595,10 +596,11 @@
595 $(OX)\branch$O \
596 $(OX)\browse$O \
597 $(OX)\builtin$O \
598 $(OX)\bundle$O \
599 $(OX)\cache$O \
 
600 $(OX)\captcha$O \
601 $(OX)\cgi$O \
602 $(OX)\checkin$O \
603 $(OX)\checkout$O \
604 $(OX)\clearsign$O \
@@ -789,10 +791,11 @@
789 echo $(OX)\branch.obj >> $@
790 echo $(OX)\browse.obj >> $@
791 echo $(OX)\builtin.obj >> $@
792 echo $(OX)\bundle.obj >> $@
793 echo $(OX)\cache.obj >> $@
 
794 echo $(OX)\captcha.obj >> $@
795 echo $(OX)\cgi.obj >> $@
796 echo $(OX)\checkin.obj >> $@
797 echo $(OX)\checkout.obj >> $@
798 echo $(OX)\clearsign.obj >> $@
@@ -1105,10 +1108,16 @@
1105 $(OX)\cache$O : cache_.c cache.h
1106 $(TCC) /Fo$@ -c cache_.c
1107
1108 cache_.c : $(SRCDIR)\cache.c
1109 translate$E $** > $@
 
 
 
 
 
 
1110
1111 $(OX)\captcha$O : captcha_.c captcha.h
1112 $(TCC) /Fo$@ -c captcha_.c
1113
1114 captcha_.c : $(SRCDIR)\captcha.c
@@ -1848,10 +1857,11 @@
1848 branch_.c:branch.h \
1849 browse_.c:browse.h \
1850 builtin_.c:builtin.h \
1851 bundle_.c:bundle.h \
1852 cache_.c:cache.h \
 
1853 captcha_.c:captcha.h \
1854 cgi_.c:cgi.h \
1855 checkin_.c:checkin.h \
1856 checkout_.c:checkout.h \
1857 clearsign_.c:clearsign.h \
1858
--- win/Makefile.msc
+++ win/Makefile.msc
@@ -390,10 +390,11 @@
390 branch_.c \
391 browse_.c \
392 builtin_.c \
393 bundle_.c \
394 cache_.c \
395 capabilities_.c \
396 captcha_.c \
397 cgi_.c \
398 checkin_.c \
399 checkout_.c \
400 clearsign_.c \
@@ -595,10 +596,11 @@
596 $(OX)\branch$O \
597 $(OX)\browse$O \
598 $(OX)\builtin$O \
599 $(OX)\bundle$O \
600 $(OX)\cache$O \
601 $(OX)\capabilities$O \
602 $(OX)\captcha$O \
603 $(OX)\cgi$O \
604 $(OX)\checkin$O \
605 $(OX)\checkout$O \
606 $(OX)\clearsign$O \
@@ -789,10 +791,11 @@
791 echo $(OX)\branch.obj >> $@
792 echo $(OX)\browse.obj >> $@
793 echo $(OX)\builtin.obj >> $@
794 echo $(OX)\bundle.obj >> $@
795 echo $(OX)\cache.obj >> $@
796 echo $(OX)\capabilities.obj >> $@
797 echo $(OX)\captcha.obj >> $@
798 echo $(OX)\cgi.obj >> $@
799 echo $(OX)\checkin.obj >> $@
800 echo $(OX)\checkout.obj >> $@
801 echo $(OX)\clearsign.obj >> $@
@@ -1105,10 +1108,16 @@
1108 $(OX)\cache$O : cache_.c cache.h
1109 $(TCC) /Fo$@ -c cache_.c
1110
1111 cache_.c : $(SRCDIR)\cache.c
1112 translate$E $** > $@
1113
1114 $(OX)\capabilities$O : capabilities_.c capabilities.h
1115 $(TCC) /Fo$@ -c capabilities_.c
1116
1117 capabilities_.c : $(SRCDIR)\capabilities.c
1118 translate$E $** > $@
1119
1120 $(OX)\captcha$O : captcha_.c captcha.h
1121 $(TCC) /Fo$@ -c captcha_.c
1122
1123 captcha_.c : $(SRCDIR)\captcha.c
@@ -1848,10 +1857,11 @@
1857 branch_.c:branch.h \
1858 browse_.c:browse.h \
1859 builtin_.c:builtin.h \
1860 bundle_.c:bundle.h \
1861 cache_.c:cache.h \
1862 capabilities_.c:capabilities.h \
1863 captcha_.c:captcha.h \
1864 cgi_.c:cgi.h \
1865 checkin_.c:checkin.h \
1866 checkout_.c:checkout.h \
1867 clearsign_.c:clearsign.h \
1868

Keyboard Shortcuts

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