Commits on Apr 10, 2014
  1. allow extra app dependencies for to be configured

    vinoski committed Apr 5, 2014
    The default file specifies only kernel and stdlib as application
    dependencies, but depending on how it's used, Yaws can also depend on the
    crypto and compiler applications. If these are used but are missing from
    the file, building an Erlang/OTP release will fail.
    Add --enable-crypto and --enable-compiler options to the configure script
    to allow the user to add either or both of these applications to the file. Specifying the --enable-crypto option also causes the Yaws
    startup code to start the crypto application; likewise for
    --enable-compiler and the compiler application.
    For rebar builds, enhance rebar.config.script to generate the same files
    the configure script generates for any extra app dependencies.
Commits on Apr 3, 2014
  1. add deps on crypto and compiler apps

    vinoski committed Apr 3, 2014
    Yaws depends on crypto for random numbers and hashes, and depends on the
    compiler for .yaws pages. Add both apps to the yaws app file to ensure they
    get included when an Erlang/OTP release including yaws is created.
Commits on Apr 2, 2014
  1. dialyzer maintenance

    vinoski committed Apr 2, 2014
    Fix known dialyzer warnings. Also change Makefile dialyzer rule to make it
    easier to see pass/fail results.
Commits on Mar 27, 2014
  1. remove unused -DDYNAMIC_DRIVER from c_src/Makefile

    vinoski committed Mar 27, 2014
    Thanks to Richard Carlsson for pointing out this unused option.
Commits on Mar 25, 2014
  1. add check for YAWS_DISABLE_PAM to rebar.config.script

    vinoski committed Mar 25, 2014
    Setting the OS environment variable YAWS_DISABLE_PAM to any value causes
    rebar builds to avoid building pam. This is equivalent to using the
    --disable-pam option with configure, and is useful for building in
    environments where pam development files are not available.
  2. add .rebar dir to .gitignore

    vinoski committed Mar 25, 2014
Commits on Mar 20, 2014
  1. fix #173: set ibrowse dep to v3.0.4 in rebar.config

    vinoski committed Mar 20, 2014
    Set ibrowse dependency to version 3.0.4 to match what test/Makefile
    selects. Later versions do not work so well on OS X Mavericks.
Commits on Mar 14, 2014
  1. fix #172: make yaws_ticker handle EXIT messages correctly

    vinoski committed Mar 14, 2014
    The yaws_ticker processes were not cleaned up due to an incorrect EXIT
    message receive spec. Thanks to Nico Kruber for reporting the problem, and
    for supplying a new regression test case which is now in the test/eunit
Commits on Mar 12, 2014
Commits on Mar 10, 2014
Commits on Feb 26, 2014
  1. Respect virtual hosts order when the configuration is reloaded

    capflam committed Feb 26, 2014
    During a reload, when a virtual host is added or updated, it must be at the same
    position than in the configuration file. With this fix, it is possible to
    reorder virtual hosts, or add new ones at any position.
  2. Add 'secure_renegotiate' option in ssl part

    capflam committed Feb 25, 2014
    This option can be used to set to true/false the 'secure_renegotiate' parameter
    on the ssl socket.
Commits on Feb 25, 2014
  1. dialyzer updates

    vinoski committed Feb 25, 2014
    Fix a dialyzer problem in yaws.erl and update the known_dialyzer_warnings
Commits on Feb 24, 2014
  1. replace charset.def with generated yaws_charset.hrl

    vinoski committed Feb 24, 2014
    Richard Carlsson pointed out in a private email that having configure
    generate the priv/charset.def file to be read and interpreted by
    src/mime_type_c.erl was overly complicated.
    Modify configure script and rebar.config.script to instead generate
    src/yaws_charset.hrl, and include that into src/mime_type_c.erl. Thanks to
    Richard for suggesting these simplifications.
    Also, enhance rebar.config.script to be able to extract the desired charset
    from the YAWS_CHARSET OS environment variable if set, thus providing rebar
    users a way to set the charset, which they couldn't do before.
    Fix test/t2/app_test.erl to not fail on Content-Type header tests if the
    header value contains a charset specification.
Commits on Feb 6, 2014
  1. use ibrowse v3.0.4 for testing

    vinoski committed Feb 6, 2014
    On OS X (and perhaps elsewhere too) there were tons of false errors in the
    test output, all coming from the ibrowse client complaining about closed
    connections. This made it impossible to know whether the tests were
    actually working or not. Instead of using ibrowse master, pin the version
    the yaws tests use to 3.0.4, which doesn't exhibit this problem.
Commits on Feb 4, 2014
  1. fix #168 by checking for pam headers and library

    vinoski committed Feb 4, 2014
    Make configure script check for the pam_appl.h header in multiple
    directories, and add the directory in which it's found to CFLAGS. Ensure
    the checking takes EXTRAINCLUDE settings into account. Remove
    specifications of the /usr/include/pam include path from CFLAGS in the
    configure script, and also from c_src/Makefile, as it's no longer necessary
    to specify that path explicitly. Add EXTRAINCLUDE to CFLAGS and CPPFLAGS
    when pam is enabled (note that adding it to CPPFLAGS is needed so the new
    configure checking for pam_appl.h works correctly), and remove the addition
    of EXTRAINCLUDE to CFLAGS in c_src/Makefile. Add check for pam library. Fix
    checking of the --disable-pam configure option.
    Thanks to Antoine Catton for starting the work on these changes.
Commits on Jan 17, 2014
  1. combine multiple Accept-Encoding headers

    vinoski committed Jan 17, 2014
    According to HTTP 1.1 section 4.2, a receiver may combine multiple
    instances of any header whose value can be a comma-separated list, which
    applies to the case of receiving multiple Accept-Encoding headers. HTTPbis
    in section 3.2.2 keeps the same rule. Yaws was using only the first such
    header and ignoring any others, but should instead be combining the
    multiple Accept-Encoding headers into one before processing the combined
    value. This commit fixes that and adds a new test case for it.
Commits on Jan 7, 2014
  1. add Resources section to Yaws web pages

    vinoski committed Jan 7, 2014
    Add a Resources section to the Yaws web pages, where pointers/links to
    external articles, presentations etc. about Yaws can be provided.
Commits on Dec 31, 2013
Commits on Dec 23, 2013
Commits on Dec 19, 2013
  1. Change binary conversion function in yaws_rpc in order to deal with u…

    lastres authored and vinoski committed Nov 20, 2013
    …nicode characters
Commits on Dec 18, 2013
Commits on Dec 17, 2013
  1. Inefficient handling of the message queue and selective receive for u…

    klacke committed Dec 17, 2013
    …ntimed_stream_loop_send fixed by Martin Bjorklund.
Commits on Nov 19, 2013
  1. proper include statement in yaws_stats.hrl that includes relative ins…

    klacke committed Nov 19, 2013
    …tead on relying on flags to erlc to find the included file
Commits on Nov 10, 2013
  1. update cookie documentation

    vinoski committed Nov 10, 2013
    Documentation for cookies used the old yaws_api:setcookie functions, which
    are deprecated. Change the docs to use yaws_api:set_cookie/3 instead. Also
    add a little more detail to cookies.yaws regarding how
    yaws_api:set_cookie/3 is used and what it returns.
  2. replace now() with os:timestamp() in some places

    vinoski committed Nov 10, 2013
    The now() call requires global locking to ensure monotonicity, so replace
    some calls to now() with calls to os:timestamp() where monotonicity isn't
    required. There are probably other such calls in other modules that can be
    similarly replaced.
    Calculate size of data sent only when stats requires it.
Commits on Nov 8, 2013
  1. fix broken srcdir tests

    vinoski committed Nov 8, 2013
    Commit a04e38a fixed building the tests with rebar, but broke the
    test/t11/srcdir tests when built and run with make. This commit reworks the
    approach to allow the tests to run correctly and also build correctly with
Commits on Nov 7, 2013
  1. change use of sendfile flag macros for Erlang R13

    vinoski committed Nov 7, 2013
    Change the use of the macros used to set sendfile configuration flags in
    yaws_config.erl so the code works on older versions of Erlang/OTP,
    specifically the R13 versions. Tested with R13B04.