In makesockaddr(), if we don't know the address family, don't raise an
exception -- return it as a tuple.  Seems useful in promiscuous mode.
diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c
index 7b73b63..bcc3fb2 100644
--- a/Modules/socketmodule.c
+++ b/Modules/socketmodule.c
@@ -364,9 +364,12 @@
 	/* More cases here... */
 
 	default:
-		PyErr_SetString(PySocket_Error,
-				"return unknown socket address type");
-		return NULL;
+		/* If we don't know the address family, don't raise an
+		   exception -- return it as a tuple. */
+		return Py_BuildValue("is#",
+				     addr->sa_family,
+				     addr->sa_data,
+				     sizeof(addr->sa_data));
 
 	}
 }