]> granicus.if.org Git - python/commitdiff
Merged revisions 85211 via svnmerge from
authorLars Gustäbel <lars@gustaebel.de>
Mon, 4 Oct 2010 15:37:53 +0000 (15:37 +0000)
committerLars Gustäbel <lars@gustaebel.de>
Mon, 4 Oct 2010 15:37:53 +0000 (15:37 +0000)
svn+ssh://pythondev@svn.python.org/python/branches/py3k

........
  r85211 | lars.gustaebel | 2010-10-04 17:18:47 +0200 (Mon, 04 Oct 2010) | 14 lines

  Issue #9065: no longer use "root" as the default for the
  uname and gname field.

  If tarfile creates a new archive and adds a file with a
  uid/gid that doesn't have a corresponding name on the
  system (e.g. because the user/group account was deleted) it
  uses the empty string in the uname/gname field now instead
  of "root". Using "root" as the default was a bad idea
  because on extraction the uname/gname fields are supposed
  to override the uid/gid fields. So, all archive members
  with nameless uids/gids belonged to the root user after
  extraction.
........

Lib/tarfile.py
Misc/NEWS

index a563ffb87554e0e274f1262d5035ddfb3bbc004c..47be1d49df8f426894c0e474830d6dd74c043e17 100644 (file)
@@ -928,8 +928,8 @@ class TarInfo(object):
         self.chksum = 0         # header checksum
         self.type = REGTYPE     # member type
         self.linkname = ""      # link name
-        self.uname = "root"     # user name
-        self.gname = "root"     # group name
+        self.uname = ""         # user name
+        self.gname = ""         # group name
         self.devmajor = 0       # device major number
         self.devminor = 0       # device minor number
 
@@ -1112,8 +1112,8 @@ class TarInfo(object):
             info.get("type", REGTYPE),
             stn(info.get("linkname", ""), 100),
             stn(info.get("magic", POSIX_MAGIC), 8),
-            stn(info.get("uname", "root"), 32),
-            stn(info.get("gname", "root"), 32),
+            stn(info.get("uname", ""), 32),
+            stn(info.get("gname", ""), 32),
             itn(info.get("devmajor", 0), 8, format),
             itn(info.get("devminor", 0), 8, format),
             stn(info.get("prefix", ""), 155)
index ea9c5024c8165bd3f1390dd41b65d1d360e628ce..acdccd1b0dba4a92dbe540fdf771bcb764bc30e4 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -50,6 +50,9 @@ Core and Builtins
 Library
 -------
 
+- Issue #9065: tarfile no longer uses "root" as the default for the uname and
+  gname field.
+
 - Issue #1050268: parseaddr now correctly quotes double quote and backslash
   characters that appear inside quoted strings in email addresses.