Make IDNA return an empty string when the input is empty. Fixes #1163178.
Will backport to 2.4.
diff --git a/Lib/encodings/idna.py b/Lib/encodings/idna.py
index 4814215..f8a31d8 100644
--- a/Lib/encodings/idna.py
+++ b/Lib/encodings/idna.py
@@ -149,6 +149,9 @@
             # IDNA is quite clear that implementations must be strict
             raise UnicodeError, "unsupported error handling "+errors
 
+        if not input:
+            return "", 0
+
         result = []
         labels = dots.split(input)
         if labels and len(labels[-1])==0:
@@ -166,6 +169,9 @@
         if errors != 'strict':
             raise UnicodeError, "Unsupported error handling "+errors
 
+        if not input:
+            return u"", 0
+
         # IDNA allows decoding to operate on Unicode strings, too.
         if isinstance(input, unicode):
             labels = dots.split(input)