[Python-checkins] r85211 - in python/branches/py3k: Lib/tarfile.py Misc/NEWS

lars.gustaebel python-checkins at python.org
Mon Oct 4 17:18:47 CEST 2010


Author: lars.gustaebel
Date: Mon Oct  4 17:18:47 2010
New Revision: 85211

Log:
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.



Modified:
   python/branches/py3k/Lib/tarfile.py
   python/branches/py3k/Misc/NEWS

Modified: python/branches/py3k/Lib/tarfile.py
==============================================================================
--- python/branches/py3k/Lib/tarfile.py	(original)
+++ python/branches/py3k/Lib/tarfile.py	Mon Oct  4 17:18:47 2010
@@ -945,8 +945,8 @@
         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
 
@@ -1124,8 +1124,8 @@
             info.get("type", REGTYPE),
             stn(info.get("linkname", ""), 100, encoding, errors),
             info.get("magic", POSIX_MAGIC),
-            stn(info.get("uname", "root"), 32, encoding, errors),
-            stn(info.get("gname", "root"), 32, encoding, errors),
+            stn(info.get("uname", ""), 32, encoding, errors),
+            stn(info.get("gname", ""), 32, encoding, errors),
             itn(info.get("devmajor", 0), 8, format),
             itn(info.get("devminor", 0), 8, format),
             stn(info.get("prefix", ""), 155, encoding, errors)

Modified: python/branches/py3k/Misc/NEWS
==============================================================================
--- python/branches/py3k/Misc/NEWS	(original)
+++ python/branches/py3k/Misc/NEWS	Mon Oct  4 17:18:47 2010
@@ -88,6 +88,9 @@
 Library
 -------
 
+- Issue #9065: tarfile no longer uses "root" as the default for the uname and
+  gname field.
+
 - Issue #8980: Fixed a failure in distutils.command check that was shadowed
   by an environment that does not have docutils. Patch by Arfrever.
 


More information about the Python-checkins mailing list