Fossil

Changes On Branch serverHttps
Login

Changes On Branch serverHttps

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

Changes In Branch serverHttps Excluding Merge-Ins

This is equivalent to a diff from 3c47e0c6 to 2bf596c9

2016-02-01
20:38
Add --https and --nossl options to the 'server' command. (check-in: b8c7af5b user: mistachkin tags: trunk)
20:35
Add the 'insertCsrf' and 'verifyCsrf' commands to TH1. (check-in: f8820eff user: mistachkin tags: trunk)
04:38
Test of latest feature branches, do not merge. (Closed-Leaf check-in: 1a164e5f user: mistachkin tags: do-not-merge, feature-test)
04:34
Add --https and --nossl options to the 'server' command. (Closed-Leaf check-in: 2bf596c9 user: mistachkin tags: serverHttps)
04:11
The 'g.zHttpsURL' variable should be populated even when the --baseurl option is used. (check-in: c45195f1 user: mistachkin tags: httpsBaseUrl)
03:56
Having the 'setup' or 'admin' permission should imply having the 'delete' and 'private' permissions as well (i.e. since they can change their own permissions anyhow). (Closed-Leaf check-in: 62f8ac1f user: mistachkin tags: adminPerms)
2016-01-31
21:13
Add the 'insertCsrf' and 'verifyCsrf' commands to TH1. (Closed-Leaf check-in: 0357c169 user: mistachkin tags: th1AntiCsrf)
21:03
Minor corrections to comments for login_verify_csrf_secret(). (check-in: 3c47e0c6 user: mistachkin tags: trunk)
00:51
Make sure to add the zlib library to LIBS even when configure is run without any arguments. (check-in: eb0cf27a user: mistachkin tags: trunk)

Changes to src/main.c.

2427
2428
2429
2430
2431
2432
2433

2434

2435
2436
2437
2438
2439
2440
2441
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443







+

+







** Options:
**   --baseurl URL       Use URL as the base (useful for reverse proxies)
**   --create            Create a new REPOSITORY if it does not already exist
**   --page PAGE         Start "ui" on PAGE.  ex: --page "timeline?y=ci"
**   --files GLOBLIST    Comma-separated list of glob patterns for static files
**   --localauth         enable automatic login for requests from localhost
**   --localhost         listen on 127.0.0.1 only (always true for "ui")
**   --https             signal a request coming in via https
**   --nojail            Drop root privileges but do not enter the chroot jail
**   --nossl             signal that no SSL connections are available
**   --notfound URL      Redirect
**   -P|--port TCPPORT   listen to request on port TCPPORT
**   --th-trace          trace TH1 execution (for debugging purposes)
**   --repolist          If REPOSITORY is dir, URL "/" lists repos.
**   --scgi              Accept SCGI rather than HTTP
**   --skin LABEL        Use override skin LABEL

2488
2489
2490
2491
2492
2493
2494







2495
2496
2497
2498
2499
2500
2501
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510







+
+
+
+
+
+
+







  zNotFound = find_option("notfound", 0, 1);
  allowRepoList = find_option("repolist",0,0)!=0;
  zAltBase = find_option("baseurl", 0, 1);
  fCreate = find_option("create",0,0)!=0;
  if( find_option("scgi", 0, 0)!=0 ) flags |= HTTP_SERVER_SCGI;
  if( zAltBase ){
    set_base_url(zAltBase);
  }
  g.sslNotAvailable = find_option("nossl", 0, 0)!=0;
  if( find_option("https",0,0)!=0 ){
    cgi_replace_parameter("HTTPS","on");
  }else{
    /* without --https, defaults to not available. */
    g.sslNotAvailable = 1;
  }
  if( find_option("localhost", 0, 0)!=0 ){
    flags |= HTTP_SERVER_LOCALHOST;
  }

  /* We should be done with options.. */
  verify_all_options();
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2558
2559
2560
2561
2562
2563
2564

2565
2566
2567
2568
2569
2570
2571







-







  }
  if( g.repositoryOpen ) flags |= HTTP_SERVER_HAD_REPOSITORY;
  if( g.localOpen ) flags |= HTTP_SERVER_HAD_CHECKOUT;
  db_close(1);
  if( cgi_http_server(iPort, mxPort, zBrowserCmd, zIpAddr, flags) ){
    fossil_fatal("unable to listen on TCP socket %d", iPort);
  }
  g.sslNotAvailable = 1;
  g.httpIn = stdin;
  g.httpOut = stdout;
  if( g.fHttpTrace || g.fSqlTrace ){
    fprintf(stderr, "====== SERVER pid %d =======\n", getpid());
  }
  g.cgiOutput = 1;
  find_server_repository(2, 0);