Index: trunk/willow/errors/Makefile.in |
— | — | @@ -1,7 +1,14 @@ |
2 | | -# @(#) $Header$ |
3 | | -# |
| 2 | +# Willow: Lightweight HTTP reverse-proxy. |
4 | 3 | # Error messages. |
| 4 | +# Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. |
| 5 | +# |
| 6 | +# Permission is granted to anyone to use this software for any purpose, |
| 7 | +# including commercial applications, and to alter it and redistribute it |
| 8 | +# freely. This software is provided 'as-is', without any express or implied |
| 9 | +# warranty. |
5 | 10 | |
| 11 | +# @(#) $Id$ |
| 12 | + |
6 | 13 | DATADIR=errors |
7 | 14 | DATAFILES=\ |
8 | 15 | ERR_BADREQUEST \ |
Index: trunk/willow/CODING.STYLE |
— | — | @@ -1,36 +1,41 @@ |
2 | | -@(#) $Header$ |
| 2 | +@(#) $Id$ |
3 | 3 | |
4 | 4 | Source code style guidelines |
5 | 5 | ============================ |
6 | 6 | |
7 | 7 | Use 8-space tabs. Don't indent with spaces. |
8 | 8 | |
9 | | -The '*' of a pointer is attached to the variable name, not the type. |
| 9 | +The '*' or '&' of a pointer or reference is attached to the variable name, not |
| 10 | +the type. |
10 | 11 | |
11 | | -Functions are formatted with 'static' (if applicable), followed by |
12 | | -the return type, a newline, the function name and arguments, another |
13 | | -newline, and the argument types. Do declare 'int' arguments. For |
14 | | -example: |
| 12 | +All lines are wrapped at 80 characters. |
15 | 13 | |
16 | | -static void * |
17 | | -my_function(buf, size) |
18 | | - int buf; |
19 | | - void *buf; |
| 14 | +Functions are formatted with the return type, a newline, the function name |
| 15 | +and argument types, another newline, and the opening '{'. For example: |
| 16 | + |
| 17 | +void * |
| 18 | +my_function(int buf, void *size) |
20 | 19 | { |
21 | 20 | |
22 | | -Local variables have their names aligned. Use the first (empty) column |
23 | | -for 'const', 'struct' or 'union': |
| 21 | +Do not declare functions "static"; use the anonymous namespace; |
24 | 22 | |
25 | | - int i, j; |
26 | | - char *s; |
27 | | -struct foo S; |
| 23 | +Local variables have their names aligned. Align the type on the left edge |
| 24 | +of the page (no indentation): |
28 | 25 | |
| 26 | +int i, j; |
| 27 | +char *s; |
| 28 | +foo S; |
| 29 | + |
29 | 30 | Braces attach to the end of the opening statement. Don't use braces unless |
30 | | -they're required. Function names are not followed by a space, but keywords |
31 | | -are: |
| 31 | +they're required, or leaving them out would be ambiguous. Function names are |
| 32 | +not followed by a space, but keywords other than 'sizeof' and 'typeid' are: |
32 | 33 | |
33 | 34 | if (foo) |
34 | | - f(arg); |
| 35 | + if (bar) { |
| 36 | + f(arg); |
| 37 | + } else { |
| 38 | + g(arg); |
| 39 | + } |
35 | 40 | |
36 | 41 | Operators are surrounded by whitespace except for "->" and ".". Use |
37 | 42 | "for (;;)", not "while (1)". |
— | — | @@ -53,13 +58,14 @@ |
54 | 59 | |
55 | 60 | The standard source code header is: |
56 | 61 | |
57 | | -/* @(#) $Header$ */ |
58 | | -/* This source code is in the public domain. */ |
| 62 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 63 | +/* <module>: <description> */ |
| 64 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
59 | 65 | /* |
60 | | - * Willow: Lightweight HTTP reverse-proxy. |
61 | | - * <module>: <description> |
| 66 | + * Permission is granted to anyone to use this software for any purpose, |
| 67 | + * including commercial applications, and to alter it and redistribute it |
| 68 | + * freely. This software is provided 'as-is', without any express or implied |
| 69 | + * warranty. |
62 | 70 | */ |
63 | 71 | |
64 | | -#if defined __SUNPRO_C || defined __DECC || defined __HP_cc |
65 | | -# pragma ident "@(#)$Header$" |
66 | | -#endif |
| 72 | +/* @(#) $Id$ */ |
Index: trunk/willow/Makefile.in |
— | — | @@ -1,7 +1,14 @@ |
2 | | -# @(#) $Header$ |
| 2 | +# Willow: Lightweight HTTP reverse-proxy. |
| 3 | +# Top-level makefile. |
| 4 | +# Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. |
3 | 5 | # |
4 | | -# Top-level makefile. |
| 6 | +# Permission is granted to anyone to use this software for any purpose, |
| 7 | +# including commercial applications, and to alter it and redistribute it |
| 8 | +# freely. This software is provided 'as-is', without any express or implied |
| 9 | +# warranty. |
5 | 10 | |
| 11 | +# @(#) $Id$ |
| 12 | + |
6 | 13 | default: all |
7 | 14 | |
8 | 15 | SUBDIRS=src errors mk |
Property changes on: trunk/willow/TODO |
___________________________________________________________________ |
Added: svn:keywords |
9 | 16 | + Id Revision |
Index: trunk/willow/mk/Makefile.in |
— | — | @@ -1,5 +1,13 @@ |
2 | | -# @(#) $Header$ |
| 2 | +# Willow: Lightweight HTTP reverse-proxy. |
| 3 | +# Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. |
| 4 | +# |
| 5 | +# Permission is granted to anyone to use this software for any purpose, |
| 6 | +# including commercial applications, and to alter it and redistribute it |
| 7 | +# freely. This software is provided 'as-is', without any express or implied |
| 8 | +# warranty. |
3 | 9 | |
| 10 | +# @(#) $Id$ |
| 11 | + |
4 | 12 | @include@ @q@@top_srcdir@/mk/rules.mk@q@ |
5 | 13 | |
6 | 14 | all depend clean lint install: |
Index: trunk/willow/src/wgetstats/Makefile.in |
— | — | @@ -1,4 +1,13 @@ |
| 2 | +# Willow: Lightweight HTTP reverse-proxy. |
| 3 | +# Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. |
| 4 | +# |
| 5 | +# Permission is granted to anyone to use this software for any purpose, |
| 6 | +# including commercial applications, and to alter it and redistribute it |
| 7 | +# freely. This software is provided 'as-is', without any express or implied |
| 8 | +# warranty. |
| 9 | + |
2 | 10 | # $Id$ |
| 11 | + |
3 | 12 | PROGRAM = wgetstats |
4 | 13 | BINDIR = @bindir@ |
5 | 14 | CPPFLAGS = -I../include |
Property changes on: trunk/willow/src/wgetstats/Makefile.in |
___________________________________________________________________ |
Added: svn:keywords |
6 | 15 | + Id Revision |
Index: trunk/willow/src/wgetstats/wgetstats.cc |
— | — | @@ -1,13 +1,14 @@ |
2 | | -/* @(#) $Id*/ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* wgetstats: Read statistics information from server. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * wgetstats: Read statistics information from server. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
9 | | -#if defined __SUNPRO_C || defined __DECC || defined __HP_cc |
10 | | -# pragma ident "@(#)$Id$" |
11 | | -#endif |
| 12 | +/* @(#) $Id*/ |
12 | 13 | |
13 | 14 | #define _XOPEN_SOURCE 500 |
14 | 15 | #define __EXTENSIONS__ |
Index: trunk/willow/src/whtcp/whtcp.cc |
— | — | @@ -1,13 +1,14 @@ |
2 | | -/* @(#) $Id$ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* whtcp: command-line HTCP client. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * whtcp: command-line HTCP client. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
9 | | -#if defined __SUNPRO_C || defined __DECC || defined __HP_cc |
10 | | -# pragma ident "@(#)$Id$" |
11 | | -#endif |
| 12 | +/* @(#) $Id$ */ |
12 | 13 | |
13 | 14 | #define _XOPEN_SOURCE 500 |
14 | 15 | #define __EXTENSIONS__ |
Index: trunk/willow/src/whtcp/Makefile.in |
— | — | @@ -1,4 +1,13 @@ |
| 2 | +# Willow: Lightweight HTTP reverse-proxy. |
| 3 | +# Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. |
| 4 | +# |
| 5 | +# Permission is granted to anyone to use this software for any purpose, |
| 6 | +# including commercial applications, and to alter it and redistribute it |
| 7 | +# freely. This software is provided 'as-is', without any express or implied |
| 8 | +# warranty. |
| 9 | + |
2 | 10 | # $Id$ |
| 11 | + |
3 | 12 | PROGRAM = whtcp |
4 | 13 | BINDIR = @bindir@ |
5 | 14 | CPPFLAGS = -I../include |
Index: trunk/willow/src/willow/dbwrap.cc |
— | — | @@ -1,13 +1,14 @@ |
2 | | -/* @(#) $Id$ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* dbwrap: C++ Berkeley DB wrapper. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * dbwrap: C++ Berkeley DB wrapper. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
9 | | -#if defined __SUNPRO_CC || defined __DECC || defined __HP_cc |
10 | | -# pragma ident "@(#)$Id$" |
11 | | -#endif |
| 12 | +/* @(#) $Id$ */ |
12 | 13 | |
13 | 14 | #include "dbwrap.h" |
14 | 15 | #include "mbuffer.h" |
Index: trunk/willow/src/willow/http.cc |
— | — | @@ -1,18 +1,15 @@ |
2 | | -/* @(#) $Id: whttp.cc 17805 2006-11-20 14:07:17Z river $ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* http: HTTP implementation. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * http: HTTP implementation. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
9 | | -#if defined __SUNPRO_CC || defined __DECC || defined __HP_cc |
10 | | -# pragma ident "@(#)$Id: whttp.cc 17805 2006-11-20 14:07:17Z river $" |
11 | | -#endif |
| 12 | +/* @(#) $Id$ */ |
12 | 13 | |
13 | | -/* |
14 | | - * The logic of whttp is explained in whttp_entity.c |
15 | | - */ |
16 | | - |
17 | 14 | #ifndef _GNU_SOURCE |
18 | 15 | # define _GNU_SOURCE /* glibc strptime */ |
19 | 16 | #endif |
Property changes on: trunk/willow/src/willow/http.cc |
___________________________________________________________________ |
Added: svn:keywords |
20 | 17 | + Id Revision |
Index: trunk/willow/src/willow/parser.y |
— | — | @@ -1,8 +1,15 @@ |
2 | | -/* This code is in the public domain. |
3 | | - * $Nightmare: nightmare/src/main/parser.y,v 1.2.2.1.2.1 2002/07/02 03:42:10 ejb Exp $ |
4 | | - * $Id$ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
| 4 | +/* |
| 5 | + * Permission is granted to anyone to use this software for any purpose, |
| 6 | + * including commercial applications, and to alter it and redistribute it |
| 7 | + * freely. This software is provided 'as-is', without any express or implied |
| 8 | + * warranty. |
5 | 9 | */ |
6 | 10 | |
| 11 | +/* From: $Nightmare: nightmare/src/main/parser.y,v 1.2.2.1.2.1 2002/07/02 03:42:10 ejb Exp $ */ |
| 12 | +/* $Id$ */ |
| 13 | + |
7 | 14 | %{ |
8 | 15 | #include <sys/types.h> |
9 | 16 | #include <sys/stat.h> |
Index: trunk/willow/src/willow/confparse.cc |
— | — | @@ -1,7 +1,15 @@ |
2 | | -/* This code is in the public domain. |
3 | | - * $Id$ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* confparse: configuration file parser */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
| 5 | +/* |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
4 | 10 | */ |
5 | 11 | |
| 12 | +/* $Id$ */ |
| 13 | + |
6 | 14 | #include <sys/utsname.h> |
7 | 15 | #include <sys/types.h> |
8 | 16 | #include <sys/stat.h> |
Index: trunk/willow/src/willow/log.cc |
— | — | @@ -1,13 +1,14 @@ |
2 | | -/* @(#) $Id: wlog.cc 17805 2006-11-20 14:07:17Z river $ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* log: logging. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * log: logging. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
9 | | -#if defined __SUNPRO_CC || defined __DECC || defined __HP_cc |
10 | | -# pragma ident "@(#)$Id: wlog.cc 17805 2006-11-20 14:07:17Z river $" |
11 | | -#endif |
| 12 | +/* @(#) $Id$ */ |
12 | 13 | |
13 | 14 | #include <boost/format.hpp> |
14 | 15 | |
Property changes on: trunk/willow/src/willow/log.cc |
___________________________________________________________________ |
Added: svn:keywords |
15 | 16 | + Id Revision |
Index: trunk/willow/src/willow/lexer.l |
— | — | @@ -1,8 +1,13 @@ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* lexer: config lexer */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
2 | 5 | /* |
3 | | - * willow config lexer |
4 | | - * This source code is in the public domain. |
5 | | - * River Tarnell <river@attenuate.org> |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
6 | 10 | */ |
| 11 | + |
7 | 12 | /* $Id$ */ |
8 | 13 | |
9 | 14 | %option noyywrap |
Index: trunk/willow/src/willow/net.cc |
— | — | @@ -1,13 +1,14 @@ |
2 | | -/* @(#) $Id: wnet.cc 17829 2006-11-21 16:41:15Z river $ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* net: Networking. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * net: Networking. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
9 | | -#if defined __SUNPRO_CC || defined __DECC || defined __HP_cc |
10 | | -# pragma ident "@(#)$Id: wnet.cc 17829 2006-11-21 16:41:15Z river $" |
11 | | -#endif |
| 12 | +/* @(#) $Id$ */ |
12 | 13 | |
13 | 14 | #include <sys/types.h> |
14 | 15 | #include <sys/socket.h> |
Property changes on: trunk/willow/src/willow/net.cc |
___________________________________________________________________ |
Added: svn:keywords |
15 | 16 | + Id Revision |
Index: trunk/willow/src/willow/http_header.cc |
— | — | @@ -1,18 +1,15 @@ |
2 | | -/* @(#) $Id: whttp_header.cc 17774 2006-11-18 03:48:27Z river $ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* http_header: header processing implementation. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * http_header: header processing implementation. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
9 | | -#if defined __SUNPRO_CC || defined __DECC || defined __HP_cc |
10 | | -# pragma ident "@(#)$Id: whttp_header.cc 17774 2006-11-18 03:48:27Z river $" |
11 | | -#endif |
| 12 | +/* @(#) $Id$ */ |
12 | 13 | |
13 | | -#if 0 |
14 | | -# define WILLOW_DEBUG |
15 | | -#endif |
16 | | - |
17 | 14 | #include <vector> |
18 | 15 | #include <cstring> |
19 | 16 | #include <cerrno> |
Property changes on: trunk/willow/src/willow/http_header.cc |
___________________________________________________________________ |
Added: svn:keywords |
20 | 17 | + Id Revision |
Index: trunk/willow/src/willow/backend.cc |
— | — | @@ -1,13 +1,14 @@ |
2 | | -/* @(#) $Id: wbackend.cc 17869 2006-11-23 01:05:44Z river $ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* backend: HTTP backend handling. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * backend: HTTP backend handling. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
9 | | -#if defined __SUNPRO_CC || defined __DECC || defined __HP_cc |
10 | | -# pragma ident "@(#)$Id: wbackend.cc 17869 2006-11-23 01:05:44Z river $" |
11 | | -#endif |
| 12 | +/* @(#) $Id$ */ |
12 | 13 | |
13 | 14 | #include <sys/types.h> |
14 | 15 | #include <sys/socket.h> |
Property changes on: trunk/willow/src/willow/backend.cc |
___________________________________________________________________ |
Added: svn:keywords |
15 | 16 | + Id Revision |
Index: trunk/willow/src/willow/format.cc |
— | — | @@ -1,13 +1,14 @@ |
2 | | -/* @(#) $Id$ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* format: typesafe printf-style string formatter. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * format: typesafe printf-style string formatter. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
9 | | -#if defined __SUNPRO_CC || defined __DECC || defined __HP_cc |
10 | | -# pragma ident "@(#)$Id$" |
11 | | -#endif |
| 12 | +/* @(#) $Id$ */ |
12 | 13 | |
13 | 14 | #include "format.h" |
14 | 15 | |
Index: trunk/willow/src/willow/Makefile.in |
— | — | @@ -1,3 +1,13 @@ |
| 2 | +# Willow: Lightweight HTTP reverse-proxy. |
| 3 | +# Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. |
| 4 | +# |
| 5 | +# Permission is granted to anyone to use this software for any purpose, |
| 6 | +# including commercial applications, and to alter it and redistribute it |
| 7 | +# freely. This software is provided 'as-is', without any express or implied |
| 8 | +# warranty. |
| 9 | + |
| 10 | +# $Id$ |
| 11 | + |
2 | 12 | PROGRAM = willow |
3 | 13 | BINDIR = @bindir@ |
4 | 14 | CPPFLAGS = -I../include |
Index: trunk/willow/src/willow/htcp.cc |
— | — | @@ -1,13 +1,14 @@ |
2 | | -/* @(#) $Id$ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* htcp: HTCP server support. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * htcp: HTCP server support. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
9 | | -#if defined __SUNPRO_CC || defined __DECC || defined __HP_cc |
10 | | -# pragma ident "@(#)$Id$" |
11 | | -#endif |
| 12 | +/* @(#) $Id$ */ |
12 | 13 | |
13 | 14 | #include <utility> |
14 | 15 | using std::pair; |
Index: trunk/willow/src/willow/flowio.cc |
— | — | @@ -1,13 +1,14 @@ |
2 | | -/* @(#) $Id$ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* flowio: stream-based i/o system. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * flowio: stream-based i/o system. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
9 | | -#if defined __SUNPRO_CC || defined __DECC || defined __HP_cc |
10 | | -# pragma ident "@(#)$Id$" |
11 | | -#endif |
| 12 | +/* @(#) $Id$ */ |
12 | 13 | |
13 | 14 | #include <sys/stat.h> |
14 | 15 | #include <sys/types.h> |
Index: trunk/willow/src/willow/a_cachedir.cc |
— | — | @@ -1,13 +1,14 @@ |
2 | | -/* @(#) $Id$ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* a_cachedir: class representing a single cache directory. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * a_cache: class representing a single cache directory. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
9 | | -#if defined __SUNPRO_CC || defined __DECC || defined __HP_cc |
10 | | -# pragma ident "@(#)$Id$" |
11 | | -#endif |
| 12 | +/* @(#) $Id$ */ |
12 | 13 | |
13 | 14 | #include "cache.h" |
14 | 15 | |
Index: trunk/willow/src/willow/cache.cc |
— | — | @@ -1,13 +1,14 @@ |
2 | | -/* @(#) $Id$ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* cache: HTTP entity caching. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * cache: HTTP entity caching. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
9 | | -#if defined __SUNPRO_CC || defined __DECC || defined __HP_cc |
10 | | -# pragma ident "@(#)$Id$" |
11 | | -#endif |
| 12 | +/* @(#) $Id$ */ |
12 | 13 | |
13 | 14 | #include <utility> |
14 | 15 | #include <iostream> |
Index: trunk/willow/src/willow/cachedentity.cc |
— | — | @@ -1,13 +1,14 @@ |
2 | | -/* @(#) $Id$ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* cachedentity: a single cached document. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * cachedentity: a single cached document. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
9 | | -#if defined __SUNPRO_CC || defined __DECC || defined __HP_cc |
10 | | -# pragma ident "@(#)$Id$" |
11 | | -#endif |
| 12 | +/* @(#) $Id$ */ |
12 | 13 | |
13 | 14 | #include <iostream> |
14 | 15 | using std::ostream; |
Index: trunk/willow/src/willow/config.cc |
— | — | @@ -1,13 +1,14 @@ |
2 | | -/* @(#) $Id: wconfig.cc 17855 2006-11-22 14:35:17Z river $ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* config: configuration. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * config: configuration. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
9 | | -#if defined __SUNPRO_CC || defined __DECC || defined __HP_cc |
10 | | -# pragma ident "@(#)$Id: wconfig.cc 17855 2006-11-22 14:35:17Z river $" |
11 | | -#endif |
| 12 | +/* @(#) $Id$ */ |
12 | 13 | |
13 | 14 | #include <sys/types.h> |
14 | 15 | #include <sys/socket.h> |
Property changes on: trunk/willow/src/willow/config.cc |
___________________________________________________________________ |
Added: svn:keywords |
15 | 16 | + Id Revision |
Index: trunk/willow/src/willow/chunking.cc |
— | — | @@ -1,13 +1,14 @@ |
2 | | -/* @(#) $Id$ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* dechunking_filter: HTTP 1.1 dechunking filter */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * dechunking_filter: HTTP 1.1 dechunking filter |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
9 | | -#if defined __SUNPRO_CC || defined __DECC || defined __HP_cc |
10 | | -# pragma ident "@(#)$Id$" |
11 | | -#endif |
| 12 | +/* @(#) $Id$ */ |
12 | 13 | |
13 | 14 | #include <algorithm> |
14 | 15 | #include <stdio.h> |
Index: trunk/willow/src/willow/radix.cc |
— | — | @@ -1,3 +1,6 @@ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* Copyright (c) 2005, IPng, Pim van Pelt <pim@ipng.nl> */ |
| 4 | +/* Copyright (c) 2006 River Tarnell <river@attenuate.org> */ |
2 | 5 | /* |
3 | 6 | * This file implements a 128 bit deep Patricia Trie, to facilitate very |
4 | 7 | * fast best-match route lookup. Parts from this (and its accompanying C |
— | — | @@ -2,9 +5,9 @@ |
3 | 6 | * file) were taken from the Merit MRTd project: |
4 | | - This product includes software developed by the University of Michigan, |
5 | | - Merit Network, Inc., and their contributors. |
| 7 | + * |
| 8 | + * This product includes software developed by the University of Michigan, |
| 9 | + * Merit Network, Inc., and their contributors. |
6 | 10 | * |
7 | 11 | * See the radix.h header for more information. |
8 | | - * Copyright (c) 2005, IPng, Pim van Pelt <pim@ipng.nl> |
9 | | - * Copyright 2006 River Tarnell. |
10 | 12 | */ |
| 13 | + |
11 | 14 | /* From: Id: radix.c,v 1.1.1.1 2005/11/07 20:17:44 pim Exp */ |
Index: trunk/willow/src/willow/cachedir_data_store.cc |
— | — | @@ -1,13 +1,14 @@ |
2 | | -/* @(#) $Id$ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* cachedir_data_store: a dbwrap datastore for cache directories. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * cachedir_data_store: a dbwrap datastore for cache directories. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
9 | | -#if defined __SUNPRO_CC || defined __DECC || defined __HP_cc |
10 | | -# pragma ident "@(#)$Id$" |
11 | | -#endif |
| 12 | +/* @(#) $Id$ */ |
12 | 13 | |
13 | 14 | #include "cache.h" |
14 | 15 | |
Index: trunk/willow/src/willow/willow.cc |
— | — | @@ -1,12 +1,13 @@ |
2 | | -/* @(#) $Id$ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 4 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
| 5 | + * Permission is granted to anyone to use this software for any purpose, |
| 6 | + * including commercial applications, and to alter it and redistribute it |
| 7 | + * freely. This software is provided 'as-is', without any express or implied |
| 8 | + * warranty. |
6 | 9 | */ |
7 | 10 | |
8 | | -#if defined __SUNPRO_CC || defined __DECC || defined __HP_cc |
9 | | -# pragma ident "@(#)$Id$" |
10 | | -#endif |
| 11 | +/* @(#) $Id$ */ |
11 | 12 | |
12 | 13 | #include <sys/mman.h> |
13 | 14 | #include <fcntl.h> |
Index: trunk/willow/src/Makefile.in |
— | — | @@ -1,7 +1,14 @@ |
2 | | -# @(#) $Header$ |
| 2 | +# Willow: Lightweight HTTP reverse-proxy. |
| 3 | +# Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. |
3 | 4 | # |
4 | | -# src/ makefile. |
| 5 | +# Permission is granted to anyone to use this software for any purpose, |
| 6 | +# including commercial applications, and to alter it and redistribute it |
| 7 | +# freely. This software is provided 'as-is', without any express or implied |
| 8 | +# warranty. |
5 | 9 | |
| 10 | +# @(#) $Id$ |
| 11 | + |
| 12 | + |
6 | 13 | SUBDIRS=libwillow willow wreadlog wgetstats whtcp |
7 | 14 | |
8 | 15 | @include@ @q@@top_srcdir@/mk/subdir.mk@q@ |
Index: trunk/willow/src/include/flalloc.h |
— | — | @@ -1,17 +1,18 @@ |
2 | | -/* @(#) $Id$ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* flalloc: Fast freelist allocator. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * flalloc: Fast freelist allocator. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
| 12 | +/* @(#) $Id$ */ |
| 13 | + |
9 | 14 | #ifndef FLALLOC_H |
10 | 15 | #define FLALLOC_H |
11 | 16 | |
12 | | -#if defined __SUNPRO_C || defined __DECC || defined __HP_cc |
13 | | -# pragma ident "@(#)$Id$" |
14 | | -#endif |
15 | | - |
16 | 17 | #include <cstdlib> |
17 | 18 | using std::memset; |
18 | 19 | |
Index: trunk/willow/src/include/willow.h |
— | — | @@ -1,17 +1,17 @@ |
2 | | -/* @(#) $Id$ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 4 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * willow: General utility functions. |
| 5 | + * Permission is granted to anyone to use this software for any purpose, |
| 6 | + * including commercial applications, and to alter it and redistribute it |
| 7 | + * freely. This software is provided 'as-is', without any express or implied |
| 8 | + * warranty. |
7 | 9 | */ |
8 | 10 | |
| 11 | +/* @(#) $Id$ */ |
| 12 | + |
9 | 13 | #ifndef WILLOW_H |
10 | 14 | #define WILLOW_H |
11 | 15 | |
12 | | -#if defined __SUNPRO_C || defined __DECC || defined __HP_cc |
13 | | -# pragma ident "@(#)$Id$" |
14 | | -#endif |
15 | | - |
16 | 16 | #include "autoconf.h" |
17 | 17 | |
18 | 18 | #include <sstream> |
Index: trunk/willow/src/include/util.h |
— | — | @@ -1,17 +1,18 @@ |
2 | | -/* @(#) $Id$ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* util: miscellaneous utilities. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * util: miscellaneous utilities. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
| 12 | +/* @(#) $Id$ */ |
| 13 | + |
9 | 14 | #ifndef UTIL_H |
10 | 15 | #define UTIL_H |
11 | 16 | |
12 | | -#if defined __SUNPRO_C || defined __DECC || defined __HP_cc |
13 | | -# pragma ident "@(#)$Id$" |
14 | | -#endif |
15 | | - |
16 | 17 | #include <boost/shared_ptr.hpp> |
17 | 18 | #include <boost/utility.hpp> |
18 | 19 | #include <boost/lexical_cast.hpp> |
Index: trunk/willow/src/include/expr.h |
— | — | @@ -1,19 +1,24 @@ |
2 | | -/* @(#) $Id$ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* expr: simple expression parser. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * expr: simple expression parser. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
| 12 | +/* @(#) $Id$ */ |
| 13 | + |
9 | 14 | #ifndef EXPR_H |
10 | 15 | #define EXPR_H |
11 | 16 | |
12 | | -#if defined __SUNPRO_C || defined __DECC || defined __HP_cc |
13 | | -# pragma ident "@(#)$Id$" |
| 17 | +#include "autoconf.h" |
| 18 | + |
| 19 | +#ifdef WILLOW_DEBUG |
| 20 | +# define BOOST_SPIRIT_DEBUG |
14 | 21 | #endif |
15 | 22 | |
16 | | -#define BOOST_SPIRIT_DEBUG |
17 | | - |
18 | 23 | #include <iostream> |
19 | 24 | #include <vector> |
20 | 25 | #include <stack> |
Index: trunk/willow/src/include/dbwrap.h |
— | — | @@ -1,17 +1,18 @@ |
2 | | -/* @(#) $Id$ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* dbwrap: C++ Berkeley DB wrapper. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * dbwrap: C++ Berkeley DB wrapper. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
| 12 | +/* @(#) $Id$ */ |
| 13 | + |
9 | 14 | #ifndef DBWRAP_H |
10 | 15 | #define DBWRAP_H |
11 | 16 | |
12 | | -#if defined __SUNPRO_C || defined __DECC || defined __HP_cc |
13 | | -# pragma ident "@(#)$Id$" |
14 | | -#endif |
15 | | - |
16 | 17 | #include <sys/types.h> |
17 | 18 | |
18 | 19 | #include <algorithm> |
Index: trunk/willow/src/include/http.h |
— | — | @@ -1,20 +1,20 @@ |
2 | | -/* @(#) $Id: whttp.h 17692 2006-11-15 05:12:33Z river $ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* http: HTTP implementation. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * whttp: HTTP implementation. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
| 12 | +/* @(#) $Id$ */ |
| 13 | + |
9 | 14 | #ifndef WHTTP_H |
10 | 15 | #define WHTTP_H |
11 | 16 | |
12 | | -#if defined __SUNPRO_C || defined __DECC || defined __HP_cc |
13 | | -# pragma ident "@(#)$Id: whttp.h 17692 2006-11-15 05:12:33Z river $" |
14 | | -#endif |
15 | | - |
16 | 17 | static const int whttp_deny_connect = 0x1; |
17 | 18 | |
18 | | -struct fde; |
19 | 19 | struct event_base; |
20 | 20 | |
21 | 21 | void http_new(struct fde *); |
Property changes on: trunk/willow/src/include/http.h |
___________________________________________________________________ |
Added: svn:keywords |
22 | 22 | + Id Revision |
Index: trunk/willow/src/include/confparse.h |
— | — | @@ -1,3 +1,13 @@ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* confparse: configuration parser. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
| 5 | +/* |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
| 10 | + */ |
| 11 | + |
2 | 12 | /* @(#) $Id$ */ |
3 | 13 | /* From: $Nightmare: nightmare/include/config.h,v 1.32.2.2.2.2 2002/07/02 03:41:28 ejb Exp $ */ |
4 | 14 | /* From: newconf.h,v 7.36 2005/03/21 22:42:10 leeh Exp */ |
— | — | @@ -2,15 +12,6 @@ |
3 | 13 | /* From: newconf.h 2651 2006-10-13 18:54:49Z river */ |
4 | | -/* This source code is in the public domain. */ |
5 | | -/* |
6 | | - * Willow: Lightweight HTTP reverse-proxy. |
7 | | - * confparse: configuration parser. |
8 | | - */ |
9 | 14 | |
10 | 15 | #ifndef CONFPARSE_H |
11 | 16 | #define CONFPARSE_H |
12 | 17 | |
13 | | -#if defined __SUNPRO_C || defined __DECC || defined __HP_cc |
14 | | -# pragma ident "@(#)$Id$" |
15 | | -#endif |
16 | | - |
17 | 18 | #include <string> |
Index: trunk/willow/src/include/log.h |
— | — | @@ -1,17 +1,18 @@ |
2 | | -/* @(#) $Id: wlog.h 17869 2006-11-23 01:05:44Z river $ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* log: logging. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * log: logging. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
| 12 | +/* @(#) $Id$ */ |
| 13 | + |
9 | 14 | #ifndef WLOG_H |
10 | 15 | #define WLOG_H |
11 | 16 | |
12 | | -#if defined __SUNPRO_C || defined __DECC || defined __HP_cc |
13 | | -# pragma ident "@(#)$Id: wlog.h 17869 2006-11-23 01:05:44Z river $" |
14 | | -#endif |
15 | | - |
16 | 17 | #include <cstdio> |
17 | 18 | #include <string> |
18 | 19 | #include <fstream> |
Property changes on: trunk/willow/src/include/log.h |
___________________________________________________________________ |
Added: svn:keywords |
19 | 20 | + Id Revision |
Index: trunk/willow/src/include/md5.h |
— | — | @@ -1,8 +1,7 @@ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* md5: MD5 digest implementation. */ |
| 4 | + |
2 | 5 | /* @(#) $Id$ */ |
3 | | -/* |
4 | | - * Willow: Lightweight HTTP reverse-proxy. |
5 | | - * md5: MD5 digest implementation. |
6 | | - */ |
7 | 6 | |
8 | 7 | #ifndef MD5_H |
9 | 8 | #define MD5_H |
Index: trunk/willow/src/include/net.h |
— | — | @@ -1,17 +1,18 @@ |
2 | | -/* @(#) $Id: wnet.h 17869 2006-11-23 01:05:44Z river $ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* net: Networking. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * net: Networking. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
| 12 | +/* @(#) $Id$ */ |
| 13 | + |
9 | 14 | #ifndef WNET_H |
10 | 15 | #define WNET_H |
11 | 16 | |
12 | | -#if defined __SUNPRO_C || defined __DECC || defined __HP_cc |
13 | | -# pragma ident "@(#)$Id: wnet.h 17869 2006-11-23 01:05:44Z river $" |
14 | | -#endif |
15 | | - |
16 | 17 | #if defined __digital__ && defined __unix__ |
17 | 18 | /* sendfile prototype is missing on Tru64 UNIX */ |
18 | 19 | # include <sys/uio.h> |
Property changes on: trunk/willow/src/include/net.h |
___________________________________________________________________ |
Added: svn:keywords |
19 | 20 | + Id Revision |
Index: trunk/willow/src/include/mbuffer.h |
— | — | @@ -1,17 +1,18 @@ |
2 | | -/* @(#) $Id$ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* mbuffer: helper buffer for data marshalling. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * mbuffer: helper buffer for data marshalling. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
| 12 | +/* @(#) $Id$ */ |
| 13 | + |
9 | 14 | #ifndef MBUFFER_H |
10 | 15 | #define MBUFFER_H |
11 | 16 | |
12 | | -#if defined __SUNPRO_C || defined __DECC || defined __HP_cc |
13 | | -# pragma ident "@(#)$Id$" |
14 | | -#endif |
15 | | - |
16 | 17 | #include <sys/types.h> |
17 | 18 | |
18 | 19 | #include <inttypes.h> |
Index: trunk/willow/src/include/backend.h |
— | — | @@ -1,17 +1,18 @@ |
2 | | -/* @(#) $Id: wbackend.h 17684 2006-11-14 22:40:31Z river $ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* wbackend: HTTP backend handling. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * wbackend: HTTP backend handling. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
| 12 | +/* @(#) $Id$ */ |
| 13 | + |
9 | 14 | #ifndef WBACKEND_H |
10 | 15 | #define WBACKEND_H |
11 | 16 | |
12 | | -#if defined __SUNPRO_C || defined __DECC || defined __HP_cc |
13 | | -# pragma ident "@(#)$Id: wbackend.h 17684 2006-11-14 22:40:31Z river $" |
14 | | -#endif |
15 | | - |
16 | 17 | #include <sys/types.h> |
17 | 18 | #include <netinet/in.h> |
18 | 19 | |
Property changes on: trunk/willow/src/include/backend.h |
___________________________________________________________________ |
Added: svn:keywords |
19 | 20 | + Id Revision |
Index: trunk/willow/src/include/http_header.h |
— | — | @@ -1,17 +1,18 @@ |
2 | | -/* @(#) $Id: whttp_header.h 17805 2006-11-20 14:07:17Z river $ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* http_header: header processing implementation. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * http_header: header processing implementation. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
| 12 | +/* @(#) $Id$ */ |
| 13 | + |
9 | 14 | #ifndef WHTTP_HEADER |
10 | 15 | #define WHTTP_HEADER |
11 | 16 | |
12 | | -#if defined __SUNPRO_C || defined __DECC || defined __HP_cc |
13 | | -# pragma ident "@(#)$Id: whttp_header.h 17805 2006-11-20 14:07:17Z river $" |
14 | | -#endif |
15 | | - |
16 | 17 | #include "autoconf.h" |
17 | 18 | #include "http.h" |
18 | 19 | #include "willow.h" |
Property changes on: trunk/willow/src/include/http_header.h |
___________________________________________________________________ |
Added: svn:keywords |
19 | 20 | + Id Revision |
Index: trunk/willow/src/include/format.h |
— | — | @@ -1,17 +1,18 @@ |
2 | | -/* @(#) $Id$ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* format: typesafe printf-style string formatter. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * format: typesafe printf-style string formatter. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
| 12 | +/* @(#) $Id$ */ |
| 13 | + |
9 | 14 | #ifndef FORMAT_H |
10 | 15 | #define FORMAT_H |
11 | 16 | |
12 | | -#if defined __SUNPRO_C || defined __DECC || defined __HP_cc |
13 | | -# pragma ident "@(#)$Id$" |
14 | | -#endif |
15 | | - |
16 | 17 | #include <vector> |
17 | 18 | #include <string> |
18 | 19 | #include <iostream> |
Index: trunk/willow/src/include/htcp.h |
— | — | @@ -1,17 +1,18 @@ |
2 | | -/* @(#) $Id$ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* htcp: HTCP handling helpers. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * htcp: HTCP handling helpers. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
| 12 | +/* @(#) $Id$ */ |
| 13 | + |
9 | 14 | #ifndef HTCP_H |
10 | 15 | #define HTCP_H |
11 | 16 | |
12 | | -#if defined __SUNPRO_C || defined __DECC || defined __HP_cc |
13 | | -# pragma ident "@(#)$Id$" |
14 | | -#endif |
15 | | - |
16 | 17 | #include <sys/types.h> |
17 | 18 | #include <limits> |
18 | 19 | #include <cstddef> |
Index: trunk/willow/src/include/ptalloc.h |
— | — | @@ -1,17 +1,18 @@ |
2 | | -/* @(#) $Id$ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* ptalloc: Fast power-of-two allocator. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * ptalloc: Fast power-of-two allocator. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
| 12 | +/* @(#) $Id$ */ |
| 13 | + |
9 | 14 | #ifndef PTALLOC_H |
10 | 15 | #define PTALLOC_H |
11 | 16 | |
12 | | -#if defined __SUNPRO_C || defined __DECC || defined __HP_cc |
13 | | -# pragma ident "@(#)$Id$" |
14 | | -#endif |
15 | | - |
16 | 17 | #include <boost/format.hpp> |
17 | 18 | |
18 | 19 | #include <string> |
Index: trunk/willow/src/include/flowio.h |
— | — | @@ -1,17 +1,18 @@ |
2 | | -/* @(#) $Id$ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* flowio: stream-based i/o system. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * flowio: stream-based i/o system. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
| 12 | +/* @(#) $Id$ */ |
| 13 | + |
9 | 14 | #ifndef FLOWIO_H |
10 | 15 | #define FLOWIO_H |
11 | 16 | |
12 | | -#if defined __SUNPRO_C || defined __DECC || defined __HP_cc |
13 | | -# pragma ident "@(#)$Id$" |
14 | | -#endif |
15 | | - |
16 | 17 | #include <sys/mman.h> |
17 | 18 | |
18 | 19 | #include <fstream> |
Index: trunk/willow/src/include/acl.h |
— | — | @@ -2,7 +2,7 @@ |
3 | 3 | * Willow: Lightweight HTTP reverse-proxy. |
4 | 4 | * acl: ACL definitions. |
5 | 5 | * Copyright (C) 2001, 2002 Pim van Pelt <pim@ipng.nl> |
6 | | - * Copyright 2006 River Tarnell <river@attenuate.org> |
| 6 | + * Copyright (c) 2006 River Tarnell <river@attenuate.org> |
7 | 7 | * |
8 | 8 | * This is from DAPd package (http://dapd.sourceforge.net). It was |
9 | 9 | * released under the GPL and relicensed with permission from |
Index: trunk/willow/src/include/cache.h |
— | — | @@ -1,13 +1,14 @@ |
2 | | -/* @(#) $Id$ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* cache: HTTP entity caching. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * cache: HTTP entity caching. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
9 | | -#if defined __SUNPRO_C || defined __DECC || defined __HP_cc |
10 | | -# pragma ident "@(#)$Id$" |
11 | | -#endif |
| 12 | +/* @(#) $Id$ */ |
12 | 13 | |
13 | 14 | #ifndef CACHE_H |
14 | 15 | #define CACHE_H |
Index: trunk/willow/src/include/config.h |
— | — | @@ -1,17 +1,18 @@ |
2 | | -/* @(#) $Id: wconfig.h 17765 2006-11-17 19:12:23Z river $ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* wconfig: configuration. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * wconfig: configuration. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
| 12 | +/* @(#) $Id$ */ |
| 13 | + |
9 | 14 | #ifndef WCONFIG_H |
10 | 15 | #define WCONFIG_H |
11 | 16 | |
12 | | -#if defined __SUNPRO_C || defined __DECC || defined __HP_cc |
13 | | -# pragma ident "@(#)$Id: wconfig.h 17765 2006-11-17 19:12:23Z river $" |
14 | | -#endif |
15 | | - |
16 | 17 | #include <sys/types.h> |
17 | 18 | #include <netinet/in.h> |
18 | 19 | |
Property changes on: trunk/willow/src/include/config.h |
___________________________________________________________________ |
Added: svn:keywords |
19 | 20 | + Id Revision |
Index: trunk/willow/src/include/chunking.h |
— | — | @@ -1,17 +1,18 @@ |
2 | | -/* @(#) $Id$ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* chunking: HTTP 1.1 (de)chunking filters */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * dechunking_filter: HTTP 1.1 dechunking filter |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
| 12 | +/* @(#) $Id$ */ |
| 13 | + |
9 | 14 | #ifndef DECHUNKING_FILTER_H |
10 | 15 | #define DECHUNKING_FILTER_H |
11 | 16 | |
12 | | -#if defined __SUNPRO_C || defined __DECC || defined __HP_cc |
13 | | -# pragma ident "@(#)$Id$" |
14 | | -#endif |
15 | | - |
16 | 17 | #include "willow.h" |
17 | 18 | #include "flowio.h" |
18 | 19 | |
Index: trunk/willow/src/include/polycaller.h |
— | — | @@ -1,17 +1,18 @@ |
2 | | -/* @(#) $Id$ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* polycaller: a polymorphic callback proxy */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * polycaller: a polymorphic callback proxy |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
| 12 | +/* @(#) $Id$ */ |
| 13 | + |
9 | 14 | #ifndef POLYCALLER_H |
10 | 15 | #define POLYCALLER_H |
11 | 16 | |
12 | | -#if defined __SUNPRO_C || defined __DECC || defined __HP_cc |
13 | | -# pragma ident "@(#)$Id$" |
14 | | -#endif |
15 | | - |
16 | 17 | #include <stdexcept> |
17 | 18 | #include <typeinfo> |
18 | 19 | using std::type_info; |
Index: trunk/willow/src/include/radix.h |
— | — | @@ -1,19 +1,19 @@ |
| 2 | +/* Copyright (c) 2005, IPng, Pim van Pelt <pim@ipng.nl> */ |
| 3 | +/* Copyright (c) 2006 River Tarnell. */ |
2 | 4 | /* |
3 | | - * |
4 | 5 | * This file implements a 128 bit deep Patricia Trie, to facilitate very |
5 | 6 | * fast best-match route lookup. Parts from this (and its accompanying C |
6 | 7 | * file) were taken from the Merit MRTd project: |
7 | | - This product includes software developed by the University of Michigan, |
8 | | - Merit Network, Inc., and their contributors. |
9 | | - * |
10 | | - * Copyright (c) 2005, IPng, Pim van Pelt <pim@ipng.nl> |
11 | | - * Copyright 2006 River Tarnell. |
| 8 | + * |
| 9 | + * This product includes software developed by the University of Michigan, |
| 10 | + * Merit Network, Inc., and their contributors. |
12 | 11 | */ |
| 12 | + |
13 | 13 | /* From: Id: radix.h,v 1.1.1.1 2005/11/07 20:17:44 pim Exp */ |
14 | 14 | /* $Id$ */ |
15 | 15 | |
16 | | -#ifndef _RADIX_H |
17 | | -#define _RADIX_H |
| 16 | +#ifndef RADIX_H |
| 17 | +#define RADIX_H |
18 | 18 | |
19 | 19 | #include <sys/types.h> |
20 | 20 | #include <sys/socket.h> |
— | — | @@ -156,4 +156,4 @@ |
157 | 157 | radix _v6; |
158 | 158 | }; |
159 | 159 | |
160 | | -#endif /* _RADIX_H */ |
| 160 | +#endif /* RADIX_H */ |
Index: trunk/willow/src/include/thread.h |
— | — | @@ -0,0 +1,260 @@ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* wthread: threading primitives. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
| 5 | +/* |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
| 10 | + */ |
| 11 | + |
| 12 | +/* @(#) $Id: willow.h 17571 2006-11-12 15:44:30Z river $ */ |
| 13 | + |
| 14 | +#ifndef WTHREAD_H |
| 15 | +#define WTHREAD_H |
| 16 | + |
| 17 | +#include <pthread.h> |
| 18 | +#include "util.h" |
| 19 | + |
| 20 | +#define HOLDING(l) locker _l(l) |
| 21 | + |
| 22 | +struct lockable : noncopyable { |
| 23 | + mutable pthread_mutex_t m; |
| 24 | + lockable() { |
| 25 | + pthread_mutex_init(&m, NULL); |
| 26 | + } |
| 27 | + void _lock() const { |
| 28 | + pthread_mutex_lock(&m); |
| 29 | + } |
| 30 | + void _unlock() const { |
| 31 | + pthread_mutex_unlock(&m); |
| 32 | + } |
| 33 | +}; |
| 34 | + |
| 35 | +struct locker : noncopyable { |
| 36 | + lockable const &m; |
| 37 | + locker(lockable const &m_) |
| 38 | + : m(m_) { |
| 39 | + m._lock(); |
| 40 | + } |
| 41 | + ~locker() { |
| 42 | + m._unlock(); |
| 43 | + } |
| 44 | +}; |
| 45 | + |
| 46 | +template<typename T> |
| 47 | +struct atomic { |
| 48 | + T v; |
| 49 | + lockable m; |
| 50 | + |
| 51 | + atomic () : v(T()) {} |
| 52 | + atomic (T v_) : v(v_) {} |
| 53 | + atomic (atomic const& o) { |
| 54 | + HOLDING(o.m); |
| 55 | + v = o.v; |
| 56 | + } |
| 57 | + template<typename U> atomic (atomic<U> const &o) { |
| 58 | + HOLDING(o.m); |
| 59 | + v = o.v; |
| 60 | + } |
| 61 | + |
| 62 | + operator T (void) const { |
| 63 | + HOLDING(m); |
| 64 | + return v; |
| 65 | + } |
| 66 | + template<typename U> atomic &operator = (U o) { |
| 67 | + HOLDING(m); |
| 68 | + v = o; |
| 69 | + return *this; |
| 70 | + } |
| 71 | + template<typename U> atomic &operator += (U o) { |
| 72 | + HOLDING(m); |
| 73 | + v += o; |
| 74 | + return *this; |
| 75 | + } |
| 76 | + template<typename U> atomic &operator -= (U o) { |
| 77 | + HOLDING(m); |
| 78 | + v -= o; |
| 79 | + return *this; |
| 80 | + } |
| 81 | + template<typename U> atomic &operator *= (U o) { |
| 82 | + HOLDING(m); |
| 83 | + v *= o; |
| 84 | + return *this; |
| 85 | + } |
| 86 | + template<typename U> atomic &operator /= (U o) { |
| 87 | + HOLDING(m); |
| 88 | + v /= o; |
| 89 | + return *this; |
| 90 | + } |
| 91 | + template<typename U> atomic &operator %= (U o) { |
| 92 | + HOLDING(m); |
| 93 | + v %= o; |
| 94 | + return *this; |
| 95 | + } |
| 96 | + template<typename U> atomic &operator <<= (U o) { |
| 97 | + HOLDING(m); |
| 98 | + v <<= o; |
| 99 | + return *this; |
| 100 | + } |
| 101 | + template<typename U> atomic &operator >>= (U o) { |
| 102 | + HOLDING(m); |
| 103 | + v >>= o; |
| 104 | + return *this; |
| 105 | + } |
| 106 | + template<typename U> atomic &operator &= (U o) { |
| 107 | + HOLDING(m); |
| 108 | + v &= o; |
| 109 | + return *this; |
| 110 | + } |
| 111 | + template<typename U> atomic &operator |= (U o) { |
| 112 | + HOLDING(m); |
| 113 | + v |= o; |
| 114 | + return *this; |
| 115 | + } |
| 116 | + template<typename U> atomic &operator ^= (U o) { |
| 117 | + HOLDING(m); |
| 118 | + v ^= o; |
| 119 | + return *this; |
| 120 | + } |
| 121 | + atomic &operator++ (void) { /* prefix */ |
| 122 | + HOLDING(m); |
| 123 | + v++; |
| 124 | + return *this; |
| 125 | + } |
| 126 | + T operator++ (int) { /* postfix */ |
| 127 | + HOLDING(m); |
| 128 | + T u = v; |
| 129 | + v++; |
| 130 | + return v; |
| 131 | + } |
| 132 | + atomic &operator-- (void) { |
| 133 | + HOLDING(m); |
| 134 | + v--; |
| 135 | + return *this; |
| 136 | + } |
| 137 | + T operator-- (int) { |
| 138 | + HOLDING(m); |
| 139 | + T u = v; |
| 140 | + v--; |
| 141 | + return v; |
| 142 | + } |
| 143 | +}; |
| 144 | + |
| 145 | +template<typename T1, typename T2> |
| 146 | +T1 operator + (atomic<T1> const &v1, T2 v2) { |
| 147 | + HOLDING(v1.m); |
| 148 | + return v1.v + v2; |
| 149 | +} |
| 150 | +template<typename T1, typename T2> |
| 151 | +T1 operator - (atomic<T1> const &v1, T2 v2) { |
| 152 | + HOLDING(v1.m); |
| 153 | + return v1.v - v2; |
| 154 | +} |
| 155 | +template<typename T1, typename T2> |
| 156 | +T1 operator * (atomic<T1> const &v1, T2 v2) { |
| 157 | + HOLDING(v1.m); |
| 158 | + return v1.v * v2; |
| 159 | +} |
| 160 | +template<typename T1, typename T2> |
| 161 | +T1 operator / (atomic<T1> const &v1, T2 v2) { |
| 162 | + HOLDING(v1.m); |
| 163 | + return v1.v / v2; |
| 164 | +} |
| 165 | +template<typename T1, typename T2> |
| 166 | +T1 operator ^ (atomic<T1> const &v1, T2 v2) { |
| 167 | + HOLDING(v1.m); |
| 168 | + return v1.v ^ v2; |
| 169 | +} |
| 170 | +template<typename T1, typename T2> |
| 171 | +T1 operator & (atomic<T1> const &v1, T2 v2) { |
| 172 | + HOLDING(v1.m); |
| 173 | + return v1.v & v2; |
| 174 | +} |
| 175 | +template<typename T1, typename T2> |
| 176 | +T1 operator | (atomic<T1> const &v1, T2 v2) { |
| 177 | + HOLDING(v1.m); |
| 178 | + return v1.v | v2; |
| 179 | +} |
| 180 | + |
| 181 | +template<typename T1, typename T2> |
| 182 | +T1 operator == (atomic<T1> const &v1, T2 v2) { |
| 183 | + HOLDING(v1.m); |
| 184 | + return v1.v == v2; |
| 185 | +} |
| 186 | +template<typename T1, typename T2> |
| 187 | +T1 operator != (atomic<T1> const &v1, T2 v2) { |
| 188 | + return !(v1 == v2); |
| 189 | +} |
| 190 | +template<typename T1, typename T2> |
| 191 | +T1 operator < (atomic<T1> const &v1, T2 v2) { |
| 192 | + HOLDING(v1.m); |
| 193 | + return v1.v < v2; |
| 194 | +} |
| 195 | +template<typename T1, typename T2> |
| 196 | +T1 operator > (atomic<T1> const &v1, T2 v2) { |
| 197 | + HOLDING(v1.m); |
| 198 | + return v1.v > v2; |
| 199 | +} |
| 200 | +template<typename T1, typename T2> |
| 201 | +T1 operator <= (atomic<T1> const &v1, T2 v2) { |
| 202 | + HOLDING(v1.m); |
| 203 | + return v1.v <= v2; |
| 204 | +} |
| 205 | +template<typename T1, typename T2> |
| 206 | +T1 operator >= (atomic<T1> const &v1, T2 v2) { |
| 207 | + HOLDING(v1.m); |
| 208 | + return v1.v >= v2; |
| 209 | +} |
| 210 | +template<typename T1, typename T2> |
| 211 | +T1 operator << (atomic<T1> const &v1, T2 v2) { |
| 212 | + HOLDING(v1.m); |
| 213 | + return v1.v << v2; |
| 214 | +} |
| 215 | +template<typename T1, typename T2> |
| 216 | +T1 operator >> (atomic<T1> const &v1, T2 v2) { |
| 217 | + HOLDING(v1.m); |
| 218 | + return v1.v >> v2; |
| 219 | +} |
| 220 | +template<typename T1> |
| 221 | +T1 operator ! (atomic<T1> const &v1) { |
| 222 | + HOLDING(v1.m); |
| 223 | + return !v1.v; |
| 224 | +} |
| 225 | + |
| 226 | +template<typename T1> |
| 227 | +T1 operator ~ (atomic<T1> const &v1) { |
| 228 | + HOLDING(v1.m); |
| 229 | + return ~v1.v; |
| 230 | +} |
| 231 | + |
| 232 | +void tss_null_dtor(void *); |
| 233 | + |
| 234 | +template<typename T, void dtor (void *) = tss_null_dtor> |
| 235 | +struct tss { |
| 236 | + mutable pthread_key_t _key; |
| 237 | + tss() { |
| 238 | + pthread_key_create(&_key, dtor); |
| 239 | + } |
| 240 | + T const& operator* (void) const { |
| 241 | + return *(T *)pthread_getspecific(_key); |
| 242 | + } |
| 243 | + T& operator* (void) { |
| 244 | + return *(T *)pthread_getspecific(_key); |
| 245 | + } |
| 246 | + T const * operator-> (void) const { |
| 247 | + return (T *)pthread_getspecific(_key); |
| 248 | + } |
| 249 | + T *operator-> (void) { |
| 250 | + return (T *)pthread_getspecific(_key); |
| 251 | + } |
| 252 | + tss &operator= (T* n) { |
| 253 | + pthread_setspecific(_key, n); |
| 254 | + return *this; |
| 255 | + } |
| 256 | + operator T* (void) { |
| 257 | + return (T *)pthread_getspecific(_key); |
| 258 | + } |
| 259 | +}; |
| 260 | + |
| 261 | +#endif |
Index: trunk/willow/src/libwillow/libwillow.cc |
— | — | @@ -1,10 +1,15 @@ |
2 | | -/* @(#) $Id$ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* libwillow: general helper library. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * libwillow: general helper library. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
| 12 | +/* @(#) $Id$ */ |
| 13 | + |
9 | 14 | #include "ptalloc.h" |
10 | 15 | #include "thread.h" |
11 | 16 | |
Index: trunk/willow/src/libwillow/md5.cc |
— | — | @@ -1,8 +1,7 @@ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* md5: MD5 digest implementation. */ |
| 4 | + |
2 | 5 | /* @(#) $Id$ */ |
3 | | -/* |
4 | | - * Willow: Lightweight HTTP reverse-proxy. |
5 | | - * md5: MD5 digest implementation. |
6 | | - */ |
7 | 6 | |
8 | 7 | /* |
9 | 8 | ********************************************************************** |
Index: trunk/willow/src/libwillow/mbuffer.cc |
— | — | @@ -1,13 +1,14 @@ |
2 | | -/* @(#) $Id$ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* mbuffer: helper buffer for data marshalling. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * mbuffer: helper buffer for data marshalling. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
9 | | -#if defined __SUNPRO_CC || defined __DECC || defined __HP_cc |
10 | | -# pragma ident "@(#)$Id$" |
11 | | -#endif |
| 12 | +/* @(#) $Id$ */ |
12 | 13 | |
13 | 14 | #include "mbuffer.h" |
14 | 15 | |
Index: trunk/willow/src/libwillow/Makefile.in |
— | — | @@ -1,5 +1,12 @@ |
| 2 | +# Willow: Lightweight HTTP reverse-proxy. |
| 3 | +# Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. |
| 4 | +# |
| 5 | +# Permission is granted to anyone to use this software for any purpose, |
| 6 | +# including commercial applications, and to alter it and redistribute it |
| 7 | +# freely. This software is provided 'as-is', without any express or implied |
| 8 | +# warranty. |
| 9 | + |
2 | 10 | # $Id$ |
3 | | -# Makefile for for src/libwillow |
4 | 11 | |
5 | 12 | .SUFFIXES: .cc .o .a |
6 | 13 | |
Index: trunk/willow/src/libwillow/htcp.cc |
— | — | @@ -1,13 +1,14 @@ |
2 | | -/* @(#) $Id$ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* htcp: HTCP helper routines */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * htcp: HTCP helper routines: General utility functions. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
9 | | -#if defined __SUNPRO_C || defined __DECC || defined __HP_cc |
10 | | -# pragma ident "@(#)$Id$" |
11 | | -#endif |
| 12 | +/* @(#) $Id$ */ |
12 | 13 | |
13 | 14 | #include "htcp.h" |
14 | 15 | #include "md5.h" |
Index: trunk/willow/src/wreadlog/wreadlog.cc |
— | — | @@ -1,13 +1,14 @@ |
2 | | -/* @(#) $Id$ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* wreadlog: Read UDP log packets and print human-readable log. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * wreadlog: Read UDP log packets and print human-readable log. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
9 | | -#if defined __SUNPRO_C || defined __DECC || defined __HP_cc |
10 | | -# pragma ident "@(#)$Id$" |
11 | | -#endif |
| 12 | +/* @(#) $Id$ */ |
12 | 13 | |
13 | 14 | #define _XOPEN_SOURCE 500 |
14 | 15 | #define __EXTENSIONS__ |
Index: trunk/willow/src/wreadlog/printer.h |
— | — | @@ -1,13 +1,14 @@ |
2 | | -/* @(#) $Id$ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* printer: log format printers. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * printer: log format printers. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
9 | | -#if defined __SUNPRO_C || defined __DECC || defined __HP_cc |
10 | | -# pragma ident "@(#)$Id$" |
11 | | -#endif |
| 12 | +/* @(#) $Id$ */ |
12 | 13 | |
13 | 14 | #ifndef PRINTER_H |
14 | 15 | #define PRINTER_H |
Property changes on: trunk/willow/src/wreadlog/printer.h |
___________________________________________________________________ |
Added: svn:keywords |
15 | 16 | + Id Revision |
Index: trunk/willow/src/wreadlog/topurl_printer.cc |
— | — | @@ -1,13 +1,14 @@ |
2 | | -/* @(#) $Id$ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* topurl_printer: top-like display of most popular URLs */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * topurl_printer: top-like display of most popular URLs |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
9 | | -#if defined __SUNPRO_C || defined __DECC || defined __HP_cc |
10 | | -# pragma ident "@(#)$Id$" |
11 | | -#endif |
| 12 | +/* @(#) $Id$ */ |
12 | 13 | |
13 | 14 | #define _XOPEN_SOURCE 500 |
14 | 15 | #define __EXTENSIONS__ |
Property changes on: trunk/willow/src/wreadlog/topurl_printer.cc |
___________________________________________________________________ |
Added: svn:keywords |
15 | 16 | + Id Revision |
Index: trunk/willow/src/wreadlog/packet_decoder.cc |
— | — | @@ -1,13 +1,14 @@ |
2 | | -/* @(#) $Id: wreadlog.cc 17774 2006-11-18 03:48:27Z river $ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* wreadlog: Read UDP log packets and print human-readable log. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * wreadlog: Read UDP log packets and print human-readable log. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
9 | | -#if defined __SUNPRO_C || defined __DECC || defined __HP_cc |
10 | | -# pragma ident "@(#)$Id: wreadlog.cc 17774 2006-11-18 03:48:27Z river $" |
11 | | -#endif |
| 12 | +/* @(#) $Id$ */ |
12 | 13 | |
13 | 14 | #define _XOPEN_SOURCE 500 |
14 | 15 | #define __EXTENSIONS__ |
Property changes on: trunk/willow/src/wreadlog/packet_decoder.cc |
___________________________________________________________________ |
Added: svn:keywords |
15 | 16 | + Id Revision |
Index: trunk/willow/src/wreadlog/Makefile.in |
— | — | @@ -1,4 +1,13 @@ |
| 2 | +# Willow: Lightweight HTTP reverse-proxy. |
| 3 | +# Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. |
| 4 | +# |
| 5 | +# Permission is granted to anyone to use this software for any purpose, |
| 6 | +# including commercial applications, and to alter it and redistribute it |
| 7 | +# freely. This software is provided 'as-is', without any express or implied |
| 8 | +# warranty. |
| 9 | + |
2 | 10 | # $Id$ |
| 11 | + |
3 | 12 | PROGRAM = wreadlog |
4 | 13 | BINDIR = @bindir@ |
5 | 14 | CPPFLAGS = -I../include |
Index: trunk/willow/src/wreadlog/packet_decoder.h |
— | — | @@ -1,13 +1,14 @@ |
2 | | -/* @(#) $Id: wreadlog.cc 17774 2006-11-18 03:48:27Z river $ */ |
3 | | -/* This source code is in the public domain. */ |
| 2 | +/* Willow: Lightweight HTTP reverse-proxy. */ |
| 3 | +/* wreadlog: Read UDP log packets and print human-readable log. */ |
| 4 | +/* Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. */ |
4 | 5 | /* |
5 | | - * Willow: Lightweight HTTP reverse-proxy. |
6 | | - * wreadlog: Read UDP log packets and print human-readable log. |
| 6 | + * Permission is granted to anyone to use this software for any purpose, |
| 7 | + * including commercial applications, and to alter it and redistribute it |
| 8 | + * freely. This software is provided 'as-is', without any express or implied |
| 9 | + * warranty. |
7 | 10 | */ |
8 | 11 | |
9 | | -#if defined __SUNPRO_C || defined __DECC || defined __HP_cc |
10 | | -# pragma ident "@(#)$Id: wreadlog.cc 17774 2006-11-18 03:48:27Z river $" |
11 | | -#endif |
| 12 | +/* @(#) $Id$ */ |
12 | 13 | |
13 | 14 | #ifndef PACKET_DECODER_H |
14 | 15 | #define PACKET_DECODER_H |
Property changes on: trunk/willow/src/wreadlog/packet_decoder.h |
___________________________________________________________________ |
Added: svn:keywords |
15 | 16 | + Id Revision |
Index: trunk/willow/COPYRIGHT |
— | — | @@ -1,57 +1,29 @@ |
2 | | -The core Willow source code is in the public domain. Some included source code |
3 | | -is copyrighted: |
| 2 | +Until SVN revision 17873 (2006-11-23), the core Willow source ode was ostensibly |
| 3 | +in the public domain. Due to copyright vagueries, it is now subject to the |
| 4 | +following copyright: |
4 | 5 | |
5 | | -src/daemon.c, src/queue.h: |
| 6 | + Copyright (c) 2005, 2006 River Tarnell <river@attenuate.org>. |
6 | 7 | |
7 | | -/*- |
8 | | - * Copyright (c) 1990, 1993 |
9 | | - * The Regents of the University of California. All rights reserved. |
10 | | - * |
11 | | - * Redistribution and use in source and binary forms, with or without |
12 | | - * modification, are permitted provided that the following conditions |
13 | | - * are met: |
14 | | - * 1. Redistributions of source code must retain the above copyright |
15 | | - * notice, this list of conditions and the following disclaimer. |
16 | | - * 2. Redistributions in binary form must reproduce the above copyright |
17 | | - * notice, this list of conditions and the following disclaimer in the |
18 | | - * documentation and/or other materials provided with the distribution. |
19 | | - * 3. Neither the name of the University nor the names of its contributors |
20 | | - * may be used to endorse or promote products derived from this software |
21 | | - * without specific prior written permission. |
22 | | - * |
23 | | - * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND |
24 | | - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE |
25 | | - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE |
26 | | - * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE |
27 | | - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
28 | | - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
29 | | - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
30 | | - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT |
31 | | - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY |
32 | | - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
33 | | - * SUCH DAMAGE. |
34 | | - */ |
| 8 | + Permission is granted to anyone to use this software for any purpose, |
| 9 | + including commercial applications, and to alter it and redistribute it |
| 10 | + freely. This software is provided 'as-is', without any express or implied |
| 11 | + warranty. |
35 | 12 | |
36 | | -src/strlcpy.c, src/strlcat.c: |
| 13 | +Some included source code is copyrighted and released under a difference license; |
| 14 | +the license information for these files can be found in their individual headers: |
37 | 15 | |
38 | | -/* |
39 | | - * Copyright (c) 1998 Todd C. Miller <Todd.Miller@courtesan.com> |
40 | | - * |
41 | | - * Permission to use, copy, modify, and distribute this software for any |
42 | | - * purpose with or without fee is hereby granted, provided that the above |
43 | | - * copyright notice and this permission notice appear in all copies. |
44 | | - * |
45 | | - * THE SOFTWARE IS PROVIDED "AS IS" AND TODD C. MILLER DISCLAIMS ALL |
46 | | - * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES |
47 | | - * OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL TODD C. MILLER BE LIABLE |
48 | | - * FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
49 | | - * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION |
50 | | - * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN |
51 | | - * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
52 | | - */ |
| 16 | + src/include/radix.h |
| 17 | + src/include/acl.h |
| 18 | + src/libwillow/radix.cc |
| 19 | + src/willow/daemon.c |
| 20 | + src/willow/strlcpy.c |
| 21 | + src/willow/strlcat.c |
| 22 | + src/wreadlog/acl.cc |
53 | 23 | |
54 | 24 | In general, it's fine to import source code which is copyrighted, so long as |
55 | 25 | the copyright terms permit free (re)use, and do not require Willow itself to |
56 | 26 | be restricted; e.g., do not import GPL-licensed source code. Don't require |
57 | 27 | external dependencies that are not under similar licences. The Berkeley DB |
58 | 28 | code is acceptable, because it can be licenced for commercial use. |
| 29 | + |
| 30 | +$Id$ |