]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[2013] just drop TCP requests for now.
authorJINMEI Tatuya <jinmei@isc.org>
Wed, 30 May 2012 19:26:41 +0000 (12:26 -0700)
committerJINMEI Tatuya <jinmei@isc.org>
Wed, 30 May 2012 23:35:27 +0000 (16:35 -0700)
src/bin/ddns/ddns.py.in
src/bin/ddns/tests/ddns_test.py

index ac7c51ba5c006ecdedf309b511559596e0782767..8e9d81ef1be6c6fd741615e519dff68ab9bacfe2 100755 (executable)
@@ -334,6 +334,8 @@ class DDNSServer:
         # or dropped by the sender, so if such error is detected we treat it
         # as an internal error and don't bother to respond.
         try:
+            if sock.proto == socket.IPPROTO_TCP:
+                raise SessionError('TCP requests are not yet supported')
             self.__request_msg.clear(Message.PARSE)
             self.__request_msg.from_wire(req_data)
             if self.__request_msg.get_opcode() != Opcode.UPDATE():
index 99617068600d2221bc1d10d9b4b0d98d9a8fd505..f1a8733ed54a146ddf7a864dde928dd562dc5f10 100755 (executable)
@@ -58,6 +58,7 @@ class FakeSocket:
     A fake socket. It only provides a file number, peer name and accept method.
     """
     def __init__(self, fileno):
+        self.proto = socket.IPPROTO_UDP
         self.__fileno = fileno
         self._sent_data = None
         self._sent_addr = None
@@ -675,6 +676,15 @@ class TestDDNSession(unittest.TestCase):
         # this check ensures sendto() was really attempted.
         self.check_update_response(self.__sock._sent_data, Rcode.NOERROR())
 
+    def test_tcp_request(self):
+        # Right now TCP request is not supported.
+        s = self.__sock
+        s.proto = socket.IPPROTO_TCP
+        self.assertFalse(self.server.handle_request((s, TEST_SERVER6,
+                                                     TEST_SERVER4,
+                                                     create_msg())))
+        self.assertEqual((None, None), (s._sent_data, s._sent_addr))
+
     def test_session_with_config(self):
         '''Check a session with more relistic config setups