Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Oct 19, 2012
  1. @capflam

    Handle relative paths when Yaws is started in embedded mode

    capflam authored
    Now, following functions will throw an error if the docroot
    directory does not exist:
      * yaws_api:embedded_start_conf/1,2,3,4
      * yaws:start_embedded/1,2,3,4
      * yaws:add_server/2
      * yaws:create_sconf/2
Commits on Oct 17, 2012
  1. @klacke
  2. @klacke

    prepare for 1.95

    klacke authored
  3. @klacke
  4. @klacke
  5. @vinoski

    more WebDAV fixes (lyk0rian)

    vinoski authored
Commits on Oct 15, 2012
  1. @klacke
  2. @klacke


    klacke authored
Commits on Oct 14, 2012
  1. add missing make rule for davconf

    Steve Vinoski authored
Commits on Oct 13, 2012
  1. @vinoski

    WebDAV compliancy rework (Tjeerd van der Laan)

    vinoski authored
    The WebDAV support is reworked and adds class 1, 2 and 3 compliancy
    which includes:
    * XML request body parsing and  multistatus responses
    * PROPFIND and PROPPATCH methods returning properties asked for
    * all RFC4918 properties, the Apache executable property plus some
      Microsoft extensions
    * locking mechanism (class 2 compliancy) on all destructive methods
    * If header parsing
  2. @imtal @vinoski

    Follow structure of EHTML as stated in manual

    imtal authored vinoski committed
  3. @imtal @vinoski

    Added sorting of subconfigdir

    imtal authored vinoski committed
Commits on Oct 9, 2012
  1. @vinoski

    add a configurable dispatch module

    vinoski authored
    Allow an application to supply its own dispatch module for a server by
    setting the new dispatchmod variable in the server config. The module is
    expected to export a dispatch/1 function that returns one of the following
    * done: this indicates the dispatch module has handled the request and sent
      the response, and Yaws should go look for a new request on this
    * closed: same as "done" but also indicates the dispatch module has closed
      the connection
    * continue: this tells Yaws to continue with the normal dispatch path
Commits on Oct 7, 2012
  1. @klacke

    Merge pull request #127 from saleyn/set_cookie

    klacke authored
    Added RFC6265 compliant variant of yaws_api:set_cookie/3.
Commits on Oct 6, 2012
  1. @saleyn

    Added more test cases.

    saleyn authored
  2. @saleyn

    Added test cases.

    saleyn authored
  3. @saleyn

    Added RFC6265 compliant variant of setcookie.

    saleyn authored
    The new set_cookie/3 function implements more complete RFC2109
    cookie formatting than setcookie/6 and is 10x - 15x more efficient
    than its old setcookie counterpart because of avoiding the use of
    io_lib:format/2.  The setcookie/2 through setcookie/6 are marked
    as deprecated.  The function is named set_cookie rather than setcookie
    to facilitate the ease of depricating the old implementation.
Commits on Oct 4, 2012
  1. @vinoski

    some man page cleanup/repair

    vinoski authored
  2. @vinoski

    document as the default listen interface

    vinoski authored
    Fix the yaws.conf man page to state that is the default listen
    interface for a virtual server. Also document the same in the yaws.tex
Commits on Oct 2, 2012
  1. @capflam @vinoski

    Fix SSL socket wrapping

    capflam authored vinoski committed
    We must be careful when we rely on Arg#arg.clisock in Yaws modules
    because the socket is wrapped in case of SSL connections.
    Thanks to Jean-Charles Campagne.
Commits on Oct 1, 2012
  1. @vinoski
Commits on Sep 18, 2012
  1. @capflam
  2. @capflam

    Parse extensions and trailing headers of chunked transfer encoded req…

    capflam authored
    Chunk extensions and trailing headers are parsed but ignored in requests
    and are not supported in responses. It is a strange feature of the RFC-2619
    and would be hard to implement. Moreover, this feature is rarely supported
    by clients and servers and even less used.
    So, without any concrete use-case, no further work will be done on this
  3. @capflam
  4. @capflam

    Optimize the ACL checks during the request's authentication

    capflam authored
    Now, in yaws_server:handle_auth/4, the client ip is no more converted into
    integer. All ip addresses in #auth.acl are of the type ip_address(). That makes
    easier the checking of the client ip.
    To clean up the code, functions that parses and checks the allowed/denied ip
    addresses with the client ip were moved into yaws.erl.
Commits on Sep 10, 2012
  1. @klacke
  2. @klacke

    Added support to configure ciphers in ssl, previously the ciphers = V…

    klacke authored
    …al stricng in yaws.conf required the Val to be a string according the openssl cipher string spec language. Now we specify an erlang list instead, the list shall comply to the output of ssl:cipher_suites()
Commits on Sep 9, 2012
  1. @vinoski
Commits on Sep 8, 2012
  1. @klacke

    Merge pull request #124 from jj1bdx/jj1bdx-dialyzer-fix

    klacke authored
    Update Makefile and src/Makefile
  2. @jj1bdx

    Update Makefile and src/Makefile

    jj1bdx authored
    * Targets in `Makefile` of `yaws.plt` and `dialyzer` calls
      dialyzer with two target directories, `ebin` and `src`;
      this causes the error of duplicate modules.
      Checking out the .beam files under `ebin` is sufficient
      for dialyzer; `src` is removed.
    * Target `mime_type_c.beam` in `src/Makefile` is
      superfluous and generates a spurious .beam file in
      the `src` directory, so the target is removed.
      Also target `charset.def` in `src/Makefile` should be
      dependent on `../ebin/mime_type_c.beam`, so this is
      also changed from the previous target without the
      directory path.
Commits on Sep 1, 2012
  1. @vinoski

    update mime.types file

    vinoski authored
Commits on Aug 26, 2012
  1. @vinoski

    add startup script for FreeBSD 9 (Thomas Elsgaard)

    vinoski authored
    Add scripts/freebsd/yaws for FreeBSD version 9 or later. The original
    script at scripts/freebsd/ is retained for use with FreeBSD versions
    prior to 9.
Commits on Aug 25, 2012
  1. @vinoski

    make sure "rebar eunit" passes

    vinoski authored
    When using yaws as an app dependency for another application built with
    rebar, I noticed that testing that application with "rebar eunit" would
    fail while testing yaws. It was easy to work around with "rebar eunit
    skip_deps=true" but yaws really should pass its tests when tested via
    Change rebar.config to add ibrowse as a dependency. It's used only for
    testing, but rebar doesn't support test-only dependencies, plus it's
    filtered out during release generation anyway.
    Modify some of the test files to be able to find ibrowse include files
    regardless of whether they're built via make or via rebar. Also rename all
    non-eunit test functions ending in "_test" so they don't confuse eunit. Also
    had to move the embedded_yaws_id_dir test from eunit to t2 because it fails
    under "rebar eunit" when yaws is a dependency for another app. It fails
    because it calls into the yaws_api:embedded_start_conf function which tries
    to call application:load(yaws), but paths aren't properly set up to allow
    that to work under these testing circumstances.
    Note that not all tests currently run under rebar; building with make and
    then running "make test" results in many more tests being executed. Fixing
    this will come later.
Commits on Aug 24, 2012
  1. @vinoski

    revert commit d990b30

    vinoski authored
    Commit d990b30 was intended to fix issue #122 but my testing was flawed, so
    I'm reverting it. The real issue seems to be a bug with reltool not
    honoring app overrides of sys-level mod_cond settings.
  2. @vinoski

    make sure more modules are included in a release (issue #122)

    vinoski authored
    The problem that caused issue #122 is that the yaws_outmod module, which
    isn't directly referenced by any other yaws module, was not being included
    in the application release. Change the mod_cond in rel/reltool.config to
    all rather than app to ensure yaws_outmod gets included.
Something went wrong with that request. Please try again.