summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Ahlberg <aliz@gentoo.org>2003-07-11 13:03:48 +0000
committerDaniel Ahlberg <aliz@gentoo.org>2003-07-11 13:03:48 +0000
commit51d03fb6bc6510cbe57068beb1bd42440b20ca00 (patch)
treecf4231bc0912532bc9c6e724f087f89df4720016 /net-dialup/cistronradius/files
parentadding metadata.xml (diff)
downloadhistorical-51d03fb6bc6510cbe57068beb1bd42440b20ca00.tar.gz
historical-51d03fb6bc6510cbe57068beb1bd42440b20ca00.tar.bz2
historical-51d03fb6bc6510cbe57068beb1bd42440b20ca00.zip
security update
Diffstat (limited to 'net-dialup/cistronradius/files')
-rw-r--r--net-dialup/cistronradius/files/cistronradius-1.6.6-security.patch42
-rw-r--r--net-dialup/cistronradius/files/digest-cistronradius-1.6.6-r11
2 files changed, 43 insertions, 0 deletions
diff --git a/net-dialup/cistronradius/files/cistronradius-1.6.6-security.patch b/net-dialup/cistronradius/files/cistronradius-1.6.6-security.patch
new file mode 100644
index 000000000000..be9e24b54d7b
--- /dev/null
+++ b/net-dialup/cistronradius/files/cistronradius-1.6.6-security.patch
@@ -0,0 +1,42 @@
+--- radiusd-cistron-1.6.6.orig/src/acct.c
++++ radiusd-cistron-1.6.6/src/acct.c
+@@ -119,9 +119,10 @@
+ */
+ static void make_wtmp(struct radutmp *ut, struct utmp *wt, int status)
+ {
+- char buf[32];
++ char buf[48];
+ NAS *cl;
+ char *s;
++ int len;
+
+ /*
+ * Fill out the UTMP struct for the radwtmp file.
+@@ -143,11 +144,13 @@
+ s = cl->shortname;
+ if (s == NULL || s[0] == 0) s = uue(&(ut->nas_address));
+ #if UT_LINESIZE > 9
+- sprintf(buf, "%03d:%.20s", ut->nas_port, s);
++ sprintf(buf, "%03u:%.20s", ut->nas_port, s);
+ #else
+- sprintf(buf, "%02d%.20s", ut->nas_port, s);
++ sprintf(buf, "%02u%.20s", ut->nas_port, s);
+ #endif
+- strncpy(wt->ut_line, buf, UT_LINESIZE);
++ len = UT_LINESIZE;
++ if (len > sizeof(buf)) len = sizeof(buf);
++ strncpy(wt->ut_line, buf, len);
+
+ /*
+ * We store the dynamic IP address in the hostname field.
+@@ -155,7 +158,9 @@
+ #ifdef UT_HOSTSIZE
+ if (ut->framed_address) {
+ ipaddr2str(buf, ntohl(ut->framed_address));
+- strncpy(wt->ut_host, buf, UT_HOSTSIZE);
++ len = UT_HOSTSIZE;
++ if (len > sizeof(buf)) len = sizeof(buf);
++ strncpy(wt->ut_host, buf, len);
+ }
+ #endif
+ #ifdef __svr4__
diff --git a/net-dialup/cistronradius/files/digest-cistronradius-1.6.6-r1 b/net-dialup/cistronradius/files/digest-cistronradius-1.6.6-r1
new file mode 100644
index 000000000000..894e581b50c0
--- /dev/null
+++ b/net-dialup/cistronradius/files/digest-cistronradius-1.6.6-r1
@@ -0,0 +1 @@
+MD5 16084870890fd2ec577dbe183b51a379 radiusd-cistron-1.6.6.tar.gz 194154