summaryrefslogtreecommitdiff
path: root/packages/tcp-wrappers/tcp-wrappers-7.6/05_wildcard_matching
diff options
context:
space:
mode:
authorDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
committerDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
commit709c4d66e0b107ca606941b988bad717c0b45d9b (patch)
tree37ee08b1eb308f3b2b6426d5793545c38396b838 /packages/tcp-wrappers/tcp-wrappers-7.6/05_wildcard_matching
parentfa6cd5a3b993f16c27de4ff82b42684516d433ba (diff)
rename packages/ to recipes/ per earlier agreement
See links below for more details: http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326 http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816 Signed-off-by: Denys Dmytriyenko <denis@denix.org> Acked-by: Mike Westerhof <mwester@dls.net> Acked-by: Philip Balister <philip@balister.org> Acked-by: Khem Raj <raj.khem@gmail.com> Acked-by: Marcin Juszkiewicz <hrw@openembedded.org> Acked-by: Koen Kooi <koen@openembedded.org> Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'packages/tcp-wrappers/tcp-wrappers-7.6/05_wildcard_matching')
-rw-r--r--packages/tcp-wrappers/tcp-wrappers-7.6/05_wildcard_matching103
1 files changed, 0 insertions, 103 deletions
diff --git a/packages/tcp-wrappers/tcp-wrappers-7.6/05_wildcard_matching b/packages/tcp-wrappers/tcp-wrappers-7.6/05_wildcard_matching
deleted file mode 100644
index a168f6d5a5..0000000000
--- a/packages/tcp-wrappers/tcp-wrappers-7.6/05_wildcard_matching
+++ /dev/null
@@ -1,103 +0,0 @@
-See https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=17847
-
-diff -ruN tcp_wrappers_7.6.orig/hosts_access.5 tcp_wrappers_7.6/hosts_access.5
---- tcp_wrappers_7.6.orig/hosts_access.5 2004-04-10 18:54:33.000000000 +0200
-+++ tcp_wrappers_7.6/hosts_access.5 2004-04-10 18:54:27.000000000 +0200
-@@ -89,6 +89,10 @@
- bitwise AND of the address and the `mask\'. For example, the net/mask
- pattern `131.155.72.0/255.255.254.0\' matches every address in the
- range `131.155.72.0\' through `131.155.73.255\'.
-+.IP \(bu
-+Wildcards `*\' and `?\' can be used to match hostnames or IP addresses. This
-+method of matching cannot be used in conjunction with `net/mask\' matching,
-+hostname matching beginning with `.\' or IP address matching ending with `.\'.
- .SH WILDCARDS
- The access control language supports explicit wildcards:
- .IP ALL
-diff -ruN tcp_wrappers_7.6.orig/hosts_access.c tcp_wrappers_7.6/hosts_access.c
---- tcp_wrappers_7.6.orig/hosts_access.c 1997-02-12 02:13:23.000000000 +0100
-+++ tcp_wrappers_7.6/hosts_access.c 2004-04-10 18:52:21.000000000 +0200
-@@ -289,6 +289,11 @@
- {
- int n;
-
-+#ifndef DISABLE_WILDCARD_MATCHING
-+ if (strchr(tok, '*') || strchr(tok,'?')) { /* contains '*' or '?' */
-+ return (match_pattern_ylo(string,tok));
-+ } else
-+#endif
- if (tok[0] == '.') { /* suffix */
- n = strlen(string) - strlen(tok);
- return (n > 0 && STR_EQ(tok, string + n));
-@@ -329,3 +334,71 @@
- }
- return ((addr & mask) == net);
- }
-+
-+#ifndef DISABLE_WILDCARD_MATCHING
-+/* Note: this feature has been adapted in a pretty straightforward way
-+ from Tatu Ylonen's last SSH version under free license by
-+ Pekka Savola <pekkas@netcore.fi>.
-+
-+ Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
-+*/
-+
-+/* Returns true if the given string matches the pattern (which may contain
-+ ? and * as wildcards), and zero if it does not match. */
-+
-+int match_pattern_ylo(const char *s, const char *pattern)
-+{
-+ while (1)
-+ {
-+ /* If at end of pattern, accept if also at end of string. */
-+ if (!*pattern)
-+ return !*s;
-+
-+ /* Process '*'. */
-+ if (*pattern == '*')
-+ {
-+ /* Skip the asterisk. */
-+ pattern++;
-+
-+ /* If at end of pattern, accept immediately. */
-+ if (!*pattern)
-+ return 1;
-+
-+ /* If next character in pattern is known, optimize. */
-+ if (*pattern != '?' && *pattern != '*')
-+ {
-+ /* Look instances of the next character in pattern, and try
-+ to match starting from those. */
-+ for (; *s; s++)
-+ if (*s == *pattern &&
-+ match_pattern_ylo(s + 1, pattern + 1))
-+ return 1;
-+ /* Failed. */
-+ return 0;
-+ }
-+
-+ /* Move ahead one character at a time and try to match at each
-+ position. */
-+ for (; *s; s++)
-+ if (match_pattern_ylo(s, pattern))
-+ return 1;
-+ /* Failed. */
-+ return 0;
-+ }
-+
-+ /* There must be at least one more character in the string. If we are
-+ at the end, fail. */
-+ if (!*s)
-+ return 0;
-+
-+ /* Check if the next character of the string is acceptable. */
-+ if (*pattern != '?' && *pattern != *s)
-+ return 0;
-+
-+ /* Move to the next character, both in string and in pattern. */
-+ s++;
-+ pattern++;
-+ }
-+ /*NOTREACHED*/
-+}
-+#endif /* DISABLE_WILDCARD_MATCHING */