Skip to content

Commit

Permalink
sync
Browse files Browse the repository at this point in the history
  • Loading branch information
stefanocasazza committed Mar 19, 2012
1 parent 86c41a0 commit 18ed4fa
Show file tree
Hide file tree
Showing 204 changed files with 3,533 additions and 2,826 deletions.
2 changes: 1 addition & 1 deletion Makefile.am
Expand Up @@ -5,7 +5,7 @@ ACLOCAL_AMFLAGS = -I m4


EXTRA_DIST = autoconf cdb configure.help TODO LICENSE* README* *.spec* \ EXTRA_DIST = autoconf cdb configure.help TODO LICENSE* README* *.spec* \
ULib.m4 rpm.sh rpmpkgreq.lst rpmpkgreq.lst.suse openwrt \ ULib.m4 rpm.sh rpmpkgreq.lst rpmpkgreq.lst.suse openwrt \
doc/Doxyfile doc/benchmark doc/readme.txt shtool doc/Doxyfile doc/benchmark doc/readme.txt shtool *.awk


MAINTAINERCLEANFILES = configure aclocal.m4 libtool Makefile.in Makefile INSTALL MAINTAINERCLEANFILES = configure aclocal.m4 libtool Makefile.in Makefile INSTALL


Expand Down
32 changes: 16 additions & 16 deletions Makefile.in
Expand Up @@ -194,22 +194,7 @@ FTPDIR = @FTPDIR@
GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@ GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@
GETOPT_LIBS = @GETOPT_LIBS@ GETOPT_LIBS = @GETOPT_LIBS@
GREP = @GREP@ GREP = @GREP@
HAVE_CURL = @HAVE_CURL@
HAVE_DBI = @HAVE_DBI@
HAVE_EXPAT = @HAVE_EXPAT@
HAVE_LDAP = @HAVE_LDAP@
HAVE_LIBEVENT = @HAVE_LIBEVENT@
HAVE_LIBUUID = @HAVE_LIBUUID@
HAVE_LIBXML2 = @HAVE_LIBXML2@
HAVE_LIBZ = @HAVE_LIBZ@
HAVE_MAGIC = @HAVE_MAGIC@
HAVE_MYSQL = @HAVE_MYSQL@
HAVE_PAGE_SPEED = @HAVE_PAGE_SPEED@
HAVE_PCRE = @HAVE_PCRE@
HAVE_SSH = @HAVE_SSH@
HAVE_SSL = @HAVE_SSL@
HAVE_SSL_TS = @HAVE_SSL_TS@ HAVE_SSL_TS = @HAVE_SSL_TS@
HAVE_V8 = @HAVE_V8@
INSTALL = @INSTALL@ INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@ INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
Expand Down Expand Up @@ -266,6 +251,21 @@ ULIB_CPPFLAGS = @ULIB_CPPFLAGS@
ULIB_CXXFLAGS = @ULIB_CXXFLAGS@ ULIB_CXXFLAGS = @ULIB_CXXFLAGS@
ULIB_LDFLAGS = @ULIB_LDFLAGS@ ULIB_LDFLAGS = @ULIB_LDFLAGS@
ULIB_LIBS = @ULIB_LIBS@ ULIB_LIBS = @ULIB_LIBS@
USE_LIBCURL = @USE_LIBCURL@
USE_LIBDBI = @USE_LIBDBI@
USE_LIBEVENT = @USE_LIBEVENT@
USE_LIBEXPAT = @USE_LIBEXPAT@
USE_LIBLDAP = @USE_LIBLDAP@
USE_LIBMAGIC = @USE_LIBMAGIC@
USE_LIBMYSQL = @USE_LIBMYSQL@
USE_LIBPCRE = @USE_LIBPCRE@
USE_LIBSSH = @USE_LIBSSH@
USE_LIBSSL = @USE_LIBSSL@
USE_LIBUUID = @USE_LIBUUID@
USE_LIBV8 = @USE_LIBV8@
USE_LIBXML2 = @USE_LIBXML2@
USE_LIBZ = @USE_LIBZ@
USE_PAGE_SPEED = @USE_PAGE_SPEED@
VERSION = @VERSION@ VERSION = @VERSION@
WINDRES = @WINDRES@ WINDRES = @WINDRES@
XLEX = @XLEX@ XLEX = @XLEX@
Expand Down Expand Up @@ -335,7 +335,7 @@ AUTOMAKE_OPTIONS = no-dependencies ## dist-shar dist-zip
ACLOCAL_AMFLAGS = -I m4 ACLOCAL_AMFLAGS = -I m4
EXTRA_DIST = autoconf cdb configure.help TODO LICENSE* README* *.spec* \ EXTRA_DIST = autoconf cdb configure.help TODO LICENSE* README* *.spec* \
ULib.m4 rpm.sh rpmpkgreq.lst rpmpkgreq.lst.suse openwrt \ ULib.m4 rpm.sh rpmpkgreq.lst rpmpkgreq.lst.suse openwrt \
doc/Doxyfile doc/benchmark doc/readme.txt shtool doc/Doxyfile doc/benchmark doc/readme.txt shtool *.awk


MAINTAINERCLEANFILES = configure aclocal.m4 libtool Makefile.in Makefile INSTALL MAINTAINERCLEANFILES = configure aclocal.m4 libtool Makefile.in Makefile INSTALL
SUBDIRS = include src/ulib $(am__append_1) examples contrib tests SUBDIRS = include src/ulib $(am__append_1) examples contrib tests
Expand Down
30 changes: 17 additions & 13 deletions README.html
Expand Up @@ -41,7 +41,7 @@ <h2>userver (<code>_tcp</code> | <code>_ssl</code> | <code>_ipc</code>) applicat
<li>Browser cache management (headers: If-Modified-Since/Last-modified).</li> <li>Browser cache management (headers: If-Modified-Since/Last-modified).</li>
<li>Chunk-encoding transfers support.</li> <li>Chunk-encoding transfers support.</li>
<li>HTTP multi-range request support.</li> <li>HTTP multi-range request support.</li>
<li>Memory caching of document root for (small) static pages with smart deflate compression and CSS/JS reduction.</li> <li>Memory caching of document root for (small) static pages with smart gzip compression and CSS/JS reduction.</li>
<li>Support for automatic update of caching document root with inotify (on Linux).</li> <li>Support for automatic update of caching document root with inotify (on Linux).</li>
<li>Support for pipelining.</li> <li>Support for pipelining.</li>
<li>Support for virtual hosts (also with SSL).</li> <li>Support for virtual hosts (also with SSL).</li>
Expand All @@ -56,14 +56,12 @@ <h2>userver (<code>_tcp</code> | <code>_ssl</code> | <code>_ipc</code>) applicat
<li>Support for <a href="http://json.org/JSONRequest.html">JSONRequest</a>.</li> <li>Support for <a href="http://json.org/JSONRequest.html">JSONRequest</a>.</li>
<li>Accept HTTP uploads up to 4 GB without increasing memory usage.</li> <li>Accept HTTP uploads up to 4 GB without increasing memory usage.</li>
<li>Support for upload progress via USP (ULib Servlet Page).</li> <li>Support for upload progress via USP (ULib Servlet Page).</li>
<li>General <a href="http://it.wikipedia.org/wiki/Common_Gateway_Interface">CGI</a> support (run any CGI script) with automatic output compression (using deflate method).</li> <li>General <a href="http://it.wikipedia.org/wiki/Common_Gateway_Interface">CGI</a> support (run any CGI script) with automatic output compression (using gzip method).</li>
<li>CGI support for shell script processes (with automatic management of form and cookie).</li> <li>CGI support for shell script processes (with automatic management of form and cookie).</li>
<li>CGI support for the X-Sendfile feature and also supports X-Accel-Redirect headers transparently.</li> <li>CGI support for the X-Sendfile feature and also supports X-Accel-Redirect headers transparently.</li>
<li>Support for minify HTML CGI output with wrapping <a href="http://code.google.com/speed/page-speed/download.html#pagespeed-sdk">google page speed SDK</a>.</li> <li>Support for minify HTML CGI output with wrapping <a href="http://code.google.com/speed/page-speed/download.html#pagespeed-sdk">google page speed SDK</a>.</li>
<li>Support for running JavaScript code with wrapping <a href="http://code.google.com/apis/v8/intro.html">google V8 JavaScript Engine</a>.</li> <li>Support for running JavaScript code with wrapping <a href="http://code.google.com/apis/v8/intro.html">google V8 JavaScript Engine</a>.</li>
<li>Support for <a href="http://www.phpmotionwiz.com/what-is-pseudo-streaming">HTTP pseudo-streaming</a> for FLV video.</li> <li><a href="http://www.phpmotionwiz.com/what-is-pseudo-streaming">HTTP pseudo-streaming</a> for FLV video managed transparently.</li>
<li>Support for <a href="https://developer.mozilla.org/en/Security/HTTP_Strict_Transport_Security">HTTP Strict Transport Security</a>.</li>
<li>Support for <a href="http://cleverlogic.net/articles/kochure">HTTP Session Hijacking mitigation</a>.</li>
<li><a href="http://bellard.org/tcc/">C Servlet Support</a> with libtcc (if available) as a backend for dynamic code generation (experimental).</li> <li><a href="http://bellard.org/tcc/">C Servlet Support</a> with libtcc (if available) as a backend for dynamic code generation (experimental).</li>
<li>Support for Windows (without preforking), precompiled binaries are available <a href="https://github.com/stefanocasazza/ULib/tree/master/win32">here</a>.</li> <li>Support for Windows (without preforking), precompiled binaries are available <a href="https://github.com/stefanocasazza/ULib/tree/master/win32">here</a>.</li>
<li>Requests cut in phases for modular architecture (apache-like).</li> <li>Requests cut in phases for modular architecture (apache-like).</li>
Expand All @@ -85,6 +83,13 @@ <h2>userver (<code>_tcp</code> | <code>_ssl</code> | <code>_ipc</code>) applicat
<li><code>mod_stream</code> : simple streaming support (experimental).</li> <li><code>mod_stream</code> : simple streaming support (experimental).</li>
<li><code>mod_socket</code> : <a href="http://dev.w3.org/html5/websockets">Web Socket</a> application framework (experimental).</li> <li><code>mod_socket</code> : <a href="http://dev.w3.org/html5/websockets">Web Socket</a> application framework (experimental).</li>
</ul></li> </ul></li>
<li>Security protection :
<ul>
<li><a href="http://cleverlogic.net/articles/kochure">HTTP Session Hijacking</a> mitigation.</li>
<li><a href="http://lwn.net/Articles/474365/">Algorithmic Complexity Attacks</a> prevention by randomizing hash seed.</li>
<li><a href="http://en.wikipedia.org/wiki/DNS_rebinding">DNS rebinding</a> prevention by RFC1918 filtering and Host header validation.</li>
<li>support for <a href="https://developer.mozilla.org/en/Security/HTTP_Strict_Transport_Security">HTTP Strict Transport Security</a>.</li>
</ul></li>
</ul> </ul>


<h2>Benchmarking</h2> <h2>Benchmarking</h2>
Expand All @@ -102,7 +107,7 @@ <h2>Benchmarking</h2>


<h2><a href="https://github.com/stefanocasazza/ULib/tree/master/doc/benchmark">Comparative Benchmarking</a></h2> <h2><a href="https://github.com/stefanocasazza/ULib/tree/master/doc/benchmark">Comparative Benchmarking</a></h2>


<p>I consider in this benchmark the server [G-WAN 3.2.24 (64 bit)] (http://www.gwan.ch/) and [NGINX 1.1.13] (http://nginx.net/).</p> <p>I consider in this benchmark the server [G-WAN 3.2.24 (64 bit)] (http://www.gwan.ch/) and [NGINX 1.1.16] (http://nginx.net/).</p>


<h2>gwan run with the follow options:</h2> <h2>gwan run with the follow options:</h2>


Expand All @@ -112,14 +117,13 @@ <h2>gwan run with the follow options:</h2>


<h2>nginx is configured in this way:</h2> <h2>nginx is configured in this way:</h2>


<pre><code>nginx version: nginx/1.1.13 <pre><code>nginx version: nginx/1.1.16
TLS SNI support enabled TLS SNI support enabled
configure arguments: --prefix=/usr --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error_log configure arguments: --prefix=/usr --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error_log --pid-path=/var/run/nginx.pid
--pid-path=/var/run/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx --with-cc-opt=-I/usr/include --with-ld-opt=-L/usr/lib --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx --with-cc-opt=-I/usr/include --with-ld-opt=-L/usr/lib --http-log-path=/var/log/nginx/access_log
--http-log-path=/var/log/nginx/access_log --http-client-body-temp-path=/var/tmp/nginx/client --http-proxy-temp-path=/var/tmp/nginx/proxy --http-client-body-temp-path=/var/tmp/nginx/client --http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi
--http-fastcgi-temp-path=/var/tmp/nginx/fastcgi --http-scgi-temp-path=/var/tmp/nginx/scgi --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --with-ipv6 --with-pcre --with-http_realip_module --with-http_ssl_module
--with-ipv6 --with-pcre --with-http_realip_module --with-http_ssl_module --without-mail_imap_module --without-mail_pop3_module --without-mail_imap_module --without-mail_pop3_module --without-mail_smtp_module
--without-mail_smtp_module
</code></pre> </code></pre>


<h2>nginx run with the follow configuration:</h2> <h2>nginx run with the follow configuration:</h2>
Expand Down
28 changes: 15 additions & 13 deletions README.md
Expand Up @@ -44,7 +44,7 @@ The current version offers the following features :
* Browser cache management (headers: If-Modified-Since/Last-modified). * Browser cache management (headers: If-Modified-Since/Last-modified).
* Chunk-encoding transfers support. * Chunk-encoding transfers support.
* HTTP multi-range request support. * HTTP multi-range request support.
* Memory caching of document root for (small) static pages with smart deflate compression and CSS/JS reduction. * Memory caching of document root for (small) static pages with smart gzip compression and CSS/JS reduction.
* Support for automatic update of caching document root with inotify (on Linux). * Support for automatic update of caching document root with inotify (on Linux).
* Support for pipelining. * Support for pipelining.
* Support for virtual hosts (also with SSL). * Support for virtual hosts (also with SSL).
Expand All @@ -59,14 +59,12 @@ The current version offers the following features :
* Support for [JSONRequest](http://json.org/JSONRequest.html). * Support for [JSONRequest](http://json.org/JSONRequest.html).
* Accept HTTP uploads up to 4 GB without increasing memory usage. * Accept HTTP uploads up to 4 GB without increasing memory usage.
* Support for upload progress via USP (ULib Servlet Page). * Support for upload progress via USP (ULib Servlet Page).
* General [CGI](http://it.wikipedia.org/wiki/Common_Gateway_Interface) support (run any CGI script) with automatic output compression (using deflate method). * General [CGI](http://it.wikipedia.org/wiki/Common_Gateway_Interface) support (run any CGI script) with automatic output compression (using gzip method).
* CGI support for shell script processes (with automatic management of form and cookie). * CGI support for shell script processes (with automatic management of form and cookie).
* CGI support for the X-Sendfile feature and also supports X-Accel-Redirect headers transparently. * CGI support for the X-Sendfile feature and also supports X-Accel-Redirect headers transparently.
* Support for minify HTML CGI output with wrapping [google page speed SDK](http://code.google.com/speed/page-speed/download.html#pagespeed-sdk). * Support for minify HTML CGI output with wrapping [google page speed SDK](http://code.google.com/speed/page-speed/download.html#pagespeed-sdk).
* Support for running JavaScript code with wrapping [google V8 JavaScript Engine](http://code.google.com/apis/v8/intro.html). * Support for running JavaScript code with wrapping [google V8 JavaScript Engine](http://code.google.com/apis/v8/intro.html).
* Support for [HTTP pseudo-streaming](http://www.phpmotionwiz.com/what-is-pseudo-streaming) for FLV video. * [HTTP pseudo-streaming](http://www.phpmotionwiz.com/what-is-pseudo-streaming) for FLV video managed transparently.
* Support for [HTTP Strict Transport Security](https://developer.mozilla.org/en/Security/HTTP_Strict_Transport_Security).
* Support for [HTTP Session Hijacking mitigation](http://cleverlogic.net/articles/kochure).
* [C Servlet Support](http://bellard.org/tcc/) with libtcc (if available) as a backend for dynamic code generation (experimental). * [C Servlet Support](http://bellard.org/tcc/) with libtcc (if available) as a backend for dynamic code generation (experimental).
* Support for Windows (without preforking), precompiled binaries are available [here](https://github.com/stefanocasazza/ULib/tree/master/win32). * Support for Windows (without preforking), precompiled binaries are available [here](https://github.com/stefanocasazza/ULib/tree/master/win32).
* Requests cut in phases for modular architecture (apache-like). * Requests cut in phases for modular architecture (apache-like).
Expand All @@ -86,6 +84,11 @@ The current version offers the following features :
* `mod_geoip` : [geolocation support](http://www.maxmind.com/geoip/api/c.shtml) (experimental). * `mod_geoip` : [geolocation support](http://www.maxmind.com/geoip/api/c.shtml) (experimental).
* `mod_stream` : simple streaming support (experimental). * `mod_stream` : simple streaming support (experimental).
* `mod_socket` : [Web Socket](http://dev.w3.org/html5/websockets) application framework (experimental). * `mod_socket` : [Web Socket](http://dev.w3.org/html5/websockets) application framework (experimental).
* Security protection :
* [HTTP Session Hijacking](http://cleverlogic.net/articles/kochure) mitigation.
* [Algorithmic Complexity Attacks](http://lwn.net/Articles/474365/) prevention by randomizing hash seed.
* [DNS rebinding](http://en.wikipedia.org/wiki/DNS_rebinding) prevention by RFC1918 filtering and Host header validation.
* support for [HTTP Strict Transport Security](https://developer.mozilla.org/en/Security/HTTP_Strict_Transport_Security).




Benchmarking Benchmarking
Expand All @@ -104,7 +107,7 @@ Use apachebench (ab)
[Comparative Benchmarking](https://github.com/stefanocasazza/ULib/tree/master/doc/benchmark) [Comparative Benchmarking](https://github.com/stefanocasazza/ULib/tree/master/doc/benchmark)
-------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------


I consider in this benchmark the server [G-WAN 3.2.24 (64 bit)] (http://www.gwan.ch/) and [NGINX 1.1.13] (http://nginx.net/). I consider in this benchmark the server [G-WAN 3.2.24 (64 bit)] (http://www.gwan.ch/) and [NGINX 1.1.16] (http://nginx.net/).


gwan run with the follow options: gwan run with the follow options:
--------------------------------- ---------------------------------
Expand All @@ -115,14 +118,13 @@ gwan run with the follow options:
nginx is configured in this way: nginx is configured in this way:
-------------------------------- --------------------------------


nginx version: nginx/1.1.13 nginx version: nginx/1.1.16
TLS SNI support enabled TLS SNI support enabled
configure arguments: --prefix=/usr --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error_log configure arguments: --prefix=/usr --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error_log --pid-path=/var/run/nginx.pid
--pid-path=/var/run/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx --with-cc-opt=-I/usr/include --with-ld-opt=-L/usr/lib --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx --with-cc-opt=-I/usr/include --with-ld-opt=-L/usr/lib --http-log-path=/var/log/nginx/access_log
--http-log-path=/var/log/nginx/access_log --http-client-body-temp-path=/var/tmp/nginx/client --http-proxy-temp-path=/var/tmp/nginx/proxy --http-client-body-temp-path=/var/tmp/nginx/client --http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi
--http-fastcgi-temp-path=/var/tmp/nginx/fastcgi --http-scgi-temp-path=/var/tmp/nginx/scgi --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --with-ipv6 --with-pcre --with-http_realip_module --with-http_ssl_module
--with-ipv6 --with-pcre --with-http_realip_module --with-http_ssl_module --without-mail_imap_module --without-mail_pop3_module --without-mail_imap_module --without-mail_pop3_module --without-mail_smtp_module
--without-mail_smtp_module


nginx run with the follow configuration: nginx run with the follow configuration:
---------------------------------------- ----------------------------------------
Expand Down

0 comments on commit 18ed4fa

Please sign in to comment.