summaryrefslogtreecommitdiffstats
path: root/openwrt/package/iptables/files/l7/http.pat
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2005-11-18 16:17:27 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2005-11-18 16:17:27 +0000
commit75966c991e23b5c58257947ab5ea87a89525e0d7 (patch)
tree97f20f5d3ad9a169034d01b1a0f00aade5e7979c /openwrt/package/iptables/files/l7/http.pat
parent89648c8fb6dbc48d7b1a0d999c6a481368843ec3 (diff)
add layer7 patterns to iptables-mod-filter
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@2519 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'openwrt/package/iptables/files/l7/http.pat')
-rw-r--r--openwrt/package/iptables/files/l7/http.pat28
1 files changed, 28 insertions, 0 deletions
diff --git a/openwrt/package/iptables/files/l7/http.pat b/openwrt/package/iptables/files/l7/http.pat
new file mode 100644
index 000000000..520e7fe21
--- /dev/null
+++ b/openwrt/package/iptables/files/l7/http.pat
@@ -0,0 +1,28 @@
+# HTTP - HyperText Transfer Protocol - RFC 2616
+# Pattern quality: great notsofast
+# Usually runs on port 80
+#
+# This pattern has been tested and is believed to work well. If it does not
+# work for you, or you believe it could be improved, please post to
+# l7-filter-developers@lists.sf.net . This list may be subscribed to at
+# http://lists.sourceforge.net/lists/listinfo/l7-filter-developers
+#
+# this intentionally catches the response from the server
+# rather than the request so that other protocols which use
+# http (like kazaa) can be caught based on specific http requests
+# regardless of the ordering of filters...
+# also matches posts
+
+# Sites that serve really long cookies may break this by pushing the
+# server response too far away from the beginning of the connection. To
+# fix this, increase the kernel's data buffer length.
+
+http
+# Status-Line = HTTP-Version SP Status-Code SP Reason-Phrase CRLF (rfc 2616)
+# As specified in rfc 2616 a status code is preceeded and followed by a
+# space.
+http/(0\.9|1\.0|1\.1) [1-5][0-9][0-9] [\x09-\x0d -~]*(connection:|content-type:|content-length:|date:)|post [\x09-\x0d -~]* http/[01]\.[019]
+# A slightly faster version that might be good enough:
+#http/(0\.9|1\.0|1\.1) [1-5][0-9][0-9]|post [\x09-\x0d -~]* http/[01]\.[019]
+# old pattern(s):
+#(http[\x09-\x0d -~]*(200 ok|302 |304 )[\x09-\x0d -~]*(connection:|content-type:|content-length:))|^(post [\x09-\x0d -~]* http/)