1. 20 Oct, 2012 4 commits
    • Timothy B. Terriberry's avatar
      Make the URL API more extensible. · 800be8c0
      Timothy B. Terriberry authored
      Right now we have no way to add any more parameters beyond a set of
       basic binary flags.
      This unifies op_url_stream_create() and
       op_url_stream_create_with_proxy() into a single function that
       takes a variable-length list of arguments, which can be extended
       in the future to include more options of any type.
      
      This is an incompatible API change.
      800be8c0
    • Timothy B. Terriberry's avatar
      Fix op_http_parse_connection(). · 756c4c0b
      Timothy B. Terriberry authored
      We were computing the return value correctly, but then not
       returning it.
      756c4c0b
    • Timothy B. Terriberry's avatar
      Some http robustness improvements. · f83266d9
      Timothy B. Terriberry authored
      - Increase the maximum response header buffer size up to ~32 kB.
        This also moves it into a heap-allocated buffer instead of the
         stack, as 32 kB is really too much for the stack.
      - Treat LF as CR LF when parsing headers.
        This is necessary when parsing the load-balancer response in
         front of <http://lazaradio.hu:8100/bermuda.opus>.
        The response returned by that server is invalid in lots of ways,
         but with these two changes we can read it.
      - In addition, we now peek ahead at a large chunk of data when
         reading the response instead of reading 2 to 4 bytes at a time.
        This allows a typical response to be read with two syscalls
         (one peek, one read) instead of several hundred.
      - Stop trying to read more data when the connection is closed.
      f83266d9
    • Timothy B. Terriberry's avatar
      Documentation revisions and a leak fix. · 2ffd8cb7
      Timothy B. Terriberry authored
      Thanks to Jean-Marc Valin for providing documentation feedback.
      This also changes op_tags() to allow the tags to be queried on a
       partially-open file (because they've already been read and are
       available), and fixes a leak when a partially open file is freed
       instead of being fully opened.
      2ffd8cb7
  2. 14 Oct, 2012 1 commit
    • Timothy B. Terriberry's avatar
      Fix some socket connection bugs. · bb8cb7a3
      Timothy B. Terriberry authored
      The big one was that if the connect() call failed, it would loop
       forever (thanks to some code re-factoring, the loop was no longer
       advancing to the next address as originally designed).
      bb8cb7a3
  3. 13 Oct, 2012 1 commit
    • Timothy B. Terriberry's avatar
      Remove an assert. · e88aa498
      Timothy B. Terriberry authored
      On the first request made by a connection, the value it was testing
       might be uninitialized, so we can't guarantee it'll pass.
      e88aa498
  4. 12 Oct, 2012 1 commit
    • Timothy B. Terriberry's avatar
      Major updates to the http backend. · 3d78feff
      Timothy B. Terriberry authored
      * Now supports HTTP/1.1 persistent connections with pipelining.
        This speeds up chain enumeration on large files by almost a
         factor of 2 over http, and by roughly a factor of 4 over https.
        The difference between http and https is now much smaller.
      * Add timeouts to all the socket I/O.
      * Estimate the number of available bytes to read and use it when
         making connection re-use decisions.
      * Add support for https with proxies using HTTP/1.1 CONNECT
         tunnels.
      * Fix TLS session re-use (it requires clean shutdown).
      * Various other code re-organization and minor improvements.
      3d78feff
  5. 09 Oct, 2012 2 commits
  6. 07 Oct, 2012 1 commit
  7. 02 Oct, 2012 1 commit
  8. 01 Oct, 2012 19 commits
  9. 30 Sep, 2012 1 commit
    • Ralph Giles's avatar
      Fix the doc makefile. · bed73602
      Ralph Giles authored
      The autoconf build replaced the static Doxyfile with a Doxyfile.in
      template. In the autoconf build, the config.status script applies
      substitutions to generate the actual Doxyfile. This made the generic
      doc/Makefile non-functional.
      
      Apply similar substitutions directly with the makefile so we can
      still build documentation outside the context of the autoconf build.
      
      Also add a 'distclean' target to remove the generated Doxyfile.
      bed73602
  10. 29 Sep, 2012 4 commits
  11. 24 Sep, 2012 5 commits