Fossil

History for src/http_transport.c
Login

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

History for src/http_transport.c

2019-09-25
13:28
[42bbcbe6] part of check-in [8f70ccaa] Allow remote commands of the form "*/fossil.exe" on the "ssh:" protocol. (check-in: [8f70ccaa] user: drh branch: trunk, size: 13236)
2019-07-25
17:07
[a7fa1a7a] part of check-in [ed2def5f] Add the ability to extend a Fossil server using CGI. This is a refactor of the prior sub-cgi branch. (check-in: [ed2def5f] user: drh branch: extension-cgi, size: 13220)
2019-07-23
16:10
[e43626ee] part of check-in [1ad56cee] Add the test-httpmsg command. (check-in: [1ad56cee] user: drh branch: trunk, size: 13217)
2019-07-16
20:02
[342be272] part of check-in [70a94d09] Code cleanup: Add a lot of "const" qualifiers for static (string) arrays, where appropriate. This allows the C compiler to optimize more (check-in: [70a94d09] user: jan.nijtmans branch: trunk, size: 13243)
2018-07-31
20:34
[18a06326] part of check-in [e882081f] Use the fork() system call (when available) to start backoffice, in an attempt to avoid unseemly delays in upstream. (check-in: [e882081f] user: drh branch: fork-backoffice, size: 13237)
2018-07-22
18:58
[842e8400] part of check-in [52943029] New options to the "fossil http" command: --in FILE, --out FILE, --ipaddr ADDRESS, and --nodelay. Use the --in, --out, and --inaddr options for subprocesses that handle HTTP requests via file I/O. This replaced the older and undocumented form of the "fossil http" command that accepted extra arguments. Use the --nodelay option to prevent lengthy backoffice processing. The use of --nodelay during "fossil ui" on Windows prevents annoying pauses on that platform. (check-in: [52943029] user: drh branch: trunk, size: 13247)
2018-07-15
19:56
[65881df4] part of check-in [3f5ab717] Clarify the difference between fossil_fatal() and fossil_panic(). The fossil_panic() interface puts a message on the error log when generating webpages. Otherwise the two routines are identical. Convert some fossil_fatal() calls into fossil_panic() where appropriate. The goal here is to limit messages on the error log to things that require attention from the system administrator, or represent bugs. (check-in: [3f5ab717] user: drh branch: trunk, size: 13195)
2018-06-28
17:15
[4799cab7] part of check-in [9281d52a] The test-smtp-probe command is now working. (check-in: [9281d52a] user: drh branch: smtp, size: 13195)
2017-08-12
18:47
[43bf993a] part of check-in [cb43937d] Enhance the ssh:// URL to be cautious about the fossil= query parameter. Only commands "fossil" and "echo" (with an optional path) are accepted. (check-in: [cb43937d] user: drh branch: trunk, size: 13192)
18:15
[d9908656] part of check-in [3b191c98] Change the shell_escape() procedure into blob_append_escaped_arg(). Have that procedure raise a fatal error if the argument to be appended contains dodgy characters that might pose a security risk. Also, prepend "./" in front of arguments that begin with "-" to prevent them from looking like switches. (check-in: [3b191c98] user: drh branch: trunk, size: 12539)
16:20
[6f33bda5] part of check-in [ce7baa97] Avoid another attack vector when using SSH sync protocol by not calling a shell interpreter. Fixes only Unix-like environments by using execvp() instead of a string that can be mishandled by /bin/sh. Superseded by [3b191c984b] &co. (check-in: [ce7baa97] user: andybradford branch: ssh-shell-cleanup, size: 13235)
2017-08-11
15:29
[11d00aed] part of check-in [1f63db59] Fix the SSH sync protocol to avoid "ssh" command-line option injection attacks such as those fixed in Git 2.14.1, Mercurial 4.2.3, and Subversion 1.9.7. As "ssh://" URLs cannot be buried out of sight in Fossil, the vulnerability does not appear to be as severe as in those other systems. (check-in: [1f63db59] user: drh branch: trunk, size: 13133)
2015-09-16
10:49
[c6f2ce84] part of check-in [5b456cfa] eliminate many unnessary type-casts (check-in: [5b456cfa] user: jan.nijtmans branch: trunk, size: 12732)
2015-01-28
09:24
[8231c313] part of check-in [5330d107] Minor compiler warning in shell.c (already fixed in SQLite). "char const" -> "const char" for consistancy. (check-in: [5330d107] user: jan.nijtmans branch: trunk, size: 12720)
2015-01-27
07:39
[439820f1] part of check-in [52f08008] For SSH clients we cannot know what IP address SSH will choose when connecting to the remote IP address, so just log the URL hostname instead which is arguably better than recording the misinformation of an IP to which Fossil did not connect. (drh adds:) See alternative implementation at [9bc7041ae74d]. (check-in: [52f08008] user: andybradford branch: pending-review, size: 12823)
2014-09-16
02:44
[2c22f80b] part of check-in [1f8a4ecd] Fix 'fossil sync' with local file URIs (and SCGI URIs on Windows) while retaining the 'fossil ui' enhancements that permit using an open checkout (e.g. to resolve the symbolic names prev, next, and current). (check-in: [1f8a4ecd] user: mistachkin branch: trunk, size: 12721)
2014-06-30
12:41
[b42daab8] part of check-in [e6d7b35a] Make "plink" the default ssh client on Windows, no matter what win32 compiler fossil was compiled with. (check-in: [e6d7b35a] user: jan.nijtmans branch: trunk, size: 12721)
2014-03-31
16:48
[d1aef141] part of check-in [5fdad9bd] Get rid of the GLOBAL_URL() kludge. Change the global "g" variable to contain an instance of the UrlData object instead of individual fields of the UrlData object. (check-in: [5fdad9bd] user: drh branch: trunk, size: 12724)
2013-10-14
07:08
[f6b79299] part of check-in [8ce9c1af] Phase 3, the TH1 http command now uses non-global URL data. This also required heavy refactoring of some other callers that use the global URL data. (check-in: [8ce9c1af] user: mistachkin branch: tkt-change-hook, size: 12716)
2013-09-10
02:49
[14bab669] part of check-in [0088ab83] Only print SSH command string if --sshtrace is enabled. (check-in: [0088ab83] user: amb branch: ssh-transport-changes, size: 12306)
2013-09-07
21:50
[d732c16b] part of check-in [56169d07] Move the SSH shared account code back to the branch to keep the development of this new feature separate. (check-in: [56169d07] user: andybradford branch: ssh-shared-account, size: 12475)
21:21
[b2f0d4e0] part of check-in [915c79cb] Separate SSH transport changes from shared account features to simplify integration. (check-in: [915c79cb] user: andybradford branch: ssh-transport-changes, size: 12396)
2013-08-30
14:07
[9a2f4ed6] part of check-in [ef8b9da0] Merge in latest features and fixes from trunk. (check-in: [ef8b9da0] user: andybradford branch: ssh-test-http, size: 12595)
2013-08-24
19:02
[3a15f8ee] part of check-in [5627d795] Make a best effort to record the IP of the remote host in rcvfrom. (check-in: [5627d795] user: andybradford branch: ssh-test-http, size: 12590)
2013-08-23
14:14
[bebb3d87] part of check-in [f64c003d] Remove unused sshin_read() function that was missed. (check-in: [f64c003d] user: andybradford branch: ssh-test-http, size: 12561)
2013-08-20
08:08
[28003eae] part of check-in [4e092e0f] Eliminate some unnecessary variables. Eliminate some (harmless) compiler warnings with gcc 4.8.1. Remove some spaces at the end of lines. No functional changes. (check-in: [4e092e0f] user: jan.nijtmans branch: trunk, size: 16848)
2013-08-12
06:43
[25dd4c38] part of check-in [ed20da74] Simplify command line interaction: remove settings from global and provide one less command line option. Altering settings in open fossils can be done with sync -l or cleared with remote-url if necessary. (check-in: [ed20da74] user: andybradford branch: ssh-test-http, size: 12864)
2013-08-09
07:29
[6945c488] part of check-in [7c9347f9] Reimplement the default test-http behavior while retaining the ability to use http to take advantage of Fossil capabilities with SSH URLs. (check-in: [7c9347f9] user: andybradford branch: ssh-test-http, size: 12879)
2013-07-24
06:25
[6945f12a] part of check-in [955b39ee] Much needed cleanup of command-line option handling. Improve sync handling of SSH user. Bring in change for less verbose SSH output. (check-in: [955b39ee] user: amb branch: ssh-shared-account, size: 12779)
04:52
[0ba1a1a1] part of check-in [72877d8e] Only print the SSH command once and also the forced newline so the Round-trips information stays on one line. (check-in: [72877d8e] user: amb branch: ssh-transport-changes, size: 13370)
2013-07-20
08:40
[4f293195] part of check-in [e3510cef] Alternative approach to allow multiple SSH users to share the same SSH account while maintaining separate Fossil identities. (check-in: [e3510cef] user: amb branch: ssh-shared-account, size: 12619)
2013-07-18
07:28
[81e5a67d] part of check-in [087cae84] Needed coding style clean up that was missed. (check-in: [087cae84] user: amb branch: ssh-transport-changes, size: 13224)
2013-07-17
14:23
[86d1edfe] part of check-in [f15adbba] Handle missing port more gracefully. Allows for SCP style URL. (check-in: [f15adbba] user: amb branch: ssh-transport-changes, size: 13112)
04:09
[0966d9d3] part of check-in [7a10b79a] Detect user@host in defined ssh-command and prefer that instead. (check-in: [7a10b79a] user: amb branch: ssh-shared-account, size: 13136)
2013-07-16
05:47
[b8a3e9a9] part of check-in [c38ff36d] Remove old SSH transport code and spawn remote fossil http as remote SSH command instead. Also make it possible to configure SSH command prior to cloning. Change remote fossil command to be configurable (really this should probably be simply a matter of fixing PATH on remote end). (check-in: [c38ff36d] user: amb branch: ssh-transport-changes, size: 13099)
2013-07-10
21:33
[5896e7d1] part of check-in [a8c37c2c] another patch version for ssh improvement from Andy Bradford. (check-in: [a8c37c2c] user: mgagnon branch: andy_bradford_ssh_imporvement_patch_2, size: 16635)
21:31
[f12799c4] part of check-in [979a75de] save first version of patch for ssh from Andy Bradford (from list) (check-in: [979a75de] user: mgagnon branch: andy_bradford_ssh_imporvement_patch_1, size: 16387)
2013-02-15
14:52
[111c393f] part of check-in [b5aab695] Fix the file: sync protocol so that it works on windows even if the client repository is in a directory that contains non-ASCII characters in its name. (check-in: [b5aab695] user: drh branch: trunk, size: 16843)
2013-02-07
02:08
[93186773] part of check-in [43c45226] Add the test-ssh-far-side command that can be used in place of a shell for the remote side of an ssh: sync. (check-in: [43c45226] user: drh branch: trunk, size: 16829)
00:24
[5a3e208f] part of check-in [2163cd96] Add the shell= query parameter to the ssh: scheme for cloning and syncing. (check-in: [2163cd96] user: drh branch: trunk, size: 15629)
2012-11-28
19:28
[2ad73fe6] part of check-in [f1ef2213] Take care that xfer error messages and user prompts always begin at the start of a new line. (check-in: [f1ef2213] user: drh branch: trunk, size: 15449)
2012-11-12
15:22
[5e45d2df] part of check-in [5776dfad] Fix a boundary case in the SSH link startup logic. (check-in: [5776dfad] user: drh branch: trunk, size: 15421)
15:12
[58d06faf] part of check-in [0e9b58c8] Increase the amount of randomness in the probe string used to initialize an SSH synchronization link. (check-in: [0e9b58c8] user: drh branch: trunk, size: 15347)
14:49
[a7808e67] part of check-in [00cf858a] Added the --sshtrace command-line option that provides diagnostic output on the connection setup for all SSH sync traffic. Make the SSH connection setup pause waiting for responses, if the desired response is not obtained right away. (check-in: [00cf858a] user: drh branch: trunk, size: 15209)
2012-11-11
22:42
[18d35d15] part of check-in [4473a27f] Further attempts to help the "ssh" sync protocol move past noisy motd comments and other extraneous login text, synchronize with the remote end, and start exchanging messages successfully. (check-in: [4473a27f] user: drh branch: trunk, size: 13732)
2012-11-04
12:59
[935bc0a9] part of check-in [45065c5c] Fix typos. (check-in: [45065c5c] user: dmitry branch: spelling, size: 13469)
2012-09-24
09:03
[0941c8ec] part of check-in [dacc6946] modified fix for [c8c0b78c84], which no longer causes "Usage" printouts to use the full fossil path, even though the command line didn't use the full path (check-in: [dacc6946] user: jan.nijtmans branch: trunk, size: 13469)
2012-09-12
16:24
[90114cef] part of check-in [297cb3e5] Need this "-e none" options to ssh.. if not, ssh can process the escape caracter to process command from data that's goes to fossil proces.. (check-in: [297cb3e5] user: mgagnon branch: mg_sshfix, size: 13686)
15:27
[3690f29d] part of check-in [531a58fd] Now, just call /bin/sh as command argument.. I don't have problem with mail checking and motd and modification is very simple..

- Have to check if it work in all conditions and all systems.

- Might not work for settups where server use a restricted shell.. (check-in: [531a58fd] user: mgagnon branch: mg_sshfix, size: 13608)

12:59
[f0f2843e] part of check-in [e8fac25a] Seems to fix it.. will try on the real conditions.. (check-in: [e8fac25a] user: mgagnon branch: mg_sshfix, size: 13078)
02:19
[b88e45d3] part of check-in [5d00d241] work time to time.. *** rely on a delay, which is not good don't work all the time... need to build more solid logic.. (check-in: [5d00d241] user: mgagnon branch: mg_sshfix, size: 13627)
00:35
[0aa7c320] part of check-in [66a45382] attemp to fix ssh problem on debian linux host when non interactive shell still print some message (motd and mail checking stuff).
*** not really working yet..
(check-in: [66a45382] user: mgagnon branch: mg_sshfix, size: 13557)
2012-08-31
20:46
[26314351] part of check-in [c19f34cb] Revert change [208d67675c]. The policy is to keep the Fossil source code ASCII even if Fossil itself is able to handle non-ASCII source files. Furthermore, the [208d67675c] change broken things. Also backout change [34fcb9634e] since it complicates the C code with unnecessary backslash characters in order to changes single-quotes to double-quotes in the generated HTML and Javascript, which is pointless. (check-in: [c19f34cb] user: drh branch: trunk, size: 13476)
19:57
[d14015b6] part of check-in [d1eb341f] Avoid prompting for the password for SSH syncs, since the password is never used. Omit debugging output on SSH syncs. (check-in: [d1eb341f] user: drh branch: trunk, size: 13475)
2012-08-29
13:57
[6c84be29] part of check-in [9f6abc59] Allow UTF-8 characters in sources. translate.exe will translate it to ASCII (check-in: [9f6abc59] user: jan.nijtmans branch: msvc-broken, size: 13471)
2012-06-27
12:30
[c2663de9] part of check-in [68239127] Begin a branch that is modified to use sqlite4 instead of sqlite3 as the storage engine. This check-in compiles (on unix) but does not work. (check-in: [68239127] user: drh branch: sqlite4, size: 13475)
2012-03-29
14:54
[2184a3b7] part of check-in [a496d8e8] Add vim modline everywhere (check-in: [a496d8e8] user: mgagnon branch: mgagnon_fix, size: 13514)
2011-10-16
17:32
[b2f3fa63] part of check-in [d8bbe4ad] Fix new and harmless compiler warnings that appeared with the upgrade to GCC 4.6.1. (check-in: [d8bbe4ad] user: drh branch: trunk, size: 13472)
2011-09-07
03:51
[0f61f5c4] part of check-in [a67e2683] begin work on ticket [bc0d0f5642eaf]: track success of (network) write operations and start bubbling that status up. To make it up to ultimately exit(EXIT_FAILURE) on errors, mkindex will need to be updated, too, as well as the signature from command implementing functions need to return int instead of void at some point. More to come. (check-in: [a67e2683] user: martin.weber branch: msw-hack, size: 13923)
2011-05-02
13:31
[7dbd82a0] part of check-in [eea64490] Change calls to unlink() into file_delete(). The file_delete() routine converts filenames to MBCS from UTF if necessary. (check-in: [eea64490] user: drh branch: windows-i18n, size: 13561)
2011-04-27
18:21
[37a56a6e] part of check-in [e805fa8d] Attempt to get Fossil working on windows systems that do not use UTF8 in the shell. (check-in: [e805fa8d] user: drh branch: windows-i18n, size: 13551)
2011-04-19
20:30
[31ed9be8] part of check-in [085b6a1b] Fix a copy of minor display problems out the output of "fossil push". (check-in: [085b6a1b] user: drh branch: trunk, size: 13533)
2011-02-27
21:03
[7d732879] part of check-in [bbf257dc] Fix issues with file-to-file sync. Allow --localauth to enable --private syncing. (check-in: [bbf257dc] user: drh branch: private-sync, size: 13505)
2011-02-17
13:43
[0d5d2c5b] part of check-in [f63ff9fc] Print the SSH command that is issued for ssh: access, scrubbed of any password content. Remove redundant -e and -T options from the ssh command. (check-in: [f63ff9fc] user: drh branch: trunk, size: 13493)
2011-02-16
19:13
[1236272b] part of check-in [7c851900] For the ssh: transport method, use the -T option to disable pseudottys. Increase the size of the buffer for holding the MOTD. (check-in: [7c851900] user: drh branch: trunk, size: 13331)
2011-02-12
13:38
[ac292fd5] part of check-in [a1814d50] This branch contains experimental changes attempting to address complaints that Fossil sometimes overwrites unmanaged files. In this checkin: Use file_delete() instead of unlink() everywhere. Add interfaces file_move() and file_dont_overwrite() but do not use those interfaces yet. (check-in: [a1814d50] user: drh branch: file-safety, size: 13191)
2010-12-21
15:28
[bac34bcf] part of check-in [abe89230] Change the --httptrace option to store both the request and the reply in separate text files. Nothing is sent to stderr any more. (check-in: [abe89230] user: drh branch: trunk, size: 13181)
2010-12-20
02:14
[9a6884bc] part of check-in [a9e05e23] For clone and sync, report the correct network traffic totals even if those totals exceed 2 GiB. (check-in: [a9e05e23] user: drh branch: trunk, size: 12682)
2010-11-12
21:51
[f280e7f0] part of check-in [a04a6508] Add the fossil_nameofexe() function to use in place of g.argv[0]. (check-in: [a04a6508] user: drh branch: trunk, size: 12682)
2010-11-06
21:04
[443adfb5] part of check-in [d9880a80] Rename the "portable_system()" function to "fossil_system()" and move it from diffcmd.c into main.c. (check-in: [d9880a80] user: drh branch: trunk, size: 12673)
2010-10-15
17:13
[383057ae] part of check-in [8f41b2fa] Replace all malloc() calls with fossil_malloc(). The fossil_malloc() routine panics rather than return a NULL pointer. (check-in: [8f41b2fa] user: drh branch: trunk, size: 12675)
2010-10-14
19:14
[90ee0086] part of check-in [2fac8091] Remove all use of ctypes.h in order to avoid compiler warnings and other problems associated with changing locales. (check-in: [2fac8091] user: drh branch: trunk, size: 12769)
2010-08-28
19:04
[f7a88a3c] part of check-in [1212f0b0] Use -P to change ssh port numbers on windows, but -p on unix. (check-in: [1212f0b0] user: drh branch: trunk, size: 12755)
2010-08-27
20:40
[4e01c125] part of check-in [0cdb6403] The ssh:// method on windows is now working well with plink. It will even prompt for passwords if the URL contains a "*" password. (check-in: [0cdb6403] user: drh branch: trunk, size: 12675)
17:19
[43aeafc3] part of check-in [d5c934e5] Fix a typo in the popen2() implementation for windows. Ticket [cf50ea4d6914fb6d856988da7]. Also refinements on the ssh:// toward getting it working on windows. (check-in: [d5c934e5] user: drh branch: trunk, size: 11326)
2010-08-26
11:27
[5a78aa51] part of check-in [af977263] Fix buffering issues with ssh://. The ssh:// sync method now works with older, unmodified servers. Added the "?fossil=exe" option to URL processing. (check-in: [af977263] user: drh branch: experimental, size: 11312)
02:32
[de28a476] part of check-in [192ceef3] A rework of the SSH sync method that does not use TCP port forwarding. It works in some cases but not other. The failure is probably do to I/O buffering issues. Need further work. (check-in: [192ceef3] user: drh branch: experimental, size: 10093)
2010-08-25
19:55
[63dde3f2] part of check-in [2f8e4c4b] Change the "ui" and "sshd" commands so that they bind to INADDR_LOOPBACK rather than INADDR_ANY. Disable the "quit" monitoring on "ui" and "server". Add better error messages explaining that ssh:// is not yet supported on windows. (check-in: [2f8e4c4b] user: drh branch: experimental, size: 10166)
16:03
[03f69075] part of check-in [958f5966] Continuing work on the ssh:// sync protocol. (check-in: [958f5966] user: drh branch: experimental, size: 10004)
14:03
[0a8a4495] part of check-in [b19f25fe] Initial code to implement synchronization via ssh. (check-in: [b19f25fe] user: drh branch: experimental, size: 10090)
2010-05-16
19:08
[f5395970] part of check-in [c06edd23] Change from GPL to the Simplified BSD License. (check-in: [c06edd23] user: drh branch: clear-title, size: 8819)
2010-01-21
20:18
[0de748bf] part of check-in [5fc80efd] fix compile error (check-in: [5fc80efd] user: ron branch: ssl, size: 9095)
2009-11-09
15:32
[bc7f5938] part of check-in [16f6fd90] Add SSL support. (check-in: [16f6fd90] user: dmitry branch: ssl, size: 9095)
2009-09-16
21:29
[a4103942] part of check-in [0eb08b86] Change more system() calls into portable_system() in an effort to fix path quoting problems on windows. (check-in: [0eb08b86] user: drh branch: trunk, size: 8283)
2009-09-10
23:00
[bc6bc305] part of check-in [aeaee1f3] Add extra quoted to system() calls on windows. Ticket [8d073be8808b]. Also update to the latest SQLite. (check-in: [aeaee1f3] user: drh branch: trunk, size: 8301)
2009-08-12
14:41
[409df886] part of check-in [79be9028] Keep track of total network traffic for a sync and report the totals at the end of the sync. (check-in: [79be9028] user: drh branch: trunk, size: 8450)
2009-06-25
12:26
[4a0b5a79] part of check-in [2554ba46] Potential fix for [40df1ced7e]. (check-in: [2554ba46] user: drh branch: trunk, size: 7943)
2009-04-24
18:40
[cbbda92e] part of check-in [767ae79c] There is some bug in the new HTTP transport layer. The easiest solution is to close the TCP connection after each round trip, which is what this check-in does. (check-in: [767ae79c] user: drh branch: trunk, size: 7767)
2009-04-11
13:07
[7621af4b] part of check-in [a742cfa2] Actually get the "file:" transport working this time. (check-in: [a742cfa2] user: drh branch: trunk, size: 7489)
12:51
[4dcbc27c] part of check-in [945ecd1a] Add support for "file:" URLs on push, pull, and sync. (check-in: [945ecd1a] user: drh branch: trunk, size: 7497)
2009-03-30
01:12
[6002b978] part of check-in [63ef5855] Add new "transport_flip()" and "transport_rewind()" methods. These are no-ops for HTTP, but might be useful for FILE and maybe even HTTPS. (check-in: [63ef5855] user: drh branch: trunk, size: 6347)
00:58
[e1307014] part of check-in [327823e3] Continuing work on the new HTTP transport mechanism. Make it more obvious where in the code extensions to support file: and https: belong. (check-in: [327823e3] user: drh branch: trunk, size: 5919)
00:31
[e1a8cc2e] part of check-in [737e76a6] Refactor the HTTP client logic to make it much easier to add support for "file:" and "https:" URLs on push, pull, sync, and clone. (check-in: [737e76a6] user: drh branch: trunk, size: 5387) Added