Fix return value of yaws_server:is_auth/2 when no auth structure is found
Make the mime types mappings configurable

Now, it possible to customize the global mime types mappings and to overload
it for each virtual server. It can be done using following directives in the
global part or the server part of the configuration:

* default_type: Defines the default mime type to be used where Yaws cannot
  determine it by its mime types mappings (default: text/plain).
  In the server part, this directive overloads the global one.

* default_charset: Defines the default charset to be added when a response
  content-type is text/* (default: none). In the server part, this directive
  overloads the global one.

* mime_types_file: Overrides the default mime.types file included with Yaws
  (default: ${PREFIX}/lib/yaws/priv/mime.types). In the server part, this
  directive overloads the global one but mappings defined in this file will
  not overload those defined by add_types directives in the global part.

* add_types: Specifies one or more mappings between mime types and file
  extensions. More than one extension can be assigned to a mime type. If a
  mapping is defined in the global part and redefined in a server part using
  this directive, then the later is used. Else the global one is kept.

* add_charsets: Specifies one or more mappings between charsets and file
  extensions. More than one extension can be assigned to a charset. If a
  mapping is defined in the global part and redefined in a server part using
  this directive, then the later is used. Else the global one is kept.

Here is an example:

  default_type = text/html

  <server localhost>
      port = 8000
      listen = 0.0.0.0
      docroot = /var/www
      # nothing is overloaded in the vhost
  </server>

  <server localhost>
      port = 8001
      listen = 0.0.0.0
      docroot = /var/www

      # overload global configuration:
      default_type    = text/plain
      mime_types_file = /etc/mime.types
      add_types       = <text/xhtml, yaws> <application/x-test, tst test>
      default_charset = UTF-8
      add_charsets    = <ISO-8859-1, php html yaws> <US-ASCII, tst>
  </server>

During Yaws compilation, a default module 'mime_types' is created using the
default mime.types file. Then, when yaws starts up, this module is
re-generated, re-compiled and loaded dynamically. The new module replaces the
default one but the .beam file is unchanged. So if one of these steps failed,
we fall back on the default module.
Check missing fields in yaws_config:eq_sconfs/2
Improve how Yaws is started in embedded mode

The main change concerns the function yaws:create_sconf/2. Now, this function
relies on yaws_config:make_default_sconf/2 to create a default #sconf record.
Add basic websocket test.

It performs the handshake, then sends one text message and checks
that it is echoed back correctly.
fix setting of yawsid_opts variable in OS X startup script
support Raspberry Pi in configure.in (Anders Nygren)
Merge pull request #121 from jbothma/master

Add basic websocket test.
add flexible variant of yaws_api:reformat_header

Add a new yaws_api:reformat_header/2 that takes a formatting function as
the second argument. The old reformat_header/1 now just calls this, passing
the original formatting function.
document the new yaws_api:reformat_header/2 function
make sure more modules are included in a release (issue #122)

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.
revert commit d990b30

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.
make sure "rebar eunit" passes

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
rebar.

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.
add startup script for FreeBSD 9 (Thomas Elsgaard)

Add scripts/freebsd/yaws for FreeBSD version 9 or later. The original
script at scripts/freebsd/yaws.sh is retained for use with FreeBSD versions
prior to 9.
update mime.types file
Update Makefile and src/Makefile

* 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.
Merge pull request #124 from jj1bdx/jj1bdx-dialyzer-fix

Update Makefile and src/Makefile
update known dialyzer warnings file
Added support to configure ciphers in ssl, previously the ciphers = Val 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()
Merge branch 'master' of github.com:klacke/yaws