Fossil SCM

Always increment the "cfgcnt" value on any configuration change, in order to reset the ETag in case the configuration changes display characteristics.

drh 2020-06-21 17:17 trunk
Commit 0ba0e5e446c3c9c8180245f6cda28d1ffa96d34087ba3ca29057c8e7c6300a4a
1 file changed +5
--- src/setup.c
+++ src/setup.c
@@ -196,10 +196,11 @@
196196
if( zQ ){
197197
int iQ = fossil_strcmp(zQ,"on")==0 || atoi(zQ);
198198
if( iQ!=iVal ){
199199
login_verify_csrf_secret();
200200
db_set(zVar, iQ ? "1" : "0", 0);
201
+ setup_incr_cfgcnt();
201202
admin_log("Set option [%q] to [%q].",
202203
zVar, iQ ? "on" : "off");
203204
iVal = iQ;
204205
}
205206
}
@@ -228,10 +229,11 @@
228229
const char *zVal = db_get(zVar, zDflt);
229230
const char *zQ = P(zQParm);
230231
if( zQ && fossil_strcmp(zQ,zVal)!=0 ){
231232
const int nZQ = (int)strlen(zQ);
232233
login_verify_csrf_secret();
234
+ setup_incr_cfgcnt();
233235
db_set(zVar, zQ, 0);
234236
admin_log("Set entry_attribute %Q to: %.*s%s",
235237
zVar, 20, zQ, (nZQ>20 ? "..." : ""));
236238
zVal = zQ;
237239
}
@@ -259,10 +261,11 @@
259261
const char *zQ = P(zQP);
260262
if( zQ && !disabled && fossil_strcmp(zQ,z)!=0){
261263
const int nZQ = (int)strlen(zQ);
262264
login_verify_csrf_secret();
263265
db_set(zVar, zQ, 0);
266
+ setup_incr_cfgcnt();
264267
admin_log("Set textarea_attribute %Q to: %.*s%s",
265268
zVar, 20, zQ, (nZQ>20 ? "..." : ""));
266269
z = zQ;
267270
}
268271
if( rows>0 && cols>0 ){
@@ -295,10 +298,11 @@
295298
int i;
296299
if( zQ && fossil_strcmp(zQ,z)!=0){
297300
const int nZQ = (int)strlen(zQ);
298301
login_verify_csrf_secret();
299302
db_set(zVar, zQ, 0);
303
+ setup_incr_cfgcnt();
300304
admin_log("Set multiple_choice_attribute %Q to: %.*s%s",
301305
zVar, 20, zQ, (nZQ>20 ? "..." : ""));
302306
z = zQ;
303307
}
304308
@ <select aria-label="%h(zLabel)" size="1" name="%s(zQP)" id="id%s(zQP)">
@@ -1166,10 +1170,11 @@
11661170
db_begin_transaction();
11671171
if( P("clear")!=0 && cgi_csrf_safe(1) ){
11681172
db_multi_exec("DELETE FROM config WHERE name GLOB 'adunit*'");
11691173
cgi_replace_parameter("adunit","");
11701174
cgi_replace_parameter("adright","");
1175
+ setup_incr_cfgcnt();
11711176
}
11721177
11731178
style_header("Edit Ad Unit");
11741179
@ <form action="%s(g.zTop)/setup_adunit" method="post"><div>
11751180
login_insert_csrf_secret();
11761181
--- src/setup.c
+++ src/setup.c
@@ -196,10 +196,11 @@
196 if( zQ ){
197 int iQ = fossil_strcmp(zQ,"on")==0 || atoi(zQ);
198 if( iQ!=iVal ){
199 login_verify_csrf_secret();
200 db_set(zVar, iQ ? "1" : "0", 0);
 
201 admin_log("Set option [%q] to [%q].",
202 zVar, iQ ? "on" : "off");
203 iVal = iQ;
204 }
205 }
@@ -228,10 +229,11 @@
228 const char *zVal = db_get(zVar, zDflt);
229 const char *zQ = P(zQParm);
230 if( zQ && fossil_strcmp(zQ,zVal)!=0 ){
231 const int nZQ = (int)strlen(zQ);
232 login_verify_csrf_secret();
 
233 db_set(zVar, zQ, 0);
234 admin_log("Set entry_attribute %Q to: %.*s%s",
235 zVar, 20, zQ, (nZQ>20 ? "..." : ""));
236 zVal = zQ;
237 }
@@ -259,10 +261,11 @@
259 const char *zQ = P(zQP);
260 if( zQ && !disabled && fossil_strcmp(zQ,z)!=0){
261 const int nZQ = (int)strlen(zQ);
262 login_verify_csrf_secret();
263 db_set(zVar, zQ, 0);
 
264 admin_log("Set textarea_attribute %Q to: %.*s%s",
265 zVar, 20, zQ, (nZQ>20 ? "..." : ""));
266 z = zQ;
267 }
268 if( rows>0 && cols>0 ){
@@ -295,10 +298,11 @@
295 int i;
296 if( zQ && fossil_strcmp(zQ,z)!=0){
297 const int nZQ = (int)strlen(zQ);
298 login_verify_csrf_secret();
299 db_set(zVar, zQ, 0);
 
300 admin_log("Set multiple_choice_attribute %Q to: %.*s%s",
301 zVar, 20, zQ, (nZQ>20 ? "..." : ""));
302 z = zQ;
303 }
304 @ <select aria-label="%h(zLabel)" size="1" name="%s(zQP)" id="id%s(zQP)">
@@ -1166,10 +1170,11 @@
1166 db_begin_transaction();
1167 if( P("clear")!=0 && cgi_csrf_safe(1) ){
1168 db_multi_exec("DELETE FROM config WHERE name GLOB 'adunit*'");
1169 cgi_replace_parameter("adunit","");
1170 cgi_replace_parameter("adright","");
 
1171 }
1172
1173 style_header("Edit Ad Unit");
1174 @ <form action="%s(g.zTop)/setup_adunit" method="post"><div>
1175 login_insert_csrf_secret();
1176
--- src/setup.c
+++ src/setup.c
@@ -196,10 +196,11 @@
196 if( zQ ){
197 int iQ = fossil_strcmp(zQ,"on")==0 || atoi(zQ);
198 if( iQ!=iVal ){
199 login_verify_csrf_secret();
200 db_set(zVar, iQ ? "1" : "0", 0);
201 setup_incr_cfgcnt();
202 admin_log("Set option [%q] to [%q].",
203 zVar, iQ ? "on" : "off");
204 iVal = iQ;
205 }
206 }
@@ -228,10 +229,11 @@
229 const char *zVal = db_get(zVar, zDflt);
230 const char *zQ = P(zQParm);
231 if( zQ && fossil_strcmp(zQ,zVal)!=0 ){
232 const int nZQ = (int)strlen(zQ);
233 login_verify_csrf_secret();
234 setup_incr_cfgcnt();
235 db_set(zVar, zQ, 0);
236 admin_log("Set entry_attribute %Q to: %.*s%s",
237 zVar, 20, zQ, (nZQ>20 ? "..." : ""));
238 zVal = zQ;
239 }
@@ -259,10 +261,11 @@
261 const char *zQ = P(zQP);
262 if( zQ && !disabled && fossil_strcmp(zQ,z)!=0){
263 const int nZQ = (int)strlen(zQ);
264 login_verify_csrf_secret();
265 db_set(zVar, zQ, 0);
266 setup_incr_cfgcnt();
267 admin_log("Set textarea_attribute %Q to: %.*s%s",
268 zVar, 20, zQ, (nZQ>20 ? "..." : ""));
269 z = zQ;
270 }
271 if( rows>0 && cols>0 ){
@@ -295,10 +298,11 @@
298 int i;
299 if( zQ && fossil_strcmp(zQ,z)!=0){
300 const int nZQ = (int)strlen(zQ);
301 login_verify_csrf_secret();
302 db_set(zVar, zQ, 0);
303 setup_incr_cfgcnt();
304 admin_log("Set multiple_choice_attribute %Q to: %.*s%s",
305 zVar, 20, zQ, (nZQ>20 ? "..." : ""));
306 z = zQ;
307 }
308 @ <select aria-label="%h(zLabel)" size="1" name="%s(zQP)" id="id%s(zQP)">
@@ -1166,10 +1170,11 @@
1170 db_begin_transaction();
1171 if( P("clear")!=0 && cgi_csrf_safe(1) ){
1172 db_multi_exec("DELETE FROM config WHERE name GLOB 'adunit*'");
1173 cgi_replace_parameter("adunit","");
1174 cgi_replace_parameter("adright","");
1175 setup_incr_cfgcnt();
1176 }
1177
1178 style_header("Edit Ad Unit");
1179 @ <form action="%s(g.zTop)/setup_adunit" method="post"><div>
1180 login_insert_csrf_secret();
1181

Keyboard Shortcuts

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