summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2006-03-10 00:37:37 +0000
committerMike Frysinger <vapier@gentoo.org>2006-03-10 00:37:37 +0000
commite185db21bd83f40a1da6a766cb6cf2f6e8d6156f (patch)
tree8e414a7c48bb878061be94e671e5867f2de18b8a /app-arch/zoo/files
parentMark 1.4.0 stable on ia64 (diff)
downloadhistorical-e185db21bd83f40a1da6a766cb6cf2f6e8d6156f.tar.gz
historical-e185db21bd83f40a1da6a766cb6cf2f6e8d6156f.tar.bz2
historical-e185db21bd83f40a1da6a766cb6cf2f6e8d6156f.zip
Grab a bunch of patches from Fedora and cleanup the sources more.
Package-Manager: portage-2.1_pre5-r4
Diffstat (limited to 'app-arch/zoo/files')
-rw-r--r--app-arch/zoo/files/digest-zoo-2.10-r26
-rw-r--r--app-arch/zoo/files/zoo-2.10-CAN-2005-2349.patch36
-rw-r--r--app-arch/zoo/files/zoo-2.10-febz-183426.patch16
-rw-r--r--app-arch/zoo/files/zoo-2.10-security_pathsize.patch23
4 files changed, 81 insertions, 0 deletions
diff --git a/app-arch/zoo/files/digest-zoo-2.10-r2 b/app-arch/zoo/files/digest-zoo-2.10-r2
new file mode 100644
index 000000000000..f0934af7ed78
--- /dev/null
+++ b/app-arch/zoo/files/digest-zoo-2.10-r2
@@ -0,0 +1,6 @@
+MD5 5de8e6d16ab168ef2f4e8db412068054 zoo-2.10-gcc-issues-fix.patch 19467
+RMD160 c58595ae3d5744b0d8dc38b6b0e1c66c370dd086 zoo-2.10-gcc-issues-fix.patch 19467
+SHA256 0215efd7aa218048f5f8bc085810f89cad6a9f710234f0d0e93be959a02f582b zoo-2.10-gcc-issues-fix.patch 19467
+MD5 70a0a785ecc8f7f747be1421e495d837 zoo-2.10pl1.tar.gz 172096
+RMD160 971d388b8cb29def1e4e31011463563e91c3d700 zoo-2.10pl1.tar.gz 172096
+SHA256 ad8d8fee5e524aca0e1e9a1e431c21cd59943d8373d5dffe4edca03a7e4284f4 zoo-2.10pl1.tar.gz 172096
diff --git a/app-arch/zoo/files/zoo-2.10-CAN-2005-2349.patch b/app-arch/zoo/files/zoo-2.10-CAN-2005-2349.patch
new file mode 100644
index 000000000000..3752728c8e5a
--- /dev/null
+++ b/app-arch/zoo/files/zoo-2.10-CAN-2005-2349.patch
@@ -0,0 +1,36 @@
+Taken from Fedora
+
+--- portable.c
++++ portable.c
+@@ -364,6 +364,31 @@
+ show_dir(direntry);
+ }
+ #endif
++ char *p;
++ /* take off '../' */
++ while ((p = strstr( direntry->dirname, "../" )) != NULL) {
++ while (*(p+3) != '\0') {
++ *p = *(p + 3);
++ p++;
++ }
++ *p = *(p+3); /* move last null */
++ //printf("zoo: skipped \"../\" path component in '%s'\n", direntry->dirname);
++ }
++ /* take off '/' */
++ if ( direntry->dirname[0] == '/' ) {
++ p = direntry->dirname;
++ while (*p != '\0') {
++ *p = *(p + 1);
++ p++;
++ }
++ *p = *(p+1); /* move last null */
++ //printf("zoo: skipped \"/\" path component in '%s'\n", direntry->dirname);
++ }
++ /* take off '..' */
++ if(!strcmp(direntry->dirname, ".."))
++ direntry->dirname[0] = '\0';
++ /* direntry->dirlen = strlen(direntry->dirname); */
++
+ return (0);
+ }
+
diff --git a/app-arch/zoo/files/zoo-2.10-febz-183426.patch b/app-arch/zoo/files/zoo-2.10-febz-183426.patch
new file mode 100644
index 000000000000..d8e34d628094
--- /dev/null
+++ b/app-arch/zoo/files/zoo-2.10-febz-183426.patch
@@ -0,0 +1,16 @@
+Taken from Fedora
+
+https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=183426
+http://bugs.gentoo.org/125622
+
+--- zoo/parse.c
++++ zoo/parse.c
+@@ -39,7 +39,7 @@
+ char *namep; /* points to relevant part of tempname */
+
+ char *p;
+- strcpy (tempname, fname);
++ strncpy(tempname, fname, LFNAMESIZE);
+
+ #ifdef DEBUG
+ printf ("parse: supplied name is [%s].\n", tempname);
diff --git a/app-arch/zoo/files/zoo-2.10-security_pathsize.patch b/app-arch/zoo/files/zoo-2.10-security_pathsize.patch
new file mode 100644
index 000000000000..4f89530f43e7
--- /dev/null
+++ b/app-arch/zoo/files/zoo-2.10-security_pathsize.patch
@@ -0,0 +1,23 @@
+Taken from Fedora
+
+--- misc.c
++++ misc.c
+@@ -135,11 +135,17 @@
+ char *fullpath (direntry)
+ struct direntry *direntry;
+ {
+- static char result[PATHSIZE];
++ static char result[PATHSIZE+LFNAMESIZE+12]; /* Room for enough space.*/
+ combine (result,
+ direntry->dirlen != 0 ? direntry->dirname : "",
+ (direntry->namlen != 0) ? direntry->lfname : direntry->fname
+ );
++
++ if (strlen (result) >= PATHSIZE) {
++ prterror ('f', "Combined dirname and filename too long!\n");
++ *result = '\0';
++ }
++
+ return (result);
+ }
+