Allow the port to work with Python 2.0. This should be fixed in the next release of Fnorb. (Caveat: There may be more broken calls.) Thanks to Mike Meyer , Brad Chapman , David Konerding . -- Johann --- orb/IIOPConnection.py.orig Mon Apr 3 16:08:34 2000 +++ orb/IIOPConnection.py Mon Nov 6 11:12:49 2000 @@ -88,7 +88,7 @@ # Create a socket and connect to the remote object. try: self.__socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - self.__socket.connect(host, port) + self.__socket.connect((host, port)) # Set the socket by default to NON-blocking mode. self.__socket.setblocking(0) --- orb/IIOPAcceptor.py.orig Mon Apr 3 16:08:34 2000 +++ orb/IIOPAcceptor.py Wed Nov 8 15:06:29 2000 @@ -65,7 +65,7 @@ try: # Create a socket on which to listen for connection requests. self.__socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - self.__socket.bind(host, port) + self.__socket.bind((host, port)) self.__socket.listen(5) # Get the host name, the IP address and the port number of the --- orb/Nudger.py.orig Mon Apr 3 16:08:34 2000 +++ orb/Nudger.py Wed Nov 8 15:06:50 2000 @@ -54,7 +54,7 @@ try: # Create a socket on which to listen for connection requests. listen_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - listen_socket.bind(host, port) + listen_socket.bind((host, port)) listen_socket.listen(1) # Get the host name, the IP address and the port number of the @@ -85,7 +85,7 @@ # has been performed on the listening socket! If you don't believe # me read Stevens' Network Programming ;^) self.__client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - self.__client.connect(listen_host, listen_port) + self.__client.connect((listen_host, listen_port)) # And finally, we do an 'accept' to complete the connection. (self.__server, address) = listen_socket.accept() *** orb/TypeCode.py.orig Mon Apr 3 10:08:35 2000 --- orb/TypeCode.py Sun Sep 23 12:38:25 2001 *************** *** 1240,1252 **** def _fnorb_marshal_value(self, cursor, value): """ Marshal a VALUE of this type onto an octet stream. """ ! if (not isinstance(value, CORBA.Object) and ! not isinstance(value, CORBA.Object_skel)): ! raise CORBA.BAD_PARAM() ! # Python 'None' is used to represent CORBA 'nil' if value is None: value = CORBA.Object(IOP.IOR()) value._fnorb_marshal(cursor) --- 1240,1256 ---- def _fnorb_marshal_value(self, cursor, value): """ Marshal a VALUE of this type onto an octet stream. """ ! ## Bugfix: check if value is None *before* checking its ! ## instance type (otherwise, trying to return a None ! ## in place of an InterfaceObject would fail with BAD_PARAM ! # Python 'None' is used to represent CORBA 'nil' if value is None: value = CORBA.Object(IOP.IOR()) + + if (not isinstance(value, CORBA.Object) and + not isinstance(value, CORBA.Object_skel)): + raise CORBA.BAD_PARAM() value._fnorb_marshal(cursor)