Fossil

File History
Login

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

History of src/http_transport.c

2018-07-31
20:34
Use the fork() system call (when available) to start backoffice, in an attempt to avoid unseemly delays in upstream. file: [18a06326] check-in: [e882081f] user: drh branch: fork-backoffice, size: 13237
2018-07-22
18:58
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. file: [842e8400] check-in: [52943029] user: drh branch: trunk, size: 13247
2018-07-15
19:56
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. file: [65881df4] check-in: [3f5ab717] user: drh branch: trunk, size: 13195
2018-06-28
17:15
The test-smtp-probe command is now working. file: [4799cab7] check-in: [9281d52a] user: drh branch: smtp, size: 13195
2017-08-12
18:47
Enhance the ssh:// URL to be cautious about the fossil= query parameter. Only commands "fossil" and "echo" (with an optional path) are accepted. file: [43bf993a] check-in: [cb43937d] user: drh branch: trunk, size: 13192
18:15
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. file: [d9908656] check-in: [3b191c98] user: drh branch: trunk, size: 12539
16:20
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. file: [6f33bda5] check-in: [ce7baa97] user: andybradford branch: ssh-shell-cleanup, size: 13235
2017-08-11
15:29
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. file: [11d00aed] check-in: [1f63db59] user: drh branch: trunk, size: 13133
2015-09-16
10:49
eliminate many unnessary type-casts file: [c6f2ce84] check-in: [5b456cfa] user: jan.nijtmans branch: trunk, size: 12732
2015-01-28
09:24
Minor compiler warning in shell.c (already fixed in SQLite). "char const" -> "const char" for consistancy. file: [8231c313] check-in: [5330d107] user: jan.nijtmans branch: trunk, size: 12720
2015-01-27
07:39
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]. file: [439820f1] check-in: [52f08008] user: andybradford branch: pending-review, size: 12823
2014-09-16
02:44
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). file: [2c22f80b] check-in: [1f8a4ecd] user: mistachkin branch: trunk, size: 12721
2014-06-30
12:41
Make "plink" the default ssh client on Windows, no matter what win32 compiler fossil was compiled with. file: [b42daab8] check-in: [e6d7b35a] user: jan.nijtmans branch: trunk, size: 12721
2014-03-31
16:48
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. file: [d1aef141] check-in: [5fdad9bd] user: drh branch: trunk, size: 12724
2013-10-14
07:08
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. file: [f6b79299] check-in: [8ce9c1af] user: mistachkin branch: tkt-change-hook, size: 12716
2013-09-10
02:49
Only print SSH command string if --sshtrace is enabled. file: [14bab669] check-in: [0088ab83] user: amb branch: ssh-transport-changes, size: 12306
2013-09-07
21:50
Move the SSH shared account code back to the branch to keep the development of this new feature separate. file: [d732c16b] check-in: [56169d07] user: andybradford branch: ssh-shared-account, size: 12475
21:21
Separate SSH transport changes from shared account features to simplify integration. file: [b2f0d4e0] check-in: [915c79cb] user: andybradford branch: ssh-transport-changes, size: 12396
2013-08-30
14:07
Merge in latest features and fixes from trunk. file: [9a2f4ed6] check-in: [ef8b9da0] user: andybradford branch: ssh-test-http, size: 12595
2013-08-24
19:02
Make a best effort to record the IP of the remote host in rcvfrom. file: [3a15f8ee] check-in: [5627d795] user: andybradford branch: ssh-test-http, size: 12590
2013-08-23
14:14
Remove unused sshin_read() function that was missed. file: [bebb3d87] check-in: [f64c003d] user: andybradford branch: ssh-test-http, size: 12561
2013-08-20
08:08
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. file: [28003eae] check-in: [4e092e0f] user: jan.nijtmans branch: trunk, size: 16848
2013-08-12
06:43
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. file: [25dd4c38] check-in: [ed20da74] user: andybradford branch: ssh-test-http, size: 12864
2013-08-09
07:29
Reimplement the default test-http behavior while retaining the ability to use http to take advantage of Fossil capabilities with SSH URLs. file: [6945c488] check-in: [7c9347f9] user: andybradford branch: ssh-test-http, size: 12879
2013-07-24
06:25
Much needed cleanup of command-line option handling. Improve sync handling of SSH user. Bring in change for less verbose SSH output. file: [6945f12a] check-in: [955b39ee] user: amb branch: ssh-shared-account, size: 12779
04:52
Only print the SSH command once and also the forced newline so the Round-trips information stays on one line. file: [0ba1a1a1] check-in: [72877d8e] user: amb branch: ssh-transport-changes, size: 13370
2013-07-20
08:40
Alternative approach to allow multiple SSH users to share the same SSH account while maintaining separate Fossil identities. file: [4f293195] check-in: [e3510cef] user: amb branch: ssh-shared-account, size: 12619
2013-07-18
07:28
Needed coding style clean up that was missed. file: [81e5a67d] check-in: [087cae84] user: amb branch: ssh-transport-changes, size: 13224
2013-07-17
14:23
Handle missing port more gracefully. Allows for SCP style URL. file: [86d1edfe] check-in: [f15adbba] user: amb branch: ssh-transport-changes, size: 13112
04:09
Detect user@host in defined ssh-command and prefer that instead. file: [0966d9d3] check-in: [7a10b79a] user: amb branch: ssh-shared-account, size: 13136
2013-07-16
05:47
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). file: [b8a3e9a9] check-in: [c38ff36d] user: amb branch: ssh-transport-changes, size: 13099
2013-07-10
21:33
another patch version for ssh improvement from Andy Bradford. file: [5896e7d1] check-in: [a8c37c2c] user: mgagnon branch: andy_bradford_ssh_imporvement_patch_2, size: 16635
21:31
save first version of patch for ssh from Andy Bradford (from list) file: [f12799c4] check-in: [979a75de] user: mgagnon branch: andy_bradford_ssh_imporvement_patch_1, size: 16387
2013-02-15
14:52
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. file: [111c393f] check-in: [b5aab695] user: drh branch: trunk, size: 16843
2013-02-07
02:08
Add the test-ssh-far-side command that can be used in place of a shell for the remote side of an ssh: sync. file: [93186773] check-in: [43c45226] user: drh branch: trunk, size: 16829
00:24
Add the shell= query parameter to the ssh: scheme for cloning and syncing. file: [5a3e208f] check-in: [2163cd96] user: drh branch: trunk, size: 15629
2012-11-28
19:28
Take care that xfer error messages and user prompts always begin at the start of a new line. file: [2ad73fe6] check-in: [f1ef2213] user: drh branch: trunk, size: 15449
2012-11-12
15:22
Fix a boundary case in the SSH link startup logic. file: [5e45d2df] check-in: [5776dfad] user: drh branch: trunk, size: 15421
15:12
Increase the amount of randomness in the probe string used to initialize an SSH synchronization link. file: [58d06faf] check-in: [0e9b58c8] user: drh branch: trunk, size: 15347
14:49
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. file: [a7808e67] check-in: [00cf858a] user: drh branch: trunk, size: 15209
2012-11-11
22:42
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. file: [18d35d15] check-in: [4473a27f] user: drh branch: trunk, size: 13732
2012-11-04
12:59
Fix typos. file: [935bc0a9] check-in: [45065c5c] user: dmitry branch: spelling, size: 13469
2012-09-24
09:03
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 file: [0941c8ec] check-in: [dacc6946] user: jan.nijtmans branch: trunk, size: 13469
2012-09-12
16:24
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.. file: [90114cef] check-in: [297cb3e5] user: mgagnon branch: mg_sshfix, size: 13686
15:27
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.. file: [3690f29d] check-in: [531a58fd] user: mgagnon branch: mg_sshfix, size: 13608
12:59
Seems to fix it.. will try on the real conditions.. file: [f0f2843e] check-in: [e8fac25a] user: mgagnon branch: mg_sshfix, size: 13078
02:19
work time to time.. *** rely on a delay, which is not good don't work all the time... need to build more solid logic.. file: [b88e45d3] check-in: [5d00d241] user: mgagnon branch: mg_sshfix, size: 13627
00:35
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.. file: [0aa7c320] check-in: [66a45382] user: mgagnon branch: mg_sshfix, size: 13557
2012-08-31
20:46
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. file: [26314351] check-in: [c19f34cb] user: drh branch: trunk, size: 13476
19:57
Avoid prompting for the password for SSH syncs, since the password is never used. Omit debugging output on SSH syncs. file: [d14015b6] check-in: [d1eb341f] user: drh branch: trunk, size: 13475
2012-08-29
13:57
Allow UTF-8 characters in sources. translate.exe will translate it to ASCII file: [6c84be29] check-in: [9f6abc59] user: jan.nijtmans branch: msvc-broken, size: 13471
2012-06-27
12:30
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. file: [c2663de9] check-in: [68239127] user: drh branch: sqlite4, size: 13475
2012-03-29
14:54
Add vim modline everywhere file: [2184a3b7] check-in: [a496d8e8] user: mgagnon branch: mgagnon_fix, size: 13514
2011-10-16
17:32
Fix new and harmless compiler warnings that appeared with the upgrade to GCC 4.6.1. file: [b2f3fa63] check-in: [d8bbe4ad] user: drh branch: trunk, size: 13472
2011-09-07
03:51
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. file: [0f61f5c4] check-in: [a67e2683] user: martin.weber branch: msw-hack, size: 13923
2011-05-02
13:31
Change calls to unlink() into file_delete(). The file_delete() routine converts filenames to MBCS from UTF if necessary. file: [7dbd82a0] check-in: [eea64490] user: drh branch: windows-i18n, size: 13561
2011-04-27
18:21
Attempt to get Fossil working on windows systems that do not use UTF8 in the shell. file: [37a56a6e] check-in: [e805fa8d] user: drh branch: windows-i18n, size: 13551
2011-04-19
20:30
Fix a copy of minor display problems out the output of "fossil push". file: [31ed9be8] check-in: [085b6a1b] user: drh branch: trunk, size: 13533
2011-02-27
21:03
Fix issues with file-to-file sync. Allow --localauth to enable --private syncing. file: [7d732879] check-in: [bbf257dc] user: drh branch: private-sync, size: 13505
2011-02-17
13:43
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. file: [0d5d2c5b] check-in: [f63ff9fc] user: drh branch: trunk, size: 13493
2011-02-16
19:13
For the ssh: transport method, use the -T option to disable pseudottys. Increase the size of the buffer for holding the MOTD. file: [1236272b] check-in: [7c851900] user: drh branch: trunk, size: 13331
2011-02-12
13:38
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. file: [ac292fd5] check-in: [a1814d50] user: drh branch: file-safety, size: 13191
2010-12-21
15:28
Change the --httptrace option to store both the request and the reply in separate text files. Nothing is sent to stderr any more. file: [bac34bcf] check-in: [abe89230] user: drh branch: trunk, size: 13181
2010-12-20
02:14
For clone and sync, report the correct network traffic totals even if those totals exceed 2 GiB. file: [9a6884bc] check-in: [a9e05e23] user: drh branch: trunk, size: 12682
2010-11-12
21:51
Add the fossil_nameofexe() function to use in place of g.argv[0]. file: [f280e7f0] check-in: [a04a6508] user: drh branch: trunk, size: 12682
2010-11-06
21:04
Rename the "portable_system()" function to "fossil_system()" and move it from diffcmd.c into main.c. file: [443adfb5] check-in: [d9880a80] user: drh branch: trunk, size: 12673
2010-10-15
17:13
Replace all malloc() calls with fossil_malloc(). The fossil_malloc() routine panics rather than return a NULL pointer. file: [383057ae] check-in: [8f41b2fa] user: drh branch: trunk, size: 12675
2010-10-14
19:14
Remove all use of ctypes.h in order to avoid compiler warnings and other problems associated with changing locales. file: [90ee0086] check-in: [2fac8091] user: drh branch: trunk, size: 12769
2010-08-28
19:04
Use -P to change ssh port numbers on windows, but -p on unix. file: [f7a88a3c] check-in: [1212f0b0] user: drh branch: trunk, size: 12755
2010-08-27
20:40
The ssh:// method on windows is now working well with plink. It will even prompt for passwords if the URL contains a "*" password. file: [4e01c125] check-in: [0cdb6403] user: drh branch: trunk, size: 12675
17:19
Fix a typo in the popen2() implementation for windows. Ticket [cf50ea4d6914fb6d856988da7]. Also refinements on the ssh:// toward getting it working on windows. file: [43aeafc3] check-in: [d5c934e5] user: drh branch: trunk, size: 11326
2010-08-26
11:27
Fix buffering issues with ssh://. The ssh:// sync method now works with older, unmodified servers. Added the "?fossil=exe" option to URL processing. file: [5a78aa51] check-in: [af977263] user: drh branch: experimental, size: 11312
02:32
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. file: [de28a476] check-in: [192ceef3] user: drh branch: experimental, size: 10093
2010-08-25
19:55
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. file: [63dde3f2] check-in: [2f8e4c4b] user: drh branch: experimental, size: 10166
16:03
Continuing work on the ssh:// sync protocol. file: [03f69075] check-in: [958f5966] user: drh branch: experimental, size: 10004
14:03
Initial code to implement synchronization via ssh. file: [0a8a4495] check-in: [b19f25fe] user: drh branch: experimental, size: 10090
2010-05-16
19:08
Change from GPL to the Simplified BSD License. file: [f5395970] check-in: [c06edd23] user: drh branch: clear-title, size: 8819
2010-01-21
20:18
fix compile error file: [0de748bf] check-in: [5fc80efd] user: ron branch: ssl, size: 9095
2009-11-09
15:32
Add SSL support. file: [bc7f5938] check-in: [16f6fd90] user: dmitry branch: ssl, size: 9095
2009-09-16
21:29
Change more system() calls into portable_system() in an effort to fix path quoting problems on windows. file: [a4103942] check-in: [0eb08b86] user: drh branch: trunk, size: 8283
2009-09-10
23:00
Add extra quoted to system() calls on windows. Ticket [8d073be8808b]. Also update to the latest SQLite. file: [bc6bc305] check-in: [aeaee1f3] user: drh branch: trunk, size: 8301
2009-08-12
14:41
Keep track of total network traffic for a sync and report the totals at the end of the sync. file: [409df886] check-in: [79be9028] user: drh branch: trunk, size: 8450
2009-06-25
12:26
Potential fix for [40df1ced7e]. file: [4a0b5a79] check-in: [2554ba46] user: drh branch: trunk, size: 7943
2009-04-24
18:40
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. file: [cbbda92e] check-in: [767ae79c] user: drh branch: trunk, size: 7767
2009-04-11
13:07
Actually get the "file:" transport working this time. file: [7621af4b] check-in: [a742cfa2] user: drh branch: trunk, size: 7489
12:51
Add support for "file:" URLs on push, pull, and sync. file: [4dcbc27c] check-in: [945ecd1a] user: drh branch: trunk, size: 7497
2009-03-30
01:12
Add new "transport_flip()" and "transport_rewind()" methods. These are no-ops for HTTP, but might be useful for FILE and maybe even HTTPS. file: [6002b978] check-in: [63ef5855] user: drh branch: trunk, size: 6347
00:58
Continuing work on the new HTTP transport mechanism. Make it more obvious where in the code extensions to support file: and https: belong. file: [e1307014] check-in: [327823e3] user: drh branch: trunk, size: 5919
00:31
Refactor the HTTP client logic to make it much easier to add support for "file:" and "https:" URLs on push, pull, sync, and clone. file: [e1a8cc2e] check-in: [737e76a6] user: drh branch: trunk, size: 5387 Added