tkuester / taky

A simple python TAK server
MIT License
184 stars 43 forks source link

Crash on SSL EOF / Protocol Violation #56

Closed tkuester closed 1 year ago

tkuester commented 2 years ago

Observed when running on a public network. Version 0.9a1

Jan 03 16:24:16 bluetak taky[924128]: DEBUG:Persistence:Updating tracking for: <Event uid="ANDROID-357536083950909" etype="a-f-G-U-C" time="2022-01-03 21:24:15.469000"> (ttl: 374)
Jan 03 16:25:03 bluetak taky[924128]: INFO:COTServer:New ssl client from 89.xxx.xxx.xxx:50082
Jan 03 16:25:13 bluetak taky[924128]: INFO:SocketTAKClient@89.xxx.xxx.xxx:50082:Socket disconnect: EOF occurred in violation of protocol (_ssl.c:1131)
Jan 03 16:25:13 bluetak taky[924128]: CRITICAL:root:Unhandled exception
Jan 03 16:25:13 bluetak taky[924128]: Traceback (most recent call last):
Jan 03 16:25:13 bluetak taky[924128]:   File "/usr/local/lib/python3.8/dist-packages/taky/cot/__main__.py", line 99, in main
Jan 03 16:25:13 bluetak taky[924128]:     cot_srv.loop()
Jan 03 16:25:13 bluetak taky[924128]:   File "/usr/local/lib/python3.8/dist-packages/taky/cot/server.py", line 282, in loop
Jan 03 16:25:13 bluetak taky[924128]:     self.client_disconnect(client, "SSL Handshake timeout")
Jan 03 16:25:13 bluetak taky[924128]:   File "/usr/local/lib/python3.8/dist-packages/taky/cot/server.py", line 223, in client_disconnect
Jan 03 16:25:13 bluetak taky[924128]:     client = self.clients.pop(client.sock)
Jan 03 16:25:13 bluetak taky[924128]: KeyError: <ssl.SSLSocket [closed] fd=-1, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0>
tkuester commented 2 years ago

Looks like this has happened more than once...

Jan 02 00:13:53 bluetak taky[883092]: INFO:COTServer:New ssl client from 23.xxx.xxx.xxx:56930
Jan 02 00:13:53 bluetak taky[883092]: INFO:SocketTAKClient@23.xxx.xxx.xxx:56930:Socket disconnect: [SSL: PEER_DID_NOT_RETURN_A_CERTIFICATE] peer did not return a certificate (_ssl.>
Jan 02 00:13:54 bluetak taky[883092]: INFO:COTServer:New ssl client from 23.xxx.xxx.xxx:58686
Jan 02 00:14:04 bluetak taky[883092]: INFO:SocketTAKClient@23.xxx.xxx.xxx:58686:Socket disconnect: EOF occurred in violation of protocol (_ssl.c:1131)
Jan 02 00:14:04 bluetak taky[883092]: CRITICAL:root:Unhandled exception
Jan 02 00:14:04 bluetak taky[883092]: Traceback (most recent call last):
Jan 02 00:14:04 bluetak taky[883092]:   File "/usr/local/lib/python3.8/dist-packages/taky/cot/__main__.py", line 99, in main
Jan 02 00:14:04 bluetak taky[883092]:     cot_srv.loop()
Jan 02 00:14:04 bluetak taky[883092]:   File "/usr/local/lib/python3.8/dist-packages/taky/cot/server.py", line 282, in loop
Jan 02 00:14:04 bluetak taky[883092]:     self.client_disconnect(client, "SSL Handshake timeout")
Jan 02 00:14:04 bluetak taky[883092]:   File "/usr/local/lib/python3.8/dist-packages/taky/cot/server.py", line 223, in client_disconnect
Jan 02 00:14:04 bluetak taky[883092]:     client = self.clients.pop(client.sock)
Jan 02 00:14:04 bluetak taky[883092]: KeyError: <ssl.SSLSocket [closed] fd=-1, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0>