Blob Blame History Raw
diff -up pysctp-0.3.1/sctp.py.orig pysctp-0.3.1/sctp.py
--- pysctp-0.3.1/sctp.py.orig	2008-04-10 21:30:33.000000000 -0400
+++ pysctp-0.3.1/sctp.py	2008-04-10 21:30:20.000000000 -0400
@@ -32,7 +32,7 @@ send_failed(): 
 remote_error(): 
 shutdown_event(): 
 pdapi_event(): 
-adaption_event(): 
+adaptation_event(): 
 
 Every SCTP socket has a number of properties. Two "complex" properties,
 that contain a number of sub-properties, are: 
@@ -246,7 +246,7 @@ class notification(object):
 	type_REMOTE_ERROR = _sctp.getconstant("SCTP_REMOTE_ERROR")
 	type_SHUTDOWN_EVENT = _sctp.getconstant("SCTP_SHUTDOWN_EVENT")
 	type_PARTIAL_DELIVERY_EVENT = _sctp.getconstant("SCTP_PARTIAL_DELIVERY_EVENT")
-	type_ADAPTION_INDICATION = _sctp.getconstant("SCTP_ADAPTION_INDICATION")
+	type_ADAPTATION_INDICATION = _sctp.getconstant("SCTP_ADAPTATION_INDICATION")
 
 class assoc_change(notification):
 	"""
@@ -396,14 +396,14 @@ class shutdown_event(notification):
 		self.assoc_id = 0
 		notification.__init__(self, values)
 	
-class adaption_event(notification):
+class adaptation_event(notification):
 	"""
 	Adaption indication event. It signals that the remote peer requests
-	an specific adaption layer.
+	an specific adaptation layer.
 
 	In SCTP, you can pass an optional 32-bit metadata identifier 
 	along each message, called "ppid". For protocols that actively use
-	this feature, it is like a subprotocol identifier, or "adaption
+	this feature, it is like a subprotocol identifier, or "adaptation
 	layer". The message interpreter is chosen by this value. This is
 	mostly for telephony signaling-related protocols.
 
@@ -419,7 +419,7 @@ class adaption_event(notification):
 	that (see event_subscribe class for details).
 	"""
 	def __init__(self, values=None):
-		self.adaption_ind = 0
+		self.adaptation_ind = 0
 		self.assoc_id = 0
 		notification.__init__(self, values)
 
@@ -451,7 +451,7 @@ notification_table = {
 	notification.type_REMOTE_ERROR: remote_error,
 	notification.type_SHUTDOWN_EVENT: shutdown_event,
 	notification.type_PARTIAL_DELIVERY_EVENT: pdapi_event,
-	notification.type_ADAPTION_INDICATION: adaption_event,
+	notification.type_ADAPTATION_INDICATION: adaptation_event,
 }
 
 
@@ -519,7 +519,7 @@ class event_subscribe(object):
 	peer_error: refers to remote_error() event
 	shutdown: refers to shutdon_event() 
 	partial_delivery: refers to pdapi_event()
-	adaption_layer: refers to adaption_event()
+	adaptation_layer: refers to adaptation_event()
 
 	(*) sndrcvinfo is ALWAYS returned by sctp_recv() along with message data. The
 	    data_io property just controls whether sndrcvinfo() contains useful data.
@@ -531,7 +531,7 @@ class event_subscribe(object):
 	sendfailure = send_failure
 	peererror = peer_error
 	partialdelivery = partial_delivery
-	adaptionlayer = adaption_layer
+	adaptationlayer = adaptation_layer
 	"""
 
 	def flush(self):
@@ -548,8 +548,8 @@ class event_subscribe(object):
 	def __get_property(self, key):
 		return self.__dict__[key]
 
-	def get_adaption_layer(self):
-		return self.__get_property("_adaption_layer")
+	def get_adaptation_layer(self):
+		return self.__get_property("_adaptation_layer")
 
 	def get_partial_delivery(self):
 		return self.__get_property("_partial_delivery")
@@ -572,8 +572,8 @@ class event_subscribe(object):
 	def get_data_io(self, value):
 		return self.__get_property("_data_io")
 
-	def set_adaption_layer(self, value):
-		self.__set_property("_adaption_layer", value)
+	def set_adaptation_layer(self, value):
+		self.__set_property("_adaptation_layer", value)
 
 	def set_partial_delivery(self, value):
 		self.__set_property("_partial_delivery", value)
@@ -608,7 +608,7 @@ class event_subscribe(object):
 		self._peer_error = 0
 		self._shutdown = 0
 		self._partial_delivery = 0
-		self._adaption_layer = 0
+		self._adaptation_layer = 0
 
 		if self.autoflush:
 			self.flush()
@@ -642,8 +642,8 @@ class event_subscribe(object):
 	partial_delivery = property(get_partial_delivery, set_partial_delivery)
 	partialdelivery = partial_delivery
 
-	adaption_layer = property(get_adaption_layer, set_adaption_layer)
-	adaptionlayer = adaption_layer
+	adaptation_layer = property(get_adaptation_layer, set_adaptation_layer)
+	adaptationlayer = adaptation_layer
 
 
 ########## STRUCTURES EXCHANGED VIA set/getsockopt() 
@@ -964,7 +964,7 @@ class sctpsocket(object):
 		 nature of SCTP, some implementations have it turned on by default, while TCP 
 		 is mandated to have it off by default.
 
-	adaption: 32-bit value related to the "ppid" metadata field sent along each data
+	adaptation: 32-bit value related to the "ppid" metadata field sent along each data
 		  message. If this property is different than zero, the configured value
 		  is sent via ADAPTION INDICATION event to the remote peer when a new 
 		  association is opened. This is intended to be used by telephony-related
@@ -1097,7 +1097,7 @@ class sctpsocket(object):
 
 		    WARNING: identifying destination by Association ID not implemented yet!
 
-		ppid: adaption layer value, a 32-bit metadata that is sent along the message.
+		ppid: adaptation layer value, a 32-bit metadata that is sent along the message.
 		      Defaults to 0.
 
 		flags: a bitmap of MSG_* flags. For example, MSG_UNORDERED indicates that 
@@ -1313,21 +1313,21 @@ class sctpsocket(object):
 		"""
 		_sctp.set_nodelay(self._sk.fileno(), rvalue)
 
-	def get_adaption(self):
+	def get_adaptation(self):
 		"""
-		Gets the adaption layer indication from kernel.
+		Gets the adaptation layer indication from kernel.
 		
-		See class documentation for more details. (adaption property)
+		See class documentation for more details. (adaptation property)
 		"""
-		return _sctp.get_adaption(self._sk.fileno())
+		return _sctp.get_adaptation(self._sk.fileno())
 
-	def set_adaption(self, rvalue):
+	def set_adaptation(self, rvalue):
 		"""
-		Sets the adaption layer indication for this socket.
+		Sets the adaptation layer indication for this socket.
 
-		See class documentation for more details. (adaption property)
+		See class documentation for more details. (adaptation property)
 		"""
-		_sctp.set_adaption(self._sk.fileno(), rvalue)
+		_sctp.set_adaptation(self._sk.fileno(), rvalue)
 
 	def get_disable_fragments(self):
 		"""
@@ -1599,7 +1599,7 @@ class sctpsocket(object):
 	# properties
 
 	nodelay = property(get_nodelay, set_nodelay)
-	adaption = property(get_adaption, set_adaption)
+	adaptation = property(get_adaptation, set_adaptation)
 	disable_fragments = property(get_disable_fragments, set_disable_fragments)
 	mappedv4 = property(get_mappedv4, set_mappedv4)
 	maxseg = property(get_maxseg, set_maxseg)
diff -up pysctp-0.3.1/Makefile.orig pysctp-0.3.1/Makefile
--- pysctp-0.3.1/Makefile.orig	2008-04-10 21:30:33.000000000 -0400
+++ pysctp-0.3.1/Makefile	2008-04-10 21:29:46.000000000 -0400
@@ -1,4 +1,4 @@
-PYTHON_VERSION = 2.4
+PYTHON_VERSION = 2.6
 CFLAGS = -Wall -I/usr/include/python$(PYTHON_VERSION) -fPIC
 LDFLAGS = -fPIC -shared -lsctp
 
diff -up pysctp-0.3.1/_sctp.c.orig pysctp-0.3.1/_sctp.c
--- pysctp-0.3.1/_sctp.c.orig	2008-04-10 21:30:33.000000000 -0400
+++ pysctp-0.3.1/_sctp.c	2008-04-10 21:30:20.000000000 -0400
@@ -5,8 +5,7 @@
  * Elvis Pfützenreuter (elvis.pfutzenreuter@{gmail.com,indt.org.br})
  * Copyright (c) 2005 Instituto Nokia de Tecnologia
  */
-
-#include "Python.h"
+#include <Python.h>
 #include <sys/socket.h>
 #include <netinet/in.h>
 #include <netinet/sctp.h>
@@ -36,8 +35,8 @@ static PyObject* get_disable_fragments(P
 static PyObject* set_disable_fragments(PyObject* dummy, PyObject* args);
 static PyObject* get_autoclose(PyObject* dummy, PyObject* args);
 static PyObject* set_autoclose(PyObject* dummy, PyObject* args);
-static PyObject* get_adaption(PyObject* dummy, PyObject* args);
-static PyObject* set_adaption(PyObject* dummy, PyObject* args);
+static PyObject* get_adaptation(PyObject* dummy, PyObject* args);
+static PyObject* set_adaptation(PyObject* dummy, PyObject* args);
 static PyObject* set_peer_primary(PyObject* dummy, PyObject* args);
 static PyObject* set_primary(PyObject* dummy, PyObject* args);
 static PyObject* bindx(PyObject* dummy, PyObject* args);
@@ -84,8 +83,8 @@ static PyMethodDef _sctpMethods[] = 
 	{"set_initparams", set_initparams, METH_VARARGS, ""},
 	{"get_nodelay", get_nodelay, METH_VARARGS, ""},
 	{"set_nodelay", set_nodelay, METH_VARARGS, ""},
-	{"get_adaption", get_adaption, METH_VARARGS, ""},
-	{"set_adaption", set_adaption, METH_VARARGS, ""},
+	{"get_adaptation", get_adaptation, METH_VARARGS, ""},
+	{"set_adaptation", set_adaptation, METH_VARARGS, ""},
 	{"get_disable_fragments", get_disable_fragments, METH_VARARGS, ""},
 	{"set_disable_fragments", set_disable_fragments, METH_VARARGS, ""},
 	{"get_events", get_events, METH_VARARGS, ""},
@@ -206,7 +205,7 @@ static ktuple _constants[] = 
 	{"SCTP_REMOTE_ERROR", SCTP_REMOTE_ERROR},
 	{"SCTP_SHUTDOWN_EVENT", SCTP_SHUTDOWN_EVENT},
 	{"SCTP_PARTIAL_DELIVERY_EVENT", SCTP_PARTIAL_DELIVERY_EVENT}, 
-	{"SCTP_ADAPTION_INDICATION", SCTP_ADAPTION_INDICATION},
+	{"SCTP_ADAPTATION_INDICATION", SCTP_ADAPTATION_INDICATION},
 	{0, -1}
 };
 
@@ -299,7 +298,7 @@ static PyObject* get_mappedv4(PyObject* 
 {
 	PyObject* ret = 0;
 	int fd, v;
-	int lv = sizeof(v);
+	socklen_t lv = sizeof(v);
 	if (PyArg_ParseTuple(args, "i", &fd)) {
 		if (getsockopt(fd, SOL_SCTP, SCTP_I_WANT_MAPPED_V4_ADDR, &v, &lv)) {
 			PyErr_SetFromErrno(PyExc_IOError);
@@ -328,7 +327,7 @@ static PyObject* get_nodelay(PyObject* d
 {
 	PyObject* ret = 0;
 	int fd, v;
-	int lv = sizeof(v);
+	socklen_t lv = sizeof(v);
 	if (PyArg_ParseTuple(args, "i", &fd)) {
 		if (getsockopt(fd, SOL_SCTP, SCTP_NODELAY, &v, &lv)) {
 			PyErr_SetFromErrno(PyExc_IOError);
@@ -360,7 +359,7 @@ static PyObject* get_assocparams(PyObjec
 	PyObject* oassoc_id;
 	int fd;
 	struct sctp_assocparams v;
-	int lv = sizeof(v);
+	socklen_t lv = sizeof(v);
 	int ok;
 	
 	ok = PyArg_ParseTuple(args, "iO", &fd, &dict) && PyDict_Check(dict);
@@ -456,7 +455,7 @@ static PyObject* get_paddrparams(PyObjec
 	int slen_dummy;
 
 	struct sctp_paddrparams v;
-	int lv = sizeof(v);
+	socklen_t lv = sizeof(v);
 	int ok;
 	
 	ok = PyArg_ParseTuple(args, "iO", &fd, &dict) && PyDict_Check(dict);
@@ -580,7 +579,7 @@ static PyObject* get_status(PyObject* du
 
 	int fd;
 	struct sctp_status v;
-	int lv = sizeof(v);
+	socklen_t lv = sizeof(v);
 	int ok;
 	
 	ok = PyArg_ParseTuple(args, "iOO", &fd, &dict, &dict2) && \
@@ -641,7 +640,7 @@ static PyObject* get_paddrinfo(PyObject*
 	int fd;
 	int slen_dummy;
 	struct sctp_paddrinfo v;
-	int lv = sizeof(v);
+	socklen_t lv = sizeof(v);
 	int ok;
 	
 	ok = PyArg_ParseTuple(args, "iO", &fd, &dict) && PyDict_Check(dict);
@@ -682,7 +681,7 @@ static PyObject* get_rtoinfo(PyObject* d
 	PyObject* oassoc_id;
 	int fd;
 	struct sctp_rtoinfo v;
-	int lv = sizeof(v);
+	socklen_t lv = sizeof(v);
 	int ok;
 	
 	ok = PyArg_ParseTuple(args, "iO", &fd, &dict) && PyDict_Check(dict);
@@ -758,7 +757,7 @@ static PyObject* get_initparams(PyObject
 	PyObject* ret = 0;
 	int fd;
 	struct sctp_initmsg v;
-	int lv = sizeof(v);
+	socklen_t lv = sizeof(v);
 
 	if (! PyArg_ParseTuple(args, "i", &fd)) {
 		return ret;
@@ -834,7 +833,7 @@ static PyObject* get_events(PyObject* du
 	PyObject* ret = 0;
 	int fd;
 	struct sctp_event_subscribe v;
-	int lv = sizeof(v);
+	socklen_t lv = sizeof(v);
 
 	if (PyArg_ParseTuple(args, "i", &fd)) {
 		if (getsockopt(fd, SOL_SCTP, SCTP_EVENTS, &v, &lv)) {
@@ -848,7 +847,7 @@ static PyObject* get_events(PyObject* du
 			PyDict_SetItemString(ret, "_peer_error", PyBool_FromLong(v.sctp_peer_error_event));
 			PyDict_SetItemString(ret, "_shutdown", PyBool_FromLong(v.sctp_shutdown_event));
 			PyDict_SetItemString(ret, "_partial_delivery", PyBool_FromLong(v.sctp_partial_delivery_event));
-			PyDict_SetItemString(ret, "_adaption_layer", PyBool_FromLong(v.sctp_adaption_layer_event));
+			PyDict_SetItemString(ret, "_adaptation_layer", PyBool_FromLong(v.sctp_adaptation_layer_event));
 		}
 	}
 	return ret;
@@ -859,7 +858,7 @@ static PyObject* set_events(PyObject* du
 	PyObject* ret = 0;
 	int fd;
 	PyObject *ov, *o_data_io, *o_association, *o_address, *o_send_failure;
-	PyObject *o_peer_error, *o_shutdown, *o_partial_delivery, *o_adaption_layer;
+	PyObject *o_peer_error, *o_shutdown, *o_partial_delivery, *o_adaptation_layer;
 	struct sctp_event_subscribe v;
 	int ok = PyArg_ParseTuple(args, "iO", &fd, &ov) && PyDict_Check(ov);
 
@@ -870,7 +869,7 @@ static PyObject* set_events(PyObject* du
 	ok = ok && (o_peer_error = PyDict_GetItemString(ov, "_peer_error"));
 	ok = ok && (o_shutdown = PyDict_GetItemString(ov, "_shutdown"));
 	ok = ok && (o_partial_delivery = PyDict_GetItemString(ov, "_partial_delivery"));
-	ok = ok && (o_adaption_layer = PyDict_GetItemString(ov, "_adaption_layer"));
+	ok = ok && (o_adaptation_layer = PyDict_GetItemString(ov, "_adaptation_layer"));
 
 	ok = ok && (PyInt_Check(o_data_io) != 0);
 	ok = ok && (PyInt_Check(o_association) != 0);
@@ -879,7 +878,7 @@ static PyObject* set_events(PyObject* du
 	ok = ok && (PyInt_Check(o_peer_error) != 0);
 	ok = ok && (PyInt_Check(o_shutdown) != 0);
 	ok = ok && (PyInt_Check(o_send_failure) != 0);
-	ok = ok && (PyInt_Check(o_adaption_layer) != 0);
+	ok = ok && (PyInt_Check(o_adaptation_layer) != 0);
 
 	if (ok) {
 		memset(&v, 0, sizeof(v));
@@ -890,7 +889,7 @@ static PyObject* set_events(PyObject* du
 		v.sctp_peer_error_event = PyInt_AsLong(o_peer_error);
 		v.sctp_shutdown_event = PyInt_AsLong(o_shutdown);
 		v.sctp_partial_delivery_event = PyInt_AsLong(o_partial_delivery);
-		v.sctp_adaption_layer_event = PyInt_AsLong(o_adaption_layer);
+		v.sctp_adaptation_layer_event = PyInt_AsLong(o_adaptation_layer);
 		
 		if (setsockopt(fd, SOL_SCTP, SCTP_EVENTS, &v, sizeof(v))) {
 			PyErr_SetFromErrno(PyExc_IOError);
@@ -905,7 +904,7 @@ static PyObject* get_maxseg(PyObject* du
 {
 	PyObject* ret = 0;
 	int fd, v;
-	int lv = sizeof(v);
+	socklen_t lv = sizeof(v);
 
 	if (PyArg_ParseTuple(args, "i", &fd)) {
 		if (getsockopt(fd, SOL_SCTP, SCTP_MAXSEG, &v, &lv)) {
@@ -936,7 +935,7 @@ static PyObject* get_disable_fragments(P
 {
 	PyObject* ret = 0;
 	int fd, v;
-	int lv = sizeof(v);
+	socklen_t lv = sizeof(v);
 
 	if (PyArg_ParseTuple(args, "i", &fd)) {
 		if (getsockopt(fd, SOL_SCTP, SCTP_DISABLE_FRAGMENTS, &v, &lv)) {
@@ -967,7 +966,7 @@ static PyObject* get_autoclose(PyObject*
 {
 	PyObject* ret = 0;
 	int fd, v;
-	int lv = sizeof(v);
+	socklen_t lv = sizeof(v);
 
 	if (PyArg_ParseTuple(args, "i", &fd)) {
 		if (getsockopt(fd, SOL_SCTP, SCTP_AUTOCLOSE, &v, &lv)) {
@@ -994,14 +993,14 @@ static PyObject* set_autoclose(PyObject*
 	return ret;
 }
 
-static PyObject* get_adaption(PyObject* dummy, PyObject* args)
+static PyObject* get_adaptation(PyObject* dummy, PyObject* args)
 {
 	PyObject* ret = 0;
 	int fd, v;
-	int lv = sizeof(v);
+	socklen_t lv = sizeof(v);
 	
 	if (PyArg_ParseTuple(args, "i", &fd)) {
-		if (getsockopt(fd, SOL_SCTP, SCTP_ADAPTION_LAYER, &v, &lv)) {
+		if (getsockopt(fd, SOL_SCTP, SCTP_ADAPTATION_LAYER, &v, &lv)) {
 			PyErr_SetFromErrno(PyExc_IOError);
 		} else {
 			ret = PyInt_FromLong(v);
@@ -1010,13 +1009,13 @@ static PyObject* get_adaption(PyObject* 
 	return ret;
 }
 
-static PyObject* set_adaption(PyObject* dummy, PyObject* args)
+static PyObject* set_adaptation(PyObject* dummy, PyObject* args)
 {
 	PyObject* ret = 0;
 	int fd, v;
 
 	if (PyArg_ParseTuple(args, "ii", &fd, &v)) {
-		if (setsockopt(fd, SOL_SCTP, SCTP_ADAPTION_LAYER, &v, sizeof(v))) {
+		if (setsockopt(fd, SOL_SCTP, SCTP_ADAPTATION_LAYER, &v, sizeof(v))) {
 			PyErr_SetFromErrno(PyExc_IOError);
 		} else {
 			ret = Py_None; Py_INCREF(ret);
@@ -1522,10 +1521,10 @@ void interpret_notification(PyObject* di
 		PyDict_SetItemString(dict, "assoc_id", PyInt_FromLong(n->pdapi_assoc_id));
 		}
 		break;
-	case SCTP_ADAPTION_INDICATION:
+	case SCTP_ADAPTATION_INDICATION:
 		{
-		const struct sctp_adaption_event* n = &(notif->sn_adaption_event);
-		PyDict_SetItemString(dict, "adaption_ind", PyInt_FromLong(n->sai_adaption_ind));
+		const struct sctp_adaptation_event* n = &(notif->sn_adaptation_event);
+		PyDict_SetItemString(dict, "adaptation_ind", PyInt_FromLong(n->sai_adaptation_ind));
 		PyDict_SetItemString(dict, "assoc_id", PyInt_FromLong(n->sai_assoc_id));
 		}
 		break;
@@ -1537,7 +1536,7 @@ static PyObject* sctp_recv_msg(PyObject*
 	int fd, max_len;
 
 	struct sockaddr_storage sfrom;
-	int sfrom_len = sizeof(sfrom);
+	socklen_t sfrom_len = sizeof(sfrom);
 	int family;
 	int len;
 	int port;
diff -up pysctp-0.3.1/test.py.orig pysctp-0.3.1/test.py
--- pysctp-0.3.1/test.py.orig	2008-04-10 21:30:33.000000000 -0400
+++ pysctp-0.3.1/test.py	2008-04-10 21:30:20.000000000 -0400
@@ -15,8 +15,8 @@ import time
 
 
 
-client = "10.0.1.2"
-server = "10.0.1.1" 
+client = "127.0.0.1"
+server = "127.0.0.1" 
 test_impossible_sending = False
 
 
@@ -68,12 +68,12 @@ tcp.disable_fragments = \
 tcp.mappedv4 = 0
 
 tcp.maxseg = 10001;
-tcp.adaption = 318;
+tcp.adaptation = 318;
 
 if _sctp.get_nodelay(tcp.fileno()) or  \
    _sctp.get_disable_fragments(tcp.fileno()) or \
    _sctp.get_maxseg(tcp.fileno()) != 10001 or \
-   _sctp.get_adaption(tcp.fileno()) != 318 or \
+   _sctp.get_adaptation(tcp.fileno()) != 318 or \
    _sctp.get_mappedv4(tcp.fileno()):
 	raise "Property attribution was not effective"
 
@@ -105,7 +105,7 @@ for s in (tcp, udp, tcp2, udp2):
 	rawparams["_peer_error"] or \
 	rawparams["_shutdown"] or \
 	rawparams["_partial_delivery"] or \
-	rawparams["_adaption_layer"]:
+	rawparams["_adaptation_layer"]:
 		raise "events properties were not effective (in 0)"
 	
 	s.events.data_io = True
@@ -115,7 +115,7 @@ for s in (tcp, udp, tcp2, udp2):
 	s.events.peer_error = True
 	s.events.shutdown = True
 	s.events.partial_delivery = True
-	s.events.adaption_layer = True
+	s.events.adaptation_layer = True
 
 	rawparams = _sctp.get_events(s.fileno())
 
@@ -126,7 +126,7 @@ for s in (tcp, udp, tcp2, udp2):
 	not rawparams["_peer_error"] or \
 	not rawparams["_shutdown"] or \
 	not rawparams["_partial_delivery"] or \
-	not rawparams["_adaption_layer"]:
+	not rawparams["_adaptation_layer"]:
 		raise "events properties were not effective (in 1)"
 
 	s.events.data_io = False
@@ -136,7 +136,7 @@ for s in (tcp, udp, tcp2, udp2):
 	s.events.peer_error = False
 	s.events.shutdown = False
 	s.events.partial_delivery = False
-	s.events.adaption_layer = False
+	s.events.adaptation_layer = False
 
 	rawparams = _sctp.get_events(s.fileno())
 
@@ -147,10 +147,10 @@ for s in (tcp, udp, tcp2, udp2):
 	rawparams["_peer_error"] or \
 	rawparams["_shutdown"] or \
 	rawparams["_partial_delivery"] or \
-	rawparams["_adaption_layer"]:
+	rawparams["_adaptation_layer"]:
 		raise "events properties were not effective (in 0)"
 		
-ipv4 = _sctp._sockaddr_test(("10.00.1.01", 1234))
+ipv4 = _sctp._sockaddr_test(("10.0.1.1", 1234))
 ipv6 = _sctp._sockaddr_test(("FE80::0:0:34", 65534))
 
 if ipv4[3] != ("10.0.1.1", 1234):