Fossil SCM

For cloning and syncing, give all users the privileges of both "nobody" and "anonymous" without requiring a login message. Ticket [1318677c15af04480b].

drh 2010-11-09 10:44 trunk
Commit 134f5b374efa20b6055fc7dca9da108ceef653a7
2 files changed +1 -1 +2 -5
+1 -1
--- src/login.c
+++ src/login.c
@@ -458,11 +458,11 @@
458458
if( g.zLogin && once ){
459459
const char *zCap;
460460
/* All logged-in users inherit privileges from "nobody" */
461461
zCap = db_text("", "SELECT cap FROM user WHERE login = 'nobody'");
462462
login_set_capabilities(zCap);
463
- if( strcmp(g.zLogin, "anonymous")!=0 ){
463
+ if( strcmp(g.zLogin, "nobody")!=0 ){
464464
/* All logged-in users inherit privileges from "anonymous" */
465465
zCap = db_text("", "SELECT cap FROM user WHERE login = 'anonymous'");
466466
login_set_capabilities(zCap);
467467
}
468468
once = 0;
469469
--- src/login.c
+++ src/login.c
@@ -458,11 +458,11 @@
458 if( g.zLogin && once ){
459 const char *zCap;
460 /* All logged-in users inherit privileges from "nobody" */
461 zCap = db_text("", "SELECT cap FROM user WHERE login = 'nobody'");
462 login_set_capabilities(zCap);
463 if( strcmp(g.zLogin, "anonymous")!=0 ){
464 /* All logged-in users inherit privileges from "anonymous" */
465 zCap = db_text("", "SELECT cap FROM user WHERE login = 'anonymous'");
466 login_set_capabilities(zCap);
467 }
468 once = 0;
469
--- src/login.c
+++ src/login.c
@@ -458,11 +458,11 @@
458 if( g.zLogin && once ){
459 const char *zCap;
460 /* All logged-in users inherit privileges from "nobody" */
461 zCap = db_text("", "SELECT cap FROM user WHERE login = 'nobody'");
462 login_set_capabilities(zCap);
463 if( strcmp(g.zLogin, "nobody")!=0 ){
464 /* All logged-in users inherit privileges from "anonymous" */
465 zCap = db_text("", "SELECT cap FROM user WHERE login = 'anonymous'");
466 login_set_capabilities(zCap);
467 }
468 once = 0;
469
+2 -5
--- src/xfer.c
+++ src/xfer.c
@@ -454,15 +454,10 @@
454454
fprintf(stderr, "# login [%s] with capabilities [%s]\n", g.zLogin,zCap);
455455
}
456456
}
457457
}
458458
db_finalize(&q);
459
-
460
- if( rc==0 ){
461
- /* If the login was successful. */
462
- login_set_anon_nobody_capabilities();
463
- }
464459
return rc;
465460
}
466461
467462
/*
468463
** Send the content of all files in the unsent table.
@@ -631,10 +626,12 @@
631626
char *zNow;
632627
633628
if( strcmp(PD("REQUEST_METHOD","POST"),"POST") ){
634629
fossil_redirect_home();
635630
}
631
+ g.zLogin = "anonymous";
632
+ login_set_anon_nobody_capabilities();
636633
memset(&xfer, 0, sizeof(xfer));
637634
blobarray_zero(xfer.aToken, count(xfer.aToken));
638635
cgi_set_content_type(g.zContentType);
639636
blob_zero(&xfer.err);
640637
xfer.pIn = &g.cgiIn;
641638
--- src/xfer.c
+++ src/xfer.c
@@ -454,15 +454,10 @@
454 fprintf(stderr, "# login [%s] with capabilities [%s]\n", g.zLogin,zCap);
455 }
456 }
457 }
458 db_finalize(&q);
459
460 if( rc==0 ){
461 /* If the login was successful. */
462 login_set_anon_nobody_capabilities();
463 }
464 return rc;
465 }
466
467 /*
468 ** Send the content of all files in the unsent table.
@@ -631,10 +626,12 @@
631 char *zNow;
632
633 if( strcmp(PD("REQUEST_METHOD","POST"),"POST") ){
634 fossil_redirect_home();
635 }
 
 
636 memset(&xfer, 0, sizeof(xfer));
637 blobarray_zero(xfer.aToken, count(xfer.aToken));
638 cgi_set_content_type(g.zContentType);
639 blob_zero(&xfer.err);
640 xfer.pIn = &g.cgiIn;
641
--- src/xfer.c
+++ src/xfer.c
@@ -454,15 +454,10 @@
454 fprintf(stderr, "# login [%s] with capabilities [%s]\n", g.zLogin,zCap);
455 }
456 }
457 }
458 db_finalize(&q);
 
 
 
 
 
459 return rc;
460 }
461
462 /*
463 ** Send the content of all files in the unsent table.
@@ -631,10 +626,12 @@
626 char *zNow;
627
628 if( strcmp(PD("REQUEST_METHOD","POST"),"POST") ){
629 fossil_redirect_home();
630 }
631 g.zLogin = "anonymous";
632 login_set_anon_nobody_capabilities();
633 memset(&xfer, 0, sizeof(xfer));
634 blobarray_zero(xfer.aToken, count(xfer.aToken));
635 cgi_set_content_type(g.zContentType);
636 blob_zero(&xfer.err);
637 xfer.pIn = &g.cgiIn;
638

Keyboard Shortcuts

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