Index: includes/file.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/file.inc,v
retrieving revision 1.200
diff -u -p -r1.200 file.inc
--- includes/file.inc	30 Dec 2009 08:16:55 -0000	1.200
+++ includes/file.inc	24 Jan 2010 10:19:41 -0000
@@ -1124,10 +1124,11 @@ function file_save_upload($source, $vali
 
   // Build the list of non-munged extensions.
   // @todo: this should not be here. we need to figure out the right place.
-  $extensions = '';
-  foreach ($user->roles as $rid => $name) {
-    $extensions .= ' ' . variable_get("upload_extensions_$rid",
-    variable_get('upload_extensions_default', 'jpg jpeg gif png txt html doc xls pdf ppt pps odt ods odp'));
+  $extensions = 'jpg jpeg gif png txt html doc xls pdf ppt pps odt ods odp';
+  // Allow users who have the permission to administer software updates to
+  // also upload archive-files of modules and themes.
+  if (user_access('administer software updates')) {
+    $extensions .= ' zip tar tar.gz tar.bz2';
   }
 
   // Begin building file object.
