Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Dec 21, 2011
  1. @vinoski
  2. @vinoski

    treat src warnings as errors

    vinoski authored
    Fix compilation warning in yaws_dav.erl so that no compilation errors
    exist in the build, allowing us to treat warnings as errors in
    rebar.config and in src/Makefile.
Commits on Sep 23, 2011
  1. @vinoski

    delete chatty messages, make yaws_server upgrade-friendly (Klarna)

    vinoski authored
    Incorporate changes from Klarna (via Richard Carlsson) to delete
    chatty messages in a variety of places. These messages were for
    success cases; they were deleted because success cases should be
    Change yaws --check to take an optional --verbose option to allow
    original verbose success messages to be emitted. Also change the yaws
    script so that the --id option works for --check.
    Change yaws_server to make fully-qualified calls to gserv_loop to
    ensure code upgrades call into the newly-loaded module version.
Commits on Aug 2, 2011
Commits on Jul 7, 2011
  1. @vinoski

    revert "remove support for SOAP DIME attachments"

    vinoski authored
    This reverts commit 65bf36a.
Commits on May 24, 2011
  1. @capflam @vinoski

    add shaper directive to control access (capflam)

    capflam authored vinoski committed
    inspired by the mod_bwshare module of Apache, add the shaper directive
    to control access to virtual servers. Access can be controlled based
    on the client's IP address. It is also possible to throttle HTTP
    requests based on the client's download rate. External modules used to
    shape the traffic must implement the new behaviour yaws_shaper.
  2. @capflam @vinoski

    server-specific logger_mod and auth_mod (capflam)

    capflam authored vinoski committed
    Make logger_mod and auth_mod configuration variables local to each
    virtual server. The logger_mod variable can be used to customize
    access and auth messages. The auth_log variable previously was global,
    but it now lives in the server configuration and the global variable
    is deprecated.
    The new behaviour yaws_logger must be used to define external modules
    to log messages.
Commits on May 23, 2011
  1. @capflam @vinoski

    add yaws.appup.src template file (capflam)

    capflam authored vinoski committed
    Add yaws.appup.src template file used to build the final yaws.appup
    file. Also add ebin/yaws.appup to .gitignore.
Commits on May 7, 2011
  1. @tuncer @vinoski

    add rebar support (Tuncer Ayaz and Steve Vinoski)

    tuncer authored vinoski committed
    Add support for building yaws with rebar. The original configure and
    make support is kept intact.
    If you build with rebar you get a local install. The rebar approach
    does not support a regular install, which defaults into /usr/local. If
    you want a regular install, use configure and make.
    Create a new top-level contrib directory and move unused src files
    there. Also move src/benchmarks and src/contrib contents there as
    well. Remove the obsolete src/patches directory. This is all to keep
    rebar from compiling this unused code (since by default it compiles
    everything under the src dir).
    Move a number of build rules out of Makefiles into separate scripts so
    they can be used by both rebar and make.
    Modify yaws version specifier and handling to be amenable to rebar.
    Clean up trailing whitespace in a number of scripts and Makefiles.
    Use the following environment variables to customize the rebar build
    DEFAULT_CHARSET: used in mime type table (default: "")
    ERLBINDIR: e.g. /usr/local/bin
    ETCDIR: etc directory (default: ./etc)
    VARDIR: var directory (default: ./var)
Commits on Apr 24, 2011
  1. @vinoski

    replace json.erl with json2.erl to fix issue 50

    vinoski authored
    Yaws issue 50 (#50) notes that
    the json.erl module uses list_to_atom and is therefore dangerous due
    to the possibility of filling the atom table. Also, the test function
    in json.erl has been broken for quite some time. Deprecate json.erl
    and add json2.erl, which avoids list_to_atom. Repair the json2:test/0
    function inherited from json.erl and add it to the t1 test
    suite. Change www/json_intro.yaws to refer to json2.
Commits on Apr 16, 2011
  1. @vinoski

    change sendfile driver handler to a gen_server

    vinoski authored
    Rather than use a custom message handling loop, make the yaws_sendfile
    driver handler a gen_server. Collapse the yaws_sendfile_compat
    functionality directly into yaws_sendfile and remove
    yaws_sendfile_compat, and change all references to
    yaws_sendfile_compat to refer to yaws_sendfile instead.
Commits on Mar 3, 2011
  1. @vinoski

    remove support for SOAP DIME attachments

    vinoski authored
    Remove DIME support. We're cleaning up dialyzer errors in Yaws and the
    DIME code had some problems, so we decided to drop it rather than try
    to fix it since we don't believe anyone's using it. Microsoft has
    dropped support for DIME anyway, recommending MTOM instead.
Commits on Dec 8, 2010
  1. @vinoski

    add configure detection of erts bits support

    vinoski authored
    The websockets support relies on bits support in Erlang. The
    src/Makefile used to contain a gmake shell command for checking the
    erts version to see if bits support was present. This change moves
    that test into the configure scripts and adds a new make variable to that src/Makefile can use instead. This keeps configuration
    checks out of the makefiles and in the configure script where they
    Also fixed the test for bits support, which would have been incorrect
    once the erts major version number increases above 5 because it also
    unconditionally wanted the erts minor number to be greater than 6, so
    a major/minor version such as 6.0 would have failed.
Commits on Nov 18, 2010
  1. @lemenkov

    Typo fix in previous commit

    lemenkov authored
    Module yaws_dime should be listed w/o extension.
    Signed-off-by: Peter Lemenkov <>
Commits on Nov 17, 2010
  1. @lemenkov

    Add yaws_dime.erl to the list of modules to compile

    lemenkov authored
    This module is used in yaws_rpc, yaws_soap_lib and
    yaws_soap_srv modules but it wasn't compiled. So it's
    quite likely that application will fails with 'undef'
    Signed-off-by: Peter Lemenkov <>
Commits on Oct 7, 2010
  1. Adding yaws_vdir.erl to the Makefile.

    Torbjorn Tornkvist authored
Commits on Feb 18, 2010
  1. dialyzer work

Commits on Jan 5, 2010
Commits on Dec 18, 2009
  1. @davide

    HTML5 Web Sockets support.

    davide authored
Commits on Nov 29, 2009
  1. clean target

Commits on Sep 30, 2009
  1. @vinoski
Commits on Jul 10, 2009
  1. cgi support

Commits on Jun 12, 2009
  1. @oliv3

    Compile yaws_stats

    oliv3 authored
Commits on Apr 15, 2009
  1. @faal

    Changed the way authentication is done, added support for multiple au…

    faal authored
    …thentication methods to be used for one directory and changed so that the
    401 page can be customized similarly to the 404 page.
    1. Renamed yaws_401.erl to yaws_outmod.erl, which is probably a better name considering it's current use(it also displays the crashmsg).
    2. Fixed the Makefile accordingly.
    2. Changed so that the auth record not only contains the authentication methods but also the headers that should be displayed for the
    3. The headers are added in yaws_config.erl when the config file is parsed, the authmods now has to have a function get_headers/1 that
    returns the http headers that are to be displayed.
    3. is_auth now goes through the list of directories and when a matching directory is found it calls handle_auth which does the actual
    4. handle_auth checks all the methods specified in the config file, if _one_ returns true, the user is authorized to view the page.
    5. Removed deliver_401 and changed so that handle_ut is called with UrlType = unauthorized.
    6. Changed handle_ut to handle UrlType = unauthorized, it handles it similarly to when it displays 404. It pulls the errormod_401 from the
    GC and calls out401 to display the actual page.
    7. Added a function outh_set_auth/1 to yaws.erl which takes a string or a {realm, Realm} tuple and returns the corresponding WWW-Authenticate
    8. Fixed so that the headers are displayed when the 401 page is displayed.
    9. Removed the special handling of appmod in handle_request. Previously authmods would return appmod when they wanted the 401 page to be
    displayed, this is no longer neccessary.
    10. Removed the out function from authmod_gssapi.erl.
    11. Changed the behaviour of authmod_gssapi so that it simply returns fales when it doesn't find called with the correct headers.
    Previously it would crash.
    TODO: Add support for multiple authmods and Pam modules for one directory.
    Rewrite authmod_gssapi so that it simply returns true or false.
    Fix a bug in yaws_ls, it links directories without the final / which means that every time you enter a directory first a 302 page is sent with
    a redirect to "dir/".
    Properly sort the WWW-authenticate headers, apparently the order mathers. For example Negoiate needs to be above Basic realm for
    it to use Negoiate.
Commits on Jan 29, 2009
  1. @vinoski
Commits on Jan 13, 2009
  1. added one_for_one supervisor

    git-svn-id: 9fbdc01b-0d2c-0410-bfb7-fb27d70d8b52
Commits on Dec 21, 2008
  1. @vinoski

    1. fixes for yaws_sendfile_compat for non-sendfile platforms

    vinoski authored
    2. in src/Makefile made yaws_sendfile_compat.beam depend on yaws_configure.hrl
    git-svn-id: 9fbdc01b-0d2c-0410-bfb7-fb27d70d8b52
Commits on Dec 20, 2008
  1. @vinoski
  2. added configure support for sendfile

    git-svn-id: 9fbdc01b-0d2c-0410-bfb7-fb27d70d8b52
Commits on May 25, 2008
  1. cygwin support

    git-svn-id: 9fbdc01b-0d2c-0410-bfb7-fb27d70d8b52
Commits on May 15, 2008
Commits on Apr 25, 2008
  1. Backed out the DIME patch for now

    git-svn-id: 9fbdc01b-0d2c-0410-bfb7-fb27d70d8b52
Commits on Apr 24, 2008
Commits on Mar 10, 2008
  1. Several cleanups due to dialyzer, also moved the control file into us…

    …ers HOME directory so that we don't have the problem of writing in /var when we're running as non-root
    git-svn-id: 9fbdc01b-0d2c-0410-bfb7-fb27d70d8b52
Something went wrong with that request. Please try again.