Fossil

Changes On Branch fix-login-needed-esc-anon
Login

Changes On Branch fix-login-needed-esc-anon

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Changes In Branch fix-login-needed-esc-anon Excluding Merge-Ins

This is equivalent to a diff from fc300d5a to 204e5992

2020-12-13
19:37
Updates to the fossil-v-git documentation to reduce the amount of Git-bashing and to try to make the document less confrontational. check-in: 358d7d8f user: drh tags: trunk
17:57
fix duplication of QUERY_STRING in the redirection URL in login_needed function, append "?anon" or "&anon" as needed to the g parameter Closed-Leaf check-in: 204e5992 user: sdr tags: fix-login-needed-esc-anon
05:32
Factored the iteration count out of the encrypted backup solution in backup.md, so it isn't repeated between the backup and restore cases. check-in: fc300d5a user: wyoung tags: trunk
2020-12-12
19:48
merged forks check-in: 0872ecbe user: sdr tags: trunk

Changes to src/login.c.

1422
1423
1424
1425
1426
1427
1428





1429
1430
1431
1432
1433
1434
1435
1436
1437

1438
1439
1440
1441
1442
1443
1444
1445
1446
    /* NOTREACHED */
    assert(0);
  }else
#endif /* FOSSIL_ENABLE_JSON */
  {
    const char *zUrl = PD("REQUEST_URI", "index");
    const char *zQS = P("QUERY_STRING");





    Blob redir;
    blob_init(&redir, 0, 0);
    if( fossil_wants_https(1) ){
      blob_appendf(&redir, "%s/login?g=%T", g.zHttpsURL, zUrl);
    }else{
      blob_appendf(&redir, "%R/login?g=%T", zUrl);
    }
    if( zQS && zQS[0] ){
      blob_appendf(&redir, "%%3f%T", zQS);

    }
    if( anonOk ) blob_append(&redir, "&anon", 5);
    cgi_redirect(blob_str(&redir));
    /* NOTREACHED */
    assert(0);
  }
}

/*







>
>
>
>
>







|
|
>

<







1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444

1445
1446
1447
1448
1449
1450
1451
    /* NOTREACHED */
    assert(0);
  }else
#endif /* FOSSIL_ENABLE_JSON */
  {
    const char *zUrl = PD("REQUEST_URI", "index");
    const char *zQS = P("QUERY_STRING");
    /* 
    ** if there is already a query string, use '&' to introduce a new
    ** parameter; otherwise use '?' to introduce a new parameter
    */
    char intro = (zQS && zQS[0]) ? '&' : '?';
    Blob redir;
    blob_init(&redir, 0, 0);
    if( fossil_wants_https(1) ){
      blob_appendf(&redir, "%s/login?g=%T", g.zHttpsURL, zUrl);
    }else{
      blob_appendf(&redir, "%R/login?g=%T", zUrl);
    }
    if( anonOk ){
      blob_appendf(&redir, "%%%02Xanon", intro);
      intro = '&'; /* change intro for subsequent parameters */
    }

    cgi_redirect(blob_str(&redir));
    /* NOTREACHED */
    assert(0);
  }
}

/*