Commit Graph

230 Commits (67cd5efab34b3f36840dcb9a956791ca94e6e43d)

Author SHA1 Message Date
UbitUmarov 67cd5efab3 replace external httpserver by embedded one (based on same code) - This may still be very bad; clean solution and runprebuild, or clone to clan folder 2020-04-02 21:44:34 +01:00
UbitUmarov e558dd3ac6 update httpserver.dll this needs testing. May not be that nice... 2020-03-31 21:43:40 +01:00
UbitUmarov 8d8b5b756f mantis 8663: add CertificateValidationCallback set. Thanks Manni 2020-02-18 20:23:14 +00:00
Robert Adams 9956f5cb4a Changes fix some CORS problems when making XMLRPC calls from
browsers (which have gotten very picky over the years).
Add "Access-Control-Allow-Origin" to XMLRPC responses.
Add "Access-Control-Allow-Methods" and "Access-Control-Allow-Headers" to
    the HTTP OPTIONS response (used in CORS pre-flight request).
2019-09-17 19:30:30 -07:00
UbitUmarov 7b2b29d10d return a proper http error 2018-12-07 04:45:32 +00:00
UbitUmarov 037de89a75 clean a bit 2018-12-03 13:51:45 +00:00
UbitUmarov 66f3c6c730 avoid a data copy 2018-12-03 10:39:54 +00:00
UbitUmarov d179b2dda1 avoid data references stuck in packet pools 2018-11-25 18:38:37 +00:00
UbitUmarov 5b5e53aa1d we should only have one http poll service manager per instance 2018-11-03 11:43:47 +00:00
UbitUmarov ca404e5001 some cleanup 2018-09-12 13:48:29 +01:00
UbitUmarov 9f3c803552 avoid potencial null refs 2018-08-26 08:40:35 +01:00
UbitUmarov aee981e5e2 http reusecontext is obsolete 2018-07-14 21:48:59 +01:00
UbitUmarov 6d4b0a8ce3 Merge branch 'master' into httptests 2017-08-16 05:05:57 +01:00
UbitUmarov fc4212bc81 mantis 8222 2017-07-29 17:54:18 +01:00
UbitUmarov 7d58b73bbc some changes on pollevent 2017-06-06 21:55:47 +01:00
UbitUmarov d1306c8976 a null ref check left behind on previus commits 2017-05-28 02:11:40 +01:00
UbitUmarov a7db505caf stupid mono5 doesn't know about Subject Alternative Name IPAddress 2017-05-27 12:38:31 +01:00
UbitUmarov 117e6ec266 fix wrong cert ip compare 2017-05-27 08:30:12 +01:00
UbitUmarov 6c79cc652b some conditional dispose on http requests inputstream 2017-05-08 00:54:17 +01:00
UbitUmarov 604b966d84 some conditional dispose on http requests inputstream 2017-05-08 00:40:15 +01:00
UbitUmarov 11f6d28a06 fix merge 2017-05-07 04:21:33 +01:00
UbitUmarov d0912b6151 let StreamReader be in using statements 2017-05-07 00:47:45 +01:00
UbitUmarov 254b26a7d5 fix merge 2017-01-05 19:32:57 +00:00
Melanie Thielker b16abc8166 Massive tab and trailing space cleanup 2017-01-05 19:07:37 +00:00
UbitUmarov 5fc3605955 some cleanup, use more using(), more checks so http request mem stream is closed 2016-12-30 07:15:28 +00:00
UbitUmarov 30dccd57cd provide remote SSLcommonName to xmlRpcRequest methods, but in a away it can be detected/parsed. This is used by some external modules like DTLNSLMoneyServer. But this module does need to change on this ( and it cannot override default validation rules, it needs to do it on its httplistener with method provided in previus commits 2016-12-09 04:32:59 +00:00
UbitUmarov 6627da693e suport client certificate validation per listenner, with a supplied static callback 2016-12-09 04:07:06 +00:00
UbitUmarov 806e75eefb remove not needed sslport parameter 2016-12-08 23:39:55 +00:00
UbitUmarov 80d4f76d18 keep a unsecure http port up for external services (datasnapshot search). Only fire poolservices on main http listener 2016-10-09 20:18:20 +01:00
UbitUmarov 5b946405a0 changes to regions ssl suport: verify if hostnames are validate by the selected cert, make clear that for now all regions need to have the same ExternalHostName if using sll (due to other code that needs to be changed later) 2016-10-09 01:01:52 +01:00
UbitUmarov b51739e23e recover regions main http server ssl suport. Using a PKCS12 cert file, and not certs store for now. Option http_listener_cn, cert CN need to the same as external IP. Self sign certs do seem to work, but the viewers option NoVerifySLLCert needs to be set true. CA check is not done but they do check the IP 2016-10-06 21:35:11 +01:00
UbitUmarov 4f9378bf97 remove reuse context code, they had notthing worth using and on original code when reusing contexts still in use, etc. Change DLL information to make clear it is a opensim fork, so our responsability not original author 2016-09-03 08:50:22 +01:00
UbitUmarov 0f4d54b8b2 put back the dangerous resp.ReuseContext = true option, that for some odd reason OSgrid nginx configuration seems to need 2016-08-21 20:52:31 +01:00
UbitUmarov f636ef037a http send is blocking, so we need we need to do it async in all cases. - this will need revision after server changes 2016-07-16 20:23:30 +01:00
Diva Canto e0a82a82de "reverting" the keep alive changes brought in from avination, to check if that's what's making osgrid fail. This is not really reverting, it's more manually resetting some places (not all) where keep alive is set. 2016-06-14 08:58:37 -07:00
UbitUmarov e441c9cac1 dont let http keepalive and context reuse be true 2015-09-23 23:59:50 +01:00
UbitUmarov a11edceb00 seems to compile ( tests comented out) 2015-09-02 19:54:53 +01:00
UbitUmarov 371c9dd2af bad merge? 2015-09-01 14:54:35 +01:00
UbitUmarov 05d72f77ff do keepalive on mesh and texture GET. Dont use reusecontext any where.
setting of keepalive is wrong, it should follow the requested one ( or
always as http1.1) only deny if needed (errors). KeepAlive may increase
stress on number of avaiable file descritors.
2015-08-18 21:32:03 +01:00
Freaky Tech f68a1a2218 XML should not contain any BOM. Disabled BOM generation in BaseHttpServer
Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
2015-03-03 15:35:09 -05:00
UbitUmarov fd79f75ba6 TEST**** wingridproxy detection at grid login. Untested possible not
very reliable. Adds some load even on region servers because of code at
 BaseHttpServer.
2014-10-24 02:12:30 +01:00
Oren Hurvitz 99ac770abb Close streams immediately when we finish using them 2014-07-21 08:30:03 +01:00
Oren Hurvitz 88f7a833dc Improved HTTP logging 2014-04-29 07:59:17 +01:00
Oren Hurvitz bc06db3df4 - Created a standard function to send XML-RPC requests, which logs them like we do for other types of HTTP activity.
- Changed OpenProfileClient to use the new XML-RPC sending function
- Improved logging in WebUtil
2014-04-24 15:58:43 +01:00
Oren Hurvitz 2051535ce1 String matching in REST handlers: must allow '-' as a separator, because the "/map" handler uses it 2014-04-02 15:11:54 +01:00
Oren Hurvitz aa217cf90f Better string matching when searching for REST handlers: must match an entire path component (ending with '/' or a similar character).
For example, these should match: "/assets" and "/assets/12345", but these shouldn't match: "/assets" and "/assets_exist".
2014-04-02 08:52:44 +03:00
Oren Hurvitz bbfda8e19e Fixed last-resort sending of error response (HTTP 500) when an error occurs while handling a request.
The previous code didn't actually send the response, so the caller was stuck until the timeout (100 seconds).
2014-04-02 06:32:41 +01:00
Oren Hurvitz 6d1d58b654 Use the "X-Content-Encoding" header to indicate gzipped data, because old OpenSims fail if they get an unknown "Content-Encoding" 2014-03-25 18:09:23 +01:00
Oren Hurvitz b1d8aa0b64 Use the "Content-Encoding" header to indicate gzipped streams 2014-03-25 15:36:59 +01:00
Oren Hurvitz f90aee696a Always throw an exception if MakeRequest (used for HTTP POST) fails. (Previously many exceptions were ignored)
Resolves http://opensimulator.org/mantis/view.php?id=6949
2014-03-25 09:37:10 +01:00