Skip to content

Instantly share code, notes, and snippets.

@rhymeswithmogul
Created December 1, 2021 12:50
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rhymeswithmogul/7e28da0cf80c7e7e00320868992a7d55 to your computer and use it in GitHub Desktop.
Save rhymeswithmogul/7e28da0cf80c7e7e00320868992a7d55 to your computer and use it in GitHub Desktop.
Add IPv6 support to PyGopherD 3.0.0 because I'm a little insane.
--- /tmp/server.py 2021-11-29 00:36:15.635976398 +0000
+++ server.py 2021-11-29 01:34:51.548265273 +0000
@@ -38,7 +38,7 @@
self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_RCVTIMEO, timeout)
self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_SNDTIMEO, timeout)
- host, port = self.socket.getsockname()
+ host, port, flowinfo, scopeid = self.socket.getsockname()
if self.config.has_option("pygopherd", "servername"):
self.server_name = self.config.get("pygopherd", "servername")
else:
@@ -65,6 +65,8 @@
class ForkingTCPServer(BaseServer, socketserver.ForkingTCPServer):
+ address_family = socket.AF_INET6
+
def process_request(
self, request: socket.SocketType, client_address: typing.Tuple[str, int]
) -> None:
@@ -96,6 +98,8 @@
class ThreadingTCPServer(BaseServer, socketserver.ThreadingTCPServer):
+ address_family = socket.AF_INET6
+
def process_request_thread(
self, request: socket.SocketType, client_address: typing.Tuple[str, int]
) -> None:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment