Commit Graph

71 Commits (ee37ea4aa751de128ce51f59260716d8ee8ee6ed)

Author SHA1 Message Date
Andrey Kleshchev 57f654e2ed SL-16192 Add version info into LLXMLRPCTransaction's http header 2021-11-08 22:43:23 +02:00
Andrey Kleshchev 2de92430ef Revert "SL-15141 Update CURL to 7.76.1" due to OPS-4251
This reverts commit 45b5ac72b2 and updates curl links
2021-04-20 19:42:39 +03:00
Andrey Kleshchev 45b5ac72b2 SL-15141 Update CURL to 7.76.1
CURLE_SSL_CACERT is now identical to CURLE_SSL_PEER_CERTIFICATE
2021-04-20 02:12:16 +03:00
Andrey Kleshchev 82e5f6c24f SL-12421 Viewer's certificate validation does not reject connections 2020-03-04 19:13:55 +02:00
andreykproductengine d785c87d62 SL-2364 Fixed Viewer Caches Login Host DNS Entries Indefinetely 2019-01-29 21:33:31 +02: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
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
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
Oz Linden 9be58e915a merge with 4.0.3-release 2016-04-04 15:53:09 -04: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
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
Brad Payne (Vir Linden) 7b9708a2e3 sunshine-external merge WIP 2014-05-13 10:02:26 -04: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
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
Logan Dethrow 6ce2c20a06 STORM-1112 First pass at cleanup of SOCKS 5 proxy code based on Linden Coding Standard and comments in the code review. 2011-06-10 17:34:00 -04:00
Robin Cornelius 74d9bf0d55 VWR-20801 Implement SOCKS 5 Proxy for the viewer 2011-03-28 11:20:06 +01:00
Oz Linden 06b0d72efa Change license from GPL to LGPL (version 2.1) 2010-08-13 07:24:57 -04:00
Andrew A. de Laix d8adbf8438 Fix EXT-7167: updated status url to status.secondlifegrid.net. 2010-06-10 15:37:07 -07:00
Roxie Linden 0ffba7c663 automated merge 2010-05-27 22:58:40 -07:00
Roxie Linden e44d0254af automated merge 2010-05-27 21:22:46 -07:00
karina cca5aa48ae Add new mechanism for getting a unique machine id. 2010-05-26 23:46:42 -07:00
Roxie Linden 1ad46b5cd0 DEV-50173 - investigate certificate code performance
DEV-50166 - LLBasicCertificateChain::validate calls in log
Added caching of certificates that have been validated.
The sha1 hash for the certificate is stored and is associated
with the from and to times.  When the certificate is validated,
the code determines whether the certificate has successfully
been validated before by looking for it in the cache, and then
checks the date of the cert.  If that is successful,
the validation calls with success.

Otherwise, it proceeds to do a full validation of the certificate.
2010-05-24 13:59:10 -07:00
Alexei Arabadji 98ac69e3a8 EXT-7323 FIXED Moved to strings.xml unexpected server side problem message.
reviewed by Mike Antipov at https://codereview.productengine.com/secondlife/r/431/

--HG--
branch : product-engine
2010-05-25 11:14:24 +03: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 0bb3f144c0 Backed out changeset 63b699f90efd 2010-04-07 10:37:07 +01:00
Roxanne Skelly 9e89819d55 DEV-34822 - merge with 1.23
certificate notification code
-r 118191

ignore-dead-branch
2009-07-08 00:45:17 +00:00