Commit Graph

83 Commits (8912a9bef62386e5eecaa61ba9079d507ae16d90)

Author SHA1 Message Date
Logan Dethrow b8fddce34d Merge. Fixed issue with LLProxy code related to changes to the LLSocket interface. 2011-09-07 16:40:40 -04:00
Logan Dethrow f73b795bb7 Renamed LLCurl::check_curl_code() and LLCurl::check_curl_multi_code() to prevent ambiguous name build error. 2011-09-06 17:33:18 -04:00
Logan Dethrow a8d49f7cf5 LLProxy code review fixes.
* Removed check_curl_code and check_curl_multi_code from the global namespace.
 * Added comments documenting which thread the public methods of LLProxy should be called from.
 * Corrected grammar in LLSingleton.h
 * Fixed a buffer scope problem in llpacketring.cpp.
2011-09-06 16:54:53 -04:00
Logan Dethrow 6ab0bc8789 LLProxy start of code review cleanup. 2011-09-01 16:44:04 -04:00
Xiaohong Bao 749d9ebadc Merge 2011-08-31 10:48:56 -06:00
Logan Dethrow 4fb809eed5 Backed out revision cbc793dcd3db to disable libcurl verbose logging. 2011-08-18 16:10:49 -04:00
Logan Dethrow ff870e9770 Back out later: Turned on curl verbose logging for debugging purposes. 2011-08-15 13:22:23 -04:00
Logan Dethrow 1fa2afbe20 merge 2011-08-08 18:09:11 -04:00
Dave Parks 9883c33993 SH-2183 Thread local storage initialization is unreliable. 2011-08-02 12:47:35 -05:00
Dave Parks aa0e35142a SH-2183 Only apply multi-threaded curl on the main thread. 2011-08-02 12:23:50 -05:00
Dave Parks fbd5bd7adc SH-2183 Add a debug setting to control whether or not to use multiple threads in LLCurl 2011-08-01 17:50:43 -05:00
Logan Dethrow 814a2d24dc Merge 2011-07-28 10:41:59 -04:00
Dave Parks cd923af21f SH-2183 Fix for multi-threaded curl not playing nice with mesh upload. 2011-07-28 00:26:30 -05:00
Nyx (Neal Orman) c07f55e605 merging latest viewer-development to mesh merge candidate. 2011-07-25 18:26:14 -04:00
Dave Parks 26a9a6929c SH-2031 Fix for sometimes deadlocking a curl thread. 2011-07-22 16:22:51 -05:00
Dave Parks e4a8ef4ce2 SH-2031 Cleanup from threaded curl implementation (remove errors/loops on shutdown). 2011-07-22 02:33:55 -05:00
Dave Parks 7b6afd1eba SH-2031 Followup to curl threading work -- don't start and stop the thread on every request, use a signal (cuts time spent in Pump IO down from 1-2 ms to 0.1ms) 2011-07-21 23:33:23 -05:00
Dave Parks 764a13a196 SH-2031 Don't do network I/O from the main thread in llcurl.
Reviewed by Kelly
2011-07-21 17:35:04 -05:00
Logan Dethrow 792667ff8e STORM-1112 Added LLProxy::applyProxySettings() to apply proxy settings to curl handles.
Added call to that function everywhere curl handles are created in the viewer.
2011-07-19 14:20:21 -04:00
Xiaohong Bao d951267467 Merge from viewer-development 2011-07-15 12:14:34 -06:00
Logan Dethrow cb24dff9e3 Code cleanup for the SOCKS 5 proxy viewer. 2011-07-13 16:46:36 -04:00
Logan Dethrow cfce3686de STORM-1112 Fixed network buffers that need to have space for the SOCKS proxy header. 2011-07-13 11:40:50 -04:00
Logan Dethrow 7717b6f647 STORM-1112 More cleanup of SOCKS 5 proxy code.
Renamed llsocks5.cpp to llproxy.cpp.
2011-06-28 19:54:53 -04:00
Logan Dethrow 20100ba38c Refactored SOCKS 5 handshake to use existing LLSocket class. 2011-06-21 17:09:12 -04:00
Xiaohong Bao aba4f7ddc8 fix for SH-1870: can not upload book_collection_1.dae when include textures 2011-06-20 14:01:32 -06:00
Logan Dethrow 7cb18f5318 Merged STORM-1112 with viewer-development. Fixed license in socks5.cpp and socks5.h. 2011-06-08 15:17:19 -04:00
Dave Parks 93696ac019 merge 2011-05-12 17:39:08 -05:00
Leslie Linden 3063c1be41 EXP-772 -- Log in failure, keeps saying DNS cannot resolve hostname.
No real progress on this Jira yet but Mac build was not properly reporting the CURL error string.
This check-in fixes that.

So far, I have backed out URL related changes between 2.6.2 and 2.6.3 without any change in behavior.
Unsure how to proceed next although comparing libcares and libcurl builds between 2.6.2 and 2.6.3 seems
like it could be the next logical step.

Users experiencing the problem can go back to vewere 2.6.2 or adjust DNS settings to use the google free
DNS servers 8.8.8.8 and 8.8.4.4 which should allow them to work around the problem.

Reviewed by Richard.
2011-05-04 16:27:59 -07:00
Robin Cornelius 74d9bf0d55 VWR-20801 Implement SOCKS 5 Proxy for the viewer 2011-03-28 11:20:06 +01:00
Dave Parks a761351396 SH-813 Switch llerrs in llcurl.cpp to an assert. 2011-02-11 19:07:11 -06:00
Aleric Inglewood ef490e308c Introduces a LLThreadLocalData class that can be
accessed through the static LLThread::tldata().
Currently this object contains two (public) thread-local
objects: a LLAPRRootPool and a LLVolatileAPRPool.

The first is the general memory pool used by this thread
(and this thread alone), while the second is intended
for short lived memory allocations (needed for APR).
The advantages of not mixing those two is that the latter
is used most frequently, and as a result of it's nature
can be destroyed and reconstructed on a "regular" basis.

This patch adds LLAPRPool (completely replacing the old one),
which is a wrapper around apr_pool_t* and has complete
thread-safity checking.

Whenever an apr call requires memory for some resource,
a memory pool in the form of an LLAPRPool object can
be created with the same life-time as this resource;
assuring clean up of the memory no sooner, but also
not much later than the life-time of the resource
that needs the memory.

Many, many function calls and constructors had the
pool parameter simply removed (it is no longer the
concern of the developer, if you don't write code
that actually does an libapr call then you are no
longer bothered with memory pools at all).

However, I kept the notion of short-lived and
long-lived allocations alive (see my remark in
the jira here: https://jira.secondlife.com/browse/STORM-864?focusedCommentId=235356&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-235356
which requires that the LLAPRFile API needs
to allow the user to specify how long they
think a file will stay open. By choosing
'short_lived' as default for the constructor
that immediately opens a file, the number of
instances where this needs to be specified is
drastically reduced however (obviously, any
automatic LLAPRFile is short lived).

***

Addressed Boroondas remarks in https://codereview.secondlife.com/r/99/
regarding (doxygen) comments. This patch effectively only changes comments.

Includes some 'merge' stuff that ended up in llvocache.cpp
(while starting as a bug fix, now only resulting in a cleanup).

***

Added comment 'The use of apr_pool_t is OK here'.

Added this comment on every line where apr_pool_t
is correctly being used.

This should make it easier to spot (future) errors
where someone started to use apr_pool_t; you can
just grep all sources for 'apr_pool_t' and immediately
see where it's being used while LLAPRPool should
have been used.

Note that merging this patch is very easy:
If there are no other uses of apr_pool_t in the code
(one grep) and it compiles, then it will work.

***

Second Merge (needed to remove 'delete mCreationMutex'
from LLImageDecodeThread::~LLImageDecodeThread).

***

Added back #include <apr_pools.h>.

Apparently that is needed on libapr version 1.2.8.,
the version used by Linden Lab, for calls to
apr_queue_*. This is a bug in libapr (we also
include <apr_queue.h>, that is fixed in (at least) 1.3.7.

Note that 1.2.8 is VERY old. Even 1.3.x is old.

***

License fixes (GPL -> LGPL). And typo in comments.
Addresses merov's comments on the review board.

***

Added Merov's compile fixes for windows.
2011-02-05 15:58:07 +01:00
Loren Shih aa9d9901e8 SH-580 FIXED Crash in curl on exit
New defensive programming added this llerrs trigger.  This is worth investigating but not at the top of our priority at the moment.  Reverting to llinfos for now as has been done for non-Windows builds already.
2011-02-03 17:49:19 -05:00
Nyx (Neal Orman) 1f9ae081ec BUILDFIX making curl asserts llinfos for non-windows platforms
linux curl appears to throw an initialization error once per session
after login. Can't hunt it down right now, so making curl asserts
llinfos for non-windows platforms. Also added a new assert on curl
initialization.
2010-11-05 14:26:25 -04:00
Nyx (Neal Orman) a2b25828aa BUILDFIX curl error causes linux build to crash on login.
Switching curl errors from llerrs to llinfos allows the client to continue
on its merry way. Will file a jira to follow up later on why the error
happens in the first place.
2010-11-04 17:50:10 -04:00
Dave Parks b197f90036 Aggressive error checking in curl. 2010-10-19 23:18:30 -05:00
Oz Linden a5619d16f7 correct licenses (fix problem with license change merge) 2010-10-13 07:24:37 -04:00
Oz Linden 06b0d72efa Change license from GPL to LGPL (version 2.1) 2010-08-13 07:24:57 -04:00
Dave Parks 2f012dd34f merge 2010-08-25 14:48:18 -05:00
Palmer aac8bf0988 EOL added. 2010-07-22 15:26:55 -07:00
Palmer 7d73afe895 EXT-7145 - Handle http redirects in viewer properly. Didn't work before.
Reviewed by Bao and Babbage
2010-07-22 15:20:45 -07:00
Dave Parks f461ae214c Merge with render-pipeline 2010-06-07 23:05:22 -05:00
Tofu Linden 3057651b1a EXT-7145: FIXED: make viewer to handle "URL redirect " for http texture.
Backed out changeset e6feef9704cf to re-introduce Bao's fix
2010-06-07 17:31:22 +01:00
Tofu Linden 87d0c6d583 Backed out changeset 57e00f7d4d4f
(was: EXT-7145: FIXED: make viewer to handle "URL redirect " for http texture.)

This was causing osx/linux build failure.
2010-05-24 07:49:26 +01:00
Xiaohong Bao 9dada6bcc4 EXT-7145: FIXED: make viewer to handle "URL redirect " for http texture. 2010-05-18 14:14:50 -06:00
Roxie Linden 658ccc3e85 Re-insert backed out SLE checkin so we can fix it 2010-04-07 11:08:04 -07:00
Tofu Linden 58d1999d47 merge from viewer-trunk 2010-04-07 13:08:54 +01:00
Tofu Linden 0bb3f144c0 Backed out changeset 63b699f90efd 2010-04-07 10:37:07 +01:00
Tofu Linden 8f16be49dc some fixing from the viewer-trunk merge. 2010-04-06 15:09:18 +01:00
Tofu Linden 3c47d1faf1 another hairy merge from viewer-trunk :( 2010-04-06 14:47:43 +01:00
Dave Parks e38adc5baf cleanup from review 2010-03-02 12:35:19 -06:00