1. 25 May, 2015 3 commits
  2. 08 Apr, 2015 4 commits
    • Philipp Schafft's avatar
      Fix: Handle case realloc() is used as free(). · 3d2ab9ae
      Philipp Schafft authored
      This (hopefully) corrects the usage of realloc() as free().
      This patch is part of the series based on Denis Denisov's input.
    • Philipp Schafft's avatar
      Fix: Let util_url_escape() handle NULL parameter. · 6605f4dd
      Philipp Schafft authored
      This let util_url_escape() handle NULL passed as parameter.
      In case the parameter is NULL it will also return NULL.
      This patch also does some cleanup of the code such as migration
      away from int and thus avoiding future failtures.
      This is a re-apply of 3baa4e46
      as git refuses to cherry-pick.
    • Philipp Schafft's avatar
      Fix: Fixed some smaller bugs such as leaks and performance improvements. · c1f0eaff
      Philipp Schafft authored
      This is a first commit to correct minor problmes reported by
      Denis Denisov. There is likely another commit to correct some more
      such problems.
      Thank you Denis Denisov.
    • Philipp Schafft's avatar
      Cleanup: move libcurl specifc code into curl.c · 74023834
      Philipp Schafft authored
      This cleans the libcurl usage up a bit. It moves common code used
      to interact with libcurl into a single new file curl.[ch].
      * It does not alter any features nor fixes any bugs.
      * Thew REVIEW about strdup(self->url) in event_url.c as been processed.
        According to the manpage for curl_easy_setopt()/CURLOPT_URL
        there is no need for us to copy.
      * URL Auth as well as URL triggers have sent ICECAST_VERSION_STRING
        as User-Agent:, this has be corrected to what is set in the config
      * As curl.c is now a single point for setting parameters all the TLS
        parameters should be reviewed and set (based on config).
      Please test!
  3. 31 Mar, 2015 3 commits
  4. 28 Mar, 2015 4 commits
  5. 27 Mar, 2015 2 commits
    • Philipp Schafft's avatar
      Added operation mode (omode) "strict". · 8d513db4
      Philipp Schafft authored
      This adds the operation mode "strict". It does not yet have
      any specific features and alias the "normal" mode.
      This change is mostly to make the setting of "strict" valid
      so it can be used already.
    • Philipp Schafft's avatar
      Renamed config file SSL references to TLS. · 5dac23ad
      Philipp Schafft authored
      As we do not support any SSL version but TLS this renames
      all TLS related config options. Docs still need to be updated.
      Close still uses 'ssl' internally e.g. for variable names.
      This should be changed on a later patch.
  6. 01 Mar, 2015 8 commits
  7. 25 Feb, 2015 2 commits
    • Marvin Scholz's avatar
      Only look for admin include if no local found · 0709b4e6
      Marvin Scholz authored
      This switches the behaviour introduced with the last commit
      so that now the admin folder is only checked for includes if
      in the specified path none is found.
    • Marvin Scholz's avatar
      Add support for 'admin' includes from web XSLT files · 5b416b31
      Marvin Scholz authored
      This adds support for including xslt files that are in the admin
      directory in an xslt file which is in the webroot, without having to
      specify the full path.
      For example:
          <xsl:include href="includes/head.xsl"/>
      will look inside the admin directory (foo/bar/admin/includes/header.xsl)
      and include it, if it's found. If not it will as usual look for it in
      the directory where the xslt file is located. This enables us to have
      common files like the header, footer, json stuff, etc. in the admin
      directory, so we don't need to have an extra copy in the web folder.
      The configuration value for the admin directory is requested
      every time an xslt is requested (if not in the cache).
      Additonally it should be noted that the includes are not cached.
  8. 23 Feb, 2015 1 commit
  9. 18 Feb, 2015 1 commit
  10. 15 Feb, 2015 5 commits
  11. 10 Feb, 2015 6 commits
    • Philipp Schafft's avatar
      Sync submodules · 1e80611d
      Philipp Schafft authored
    • Philipp Schafft's avatar
    • Philipp Schafft's avatar
      Feature: Support PUT with chunked transfer encoding. · 36d10121
      Philipp Schafft authored
      This adds the Transfer-Encoding chunked to PUT support.
      Please test carefully. Will add PUT to Allow: header after testing.
      Have fun.
      Closes: #2088
    • Philipp Schafft's avatar
      Cleanup: unbreak 100-continue a bit. · 79cb147c
      Philipp Schafft authored
      This tries to unbreak the 100-continue thing a bit.
      Proper headers are send in case of 100-continue. Also the 200 OK
      was moved to the end of the stream.
      The client may even be reused. But I'm not sure we only do
      'End of stream' in cases we are not on an undefined state of the
      client. Do we as of now support anything that give us EOS without
      a fatal socket state (error or shutdown)?
      At least this unbreaks 100-continue with active TLS that was broken
      as hell as we sent the header in clear over the socket. Not checking
      if it was transmitted completly or something. Using lowlevel socket
      calls (in contrast to the connection level calls that would have
      handled the TLS just fine).
      While this seem sto be a huge improvement to the situation I kindly
      ask you to do a lot testing on this. Both with SOURCE as well as
      PUT clients.
    • Philipp Schafft's avatar
      Fix/Cleanup: Answer SOURCE/PUT requests with a real 200-OK. · d6908eb0
      Philipp Schafft authored
      We have answered SOURCE/PUT requests with a simple
      "HTTP/1.0 200 OK\r\n\r\n" while we should answer with complet
      headers. This commit corrects this.
      This will work for two classes of clients:
       * Super dumb ones not checking the response and will just send
         data and hope the socket is still open.
       * Those with a real parser.
       * Shoutcast clients (indepnded code path).
       * All libshout, curl, wget, ... based clients.
      This *could* break:
       * Clients that check for the exact returned message. However
         as we start with the same string this should work.
         Only client that check for the string including the End-of-header
         CRLF sequense may break.
      Please test careful before release.
    • Philipp Schafft's avatar
      Sync common/ · 9cf6d931
      Philipp Schafft authored
  12. 09 Feb, 2015 1 commit