Fossil

File History
Login

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

History of src/http.c

2017-06-06
17:49
Do not double-prompt for HttpAuth passwords. file: [7de3f169] check-in: [f423b10f] user: drh branch: trunk, size: 13199
2015-05-07
19:50
Fix a potential use-after-free problem. file: [5d5c1995] check-in: [df12c1b0] user: drh branch: trunk, size: 13199
2015-01-28
09:24
Minor compiler warning in shell.c (already fixed in SQLite). "char const" -> "const char" for consistancy. file: [4045dd21] check-in: [5330d107] user: jan.nijtmans branch: trunk, size: 13199
2015-01-10
02:54
Abort clone if we don't get the full payload until we have a better way to handle partial clones. file: [5dc3ca7f] check-in: [e1893dc6] user: andybradford branch: trunk, size: 13207
2014-12-20
21:06
Improve diagnostic output for HTTP redirects. file: [7fe8a273] check-in: [a1e256cc] user: mistachkin branch: trunk, size: 12996
19:26
Handle 301 redirect the same as 302 redirect. file: [93e81750] check-in: [2678d87d] user: andybradford branch: trunk, size: 12977
2014-12-16
02:37
Improvements to HTTP redirect on sync. file: [7d19b4cc] check-in: [3a00b612] user: drh branch: trunk, size: 12921
2014-12-12
06:30
On 302 redirects, cause addr and socket reinitialize so it has the info for the new location and not the old. This may address a bug reported on the ML by Ashwin Hirschi in which a redirect was causing Fossil to segfault, likely due to redirecting to the same site repeatedly because addr was remaining unchanged. file: [b670bab6] check-in: [6e7cb7f2] user: andybradford branch: trunk, size: 12921
2014-10-20
15:01
Add a custom static analysis program that verifies the arguments to printf-style varargs routines used in Fossil. Adjust the source code to be more robust for printf format errors and to fix a few minor problems found by the static checker. file: [2bdf3742] check-in: [0a7e326f] user: drh branch: compile-time-print-checking, size: 12880
2014-09-21
19:40
typos file: [8fef56c0] check-in: [b2a4b66f] user: jan.nijtmans branch: trunk, size: 12868
2014-05-05
03:54
Don't exit fatally during http_exchange, but return an error so partial sync can also be handled on network errors. file: [061752d4] check-in: [1317331e] user: andybradford branch: per-round-trip-commit, size: 12868
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: [9a997856] check-in: [5fdad9bd] user: drh branch: trunk, size: 12775
2014-03-16
09:06
Added missing int return. Reported on ML. file: [e30d1c45] check-in: [d6bd38fa] user: stephan branch: trunk, size: 12824
2014-02-11
03:58
Only prompt to use Fossil username/password for Basic Authorization if they are available. file: [21860054] check-in: [9223f022] user: andybradford branch: http-auth, size: 12822
2014-02-05
08:23
This looks like a duplicate commit of [cf471cbb3f6f] file: [97e0ab8b] check-in: [09634aee] user: andybradford branch: mistake, size: 12839
06:35
Simplify code and no longer rely on MAX_REDIRECTS because 20 password prompts are too many. file: [a57c7b96] check-in: [9493a9c7] user: andybradford branch: http-auth, size: 12735
2014-02-04
01:53
Display the name of the server requesting HTTP Authorization to clarify interaction. file: [0f74febd] check-in: [d581ef00] user: andybradford branch: http-auth, size: 13139
2014-02-03
08:27
Use function that will prompt twice for sanity check. file: [f323539f] check-in: [6289a97e] user: andybradford branch: http-auth, size: 13137
07:59
Musn't forget about autosync commands that also need the Basic Authorization. file: [c55d09a9] check-in: [06bff8c6] user: andybradford branch: http-auth, size: 13001
07:09
Remove redundant code. file: [e822f931] check-in: [3afd0289] user: andybradford branch: http-auth, size: 13020
07:07
Correct altered comment. Sneaky vi and J joining lines without my knowledge! file: [02fef619] check-in: [e38bfdae] user: andybradford branch: http-auth, size: 13061
07:03
Don't send Basic Authorization except after prompting user. This is done by detecting 401 Authorization Required. It also allows the HTTP Authorization credentials to be different from the Fossil user which means the integrity of the Fossil password can be maintained if so desired. file: [d2ff92ba] check-in: [c6155497] user: andybradford branch: http-auth, size: 13061
2014-02-01
23:39
Handle --once preference and prevent sending HTTP Authorization when the URL is named on the command line. file: [11ea7e24] check-in: [2600f59f] user: andybradford branch: http-auth, size: 11091
22:06
Only automatically provide Authorization if the URL is HTTPS. User can express preference to use Authorization over unencrypted HTTP via the --httpauth command line option. file: [54c80bed] check-in: [906cfae4] user: andybradford branch: http-auth, size: 11129
05:40
This does not need to be globally scoped. file: [50a6aa8c] check-in: [6315fd8a] user: andybradford branch: http-auth, size: 10889
05:02
Detect authorization looping and exit fatally when limit exceeded. file: [b640b04e] check-in: [08d487ed] user: andybradford branch: http-auth, size: 10807
04:43
Automatically detect HTTP 401 status and resend with Authorization. file: [b8413f0e] check-in: [fcaa8ea9] user: andybradford branch: http-auth, size: 10702
2014-01-29
06:45
Make HTTP authorization a command line option. Choice will be stored in database until another URL change happens. This could potentially break those who currently rely on the special # character in the password. file: [001ad31d] check-in: [e747041a] user: andybradford branch: http-auth, size: 10599
2013-12-13
21:46
Unify use of the user-agent string. file: [2195ed51] check-in: [55c91af5] user: mistachkin branch: tkt-change-hook, size: 10791
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: [bdd1511f] check-in: [8ce9c1af] user: mistachkin branch: tkt-change-hook, size: 10860
2013-09-07
21:21
Separate SSH transport changes from shared account features to simplify integration. file: [27054473] check-in: [915c79cb] user: andybradford branch: ssh-transport-changes, size: 10722
2013-08-17
23:05
Change SSH transport to use a single SSH connection if client/server willing. Add client header so server can detect when to use new mode. Also improve backwards compatibility for older SSH clients by responding to probes. file: [9f5e11a2] check-in: [f0bb3c9b] user: andybradford branch: ssh-test-http, size: 10756
2013-08-10
21:31
Make it possible to override global setting from command line. Improve sync output when test-http is in use. file: [7c004d17] check-in: [3c479fb9] user: andybradford branch: ssh-test-http, size: 10224
2013-08-09
07:56
Correct typo that resulted in space being on the wrong side of the word. file: [029db8d0] check-in: [738b5053] user: andybradford branch: ssh-test-http, size: 10225
07:49
Fix logic so ignoring login requirement only affects ssh:// URLs. file: [ca00b08d] check-in: [9284bfb1] user: andybradford branch: ssh-test-http, size: 10225
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: [1bfee819] check-in: [7c9347f9] user: andybradford branch: ssh-test-http, size: 10207
2013-07-26
06:40
Only setup Fossil user if URL is SSH. This is done to avoid problems when cloning a fossil that has SSH settings using into a file:// URL. file: [d662fa40] check-in: [1ebba56f] user: amb branch: ssh-shared-account, size: 10176
2013-07-20
08:40
Alternative approach to allow multiple SSH users to share the same SSH account while maintaining separate Fossil identities. file: [60ae1acb] check-in: [e3510cef] user: amb branch: ssh-shared-account, size: 10206
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: [2e873af3] check-in: [c38ff36d] user: amb branch: ssh-transport-changes, size: 10120
2013-02-21
03:51
Improved handling for remote repository passwords: When prompting for the password, also ask the user whether or not to remember the password, as browsers typically do for their password cache. file: [e9f82fa1] check-in: [6d6740dc] user: drh branch: trunk, size: 10190
2013-02-01
12:33
Fix out-of-order variable declaration (VC6 cannot handle that). Move MAX_REDIRECTS definition to xfer.c, so it can be converted to a fossil setting later. file: [ac97cee9] check-in: [fe56e5aa] user: jan.nijtmans branch: trunk, size: 10194
07:01
Limit the number of HTTP redirects that any http_exchange() call will follow to 20 (the limit used by most browsers). Previously, a misconfigured server or incorrect URL could cause Fossil to follow an endless trail of redirects without user intervention. file: [e93ee24b] check-in: [13ffb9b4] user: joel branch: trunk, size: 10720
2012-08-29
13:57
Allow UTF-8 characters in sources. translate.exe will translate it to ASCII file: [06b39563] check-in: [9f6abc59] user: jan.nijtmans branch: msvc-broken, size: 10073
2012-01-20
17:32
The HTTP trace files need to be opened in binary mode. file: [aabc48a4] check-in: [7611406f] user: mistachkin branch: clientSyncLeakFix, size: 10074
17:16
Revise the order of error messages so that simple HTTP timeout produces a better diagnostic. file: [03882b29] check-in: [dd71069b] user: mistachkin branch: clientSyncLeakFix, size: 10072
2011-11-26
15:09
Further refinement of the robot/human discriminator. file: [d3f1c171] check-in: [4fdb63d6] user: drh branch: trunk, size: 10072
2011-10-15
12:30
Fix clang static analyzer warnings about deref null pointers and undefined values. There are still lots of dead code warnings, but those are harmless. file: [5d9dca28] check-in: [63069145] user: drh branch: trunk, size: 10052
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: [cd61de0c] check-in: [a67e2683] user: martin.weber branch: msw-hack, size: 10094
2011-06-18
16:50
Add a version number that is increased by one on each release. Make the initial version number 1.18 since there have been 17 prior releases. file: [95d6f825] check-in: [e0303181] user: drh branch: trunk, size: 10052
2011-05-27
12:03
Do not use strcmp() for comparison since the sort order can vary by locale. Use fossil_strcmp() instead. Ticket [3f0216560679fd41]. file: [ebc84ad1] check-in: [32ad9a15] user: drh branch: trunk, size: 10010
2011-05-13
14:01
Use \r\n after Proxy-Authorization in HTTP headers. Ticket [da3fef0b21c37d] file: [68947316] check-in: [1b823e12] user: drh branch: trunk, size: 9996
2011-05-03
13:37
Enable Basic Authorization during sync operations by prepending a single "#" to the password. file: [98952fdd] check-in: [c1506adb] user: drh branch: trunk, size: 9994
2011-04-08
17:08
Begin adding code to implement "login groups" which will (we hope) ultimately lead to a single sign-on capability. file: [194a26af] check-in: [eec32b99] user: drh branch: login-groups, size: 9774
2011-04-04
01:56
ws change to capture chmod +x change file: [d05902cf] check-in: [5a587ba5] user: bharder branch: betterExeHandling, size: 9772
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: [458743aa] check-in: [abe89230] user: drh branch: trunk, size: 9771
2010-12-09
13:56
Use the built-in SQLite caseless string comparison functions instead of the C-library strcasecmp(). Accept mime-type application/x-fossil-uncompressed and avoid decompression when seen. file: [74377aa0] check-in: [0b6c414c] user: drh branch: trunk, size: 9835
2010-11-19
19:48
Work toward getting and "update" or "commit" to continue even after an auto-sync failure. file: [729dc5ae] check-in: [9286aaf7] user: drh branch: trunk, size: 9418
2010-11-06
14:04
Fix the sync logic so that it is able to clone against the canonical fossil repository with its implied redirect. file: [f92a71cd] check-in: [a921be7b] user: drh branch: trunk, size: 9404
2010-10-27
16:06
New higher-performance and backwards-compatible clone logic. file: [f2306683] check-in: [5ba4439b] user: drh branch: experimental, size: 9363
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: [bd4d2635] check-in: [2fac8091] user: drh branch: trunk, size: 9360
2010-10-08
10:59
Obscure the text of the remote-url password so that it is not easily visible using the sqlite3 CLI. file: [f2370ab5] check-in: [cfbbad3d] user: drh branch: trunk, size: 9346
2010-08-26
12:10
Remove dead code from cgi.c. Attempt better error handling. file: [1d261b5e] check-in: [79294bb8] user: drh branch: experimental, size: 9337
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: [74a82ab2] check-in: [af977263] user: drh branch: experimental, size: 8837
2010-08-25
14:03
Initial code to implement synchronization via ssh. file: [c8aaaa45] check-in: [b19f25fe] user: drh branch: experimental, size: 8894
2010-05-16
19:08
Change from GPL to the Simplified BSD License. file: [c37fb0c2] check-in: [c06edd23] user: drh branch: clear-title, size: 8767
2010-04-22
15:48
Infrastructure changes that will allow the client-side sync to be run from a web interface - the status messages now go to CGI output if the sync is run from a web page. This is a partial implementation of the "SyncNow" button. The button itself has not yet been added. file: [4f0d2d8f] check-in: [c56af61e] user: drh branch: trunk, size: 9043
2010-03-30
01:22
The sync, clone, push, and pull commands process 302 redirects. file: [aa1608b6] check-in: [84439e9d] user: drh branch: trunk, size: 8775
2010-01-24
17:55
Fixes to the login processing for "clone". file: [4288b782] check-in: [c4c23106] user: drh branch: trunk, size: 8168
2010-01-21
20:28
Cleanup the last-sync-url password handling. Automatically prompt for a new password if a sync login card fails. file: [e0ef891e] check-in: [05380c5f] user: drh branch: experimental, size: 8118
18:13
Factor the sync password out of the last-sync-url configuration setting. Store the password separately. Prompt the user for the password if it is missing. file: [eca61c4b] check-in: [59002d5e] user: drh branch: experimental, size: 8259
2010-01-10
20:56
Change the hash algorithm for passwords so that USER.PW field stores a SHA1 hash of the project-code, user login, and user password, rather than just a hash of the user password. That way, the if two users select the same password, or if the one user selects the same password for multiple projects, the password hashes are still different. file: [26eca6ba] check-in: [4b58a7b8] user: drh branch: experimental, size: 8297
2010-01-09
22:03
Store passwords in USER.PW as either cleartext (as is done in legacy) or as the SHA1 hash of the password. When changing a password or adding a new user, always use the SHA1 hash password. file: [28563ad6] check-in: [cfe33dcf] user: drh branch: experimental, size: 8278
2009-11-11
14:59
Better error messages when "sync" fails due to server problems. Ticket [bfb8427cdd5] file: [2e97d8ac] check-in: [0690aa18] user: drh branch: trunk, size: 7680
2009-10-11
21:31
Panic on bad server responses. Ticket [bfb8427cdd]. file: [ae110e8e] check-in: [21a2a181] user: dmitry branch: trunk, size: 7508
2009-10-05
14:29
Sync client uses only HTTP/1.0 in order to avoid having to support chunked encoding. file: [488f99c0] check-in: [6842999f] user: drh branch: trunk, size: 7481
2009-09-12
21:53
Update the proxy handler so that it supports basic authorization. file: [2787a16c] check-in: [9e274a2e] user: drh branch: trunk, size: 7481
2009-09-10
14:07
Support usernames containing spaces for the xfer protocol. Ticket [71c9b46198c04]. file: [3ced5594] check-in: [ee47021f] user: drh branch: trunk, size: 7384
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: [15b46471] check-in: [767ae79c] user: drh branch: trunk, size: 7384
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: [14fbdbab] check-in: [63ef5855] user: drh branch: trunk, size: 7140
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: [de0b4f29] check-in: [737e76a6] user: drh branch: trunk, size: 7087
2009-03-29
11:41
If no userid is specified in the URL then the client omits the login card from its request. file: [c7f9d7fa] check-in: [09d6a6eb] user: drh branch: experimental, size: 15061
2009-03-27
14:32
Infrastructure in place on the client side to encrypt sync traffic. This is mostly untested so far because we do not yet have a server that understands encrypted traffic. file: [2a16b7f5] check-in: [9a23c348] user: drh branch: experimental, size: 15158
2009-03-26
15:32
Incremental changes toward encrypting sync traffic. The changes are incomplete, but all legacy functionality appears to still works. file: [a7c94bef] check-in: [5468ec7c] user: drh branch: experimental, size: 13228
2009-01-13
18:43
Add code to understand the "https://" prefix on server URLs. Any attempt to use https gives an error at this point, however. This is a work in progress. file: [099ac83e] check-in: [797d680e] user: drh branch: trunk, size: 12140
2008-11-27
13:50
On windows, a recv() call fails if the return value is less than or equal to zero. Ticket [66cbcd56a229f33af6b9a6329a7] file: [79044c34] check-in: [c12e5b10] user: drh branch: trunk, size: 12065
2008-07-26
16:51
Add a "User-Agent" header to the HTTP traffic generated by fossil. The user-agent string is "Fossil/$UUID". file: [68bb1e0b] check-in: [31824fbf] user: dan branch: trunk, size: 12064
2008-05-05
19:08
Fix the HOST: header to use the original URL, not the proxy URL. file: [6ef99f84] check-in: [1dbf3323] user: drh branch: trunk, size: 11995
2008-02-09
00:11
Issue a warning after a commit if the commit causes a fork. file: [19e3e654] check-in: [49b59bc5] user: drh branch: trunk, size: 12005
2007-09-25
21:21
Fixed many uninitialized variable warnings and some potential bug found via -Wall -Werror on gcc. file: [1a73d6f0] check-in: [e63a9fd9] user: jnc branch: trunk, size: 12005
2007-09-22
18:34
Socket operations now functional in Win32 port. Added quotes around the filename portion of the command to edit thus working of windows in paths where the temp directory contains spaces. Added -all flag to clean command. If not specified each file is prompted for before removing. file: [54410d4f] check-in: [8372cc0b] user: jnc branch: trunk, size: 11979
06:47
Win32 port now functional except network operations. This commit was done on windows :-). See win32.txt for status of all commands. No networking commands are functional yet. All path operations are now functioning. file: [02357907] check-in: [c7278fd0] user: jnc branch: trunk, size: 8462
2007-09-21
21:53
Win32 port: compiles, all tests pass but many functions fail due to path separators. Incomplete. Path fixes to come next file: [02b60e1f] check-in: [83c876b4] user: jnc branch: trunk, size: 8153
2007-09-12
02:25
The nonce of a login card in the sync protocol is now the SHA1 hash of the remainder of the sync message. The signature is the SHA1 hash of the concatenation of the nonce and the users password. file: [43986095] check-in: [77675311] user: drh branch: trunk, size: 8040
2007-08-01
13:50
Client must ignore SIGPIPE when writting to the HTTP socket. file: [3357e23c] check-in: [0238e54f] user: drh branch: trunk, size: 8058
09:04
Populate the ipaddr column of the rcvfrom table when a file is received from a remote source (push/pull/sync). file: [e887c92c] check-in: [36edf3fd] user: dan branch: trunk, size: 8010
2007-07-30
18:57
Send the HOST header parameter with /xfer requests. file: [23446a05] check-in: [211c476d] user: drh branch: trunk, size: 7751
18:38
Fix a bug in the /xfer login logic. file: [23752589] check-in: [bfe6e64f] user: drh branch: trunk, size: 7688
16:35
Only request the password one time on a push or pull. file: [93a1f90e] check-in: [3a25b683] user: drh branch: trunk, size: 7603
14:28
Use POST instead of GET for the /xfer method. Other bug fixes in the URL parser. file: [a8e6ad7f] check-in: [e621b6db] user: drh branch: trunk, size: 7604
2007-07-28
07:09
When accessing a remote repository, if there is a username/password specified as part of the URI, use these to login. file: [d56d77ab] check-in: [3dcaed8d] user: dan branch: trunk, size: 7794
2007-07-21
14:10
Initial check-in of m1 sources. file: [3b83a208] check-in: [dbda8d6c] user: drh branch: trunk, size: 7137 Added