(Jack+Guido:) interpret ../ in basejoin() according to RFC1808.
diff --git a/Lib/urllib.py b/Lib/urllib.py
index e57311b..a8a579b 100644
--- a/Lib/urllib.py
+++ b/Lib/urllib.py
@@ -592,6 +592,13 @@
 		else:
 			# remove last file component
 			basepath = basepath[:i+1]
+		# Interpret ../ (important because of symlinks)
+		while basepath and path[:3] == '../':
+			path = path[3:]
+			i = string.rfind(basepath, '/')
+			if i > 0:
+				basepath = basepath[:i-1]
+			
 		path = basepath + path
 	if type and host: return type + '://' + host + path
 	elif type: return type + ':' + path