Skip to content
Snippets Groups Projects
  1. Sep 29, 2020
  2. Aug 24, 2020
  3. Apr 09, 2020
  4. Apr 14, 2017
    • Oz Linden's avatar
      Change certificate store infrastructure to key off of the Subject Key · fd3628ef
      Oz Linden authored
      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.
      fd3628ef
  5. Dec 19, 2016
    • Nat Goodspeed's avatar
      DRTVWR-418: Use U32 for int (and hex) of HttpStatus in 64-bit too. · 40fb9d3e
      Nat Goodspeed authored
      Turns out that Monty didn't intend for the int-flavored representation of
      HttpStatus to expand to 64 bits even when unsigned long is that wide. So
      change the implicit conversion operator, and its uses, to U32 instead. That
      produces a consistent toHex() result for both 32-bit and 64-bit builds.
      40fb9d3e
  6. Nov 10, 2015
  7. Oct 16, 2015
  8. Sep 21, 2015
  9. Sep 15, 2015
  10. Apr 08, 2015
  11. Mar 27, 2015
  12. Mar 25, 2015
  13. Mar 23, 2015
  14. Mar 16, 2015
  15. Sep 24, 2013
    • Monty Brandenberg's avatar
      SH-3690 SH-4505 Cleanup pass through code. · 200bea5b
      Monty Brandenberg authored
      Start using DNS cache in legacy LLCurl code.  Go to 15 seconds
      particularly as we're using threaded resolver at this point.
      Documentation cleanup.  Add libcurl status checking and logging
      for curl_easy_setopt() operations that fail.  Shouldn't happen
      and we'll just continue anyway but there's info in the logs to
      track these down now.  Cleaned up logic around FASTTIMER enable
      defines used to evaluate pipeline stalls in main thread.
      Removed long-standing thread race around caps strings and
      URL construction.  Not a significant risk but refactoring the
      code to get rid of them removed one huge eyesore.  It can be
      made even slicker if desired (see notes).
      200bea5b
  16. Sep 11, 2013
  17. Jul 12, 2013
    • Monty Brandenberg's avatar
      SH-4312 Configuration data between viewer and llcorehttp is clumsy. · eff651cf
      Monty Brandenberg authored
      Much improved.  Unified the global and class options into a single
      option list.  Implemented static and dynamic setting paths as much
      as possible.  Dynamic path does require packet/RPC but otherwise
      there's near unification.  Dynamic modes can't get values back yet
      due to the response/notifier scheme but this doesn't bother me.
      Flatten global and class options into simpler struct-like entities.
      Setter/getter available on these when needed (external APIs) but code
      can otherwise fiddle directly when it knows what to do.  Much duplicated
      options/state removed from HttpPolicy.  Comments cleaned up.  Threads
      better described and consistently mentioned in API docs.  Integration
      test extended for 503 responses with Reply-After headers.
      eff651cf
  18. May 06, 2013
    • Monty Brandenberg's avatar
      BUG-2295/MAINT-2624 unexpected crash around Content-Range: header processing · f5e8457e
      Monty Brandenberg authored
      Not certain what the source of the short data is with one resident but I'm
      going to make these problems retryable as they are transport-related.  Lift
      the retry detection into a method that should be reusable by others interested
      in determining what is retryable.  Trace output handling on the libcurl debug
      callback was attrocious.  Some unsafe length handling on my part was protected
      by a second layer of defense.  Made that correct and more useful by logging
      actual data sizes during trace.
      f5e8457e
  19. Mar 29, 2013
  20. Jul 23, 2012
  21. Jul 16, 2012
    • Monty Brandenberg's avatar
      SH-3189 Remove/improve naive data structures · d238341a
      Monty Brandenberg authored
      When releasing HTTP waiters, avoid unnecessary sort activity.
      For Content-Type in responses, let libcurl do the work and removed
      my parsing of headers.  Drop Content-Encoding as libcurl will deal
      with that.  If anyone is interested, they can parse.
      d238341a
  22. Jul 07, 2012
  23. Jun 08, 2012
    • Monty Brandenberg's avatar
      Implemented HTTP retry for requests. Went in rather easily which · 28a04400
      Monty Brandenberg authored
      surprised me.  Added a retry queue similar to ready queue to the
      policy object which is sorted by retry time.  Currently do five
      retries (after the initial try) delayed by .25, .5, 1, 2 and 5
      seconds.  Removed the retry logic from the lltexturefetch module.
      Upped the waiting time in the unit test for the retries.  People
      won't like this but tough, need tests.
      28a04400
  24. Jun 06, 2012
    • Monty Brandenberg's avatar
      Policy + caching fixes + https support + POST working · 05af16a2
      Monty Brandenberg authored
      Implemented first global policy definitions to support SSL CA certificate configuration
      to support https: operations.  Fixed HTTP 206 status handling to match what is currently
      being done by grid services and to lay a foundation for fixes that will be a response
      to ER-1824.  More libcurl CURLOPT options set on easy handles to do peer verification
      in the traditional way.  HTTP POST working and now reporting asset metrics back to
      grid for the viewer's asset system.  This uses LLSD so that is also showing as compatible
      with the new library.
      05af16a2
  25. Jun 01, 2012
    • Monty Brandenberg's avatar
      Major steps towards implementing the policy component. · b8edacd0
      Monty Brandenberg authored
      Identified and reacted to the priority inversion problem we
      have in texturefetch.  Includes the introduction of a priority_queue
      for the requests that are ready.  Start some parameterization in
      anticipation of having policy_class everywhere.  Removed _assert.h
      which isn't really needed in indra codebase.  Implemented async
      setPriority request (which I hope I can get rid of eventually along
      with all priorities in this library).  Converted to using unsigned
      int for priority rather than float.  Implemented POST and did
      groundwork for PUT.
      b8edacd0
  26. May 23, 2012
    • Monty Brandenberg's avatar
      Integrate llcorehttp library into lltexturefetch design. · 8fc35012
      Monty Brandenberg authored
      This is the first functional viewer pass with the HTTP work of the texture fetch
      code performed by the llcorehttp library.  Not exactly a 'drop-in' replacement
      but a work-alike with some changes (e.g. handler notification in consumer
      thread versus responder notification in worker thread).
      
      This also includes some temporary changes in the priority scheme to prevent
      the kind of priority inversion found in VWR-28996.  Scheme used here does
      provide liveness if not optimal responsiveness or order-of-operation.
      
      The llcorehttp library at this point is far from optimally performing.
      Its worker thread is making relatively poor use of cycles it gets and
      it doesn't idle or sleep intelligently yet.  This early integration step
      helps shake out the interfaces, implementation niceties will be covered
      soon.
      8fc35012
  27. May 08, 2012
  28. May 07, 2012
    • Monty Brandenberg's avatar
      Build llcorehttp as part of a viewer dependency with unit tests. This required · 74d59e71
      Monty Brandenberg authored
      boost::thread and the easiest path to that was to go with the 1.48 Boost release
      in the 3P tree (eliminating a fork for a modified 1.45 packaging).  One unit test,
      the most important one, is failing in test_httprequest but that can be attended
      to later.  This test issues a GET to http://localhost:2/ and that is hitting the
      wire but the libcurl plumbing isn't delivering the failure, only the eventual
      timeout.  An unexpected change in behavior.
      74d59e71
  29. Apr 26, 2012
  30. Apr 23, 2012
Loading