]> jfr.im git - irc/freenode/Sigyn.git/commitdiff
Merge branch 'master' into mxbl-casefold
authorjesopo <redacted>
Tue, 24 Nov 2020 21:28:47 +0000 (21:28 +0000)
committerjesopo <redacted>
Tue, 24 Nov 2020 21:28:47 +0000 (21:28 +0000)
1  2 
plugin.py

diff --cc plugin.py
index d946f500df0696234b550ea56cfb3aff5e975bf6,51060330ec8658de04c1764bf0b8cbfc3ee1f296..4ca70dd7e560b42308a3f58199a3d22b0847a135
+++ b/plugin.py
@@@ -1800,10 -1810,11 +1800,10 @@@ class Sigyn(callbacks.Plugin,plugins.Ch
  
         mxbl = set(self.registryValue('mxbl'))
         i = self.getIrc(irc)
 -       if (email in mxbl or
 -               email in i.domains):
 +       if email.lower() in mxbl:
             found = email
         else:
-            to_resolve = [(email,'A'), (email,'MX')]
+            to_resolve = [(email,'MX'), (email,'A'), (email,'AAAA')]
             while to_resolve:
                 domain, type = to_resolve.pop(0)
                 try:
                         record = record.to_text()
  
                         if type == 'MX':
--                           # these come out like '10 mx.example.com'
 -                           record = record.split(" ", 1)[1]
 +                           record = record.split(" ", 1)[1].lower()
-                            to_resolve.append((record, 'A'))
+                            # MX records (and their A records) are what we match on most,
+                            # so doing .insert(0, ...) means they're checked first
+                            to_resolve.insert(0, (record, 'A'))
+                            to_resolve.insert(0, (record, 'AAAA'))
  
                         if record in mxbl:
                             found = record