Commit Graph

184 Commits

Author SHA1 Message Date
Siana Gearz
36ff4dcd11 Don't feed empty, non-working callback to CURL
Cherry-Pick of 96a4e16a

Conflicts:
	indra/llmessage/llurlrequest.cpp
	indra/llmessage/llurlrequest.h
	indra/newview/hipporestrequest.cpp

Clear reasons for conflicts, resolved.
2012-08-13 23:33:49 +02:00
Aleric Inglewood
35a53ef1d7 Bug fix (needed for libcwd with memory allocation debugging) 2012-08-13 21:59:57 +02:00
Aleric Inglewood
169670a58b Refurbish last merge. Fix compile for standalone and libcwd. 2012-08-13 19:30:35 +02:00
Aleric Inglewood
fbb5dced97 Merge remote-tracking branch 'singu/master' into curlthreading2
Conflicts:
	indra/llcommon/CMakeLists.txt
	indra/llmessage/llcurl.cpp
	indra/llmessage/llcurl.h
	indra/llmessage/llhttpclient.cpp
	indra/llmessage/llhttpclient.h
	indra/llmessage/llpumpio.cpp
	indra/llmessage/llpumpio.h
	indra/llmessage/llurlrequest.cpp
	indra/llmessage/llurlrequest.h
	indra/newview/hipporestrequest.cpp
	indra/newview/llappviewer.cpp
	indra/newview/llspatialpartition.cpp
	indra/newview/llviewermedia.cpp
	indra/newview/llxmlrpctransaction.cpp

Conflicts resolved by choosing curlthreading2
for any llmessage file regardless (which looks
correct upon investigation); the rest also
turned out to need to use curlthreading2, except
in one line where I added a semi-colon after
an assert(), and the assert was changed in
singu/master.
2012-08-13 17:07:25 +02:00
Aleric Inglewood
263a25fb87 Compile fix for DEBUG_CURLIO 2012-08-12 17:42:30 +02:00
Aleric Inglewood
fa10ce28d2 Missing header 2012-08-12 17:10:44 +02:00
Aleric Inglewood
304fa05094 Suppress "Expect:" header for POST and PUT. No longer use CURLOPT_COPYPOSTFIELDS.
For POST and PUT, libcurl adds by default a "Expect: 100-continue"
header and wait for the server to reply with a 100 response.
However, since the server never does that (LL comment in the
code "I'm not sure what it means") it's up to libcurl to continue
anyway after a while and that part is apparently bugged, causing
people not to be able to login sometimes. But suppressing the
header, libcurl doesn't wait for it and we worked around this bug.

The commit introduces a much improved CurlEasyRequest::setPost
method that enforces the above for POST, but that also no longer
uses CURLOPT_COPYPOSTFIELDS (but CURLOPT_POSTFIELDS), no longer
making a copy of the body of what we are going to send to the server.
Instead it uses a new object, derived from AIPostField, to keep track
of this data and to dispose of it once the transaction is complete
(and no sooner).

Copied from llcorehttp, we now also always set a "Connection:
keep-alive" and "Keep-alive: 300" header for POST.
This was already done for texture downloads (HttpOpRequest),
but now we do it always :p. Might need to be changed in the
future, but currently those headers are ignored by the server
anyway.
2012-08-12 16:34:20 +02:00
Aleric Inglewood
2fbe7ab6ce Only accept pointers to valid types for getinfo(). 2012-08-12 03:38:45 +02:00
Aleric Inglewood
164799e4c4 Curl debug output improvements and minor fixes. 2012-08-12 03:33:33 +02:00
Aleric Inglewood
70717cb6c8 Compile bug fix for windows. 2012-08-10 14:49:34 +02:00
Aleric Inglewood
152238e67f Merge remote-tracking branch 'shyotl/breakforce' into breakforce 2012-08-10 05:56:28 +02:00
Shyotl
eef51e0bd0 Pulled llpacketring.h and llhttpclient.h out of the precompiled header. 2012-08-09 22:50:05 -05:00
Aleric Inglewood
b2c5a84964 Replace CURLOPT_POSTFIELDSIZE_LARGE with CURLOPT_POSTFIELDSIZE
Also adds a more robust interface for setopt that does
type checking based on the options used. This fixes one
bug where a F32 was passed and interpreted as long.
In many cases a U32 or S32 was passed as long, which
would fail (only) on a 64bit non-windows big endian machine.
2012-08-10 04:18:04 +02:00
Drake Arconis
0be43cf1c2 Fixed GCC47 issues and fmodex copying 2012-08-09 10:56:29 -04:00
Aleric Inglewood
76e30150b9 Removed superfluous debug output 2012-08-09 07:02:42 +02:00
Siana Gearz
de74443d76 Merge branch 'master' of https://github.com/Shyotl/SingularityViewer
Conflicts:
	indra/newview/llvovolume.cpp
	indra/newview/skins/default/xui/fr/panel_overlaybar.xml
2012-08-09 00:42:23 +02:00
Siana Gearz
f3e7340118 Merge branch 'shycurl' of github.com:singularity-viewer/SingularityViewer
Conflicts:
	indra/llmessage/llhttpclient.cpp
	indra/llmessage/llhttpclient.h
	indra/llmessage/llurlrequest.cpp
	indra/llmessage/llurlrequest.h
2012-08-09 00:02:50 +02:00
Aleric Inglewood
f94f458922 Print CURL_SOCKET_TIMEOUT for that particular value. 2012-08-08 04:10:34 +02:00
Aleric Inglewood
89ef06fd3f Compiler warning fixes. Take into account that debug_libcurl.cpp is no longer linked dynamically. 2012-08-08 01:58:49 +02:00
Aleric Inglewood
ccd135b2a6 and again 2012-08-08 01:04:27 +02:00
Aleric Inglewood
80eb0851d9 Fix stupidity 2012-08-08 01:02:08 +02:00
Aleric Inglewood
b84f470fca Bug fix: curl_off_t has a different size than void* on 32 bit. 2012-08-08 00:40:01 +02:00
Aleric Inglewood
5caeccc007 Final compile/link bug fixes for debug_libcurl code.
renamed cwdebug/debug_libcurl.cc -> llmessage/debug_libcurl.cpp
    and cwdebug/debug_libcurl.h  -> llmessage/debug_libcurl.h,
because debug_libcurl.cpp does curl calls that do ares and
openssl calls, so we need to link with those libraries.
llmessage is already linking with those libraries, and contains
the main entry point aicurl.h, so it's a suitable place to put
this.

Bug fix: must always include llpreprocessor.h before including
curl/curl.h.

Bug fix: Added #include "debug_libcurl.h" to hipporestrequest.cpp
and llurlsimstring.cpp which I missed before because they
included "curl/curl.h" instead of <curl/curl.h>. Same in
llwaterparammanager.cpp, but removed include there because it
isn't needed.

Now test DEBUG_CURLIO before including debug_curlio, that
seems better, because otherwise it would make more sense to
replace all #include <curl/curl.h> with #include "mycurl.h"
and then do it there-- but I didn't want to do that.

Bug fix: we undef-ed CURLOPT_DNS_USE_GLOBAL_CACHE, while really
that is an enum, not a macro.

Fixed DEBUG_WINDOWS_CODE_ON_LINUX again by adding a hack for
ioctlsocket(), not instantiating dumb_socketpair unless
DEBUG_WINDOWS_CODE_ON_LINUX is defined and removing again ^M's
introduced with the new windows non-blocking code.
Also changed the type of flags passed to fcntl to int (was long).
2012-08-07 20:57:39 +02:00
Siana Gearz
96a4e16a4b Don't feed empty, non-working callback to CURL 2012-08-07 18:21:36 +02:00
Aleric Inglewood
477c657f60 Merge remote-tracking branch 'singu/breakforce' into breakforce 2012-08-07 16:19:20 +02:00
Siana Gearz
68ad5411c9 Shyotl's old llcurl 2012-08-07 13:13:45 +02:00
Aleric Inglewood
caef97ad36 Print all libcurl calls if -DDEBUG_CURLIO. Don't create static lib for cwdebug.
Basically, cmake doesn't support linking static libs into a shared lib.
The correct way is to just specify source files in subdirectories
directly as source files of the shared library. This patch changes that.

Also, after this commit, when DEBUG_CURLIO is defined, every call to
libcurl is printed to llinfos (or to dc::curl when using libcwd).
2012-08-05 18:51:21 +02:00
Siana Gearz
761439cc8d Setting socket pair non-blocking 2012-08-05 08:20:31 +02:00
Shyotl
aca3e8f6c4 Cleanup. Removal of dead code. Added/renamed object flag accessors. 2012-08-04 18:18:22 -05:00
Aleric Inglewood
98c740f204 Remove debug output 2012-08-03 00:56:41 +02:00
Aleric Inglewood
08d72b12ab Fix compilation on linux. Remove trailing ^M's 2012-08-02 23:03:03 +02:00
Siana Gearz
4650636e5a Use TCP socket pair instead of UDP 2012-08-02 22:33:01 +02:00
Siana Gearz
12dcbfbc79 Merge remote-tracking branch 'aleric/breakforce' into breakforce 2012-07-31 22:39:48 +02:00
Aleric Inglewood
32be05fa6c Compile warning fixes. Type fix (SLL -> SSL) 2012-07-31 22:37:49 +02:00
Aleric Inglewood
ae62b67554 Merge branch 'curlthreading2' into breakforce 2012-07-31 22:24:57 +02:00
Siana Gearz
783e86990c Compile fixes 2012-07-31 19:42:15 +02:00
Aleric Inglewood
c9715c5b0b Print Dout() and DoutEntering() debug output on windows.
This is a bit of a hack currently and requires a
recompile with -DDEBUG_CURLIO.
2012-07-31 04:57:13 +02:00
Aleric Inglewood
dd47123bde Add possibility to suppress function name prefix in debug output.
Adds llinfos_nf et al.
2012-07-31 04:56:03 +02:00
Aleric Inglewood
3de21156b5 Windows code improvements and debugging.
Extended the DEBUG_WINDOWS_CODE_ON_LINUX hack to include ALL code.
memset-zero sockaddr_in, and use WSASocket as per suggestion of Shyotl.
2012-07-30 02:46:48 +02:00
Aleric Inglewood
ce2c6ab49e Don't crash when libcurl wasn't compiled with support for libz 2012-07-30 02:45:39 +02:00
Aleric Inglewood
d19c5a4a4a Move apr_os_thread_current_wrapper closer to where it's used, and fix a comment. 2012-07-30 02:44:51 +02:00
Aleric Inglewood
464919072d Use LLBufferArray instead of std::stringstream for CurlResponderBuffer::mInput
Note the changed code is never used yet.  CurlResponderBuffer::curlReadCallback
is only called when Request::post is being used, which is never used.
2012-07-29 22:52:20 +02:00
Siana Gearz
f8c2087d74 Preliminary Windows support for curlthreading 2012-07-29 22:47:19 +02:00
Aleric Inglewood
ba65f29a72 Fix draining of wake up pipe.
This is a bug fix, although not one we'd ever run into as normally
there is always just one byte to read, never an EAGAIN and certainly
never more than 256 bytes. Anyway, also those cases should work now.
2012-07-29 21:12:45 +02:00
Aleric Inglewood
76eef6fe59 Avoid crash on exit. 2012-07-29 18:38:59 +02:00
Aleric Inglewood
fe38f59bbb Bug fix 2012-07-29 01:30:10 +02:00
Aleric Inglewood
ed4c6b7c92 Removed dead code.
This code has been in the viewer source for a long time,
and hasn't been used for a long time (furtherest back that
I checked was Snowglobe 1.4).

Most notably, this removes LLContextURLExtractor and code
that used it because that required an API where AICurlEasyHandle
is created before an url is known, which gets in the way of
reusing connections.
2012-07-23 18:15:11 +02:00
Siana Gearz
c3900ee4f3 Merge branch 'AltCompilers' of git://github.com/LightDrake/SingularityViewer
Conflicts:
	indra/newview/llvieweraudio.cpp
2012-07-23 09:03:17 +02:00
Siana Gearz
15086833a3 Random stab in the dark coming right up! 2012-07-22 11:26:36 +02:00
Aleric Inglewood
fb38f6adea Always write curl I/O debug info for the login attempt. 2012-07-21 21:51:24 +02:00