#14758: Need to specify the desired socket type in the getaddrinfo call.
This worked by accident on Linux because the SOCK_STREAM was returned
first, but on the FreeBSD the SOCK_DGRAM is first in the list.
diff --git a/Lib/smtpd.py b/Lib/smtpd.py
index d828c5f..f90fae8 100755
--- a/Lib/smtpd.py
+++ b/Lib/smtpd.py
@@ -610,7 +610,8 @@
self._decode_data = decode_data
asyncore.dispatcher.__init__(self, map=map)
try:
- gai_results = socket.getaddrinfo(*localaddr)
+ gai_results = socket.getaddrinfo(*localaddr,
+ type=socket.SOCK_STREAM)
self.create_socket(gai_results[0][0], gai_results[0][1])
# try to re-use a server port if possible
self.set_reuse_addr()