summaryrefslogtreecommitdiff
path: root/patches/glibc/2.1.3/rh62-06-glibc-2.1.3-preload.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/glibc/2.1.3/rh62-06-glibc-2.1.3-preload.patch')
-rw-r--r--patches/glibc/2.1.3/rh62-06-glibc-2.1.3-preload.patch86
1 files changed, 0 insertions, 86 deletions
diff --git a/patches/glibc/2.1.3/rh62-06-glibc-2.1.3-preload.patch b/patches/glibc/2.1.3/rh62-06-glibc-2.1.3-preload.patch
deleted file mode 100644
index 4b72e08..0000000
--- a/patches/glibc/2.1.3/rh62-06-glibc-2.1.3-preload.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-2001-01-08 Ulrich Drepper <drepper@redhat.com>
-
- * elf/rtld.c (process_envvars): Place output files for profiling
- in SUID binaries in /var/profile.
-
- * elf/dl-load.c (_dl_map_object): Don't look in cache for
- preloading in SUID binaries.
-
- * elf/dl-profile.c (_dl_start_profile): Open the output file with
- O_NOFOLLOW if possible.
-
- * sysdeps/generic/segfault.c (install_handler): Check output file
- name with access().
-
---- libc/elf/rtld.c 2000/03/15 05:42:01 1.148.2.7
-+++ libc/elf/rtld.c 2001/01/10 07:45:19
-@@ -1273,7 +1273,7 @@
- char *debug_output = NULL;
-
- /* This is the default place for profiling data file. */
-- _dl_profile_output = "/var/tmp";
-+ _dl_profile_output = __libc_enable_secure ? "/var/profile" : "/var/tmp";
-
- while ((envline = _dl_next_ld_env_entry (&runp)) != NULL)
- {
---- libc/elf/dl-load.c 1999/11/20 02:26:38 1.103.2.5
-+++ libc/elf/dl-load.c 2001/01/10 07:45:20
-@@ -1338,7 +1338,7 @@
- if (fd == -1 && env_path_list != NULL)
- fd = open_path (name, namelen, preloaded, env_path_list, &realname);
-
-- if (fd == -1)
-+ if (fd == -1 && (! preloaded || ! __libc_enable_secure))
- {
- /* Check the list of libraries in the file /etc/ld.so.cache,
- for compatibility with Linux's ldconfig program. */
---- libc/elf/dl-profile.c 1998/06/07 13:35:48 1.14
-+++ libc/elf/dl-profile.c 2001/01/10 07:45:21
-@@ -263,7 +263,12 @@
- *cp++ = '/';
- __stpcpy (__stpcpy (cp, _dl_profile), ".profile");
-
-- fd = __open (filename, O_RDWR | O_CREAT, 0666);
-+#ifdef O_NOFOLLOW
-+# define EXTRA_FLAGS | O_NOFOLLOW
-+#else
-+# define EXTRA_FLAGS
-+#endif
-+ fd = __open (filename, O_RDWR | O_CREAT EXTRA_FLAGS, 0666);
- if (fd == -1)
- {
- /* We cannot write the profiling data so don't do anything. */
---- libc/sysdeps/generic/segfault.c 2000/03/21 04:53:40 1.10.2.2
-+++ libc/sysdeps/generic/segfault.c 2001/01/10 07:45:22
-@@ -236,6 +236,7 @@
-
- /* Preserve the output file name if there is any given. */
- name = getenv ("SEGFAULT_OUTPUT_NAME");
-- if (name != NULL && name[0] != '\0')
-+ if (name != NULL && name[0] != '\0'
-+ && (!__libc_enable_secure || access (name, R_OK | W_OK) == 0))
- fname = __strdup (name);
- }
-
---- libc/sysdeps/unix/sysv/linux/i386/dl-librecon.h.jj Wed Feb 24 23:01:58 1999
-+++ libc/sysdeps/unix/sysv/linux/i386/dl-librecon.h Mon Jan 15 04:30:57 2001
-@@ -49,13 +49,17 @@
- /* Recognizing extra environment variables. */
- #define EXTRA_LD_ENVVARS \
- case 15: \
-- if (memcmp (&envline[3], "LIBRARY_VERSION", 15) == 0) \
-+ if (!__libc_enable_secure \
-+ && memcmp (&envline[3], "LIBRARY_VERSION", 15) == 0) \
- { \
- _dl_correct_cache_id = envline[19] == '5' ? 2 : 3; \
- break; \
- }
-
- /* Extra unsecure variables. */
--#define EXTRA_UNSECURE_ENVVARS "LD_AOUT_LIBRARY_PATH", "LD_AOUT_PRELOAD"
-+#define EXTRA_UNSECURE_ENVVARS \
-+ "LD_AOUT_LIBRARY_PATH", \
-+ "LD_AOUT_PRELOAD", \
-+ "LD_LIBRARY_VERSION"
-
- #endif /* dl-librecon.h */