Fossil SCM
When reading POST via TLS, fail fatally on a read error. Add SERVER_SOFTWARE to the environment when running in server mode.
Commit
ba95498d36d0176955f05aab476d4f4647690467a6141b257458a0901bb3a6ae
Parent
f1729c4736558d6…
2 files changed
+2
+2
+2
| --- src/http_ssl.c | ||
| +++ src/http_ssl.c | ||
| @@ -807,10 +807,12 @@ | ||
| 807 | 807 | } |
| 808 | 808 | err = SSL_get_error(pServer->ssl, n); |
| 809 | 809 | if(0==err){ |
| 810 | 810 | rc += n; |
| 811 | 811 | pServer->atEof = BIO_eof(pServer->bio); |
| 812 | + }else{ | |
| 813 | + fossil_fatal("SSL read error."); | |
| 812 | 814 | } |
| 813 | 815 | } |
| 814 | 816 | return rc; |
| 815 | 817 | } |
| 816 | 818 | |
| 817 | 819 |
| --- src/http_ssl.c | |
| +++ src/http_ssl.c | |
| @@ -807,10 +807,12 @@ | |
| 807 | } |
| 808 | err = SSL_get_error(pServer->ssl, n); |
| 809 | if(0==err){ |
| 810 | rc += n; |
| 811 | pServer->atEof = BIO_eof(pServer->bio); |
| 812 | } |
| 813 | } |
| 814 | return rc; |
| 815 | } |
| 816 | |
| 817 |
| --- src/http_ssl.c | |
| +++ src/http_ssl.c | |
| @@ -807,10 +807,12 @@ | |
| 807 | } |
| 808 | err = SSL_get_error(pServer->ssl, n); |
| 809 | if(0==err){ |
| 810 | rc += n; |
| 811 | pServer->atEof = BIO_eof(pServer->bio); |
| 812 | }else{ |
| 813 | fossil_fatal("SSL read error."); |
| 814 | } |
| 815 | } |
| 816 | return rc; |
| 817 | } |
| 818 | |
| 819 |
+2
| --- src/main.c | ||
| +++ src/main.c | ||
| @@ -3255,10 +3255,12 @@ | ||
| 3255 | 3255 | if( g.localOpen ) flags |= HTTP_SERVER_HAD_CHECKOUT; |
| 3256 | 3256 | db_close(1); |
| 3257 | 3257 | |
| 3258 | 3258 | /* Start up an HTTP server |
| 3259 | 3259 | */ |
| 3260 | + fossil_setenv("SERVER_SOFTWARE", "fossil version " RELEASE_VERSION | |
| 3261 | + " " MANIFEST_VERSION " " MANIFEST_DATE); | |
| 3260 | 3262 | #if !defined(_WIN32) |
| 3261 | 3263 | /* Unix implementation */ |
| 3262 | 3264 | if( cgi_http_server(iPort, mxPort, zBrowserCmd, zIpAddr, flags) ){ |
| 3263 | 3265 | fossil_fatal("unable to listen on TCP socket %d", iPort); |
| 3264 | 3266 | } |
| 3265 | 3267 |
| --- src/main.c | |
| +++ src/main.c | |
| @@ -3255,10 +3255,12 @@ | |
| 3255 | if( g.localOpen ) flags |= HTTP_SERVER_HAD_CHECKOUT; |
| 3256 | db_close(1); |
| 3257 | |
| 3258 | /* Start up an HTTP server |
| 3259 | */ |
| 3260 | #if !defined(_WIN32) |
| 3261 | /* Unix implementation */ |
| 3262 | if( cgi_http_server(iPort, mxPort, zBrowserCmd, zIpAddr, flags) ){ |
| 3263 | fossil_fatal("unable to listen on TCP socket %d", iPort); |
| 3264 | } |
| 3265 |
| --- src/main.c | |
| +++ src/main.c | |
| @@ -3255,10 +3255,12 @@ | |
| 3255 | if( g.localOpen ) flags |= HTTP_SERVER_HAD_CHECKOUT; |
| 3256 | db_close(1); |
| 3257 | |
| 3258 | /* Start up an HTTP server |
| 3259 | */ |
| 3260 | fossil_setenv("SERVER_SOFTWARE", "fossil version " RELEASE_VERSION |
| 3261 | " " MANIFEST_VERSION " " MANIFEST_DATE); |
| 3262 | #if !defined(_WIN32) |
| 3263 | /* Unix implementation */ |
| 3264 | if( cgi_http_server(iPort, mxPort, zBrowserCmd, zIpAddr, flags) ){ |
| 3265 | fossil_fatal("unable to listen on TCP socket %d", iPort); |
| 3266 | } |
| 3267 |