Commit Graph

83 Commits (962be69e7170a9f7e8a99b9da4eae22ea6cdb038)

Author SHA1 Message Date
Ansariel 6a05670f6f Merge branch 'master' of https://vcs.firestormviewer.org/viewer-merges/phoenix-firestorm-501 2020-06-03 09:26:07 +02:00
Beq 9697c5ba3f OpenSim - Crash in transaction completion (via bugsplat) 2020-06-01 22:49:41 +01:00
Ansariel 6afd505fa8 Merge branch 'DRTVWR-503-maint' of https://bitbucket.org/lindenlab/viewer 2020-05-05 15:24:10 +02:00
Andrey Kleshchev 82e5f6c24f SL-12421 Viewer's certificate validation does not reject connections 2020-03-04 19:13:55 +02:00
Ansariel c764079389 Merge viewer-neko 2019-02-14 21:21:38 +01:00
andreykproductengine d785c87d62 SL-2364 Fixed Viewer Caches Login Host DNS Entries Indefinetely 2019-01-29 21:33:31 +02:00
Ansariel b4ab48c849 Merge viewer-neko 2018-12-13 00:34:43 +01:00
AndreyL ProductEngine 21d4ce26d3 INTL-324 added support for TLS failure dialog localization 2018-12-12 00:11:16 +02:00
andreykproductengine a48ff6c2fa SL-10172 Add a KB link to the TLS failure dialog 2018-12-06 19:50:33 +02:00
Nicky 1ef878cc5b Fix some weirdness of passing 2/1 instead of true/false into setSSLVerifyHost. 2018-03-26 22:05:44 +02:00
Ansariel e0e09481df Merge Firestorm LGPL 2017-08-05 15:08:10 +02:00
andreykproductengine f2e98838a4 MAINT-7495 Viewer retries too many time apon 504 from login.cgi 2017-07-24 17:06:12 +03:00
Oz Linden fd3628ef45 Change certificate store infrastructure to key off of the Subject Key
Id rather than sha1 hash, since that is rarely used in modern
certs. The previous form was storing trusted certs using an empty sha1
hash value as the key, which meant most certificates matched... not good.

Modify the LLCertException to pass certificate information back as
LLSD rather than an LLPointer<LLCertificate>, because when the
exception is being thown from the certificate constructor that results
in one of a couple of other exceptions (even refcounting won't save
you when the problem is that the thing you're pointing to never
finished coming into being properly).

Update the certificates in the llsechandler_basic_test to modern
conventions, and extend the classes to allow for an optional
validation date so that the test can use a fixed date. Also make all
the certificates include the plain text form for ease of reference.
2017-04-14 16:05:59 -04:00
Ansariel 2797c5938a Merge Firestorm LGPL 2016-04-05 10:47:23 +02:00
Oz Linden 9be58e915a merge with 4.0.3-release 2016-04-04 15:53:09 -04:00
Ansariel 3192fe832f Merge viewer-quickgraphics 2016-03-08 01:41:31 +01:00
Nicky 6a85c579b2 Allow TLS 1.2. 2015-11-16 15:26:18 +01:00
Oz Linden c8726aba30 remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
Rider Linden bbb9d4f21b MAINT-5732: Change to the way event polling handles error conditions and cancel calls.
Refactor any remaining LLCore::HTTPHandlers to use boost::shared_ptr
Started minor refactor in the materials manager into coroutines (unfinished)
2015-10-14 17:46:24 -07:00
Oz Linden d62ad1ef8a merge changes for 5.0.8-release 2017-10-11 09:13:55 -04:00
andreykproductengine 1a5fa01fb8 MAINT-7495 Viewer retries too many time apon 504 from login.cgi 2017-07-24 17:06:12 +03:00
Rider Linden 907efc9cc9 MAINT-5507: Remove llcurl, move constant values and untilities to llcorehttp lib 2015-09-15 17:01:26 -07:00
Rider Linden fe5567639d Change HttpOptions::ptr_t to be shared_ptr<> rather than intrusive. 2015-07-08 12:09:36 -07:00
Rider Linden 1138c57f9a Convert LLCore::HttpHeaders to use shared_ptr<> rather than an intrusive_ptr<> for refrence counting. 2015-07-08 10:01:27 -07:00
Nat Goodspeed 80d17b2dd9 MAINT-4952: Use IntrusivePtr for BufferArray,HttpHeaders,HttpOptions.
Specifically, change the ptr_t typedefs for these LLCore classes to use
IntrusivePtr rather than directly using boost::intrusive_ptr. This allows us
to use a simple ptr_t(raw ptr) constructor rather than having to remember to
code ptr_t(raw ptr, false) everywhere. In fact, the latter form is now invalid:
remove the now-extraneous 'false' constructor parameters.
2015-06-29 17:19:51 -04:00
Rider Linden e140118fc4 Replace appearance responder with new LLCore Appearance Handler.
Prep for some slight cleanup of the code.
Add AP_AVATAR Policy
2015-03-25 11:31:11 -07:00
Rider Linden 3c46c6bcf2 Boost unique_ptr into xmlrpc 2015-03-24 10:00:30 -07:00
Rider Linden 6b8c814df3 Adding new HTTP handling for material manager. 2015-03-19 17:01:21 -07:00
Rider Linden 6f4d36634e Removal of RPCXML dep on LLCurl switching to LLCore::Html 2015-03-16 17:14:34 -07:00
Ansariel f4bfb1aadf Merge LL V3.7.9 (AIS3 + SSA) 2014-10-22 02:02:08 +02:00
Brad Payne (Vir Linden) 7b9708a2e3 sunshine-external merge WIP 2014-05-13 10:02:26 -04:00
Tank_Master 6babf8abd2 Merge LL 3.7.7 2014-06-09 11:29:57 -07:00
Richard Linden e340009fc5 second phase summer cleaning
replace llinfos, lldebugs, etc with new LL_INFOS(), LL_DEBUGS(), etc.
2013-08-09 17:11:19 -07:00
Richard Linden 0a96b47663 merge with viewer-release 2013-06-05 19:05:43 -07:00
Brad Payne (Vir Linden) a04a706c1b merge 2013-05-21 16:18:48 -04:00
Don Kjer beeefb4526 Renaming HTTP_HEADER_* into HTTP_IN_HEADER_* and HTTP_OUT_HEADER_* to make it more clear which header strings should be used for incoming vs outgoing situations.
Using constants for commonly used llhttpnode context strings.
2013-04-04 21:50:45 +00:00
Graham Madarasz bf6182daa8 Update Mac and Windows breakpad builds to latest 2013-03-29 07:50:08 -07:00
Don Kjer f945415210 Large changes to the LLCurl::Responder API, as well as pulling in some changes to common libraries from the server codebase:
* Additional error checking in http handlers.
* Uniform log spam for http errors.
* Switch to using constants for http heads and status codes.
* Fixed bugs in incorrectly checking if parsing LLSD xml resulted in an error.
* Reduced spam regarding LLSD parsing errors in the default completedRaw http handler.  It should not longer be necessary to short-circuit completedRaw to avoid spam.
* Ported over a few bug fixes from the server code.
* Switch mode http status codes to use S32 instead of U32.
* Ported LLSD::asStringRef from server code; avoids copying strings all over the place.
* Ported server change to LLSD::asBinary; this always returns a reference now instead of copying the entire binary blob.
* Ported server pretty notation format (and pretty binary format) to llsd serialization.

* The new LLCurl::Responder API no longer has two error handlers to choose from.  Overriding the following methods have been deprecated:
** error - use httpFailure
** errorWithContent - use httpFailure
** result - use httpSuccess
** completed - use httpCompleted
** completedHeader - no longer necessary; call getResponseHeaders() from a completion method to obtain these headers.

* In order to 'catch' a completed http request, override one of these methods:
** httpSuccess - Called for any 2xx status code.
** httpFailure - Called for any non-2xx status code.
** httpComplete - Called for all status codes.  Default implementation is to call either httpSuccess or httpFailure.
* It is recommended to keep these methods protected/private in order to avoid triggering of these methods without using a 'push' method (see below).

* Uniform error handling should followed whenever possible by calling a variant of this during httpFailure:
** llwarns << dumpResponse() << llendl;
* Be sure to include LOG_CLASS(your_class_name) in your class in order for the log entry to give more context.

* In order to 'push' a result into the responder, you should no longer call error, errorWithContent, result, or completed.
* Nor should you directly call httpSuccess/Failure/Completed (unless passing a message up to a parent class).
* Instead, you can set the internal content of a responder and trigger a corresponding method using the following methods:
** successResult - Sets results and calls httpSuccess
** failureResult - Sets results and calls httpFailure
** completedResult - Sets results and calls httpCompleted

* To obtain information about a the response from a reponder method, use the following getters:
** getStatus - HTTP status code
** getReason - Reason string
** getContent - Content (Parsed body LLSD)
** getResponseHeaders - Response Headers (LLSD map)
** getHTTPMethod - HTTP method of the request
** getURL - URL of the request

* It is still possible to override completeRaw if you want to manipulate data directly out of LLPumpIO.

* See indra/llmessage/llcurl.h for more information.
2013-03-13 06:26:25 +00:00
Nicky 1168b7b564 Better fix for FIRE-11406. Just disable TLSv1.2. 2013-08-21 20:49:36 +02:00
Nicky 623a283c94 FIRE-11406; Force xmlrpctransaction to speak SSL3 to server instead of letting it try TLS 1.2. Using TLS 1.2 will make the server stop communicating and the connection then hangs until timeout. 2013-08-21 02:05:43 +02:00
Richard Linden c136b43214 SH-3406 WIP convert fast timers to lltrace system
eliminated min and max macros from windows.h
got rest of viewer to compile against llfasttimer changes
2012-11-15 19:46:09 -08:00
Xiaohong Bao f082de03ff fix for SH-2845, SH-2846, SH-2847, SH-2851: curl crashes and out-of-memory crashes. 2012-01-12 16:36:56 -07:00
Xiaohong Bao b4766d2fde fix for sh-2601: [crashhunters] crash in LLBufferArray::countAfter()
sh-2602: [crashhunters] crash on exit in ~LLPumpIO()
2011-11-21 14:42:21 -07:00
Logan Dethrow 5915da89f0 LLProxy cleanup.
Made the socks proxy start first in llstartup.cpp
Moved initialization of the proxy to before the HTTP table fetch
Added Doxygen comments to LLProxy methods.
Removed call to applyProxySettings in llxmlrpctransaction.cpp since the ctor of LLCurlEasyRequest will apply the proxy settings.
2011-08-08 15:53:06 -04:00
Logan Dethrow 814a2d24dc Merge 2011-07-28 10:41:59 -04: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
Logan Dethrow cb24dff9e3 Code cleanup for the SOCKS 5 proxy viewer. 2011-07-13 16:46:36 -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