diff options
author | Sergey Poznyakoff <gray@gnu.org.ua> | 2013-10-19 10:18:30 +0300 |
---|---|---|
committer | Sergey Poznyakoff <gray@gnu.org.ua> | 2013-10-19 10:18:30 +0300 |
commit | 4d452a770122daf33fdbe0a549e2804b6f2db086 (patch) | |
tree | fd5773251306c3e062fdf55cea917c992306df5a | |
parent | aa4306ad7e683d74c214be2278c697b58a0936d6 (diff) | |
download | vmod-tbf-4d452a770122daf33fdbe0a549e2804b6f2db086.tar.gz vmod-tbf-4d452a770122daf33fdbe0a549e2804b6f2db086.tar.bz2 |
Version 1.0release-1.0
-rw-r--r-- | NEWS | 35 | ||||
-rw-r--r-- | README | 94 | ||||
-rw-r--r-- | configure.ac | 5 | ||||
-rw-r--r-- | src/vmod-tbf.3 | 15 |
4 files changed, 140 insertions, 9 deletions
@@ -0,0 +1,35 @@ +vmod-tbf -- history of user-visible changes. 2013-10-19 +Copyright (C) 2013 Sergey Poznyakoff +See the end of file for copying conditions. + +Please send vmod-tbf bug reports to <gray@gnu.org> + + +Version 1.0, 2013-10-19 + +Initial release + +========================================================================= +Copyright information: + +Copyright (C) 2013 Sergey Poznyakoff + + Permission is granted to anyone to make or distribute verbatim copies + of this document as received, in any medium, provided that the + copyright notice and this permission notice are preserved, + thus giving the recipient permission to redistribute in turn. + + Permission is granted to distribute modified versions + of this document, or of portions of it, + under the above conditions, provided also that they + carry prominent notices stating who last changed them. + +Local variables: +mode: outline +paragraph-separate: "[ ]*$" +eval: (add-hook 'write-file-hooks 'time-stamp) +time-stamp-start: "changes. " +time-stamp-format: "%:y-%02m-%02d" +time-stamp-end: "\n" +end: + @@ -0,0 +1,94 @@ +Vmod-tbf README +Copyright (C) 2013 Sergey Poznyakoff +See the end of file for copying conditions. + +* Introduction + +This file contains brief information about configuring, testing +and using vmod-tbf. It is *not* intended as a replacement +for the documentation, and is provided as a brief reference only. +For accessing complete vmod-tbf documentation, see the section +'Documentation' below. + +* Overview + +This module implements token bucket filtering for Varnish Cache. +Token bucket filtering (TBF) allows for controlling the rate of +data traffic. The following example illustrates the use of +this module in VCL script: + + import tbf; + + sub vcl_recv { + if (!tbf.check(client.ip, "10 req/1s")) { + error 429 "Request rate exceeded." + } + } + +This will keep the incoming HTTP traffic at the rate of 10 requests +per second. + +Additionally, this module provides several auxiliary functions for +checking load average of the machine, getting system time, formatting +UNIX timestamps in human-readable form, etc. + +* Installation + +In order to compile the package you need to have Varnish source tree +configured and compiled, and the Berkeley DB library. The minimum +prerequisites are Varnish 3.0.1 and BDB 4.2. + +Supposing that the varnish source tree is available under +/usr/src/varnish-3.0.1, run: + + ./configure --with-varnish-source=/usr/src/varnish-3.0.1 + +The `--with-varnish-source' option is mandatory: it tells configure +where Varnish sources reside. + +Once configured, do + + make + +This will build the module. After this step you can optionally run +'make test' to test the package. + +Finally, run the following command as root: + + make install + +* Documentation + +The manual page vmod-tbf(3) will be available after successful install. +To read it without actually installing the module, run +`man src/vmod-tbf.3'. + +An online copy of the documentation is available from +http://www.gnu.org.ua/software/vmod-tbf. + +* Bug reporting + +Send bug reports and suggestions to <gray@gnu.org> + + +* Copyright information: + +Copyright (C) 2013 Sergey Poznyakoff + + Permission is granted to anyone to make or distribute verbatim copies + of this document as received, in any medium, provided that the + copyright notice and this permission notice are preserved, + thus giving the recipient permission to redistribute in turn. + + Permission is granted to distribute modified versions + of this document, or of portions of it, + under the above conditions, provided also that they + carry prominent notices stating who last changed them. + + +Local Variables: +mode: outline +paragraph-separate: "[ ]*$" +version-control: never +End: + diff --git a/configure.ac b/configure.ac index 0bb6d3f..6af8fd6 100644 --- a/configure.ac +++ b/configure.ac @@ -14,7 +14,7 @@ # You should have received a copy of the GNU General Public License # along with vmod-tbf. If not, see <http://www.gnu.org/licenses/>. AC_PREREQ(2.69) -AC_INIT([vmod-tbf], 0.99.91, [gray@gnu.org]) +AC_INIT([vmod-tbf], 1.0, [gray@gnu.org]) AC_CONFIG_AUX_DIR([build-aux]) AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_SRCDIR(src/vmod_tbf.vcc) @@ -23,7 +23,7 @@ AM_CONFIG_HEADER(config.h) AC_CANONICAL_SYSTEM AC_LANG(C) -AM_INIT_AUTOMAKE([gnu tar-ustar]) +AM_INIT_AUTOMAKE([1.14 gnu tar-ustar]) AC_GNU_SOURCE AC_PROG_CC @@ -114,7 +114,6 @@ AC_CHECK_LIB(db, db_create, [], [AC_MSG_ERROR([header file db.h is not the same version as libdb])])]) -dnl FIXME: tests/Makefile AC_CONFIG_FILES([ Makefile src/Makefile diff --git a/src/vmod-tbf.3 b/src/vmod-tbf.3 index 3521f0b..6ba3d3a 100644 --- a/src/vmod-tbf.3 +++ b/src/vmod-tbf.3 @@ -13,7 +13,7 @@ .\" .\" You should have received a copy of the GNU General Public License .\" along with vmod-tbf. If not, see <http://www.gnu.org/licenses/>. -.TH VMOD-TBF 1 "August 14, 2013" "VMOD-TBF" "User Reference" +.TH VMOD-TBF 1 "October 19, 2013" "VMOD-TBF" "User Reference" .SH NAME vmod-tbf \- token bucket filtering for Varnish .SH SYNOPSIS @@ -191,11 +191,14 @@ set req.http.X-Year = tbf.strftime("%Y", systime()); .PP The \fBtbf.sleep\fR function suspends execution for a specified amount of time. -.\" The INCFILE variable is set by man.cgi script on Ulysses when -.\" it finds the vmod-tbf.3.inc file located in the same directory -.\" as this one. -.if !"\V[INCFILE]"" \{\ -.so \V[INCFILE] +.\" +.\" The MANCGI variable is set by man.cgi script on Ulysses. +.\" The download.inc file contains the default DOWNLOAD section +.\" for man-based doc pages. +.if "\V[MANCGI]"WEBDOC" \{\ +. ds package vmod-tbf +. ds version 1.0 +. so download.inc \} .SH "SEE ALSO" .BR vcl (7), |