diff options
author | adrianp <adrianp@pkgsrc.org> | 2010-02-04 20:14:00 +0000 |
---|---|---|
committer | adrianp <adrianp@pkgsrc.org> | 2010-02-04 20:14:00 +0000 |
commit | 5a849339be5e7e70c661c964ddc11fab9eb34807 (patch) | |
tree | 21eee2b3f3aa8bb64eb87acee29a40be456ae941 /chat/ircd-hybrid/patches | |
parent | 4a5e69a32c7e05ffe85d09f3ec0db67ae2a97bb2 (diff) | |
download | pkgsrc-5a849339be5e7e70c661c964ddc11fab9eb34807.tar.gz |
PKGREVISION++
Fix for CVE 2009-4016
Diffstat (limited to 'chat/ircd-hybrid/patches')
-rw-r--r-- | chat/ircd-hybrid/patches/patch-af | 18 | ||||
-rw-r--r-- | chat/ircd-hybrid/patches/patch-ag | 17 | ||||
-rw-r--r-- | chat/ircd-hybrid/patches/patch-ah | 42 | ||||
-rw-r--r-- | chat/ircd-hybrid/patches/patch-ai | 51 |
4 files changed, 128 insertions, 0 deletions
diff --git a/chat/ircd-hybrid/patches/patch-af b/chat/ircd-hybrid/patches/patch-af new file mode 100644 index 00000000000..47e27359af7 --- /dev/null +++ b/chat/ircd-hybrid/patches/patch-af @@ -0,0 +1,18 @@ +$NetBSD: patch-af,v 1.3 2010/02/04 20:14:01 adrianp Exp $ + +--- contrib/spy_links_notice.c.orig 2007-02-28 04:17:48.000000000 +0000 ++++ contrib/spy_links_notice.c +@@ -61,10 +61,9 @@ show_links(va_list args) + + if (IsClient(source_p)) + sendto_realops_flags(UMODE_SPY, L_ALL, +- "LINKS '%s' requested by %s (%s@%s) [%s]", +- parv[1] ? parv[1] : "", source_p->name, +- source_p->username, source_p->host, +- source_p->servptr->name); ++ "links requested by %s (%s@%s) [%s]", ++ source_p->name, source_p->username, ++ source_p->host, source_p->servptr->name); + + return pass_callback(prev_hook, source_p, parc, parv); + } diff --git a/chat/ircd-hybrid/patches/patch-ag b/chat/ircd-hybrid/patches/patch-ag new file mode 100644 index 00000000000..26617355630 --- /dev/null +++ b/chat/ircd-hybrid/patches/patch-ag @@ -0,0 +1,17 @@ +$NetBSD: patch-ag,v 1.3 2010/02/04 20:14:01 adrianp Exp $ + +--- include/irc_string.h.orig 2007-02-28 04:17:43.000000000 +0000 ++++ include/irc_string.h +@@ -99,12 +99,6 @@ extern char *basename(char *); + #endif + + /* +- * clean_string - cleanup control and high ascii characters +- * -Dianora +- */ +-extern char *clean_string(char *, const unsigned char *, size_t); +- +-/* + * strip_tabs - convert tabs to spaces + * - jdc + */ diff --git a/chat/ircd-hybrid/patches/patch-ah b/chat/ircd-hybrid/patches/patch-ah new file mode 100644 index 00000000000..e8fde771151 --- /dev/null +++ b/chat/ircd-hybrid/patches/patch-ah @@ -0,0 +1,42 @@ +$NetBSD: patch-ah,v 1.1 2010/02/04 20:14:01 adrianp Exp $ + +--- modules/m_links.c.orig 2007-02-28 04:17:53.000000000 +0000 ++++ modules/m_links.c +@@ -83,15 +83,11 @@ do_links(struct Client *source_p, int pa + { + if (IsOper(source_p) || !ConfigServerHide.flatten_links) + { +- char *mask = (parc > 2 ? parv[2] : parv[1]); ++ const char *mask = (parc > 2 ? parv[2] : parv[1]); + const char *me_name, *nick, *p; + struct Client *target_p; +- char clean_mask[2 * HOSTLEN + 4]; + dlink_node *ptr; + +- if (!EmptyString(mask)) /* only necessary if there is a mask */ +- mask = collapse(clean_string(clean_mask, (const unsigned char*) mask, 2 * HOSTLEN)); +- + me_name = ID_or_name(&me, source_p->from); + nick = ID_or_name(source_p, source_p->from); + +@@ -125,7 +121,8 @@ do_links(struct Client *source_p, int pa + me_name, nick, + EmptyString(mask) ? "*" : mask); + } +- else { ++ else ++ { + /* + * Print our own info so at least it looks like a normal links + * then print out the file (which may or may not be empty) +@@ -162,8 +159,8 @@ m_links(struct Client *client_p, struct + me.name, source_p->name); + return; + } +- else +- last_used = CurrentTime; ++ ++ last_used = CurrentTime; + + if (!ConfigServerHide.flatten_links) + { diff --git a/chat/ircd-hybrid/patches/patch-ai b/chat/ircd-hybrid/patches/patch-ai new file mode 100644 index 00000000000..e2840abd21d --- /dev/null +++ b/chat/ircd-hybrid/patches/patch-ai @@ -0,0 +1,51 @@ +$NetBSD: patch-ai,v 1.1 2010/02/04 20:14:01 adrianp Exp $ + +--- src/irc_string.c.orig 2007-02-28 04:17:46.000000000 +0000 ++++ src/irc_string.c +@@ -70,46 +70,6 @@ myctime(time_t value) + } + + /* +- * clean_string - clean up a string possibly containing garbage +- * +- * *sigh* Before the kiddies find this new and exciting way of +- * annoying opers, lets clean up what is sent to local opers +- * -Dianora +- */ +-char * +-clean_string(char* dest, const unsigned char* src, size_t len) +-{ +- char* d = dest; +- assert(0 != dest); +- assert(0 != src); +- +- if(dest == NULL || src == NULL) +- return NULL; +- +- len -= 3; /* allow for worst case, '^A\0' */ +- +- while (*src && (len > 0)) +- { +- if (*src & 0x80) /* if high bit is set */ +- { +- *d++ = '.'; +- --len; +- } +- else if (!IsPrint(*src)) /* if NOT printable */ +- { +- *d++ = '^'; +- --len; +- *d++ = 0x40 + *src; /* turn it into a printable */ +- } +- else +- *d++ = *src; +- ++src, --len; +- } +- *d = '\0'; +- return dest; +-} +- +-/* + * strip_tabs(dst, src, length) + * + * Copies src to dst, while converting all \t (tabs) into spaces. |