add module binascii; add r_unload/s_unload; don't change 'rb' to 'r' in open
diff --git a/Lib/rexec.py b/Lib/rexec.py
index 316fc1c..f33041a 100644
--- a/Lib/rexec.py
+++ b/Lib/rexec.py
@@ -112,7 +112,8 @@
 
     ok_path = tuple(sys.path)		# That's a policy decision
 
-    ok_builtin_modules = ('array', 'audioop', 'imageop', 'marshal', 'math',
+    ok_builtin_modules = ('array', 'binascii', 'audioop', 'imageop',
+			  'marshal', 'math',
 			  'md5', 'parser', 'regex', 'rotor', 'select',
 			  'strop', 'struct', 'time')
 
@@ -229,6 +230,9 @@
 
     def r_reload(self, m):
         return self.importer.reload(m)
+
+    def r_unload(self, m):
+        return self.importer.unload(m)
     
     # The s_* methods are similar but also swap std{in,out,err}
 
@@ -274,12 +278,15 @@
     def s_reload(self, *args):
         self.s_apply(self.r_reload, args)
     
+    def s_unload(self, *args):
+        self.s_apply(self.r_unload, args)
+    
     # Restricted open(...)
     
     def r_open(self, file, mode='r', buf=-1):
         if mode not in ('r', 'rb'):
             raise IOError, "can't open files for writing in restricted mode"
-        return open(file, 'r', buf)
+        return open(file, mode, buf)
 
 
 def test():