Patch #1049151:  adding bool support to xdrlib.py.
Also add xdrlib._test into the test suite.
diff --git a/Lib/test/output/test_xdrlib b/Lib/test/output/test_xdrlib
new file mode 100644
index 0000000..d86caa9
--- /dev/null
+++ b/Lib/test/output/test_xdrlib
@@ -0,0 +1,19 @@
+test_xdrlib
+pack test 0 succeeded
+pack test 1 succeeded
+pack test 2 succeeded
+pack test 3 succeeded
+pack test 4 succeeded
+pack test 5 succeeded
+pack test 6 succeeded
+pack test 7 succeeded
+pack test 8 succeeded
+unpack test 0 succeeded : 9
+unpack test 1 succeeded : True
+unpack test 2 succeeded : False
+unpack test 3 succeeded : 45
+unpack test 4 succeeded : 1.89999997616
+unpack test 5 succeeded : 1.9
+unpack test 6 succeeded : hello world
+unpack test 7 succeeded : [0, 1, 2, 3, 4]
+unpack test 8 succeeded : ['what', 'is', 'hapnin', 'doctor']
diff --git a/Lib/test/test_sundry.py b/Lib/test/test_sundry.py
index be1a1e7..394d966 100644
--- a/Lib/test/test_sundry.py
+++ b/Lib/test/test_sundry.py
@@ -93,5 +93,4 @@
 #import user
 import webbrowser
 import whichdb
-import xdrlib
 import xml
diff --git a/Lib/test/test_xdrlib.py b/Lib/test/test_xdrlib.py
new file mode 100644
index 0000000..afa6afe
--- /dev/null
+++ b/Lib/test/test_xdrlib.py
@@ -0,0 +1,4 @@
+import xdrlib
+
+xdrlib._test()
+
diff --git a/Lib/xdrlib.py b/Lib/xdrlib.py
index 1123090..d9d2120 100644
--- a/Lib/xdrlib.py
+++ b/Lib/xdrlib.py
@@ -157,7 +157,9 @@
         return struct.unpack('>l', data)[0]
 
     unpack_enum = unpack_int
-    unpack_bool = unpack_int
+
+    def unpack_bool(self):
+        return bool(self.unpack_int())
 
     def unpack_uhyper(self):
         hi = self.unpack_uint()
@@ -232,8 +234,8 @@
     p = Packer()
     packtest = [
         (p.pack_uint,    (9,)),
-        (p.pack_bool,    (None,)),
-        (p.pack_bool,    ('hello',)),
+        (p.pack_bool,    (True,)),
+        (p.pack_bool,    (False,)),
         (p.pack_uhyper,  (45L,)),
         (p.pack_float,   (1.9,)),
         (p.pack_double,  (1.9,)),
@@ -257,8 +259,8 @@
     up = Unpacker(data)
     unpacktest = [
         (up.unpack_uint,   (), lambda x: x == 9),
-        (up.unpack_bool,   (), lambda x: not x),
-        (up.unpack_bool,   (), lambda x: x),
+        (up.unpack_bool,   (), lambda x: x is True),
+        (up.unpack_bool,   (), lambda x: x is False),
         (up.unpack_uhyper, (), lambda x: x == 45L),
         (up.unpack_float,  (), lambda x: 1.89 < x < 1.91),
         (up.unpack_double, (), lambda x: 1.89 < x < 1.91),
diff --git a/Misc/NEWS b/Misc/NEWS
index 71e7b82..7d6a9e6 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -54,6 +54,8 @@
 Library
 -------
 
+- Patch #1049151: xdrlib now unpacks booleans as True or False.
+
 - Fixed bug in a NameError bug in cookielib.  Patch #1116583.
 
 - Applied a security fix to SimpleXMLRPCserver (PSF-2005-001).  This