@@ -2254,16 +2254,10 @@
2254 2254 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2255 2255 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2256 2256 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#endif
2257 2257 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
2258 2258 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/*
2259 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** undocumented format:
2260 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
2261 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** fossil http INFILE OUTFILE IPADDR ?REPOSITORY?
2262 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
2263 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** The argv==6 form (with no options) is used by the win32 server only.
2264 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- **
2265 2259 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** COMMAND: http*
2266 2260 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
2267 2261 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Usage: %fossil http ?REPOSITORY? ?OPTIONS?
2268 2262 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
**
2269 2263 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** Handle a single HTTP request appearing on stdin. The resulting webpage
@@ -2297,14 +2291,18 @@
2297 2291 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** --baseurl URL base URL (useful with reverse proxies)
2298 2292 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** --files GLOB comma-separate glob patterns for static file to serve
2299 2293 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** --localauth enable automatic login for local connections
2300 2294 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** --host NAME specify hostname of the server
2301 2295 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** --https signal a request coming in via https
2302 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ** --nocompress Do not compress HTTP replies
2296 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --in FILE Take input from FILE instead of standard input
2297 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --ipaddr ADDR Assume the request comes from the given IP address
2298 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --nocompress do not compress HTTP replies
2299 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --nodelay omit backoffice processing if it would delay process exit
2303 2300 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** --nojail drop root privilege but do not enter the chroot jail
2304 2301 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** --nossl signal that no SSL connections are available
2305 2302 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** --notfound URL use URL as "HTTP 404, object not found" page.
2303 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ** --out FILE write results to FILE instead of to standard output
2306 2304 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** --repolist If REPOSITORY is directory, URL "/" lists all repos
2307 2305 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** --scgi Interpret input as SCGI rather than HTTP
2308 2306 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** --skin LABEL Use override skin LABEL
2309 2307 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** --th-trace trace TH1 execution (for debugging purposes)
2310 2308 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
** --usepidkey Use saved encryption key from parent process. This is
@@ -2316,10 +2314,12 @@
2316 2314 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zIpAddr = 0;
2317 2315 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zNotFound;
2318 2316 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zHost;
2319 2317 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zAltBase;
2320 2318 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zFileGlob;
2319 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const char *zInFile;
2320 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ const char *zOutFile;
2321 2321 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int useSCGI;
2322 2322 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int noJail;
2323 2323 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
int allowRepoList;
2324 2324 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#if defined(_WIN32) && USE_SEE
2325 2325 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
const char *zPidKey;
@@ -2344,12 +2344,28 @@
2344 2344 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
noJail = find_option("nojail",0,0)!=0;
2345 2345 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
allowRepoList = find_option("repolist",0,0)!=0;
2346 2346 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
g.useLocalauth = find_option("localauth", 0, 0)!=0;
2347 2347 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
g.sslNotAvailable = find_option("nossl", 0, 0)!=0;
2348 2348 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
g.fNoHttpCompress = find_option("nocompress",0,0)!=0;
2349 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zInFile = find_option("in",0,1);
2350 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( zInFile ){
2351 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ g.httpIn = fossil_fopen(zInFile, "rb");
2352 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( g.httpIn==0 ) fossil_fatal("cannot open \"%s\" for reading", zInFile);
2353 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else{
2354 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ g.httpIn = stdin;
2355 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
2356 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zOutFile = find_option("out",0,1);
2357 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( zOutFile ){
2358 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ g.httpOut = fossil_fopen(zOutFile, "wb");
2359 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( g.httpOut==0 ) fossil_fatal("cannot open \"%s\" for writing", zOutFile);
2360 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }else{
2361 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ g.httpOut = stdout;
2362 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
2363 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ zIpAddr = find_option("ipaddr",0,1);
2349 2364 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
useSCGI = find_option("scgi", 0, 0)!=0;
2350 2365 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zAltBase = find_option("baseurl", 0, 1);
2366 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( find_option("nodelay",0,0)!=0 ) backoffice_no_delay();
2351 2367 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zAltBase ) set_base_url(zAltBase);
2352 2368 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( find_option("https",0,0)!=0 ){
2353 2369 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zIpAddr = fossil_getenv("REMOTE_HOST"); /* From stunnel */
2354 2370 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
cgi_replace_parameter("HTTPS","on");
2355 2371 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
@@ -2368,25 +2384,14 @@
2368 2384 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
#endif
2369 2385 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
2370 2386 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
/* We should be done with options.. */
2371 2387 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
verify_all_options();
2372 2388 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
2373 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( g.argc!=2 && g.argc!=3 && g.argc!=5 && g.argc!=6 ){
2374 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- fossil_panic("no repository specified");
2375 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2389 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if( g.argc!=2 && g.argc!=3 ) usage("?REPOSITORY?");
2376 2390 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
g.cgiOutput = 1;
2377 2391 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
g.fullHttpReply = 1;
2378 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if( g.argc>=5 ){
2379 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- g.httpIn = fossil_fopen(g.argv[2], "rb");
2380 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- g.httpOut = fossil_fopen(g.argv[3], "wb");
2381 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- zIpAddr = g.argv[4];
2382 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- find_server_repository(5, 0);
2383 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }else{
2384 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- g.httpIn = stdin;
2385 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- g.httpOut = stdout;
2386 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- find_server_repository(2, 0);
2387 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
2392 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ find_server_repository(2, 0);
2388 2393 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zIpAddr==0 ){
2389 2394 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
zIpAddr = cgi_ssh_remote_addr(0);
2390 2395 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if( zIpAddr && zIpAddr[0] ){
2391 2396 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
g.fSshClient |= CGI_SSH_CLIENT;
2392 2397 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
2393 2398 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!