Commits on Apr 28, 2014
  1. fix #177: no WebDAV support if xmerl missing

    vinoski committed Apr 28, 2014
    Since Yaws WebDAV support requires xmerl, if the Erlang installation in use
    at build time does not include the xmerl library, yaws_appmod_dav.erl is
    compiled as an empty module. If using the autotools build, the configure
    script will emit a warning for this case.
Commits on Apr 22, 2014
  1. Merge pull request #176 from richcarl/remove-vsn-attributes

    vinoski committed Apr 22, 2014
    remove -vsn attributes to ensure the MD5 sum is used for all modules
Commits on Apr 16, 2014
  1. Merge pull request #175 from yakaz/fcgi-ipv6

    vinoski committed Apr 16, 2014
    IPv6 address parsing + IPv6 lookup for FastCGI and reverse proxy
Commits on Apr 15, 2014
  1. Add a nslookup_pref global parameter

    dumbbell committed Apr 9, 2014
    This parameter allows to change the name resolution and connection
    preference for fcgi servers and revproxy URLs. It takes a list of the
    form [inet | inet6].
    For instance, to perform only IPv4 resolution:
        nslookup_pref = [inet]
    To perform both IPv4 and IPv6, but try IPv6 first:
        nslookup_pref = [inet6, inet]
    The default value is [inet]. Therefore, the behavior remains the same
    with this addition.
    This parameter is used by two new functions:
        o  yaws:tcp_connect/{3,4}
        o  yaws:ssl_connect/{3,4}
    They are wrappers around gen_tcp:connect/{3,4} and ssl:connect/{3,4} and
    take care of connection retries for each configured family.
  2. Accept an IPv6 between "[...]" as an fcgi server hostname

    dumbbell committed Apr 9, 2014
    Here are some examples:
        php_handler = <fcgi, [::1]:9000>
        fcgi_app_server = [::1]:9000
    The square brackets syntax is already used in URLs (http://[::1]:8080/)
    and allows to mix an IPv6 address and a port number.
    While here, fix a bug in revproxy URL parsing where IPv6 between
    brackets were considered as a syntax error.
Commits on Apr 14, 2014
  1. Merge pull request #174 from yakaz/install-freebsd

    vinoski committed Apr 14, 2014
    scripts/Install: Create ${etcdir}/rc.d on FreeBSD
  2. scripts/Install: Create ${etcdir}/rc.d on FreeBSD

    dumbbell committed Apr 14, 2014
    If Yaws is installed in a non-standard directory, we must create
    ${etcdir}/rc.d before copying the init script there.
Commits on Apr 13, 2014
Commits on Apr 12, 2014
  1. allow a cleanup pid with replace_cookie_session

    vinoski committed Apr 12, 2014
    Add yaws_api:replace_cookie_session/3 and
    yaws_session_server:replace_session/3 to allow the user to pass a cleanup
    pid in order to associate a new cleanup process with the replacement
    session. Thanks to Patrick Moy for suggesting this.
Commits on Apr 11, 2014
  1. allow extra app dependencies for to be configured

    vinoski committed Apr 3, 2014
    Yaws can depend on crypto for random numbers and hashes, and on the
    compiler for .yaws pages. But the default file specifies only
    kernel and stdlib as application dependencies, since not all Yaws
    deployments use crypto or compiler. Still, if a Yaws system uses crypto and
    compiler without including them in the file, building and
    deploying an Erlang/OTP release for that system 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. Setting the
    YAWS_APPDEPS environment variable to a space- or comma-separated list of
    addition applications to add to, e.g.
    YAWS_APPDEPS='crypto compiler'
    causes rebar to add those apps to the generated file and ensure
    they're started before Yaws started.
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