This patch is for perl, and it is has some Debian fixes that fix #2227, 
including the symlink securty patch, so we can scrap the perl securty fix patch.
_________________________________________________________________
Get more out of the Web. Learn 10 hidden secrets of Windows Live.
http://windowslive.com/connect/post/jamiethomson.spaces.live.com-Blog-cns!550F681DAD532637!5295.entry?ocid=TXT_TAGLM_WL_domore_092008
diff -Naur perl-5.10.0-orig/ext/PerlIO/via/via.xs perl-5.10.0/ext/PerlIO/via/via.xs
--- perl-5.10.0-orig/ext/PerlIO/via/via.xs	2007-12-18 04:47:07.000000000 -0600
+++ perl-5.10.0/ext/PerlIO/via/via.xs	2008-10-15 15:20:58.000000000 -0500
@@ -89,7 +89,7 @@
 	    if (!s->fh) {
 		GV *gv = newGVgen(HvNAME_get(s->stash));
 		GvIOp(gv) = newIO();
-		s->fh = newRV_noinc((SV *) gv);
+		s->fh = newRV((SV *) gv);
 		s->io = GvIOp(gv);
 	    }
 	    IoIFP(s->io) = PerlIONext(f);
diff -Naur perl-5.10.0-orig/ext/POSIX/Makefile.PL perl-5.10.0/ext/POSIX/Makefile.PL
--- perl-5.10.0-orig/ext/POSIX/Makefile.PL	2007-12-18 04:47:07.000000000 -0600
+++ perl-5.10.0/ext/POSIX/Makefile.PL	2008-10-15 15:19:27.000000000 -0500
@@ -48,13 +48,11 @@
       MAX_INPUT MB_LEN_MAX MSG_CTRUNC MSG_DONTROUTE MSG_EOR MSG_OOB MSG_PEEK 
       MSG_TRUNC MSG_WAITALL NAME_MAX NCCS NGROUPS_MAX NOFLSH OPEN_MAX OPOST
       PARENB PARMRK PARODD PATH_MAX PIPE_BUF RAND_MAX R_OK SCHAR_MAX
-      SCHAR_MIN SEEK_CUR SEEK_END SEEK_SET SHRT_MAX SHRT_MIN SIGABRT SIGALRM
+      SCHAR_MIN SHRT_MAX SHRT_MIN SIGABRT SIGALRM
       SIGCHLD SIGCONT SIGFPE SIGHUP SIGILL SIGINT SIGKILL SIGPIPE SIGQUIT
       SIGSEGV SIGSTOP SIGTERM SIGTSTP SIGTTIN SIGTTOU
       SIGUSR1 SIGUSR2 SIG_BLOCK SIG_SETMASK SIG_UNBLOCK SSIZE_MAX
-      STDERR_FILENO STDIN_FILENO STDOUT_FILENO STREAM_MAX
-      S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU S_ISGID S_ISUID
-      S_IWGRP S_IWOTH S_IWUSR S_IXGRP S_IXOTH S_IXUSR TCIFLUSH TCIOFF
+      STDERR_FILENO STDIN_FILENO STDOUT_FILENO STREAM_MAX TCIFLUSH TCIOFF
       TCIOFLUSH TCION TCOFLUSH TCOOFF TCOON TCSADRAIN TCSAFLUSH TCSANOW
       TMP_MAX TOSTOP TZNAME_MAX VEOF VEOL VERASE VINTR VKILL VMIN VQUIT
       VSTART VSTOP VSUSP VTIME WNOHANG WUNTRACED W_OK X_OK
diff -Naur perl-5.10.0-orig/ext/POSIX/POSIX.pm perl-5.10.0/ext/POSIX/POSIX.pm
--- perl-5.10.0-orig/ext/POSIX/POSIX.pm	2007-12-18 04:47:07.000000000 -0600
+++ perl-5.10.0/ext/POSIX/POSIX.pm	2008-10-15 15:19:27.000000000 -0500
@@ -13,7 +13,9 @@
 use Fcntl qw(FD_CLOEXEC F_DUPFD F_GETFD F_GETFL F_GETLK F_RDLCK F_SETFD
 	     F_SETFL F_SETLK F_SETLKW F_UNLCK F_WRLCK O_ACCMODE O_APPEND
 	     O_CREAT O_EXCL O_NOCTTY O_NONBLOCK O_RDONLY O_RDWR O_TRUNC
-	     O_WRONLY);
+	     O_WRONLY SEEK_CUR SEEK_END SEEK_SET
+	     S_IRGRP S_IROTH S_IRUSR S_IRWXG S_IRWXO S_IRWXU S_ISGID S_ISUID
+	     S_IWGRP S_IWOTH S_IWUSR S_IXGRP S_IXOTH S_IXUSR);
 
 # Grandfather old foo_h form to new :foo_h form
 my $loaded;
diff -Naur perl-5.10.0-orig/lib/File/Path.pm perl-5.10.0/lib/File/Path.pm
--- perl-5.10.0-orig/lib/File/Path.pm	2007-12-18 04:47:07.000000000 -0600
+++ perl-5.10.0/lib/File/Path.pm	2008-10-15 15:19:27.000000000 -0500
@@ -351,10 +351,8 @@
             }
 
             my $nperm = $perm & 07777 | 0600;
-            if ($nperm != $perm and not chmod $nperm, $root) {
-                if ($Force_Writeable) {
-                    _error($arg, "cannot make file writeable", $canon);
-                }
+            if ($Force_Writeable && $nperm != $perm and not chmod $nperm, $root) {
+                _error($arg, "cannot make file writeable", $canon);
             }
             print "unlink $canon\n" if $arg->{verbose};
             # delete all versions under VMS
diff -Naur perl-5.10.0-orig/pp_sort.c perl-5.10.0/pp_sort.c
--- perl-5.10.0-orig/pp_sort.c	2007-12-18 04:47:08.000000000 -0600
+++ perl-5.10.0/pp_sort.c	2008-10-15 15:19:27.000000000 -0500
@@ -1553,11 +1553,12 @@
 	max = AvFILL(av) + 1;
 	if (SvMAGICAL(av)) {
 	    MEXTEND(SP, max);
-	    p2 = SP;
 	    for (i=0; i < max; i++) {
 		SV **svp = av_fetch(av, i, FALSE);
 		*SP++ = (svp) ? *svp : NULL;
 	    }
+	    SP--;
+	    p1 = p2 = SP - (max-1);
 	}
 	else {
 	    if (SvREADONLY(av))
@@ -1713,7 +1714,7 @@
 	SvREADONLY_off(av);
     else if (av && !sorting_av) {
 	/* simulate pp_aassign of tied AV */
-	SV** const base = ORIGMARK+1;
+	SV** const base = MARK+1;
 	for (i=0; i < max; i++) {
 	    base[i] = newSVsv(base[i]);
 	}
diff -Naur perl-5.10.0-orig/t/lib/proxy_constant_subs.t perl-5.10.0/t/lib/proxy_constant_subs.t
--- perl-5.10.0-orig/t/lib/proxy_constant_subs.t	2007-12-18 04:47:08.000000000 -0600
+++ perl-5.10.0/t/lib/proxy_constant_subs.t	2008-10-15 15:19:27.000000000 -0500
@@ -7,20 +7,20 @@
         print "1..0 # Skip -- Perl configured without B module\n";
         exit 0;
     }
-    if ($Config::Config{'extensions'} !~ /\bPOSIX\b/) {
-        print "1..0 # Skip -- Perl configured without POSIX\n";
+    if ($Config::Config{'extensions'} !~ /\bFcntl\b/) {
+        print "1..0 # Skip -- Perl configured without Fcntl\n";
         exit 0;
     }
-    # errno is a real subroutine, and acts as control
+    # S_IFMT is a real subroutine, and acts as control
     # SEEK_SET is a proxy constant subroutine.
-    @symbols = qw(errno SEEK_SET);
+    @symbols = qw(S_IFMT SEEK_SET);
 }
 
 use strict;
 use warnings;
 use Test::More tests => 4 * @symbols;
 use B qw(svref_2object GVf_IMPORTED_CV);
-use POSIX @symbols;
+use Fcntl @symbols;
 
 # GVf_IMPORTED_CV should not be set on the original, but should be set on the
 # imported GV.
@@ -29,7 +29,7 @@
     my ($ps, $ms);
     {
 	no strict 'refs';
-	$ps = svref_2object(\*{"POSIX::$symbol"});
+	$ps = svref_2object(\*{"Fcntl::$symbol"});
 	$ms = svref_2object(\*{"::$symbol"});
     }
     isa_ok($ps, 'B::GV');
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to