diff --git a/Lib/ftplib.py b/Lib/ftplib.py
index 22852bc..bfb0b5b 100644
--- a/Lib/ftplib.py
+++ b/Lib/ftplib.py
@@ -283,7 +283,7 @@
 	# The callback function is called for each line, with trailing
 	# CRLF stripped.  This creates a new port for you.
 	# print_lines is the default callback 
-	def retrlines(self, cmd, args):
+	def retrlines(self, cmd, *args):
 		callback = None
 		if args:
 			callback = args[0]
diff --git a/Lib/lib-stdwin/wdbframewin.py b/Lib/lib-stdwin/wdbframewin.py
index db3d137..f8b84e3 100644
--- a/Lib/lib-stdwin/wdbframewin.py
+++ b/Lib/lib-stdwin/wdbframewin.py
@@ -94,6 +94,7 @@
 			output = ''
 		else:
 			globals = self.frame.f_globals
+			globals['__privileged__'] = 1
 			locals = self.dict
 			try:
 				value = eval(expr, globals, locals)
diff --git a/Lib/stdwin/wdbframewin.py b/Lib/stdwin/wdbframewin.py
index db3d137..f8b84e3 100755
--- a/Lib/stdwin/wdbframewin.py
+++ b/Lib/stdwin/wdbframewin.py
@@ -94,6 +94,7 @@
 			output = ''
 		else:
 			globals = self.frame.f_globals
+			globals['__privileged__'] = 1
 			locals = self.dict
 			try:
 				value = eval(expr, globals, locals)
diff --git a/Lib/test/test_md5.py b/Lib/test/test_md5.py
new file mode 100644
index 0000000..43f12ca
--- /dev/null
+++ b/Lib/test/test_md5.py
@@ -0,0 +1,24 @@
+# Testing md5 module
+
+import string
+from md5 import md5
+
+def hexstr(s):
+	h = string.hexdigits
+	r = ''
+	for c in s:
+		i = ord(c)
+		r = r + h[(i >> 4) & 0xF] + h[i & 0xF]
+	return r
+
+def md5test(s):
+	return 'MD5 ("' + s + '") = ' + hexstr(md5(s).digest())
+
+print 'MD5 test suite:'
+print md5test('')
+print md5test('a')
+print md5test('abc')
+print md5test('message digest')
+print md5test('abcdefghijklmnopqrstuvwxyz')
+print md5test('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789')
+print md5test('12345678901234567890123456789012345678901234567890123456789012345678901234567890')
