Fossil SCM
Require at least an "anonymous" login in order to access the /blame and similar pages. Rationale: Those pages can be expensive to compute, depending on parameters. And lately we've had millions of robot requests to /blame. By requiring at least an "anonymous" login, that should reduce the number of robots. Any nobody really needs to see /blame with a one-click. If they are interested in that level of detail, they can take the time to log in.
Commit
f51e8d36cb436f186d7ef1d7b9bc0ebdb49d3489cc697627ad767b473a0a7d26
Parent
bbc4b702755f7c0…
1 file changed
+1
-1
+1
-1
| --- src/diff.c | ||
| +++ src/diff.c | ||
| @@ -3781,11 +3781,11 @@ | ||
| 3781 | 3781 | unsigned clr1, clr2, clr; |
| 3782 | 3782 | int bBlame = g.zPath[0]!='a';/* True for BLAME output. False for ANNOTATE. */ |
| 3783 | 3783 | |
| 3784 | 3784 | /* Gather query parameters */ |
| 3785 | 3785 | login_check_credentials(); |
| 3786 | - if( !g.perm.Read ){ login_needed(g.anon.Read); return; } | |
| 3786 | + if( !g.perm.Read || g.zLogin==0 ){ login_needed(g.anon.Read); return; } | |
| 3787 | 3787 | if( exclude_spiders(0) ) return; |
| 3788 | 3788 | fossil_nice_default(); |
| 3789 | 3789 | zFilename = P("filename"); |
| 3790 | 3790 | zRevision = PD("checkin",0); |
| 3791 | 3791 | zOrigin = P("origin"); |
| 3792 | 3792 |
| --- src/diff.c | |
| +++ src/diff.c | |
| @@ -3781,11 +3781,11 @@ | |
| 3781 | unsigned clr1, clr2, clr; |
| 3782 | int bBlame = g.zPath[0]!='a';/* True for BLAME output. False for ANNOTATE. */ |
| 3783 | |
| 3784 | /* Gather query parameters */ |
| 3785 | login_check_credentials(); |
| 3786 | if( !g.perm.Read ){ login_needed(g.anon.Read); return; } |
| 3787 | if( exclude_spiders(0) ) return; |
| 3788 | fossil_nice_default(); |
| 3789 | zFilename = P("filename"); |
| 3790 | zRevision = PD("checkin",0); |
| 3791 | zOrigin = P("origin"); |
| 3792 |
| --- src/diff.c | |
| +++ src/diff.c | |
| @@ -3781,11 +3781,11 @@ | |
| 3781 | unsigned clr1, clr2, clr; |
| 3782 | int bBlame = g.zPath[0]!='a';/* True for BLAME output. False for ANNOTATE. */ |
| 3783 | |
| 3784 | /* Gather query parameters */ |
| 3785 | login_check_credentials(); |
| 3786 | if( !g.perm.Read || g.zLogin==0 ){ login_needed(g.anon.Read); return; } |
| 3787 | if( exclude_spiders(0) ) return; |
| 3788 | fossil_nice_default(); |
| 3789 | zFilename = P("filename"); |
| 3790 | zRevision = PD("checkin",0); |
| 3791 | zOrigin = P("origin"); |
| 3792 |