Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Comment: | For Windows debugging, then "fossil ui" or "fossil server" is launched with the --httptrace option, the temporary files used to start subprocesses are stored in the working directory and are not deleted after each request. |
|---|---|
| Downloads: | Tarball | ZIP archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
3d238187bb432a84ab9f512b3830ce6f |
| User & Date: | drh 2022-01-26 17:28:55.880 |
Context
|
2022-01-26
| ||
| 18:22 | Make sure stdin and stdout are set to binary mode in Windows for the "fossil http" command. ... (check-in: be1c4d47f9 user: drh tags: trunk) | |
| 17:28 | For Windows debugging, then "fossil ui" or "fossil server" is launched with the --httptrace option, the temporary files used to start subprocesses are stored in the working directory and are not deleted after each request. ... (check-in: 3d238187bb user: drh tags: trunk) | |
| 14:36 | Fix compiler warning of unused function for builds without OpenSSL. ... (check-in: 2a563d60bf user: drh tags: trunk) | |
Changes
Changes to src/winhttp.c.
| ︙ | ︙ | |||
435 436 437 438 439 440 441 442 443 444 445 446 447 448 |
"\"%s\" http -args \"%s\"%s%s",
g.nameOfExe, zCmdFName,
g.httpUseSSL ? "" : " --nossl", p->zOptions
);
in = fossil_fopen(zReplyFName, "w+b");
fflush(out);
fflush(aux);
fossil_system(zCmd);
if( in ){
while( (got = fread(zBuf, 1, sizeof(zBuf), in))>0 ){
if( sslConn ){
#ifdef FOSSIL_ENABLE_SSL
ssl_write_server(sslConn, zBuf, got);
#endif
| > > > | 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 |
"\"%s\" http -args \"%s\"%s%s",
g.nameOfExe, zCmdFName,
g.httpUseSSL ? "" : " --nossl", p->zOptions
);
in = fossil_fopen(zReplyFName, "w+b");
fflush(out);
fflush(aux);
if( g.fHttpTrace ){
fossil_print("%s\n", zCmd);
}
fossil_system(zCmd);
if( in ){
while( (got = fread(zBuf, 1, sizeof(zBuf), in))>0 ){
if( sslConn ){
#ifdef FOSSIL_ENABLE_SSL
ssl_write_server(sslConn, zBuf, got);
#endif
|
| ︙ | ︙ | |||
463 464 465 466 467 468 469 | #endif } if( shutdown(p->s,1)==0 ) shutdown(p->s,0); closesocket(p->s); /* Make multiple attempts to delete the temporary files. Sometimes AV ** software keeps the files open for a few seconds, preventing the file ** from being deleted on the first try. */ | > | | | > | 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 |
#endif
}
if( shutdown(p->s,1)==0 ) shutdown(p->s,0);
closesocket(p->s);
/* Make multiple attempts to delete the temporary files. Sometimes AV
** software keeps the files open for a few seconds, preventing the file
** from being deleted on the first try. */
if( !g.fHttpTrace ){
for(i=1; i<=10 && file_delete(zRequestFName); i++){ Sleep(1000*i); }
for(i=1; i<=10 && file_delete(zCmdFName); i++){ Sleep(1000*i); }
for(i=1; i<=10 && file_delete(zReplyFName); i++){ Sleep(1000*i); }
}
fossil_free(p);
}
/*
** Process a single incoming SCGI request.
*/
static void win32_scgi_request(void *pAppData){
|
| ︙ | ︙ | |||
650 651 652 653 654 655 656 |
fossil_fatal("unable to open listening socket on any"
" port in the range %d..%d", mnPort, mxPort);
}
}
if( !GetTempPathW(MAX_PATH, zTmpPath) ){
fossil_panic("unable to get path to the temporary directory.");
}
| > > > | | > | 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 |
fossil_fatal("unable to open listening socket on any"
" port in the range %d..%d", mnPort, mxPort);
}
}
if( !GetTempPathW(MAX_PATH, zTmpPath) ){
fossil_panic("unable to get path to the temporary directory.");
}
if( g.fHttpTrace ){
zTempPrefix = mprintf("httptrace");
}else{
zTempPrefix = mprintf("%sfossil_server_P%d",
fossil_unicode_to_utf8(zTmpPath), iPort);
}
fossil_print("Temporary files: %s*\n", zTempPrefix);
fossil_print("Listening for %s requests on TCP port %d\n",
(flags&HTTP_SERVER_SCGI)!=0 ? "SCGI" :
g.httpUseSSL ? "TLS-encrypted HTTPS" : "HTTP", iPort);
if( zBrowser ){
zBrowser = mprintf(zBrowser /*works-like:"%d"*/, iPort);
fossil_print("Launch webbrowser: %s\n", zBrowser);
|
| ︙ | ︙ |