openpkg/tar.patch

Mon, 20 Apr 2009 19:22:00 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Mon, 20 Apr 2009 19:22:00 +0200
changeset 178
0ba300bdf30a
child 250
bda4f5eec616
permissions
-rw-r--r--

Change unfortunate but partly useful overreaching security tradeoff.
The principle of allocating each running process an individual system
user and group can have security benefits, however maintining a plethora
of users, groups, processes, file modes, file permissions, and even
nonportable file ACLs on a host serving from a hundred processes has
some security disadvantages. This tradeoff is even worse for systems
like OpenPKG which benefit from administration transparency through the
use of minimal system intrusion and only three usage privilege levels.

     1 Index: Makefile.in
     2 --- Makefile.in.orig	2007-10-10 13:00:22 +0200
     3 +++ Makefile.in	2007-10-17 08:40:12 +0200
     4 @@ -485,7 +485,7 @@
     5  target_alias = @target_alias@
     6  ACLOCAL_AMFLAGS = -I m4
     7  EXTRA_DIST = ChangeLog.1 PORTS
     8 -SUBDIRS = doc lib rmt src scripts po tests
     9 +SUBDIRS = doc lib src
    10  all: config.h
    11  	$(MAKE) $(AM_MAKEFLAGS) all-recursive
    13 Index: lib/argp-help.c
    14 --- lib/argp-help.c.orig	2007-09-28 15:11:36 +0200
    15 +++ lib/argp-help.c	2007-10-17 08:40:12 +0200
    16 @@ -570,8 +570,7 @@
    17    return val;
    18  }
    20 -static inline int
    21 -__attribute__ ((always_inline))
    22 +static int
    23  hol_entry_long_iterate (const struct hol_entry *entry,
    24  			int (*func)(const struct argp_option *opt,
    25  				    const struct argp_option *real,
    26 Index: src/compare.c
    27 --- src/compare.c.orig	2007-08-26 10:56:55 +0200
    28 +++ src/compare.c	2007-10-17 08:40:12 +0200
    29 @@ -278,7 +278,7 @@
    30    size_t len = strlen (current_stat_info.link_name);
    31    char *linkbuf = alloca (len + 1);
    33 -  int status = readlink (current_stat_info.file_name, linkbuf, len + 1);
    34 +  int status = readlink (current_stat_info.file_name, linkbuf, len);
    36    if (status < 0)
    37      {
    38 Index: src/create.c
    39 --- src/create.c.orig	2007-10-05 19:46:49 +0200
    40 +++ src/create.c	2007-10-17 08:40:12 +0200
    41 @@ -1696,7 +1696,7 @@
    42        if (linklen != st->stat.st_size || linklen + 1 == 0)
    43  	xalloc_die ();
    44        buffer = (char *) alloca (linklen + 1);
    45 -      size = readlink (p, buffer, linklen + 1);
    46 +      size = readlink (p, buffer, linklen);
    47        if (size < 0)
    48  	{
    49  	  readlink_diag (p);
    50 Index: src/incremen.c
    51 --- src/incremen.c.orig	2007-10-01 23:19:55 +0200
    52 +++ src/incremen.c	2007-10-17 08:40:12 +0200
    53 @@ -526,6 +526,7 @@
    54             children = CHANGED_CHILDREN;
    55  	 but changed to: */
    56        free (name_buffer);
    57 +      if (dirp)
    58        free (dirp);
    59        return NULL;
    60      }
    61 Index: src/tar.c
    62 --- src/tar.c.orig	2007-09-26 23:36:58 +0200
    63 +++ src/tar.c	2007-10-17 08:40:12 +0200
    64 @@ -20,6 +20,7 @@
    65     51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */
    67  #include <system.h>
    68 +#include <locale.h>
    70  #include <fnmatch.h>
    71  #include <argp.h>
    72 Index: src/utf8.c
    73 --- src/utf8.c.orig	2007-06-27 15:30:32 +0200
    74 +++ src/utf8.c	2007-10-17 08:40:12 +0200
    75 @@ -22,6 +22,9 @@
    76  #include "common.h"
    77  #ifdef HAVE_ICONV_H
    78  # include <iconv.h>
    79 +#else
    80 +# define iconv_t void *
    81 +# define ICONV_CONST const
    82  #endif
    84  #ifndef ICONV_CONST
    85 Index: src/xheader.c
    86 --- src/xheader.c.orig	2007-06-27 15:30:32 +0200
    87 +++ src/xheader.c	2007-10-17 08:40:12 +0200
    88 @@ -27,6 +27,10 @@
    90  #include <fnmatch.h>
    92 +#ifndef SIZE_MAX
    93 +# define SIZE_MAX ((size_t) -1)
    94 +#endif
    95 +
    96  static bool xheader_protected_pattern_p (char const *pattern);
    97  static bool xheader_protected_keyword_p (char const *keyword);
    98  static void xheader_set_single_keyword (char *) __attribute__ ((noreturn));
    99 Index: lib/strerror.c
   100 --- lib/strerror.c.orig	2007-09-28 15:11:37 +0200
   101 +++ lib/strerror.c	2007-10-18 00:55:28 +0200
   102 @@ -23,6 +23,7 @@
   104  # include <string.h>
   105  # include <stdio.h>
   106 +# include <limits.h>
   108  # undef strerror

mercurial