[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[tor-commits] [flashproxy/master] Add -4 and -6 options to flashproxy-reg-email.
commit b9784a4644ca8661b05167b0757d2f1805c9be11
Author: David Fifield <david@xxxxxxxxxxxxxxx>
Date: Sun Oct 28 20:18:29 2012 -0700
Add -4 and -6 options to flashproxy-reg-email.
Otherwise the Python socket library looks up A or AAAA depending on
system configuration. For me this is IPv6 by default, which causes
Gmail's SMTP server to tell me my own IPv6 address, which I don't have
configured to accept incoming connections.
---
flashproxy-reg-email | 17 +++++++++++++++--
1 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/flashproxy-reg-email b/flashproxy-reg-email
index 9feb38a..d9a6546 100755
--- a/flashproxy-reg-email
+++ b/flashproxy-reg-email
@@ -82,6 +82,7 @@ class options(object):
email_addr = None
smtp_addr = None
debug = False
+ address_family = socket.AF_UNSPEC
def usage(f = sys.stdout):
print >> f, """\
@@ -96,6 +97,8 @@ unless you have made special arrangements to connect them to a facilitator.
This program requires the M2Crypto library for Python.
+ -4 name lookups use only IPv4.
+ -6 name lookups use only IPv6.
-d, --debug enable debugging output (Python smtplib messages).
-e, --email=ADDRESS send mail to ADDRESS (default "%(email_addr)s").
-h, --help show this help.
@@ -162,9 +165,13 @@ options.remote_addr = (DEFAULT_REMOTE_ADDRESS, DEFAULT_REMOTE_PORT)
options.email_addr = DEFAULT_EMAIL_ADDRESS
options.smtp_addr = (DEFAULT_SMTP_HOST, DEFAULT_SMTP_PORT)
-opts, args = getopt.gnu_getopt(sys.argv[1:], "de:hs:", ["debug", "email=", "help", "smtp="])
+opts, args = getopt.gnu_getopt(sys.argv[1:], "46de:hs:", ["debug", "email=", "help", "smtp="])
for o, a in opts:
- if o == "-d" or o == "--debug":
+ if o == "-4":
+ options.address_family = socket.AF_INET
+ elif o == "-6":
+ options.address_family = socket.AF_INET6
+ elif o == "-d" or o == "--debug":
options.debug = True
elif o == "-e" or o == "--email":
options.email_addr = a
@@ -193,6 +200,12 @@ On Debian-like systems, use the command "apt-get install python-m2crypto".\
"""
sys.exit(1)
+if options.address_family != socket.AF_UNSPEC:
+ getaddrinfo = socket.getaddrinfo
+ def getaddrinfo_replacement(host, port, family, *args, **kwargs):
+ return getaddrinfo(host, port, options.address_family, *args, **kwargs)
+ socket.getaddrinfo = getaddrinfo_replacement
+
smtp = smtplib.SMTP(options.smtp_addr[0], options.smtp_addr[1], EHLO_FQDN)
if options.debug:
_______________________________________________
tor-commits mailing list
tor-commits@xxxxxxxxxxxxxxxxxxxx
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits