From 41f16134f3548ba58966a24f4cde19802f4af2e0 Mon Sep 17 00:00:00 2001
From: Jannis Konrad <kabel42@gmail.com>
Date: Wed, 3 May 2017 10:50:43 +0200
Subject: [PATCH] - reorganize module to avoid naming conflicts - add logLevel
 to init

---
 .gitmodules                                      |  2 +-
 DTLSSocket.py                                    | 12 +++++++-----
 dtls.pyx => lowlevel/dtls.pyx                    |  0
 tdtls.pxd => lowlevel/tdtls.pxd                  |  0
 tinydtls => lowlevel/tinydtls                    |  0
 setup.py                                         | 15 ++++++++-------
 testSocket.py => tests/testSocket.py             |  0
 testSocketServer.py => tests/testSocketServer.py |  0
 8 files changed, 16 insertions(+), 13 deletions(-)
 rename dtls.pyx => lowlevel/dtls.pyx (100%)
 rename tdtls.pxd => lowlevel/tdtls.pxd (100%)
 rename tinydtls => lowlevel/tinydtls (100%)
 rename testSocket.py => tests/testSocket.py (100%)
 rename testSocketServer.py => tests/testSocketServer.py (100%)

diff --git a/.gitmodules b/.gitmodules
index ad423c9..d188ca5 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -1,3 +1,3 @@
 [submodule "tinydtls"]
-	path = tinydtls
+	path = lowlevel/tinydtls
 	url = https://git.eclipse.org/r/tinydtls/org.eclipse.tinydtls
diff --git a/DTLSSocket.py b/DTLSSocket.py
index b581649..c0525b2 100644
--- a/DTLSSocket.py
+++ b/DTLSSocket.py
@@ -1,4 +1,5 @@
-import socket, dtls, time
+import socket, time
+import lowlevel.dtls as dtls
 
 DTLS_CLIENT = dtls.DTLS_CLIENT
 DTLS_SERVER = dtls.DTLS_SERVER
@@ -11,11 +12,12 @@ class DTLSSocket():
   outancbuff = None
   _sock = None
   
-  def __init__(self, pskId=b"Client_identity", pskStore={b"Client_identity": b"secretPSK"}):
+  def __init__(self, pskId=b"Client_identity", pskStore={b"Client_identity": b"secretPSK"}, logLevel = dtls.DTLS_LOG_EMERG):
     self._sock = socket.socket(family=socket.AF_INET6, type=socket.SOCK_DGRAM)
     self._sock.setsockopt(socket.IPPROTO_IPV6, socket.IPV6_RECVPKTINFO, 1)
     self.d = dtls.DTLS(read=self._read, write=self._write, event=self._event, pskId=pskId, pskStore=pskStore)
-    print("Init done:", self._sock, self.d)
+    self.d.setLogLevel(logLevel)
+    #print("Init done:", self._sock, self.d)
   
   def __del__(self):
     self.connected.clear()
@@ -121,7 +123,7 @@ class DTLSSocket():
                 print("Debug: dst =", dst)
                 mc = True
       if mc:
-        ret = self.d.handleMessageAddr(dst[0], dst[1], data, mc)
+        ret = self.d.handleMessageAddr(dst[0], dst[1], data)
         if ret != 0:
           print("handleMessageAddr returned", ret)
           raise BlockingIOError
@@ -129,7 +131,7 @@ class DTLSSocket():
         addr, port = src[:2]
         addr = addr.split("%")[0]
         #print("recvmsg call handleMessageAddr with:", addr, port)
-        ret = self.d.handleMessageAddr(addr, port, data, mc)
+        ret = self.d.handleMessageAddr(addr, port, data)
         if ret != 0:
           print("handleMessageAddr returned", ret)
           raise BlockingIOError
diff --git a/dtls.pyx b/lowlevel/dtls.pyx
similarity index 100%
rename from dtls.pyx
rename to lowlevel/dtls.pyx
diff --git a/tdtls.pxd b/lowlevel/tdtls.pxd
similarity index 100%
rename from tdtls.pxd
rename to lowlevel/tdtls.pxd
diff --git a/tinydtls b/lowlevel/tinydtls
similarity index 100%
rename from tinydtls
rename to lowlevel/tinydtls
diff --git a/setup.py b/setup.py
index 68a75d5..f644a6b 100644
--- a/setup.py
+++ b/setup.py
@@ -9,7 +9,7 @@ class prepare_tinydtls(build_ext):
     def run(self):
         def run_command(args):
             print("Running:", " ".join(args))
-            subprocess.check_call(args, cwd="./tinydtls")
+            subprocess.check_call(args, cwd="./lowlevel/tinydtls")
         commands = [
             ["autoconf"],
             ["autoheader"],
@@ -20,12 +20,13 @@ class prepare_tinydtls(build_ext):
         build_ext.run(self)
 
 cy_build = cythonize([
-      Extension("dtls", 
-                ["dtls.pyx", "tinydtls/dtls.c", "tinydtls/crypto.c", "tinydtls/ccm.c",
-                 "tinydtls/hmac.c", "tinydtls/netq.c", "tinydtls/peer.c", "tinydtls/dtls_time.c",
-                 "tinydtls/session.c", "tinydtls/dtls_debug.c",
-                 "tinydtls/aes/rijndael.c", "tinydtls/sha2/sha2.c"],
-                include_dirs=['tinydtls'],
+      Extension("lowlevel.dtls",
+                ["lowlevel/dtls.pyx", "lowlevel/tinydtls/dtls.c", "lowlevel/tinydtls/crypto.c",
+                 "lowlevel/tinydtls/ccm.c", "lowlevel/tinydtls/hmac.c", "lowlevel/tinydtls/netq.c",
+                 "lowlevel/tinydtls/peer.c", "lowlevel/tinydtls/dtls_time.c",
+                 "lowlevel/tinydtls/session.c", "lowlevel/tinydtls/dtls_debug.c",
+                 "lowlevel/tinydtls/aes/rijndael.c", "lowlevel/tinydtls/sha2/sha2.c"],
+                include_dirs=['lowlevel/tinydtls'],
                 define_macros=[('DTLSv12', '1'),
                                ('WITH_SHA256', '1'),
                                ('DTLS_CHECK_CONTENTTYPE', '1'),
diff --git a/testSocket.py b/tests/testSocket.py
similarity index 100%
rename from testSocket.py
rename to tests/testSocket.py
diff --git a/testSocketServer.py b/tests/testSocketServer.py
similarity index 100%
rename from testSocketServer.py
rename to tests/testSocketServer.py
-- 
GitLab