Browse Source

Handle an exception when using addresses like ff02::1%eth0

Baptiste Jonglez 10 years ago
parent
commit
4fbf9fe145
1 changed files with 6 additions and 1 deletions
  1. 6 1
      peerfinder.py

+ 6 - 1
peerfinder.py

@@ -244,7 +244,12 @@ def submit_job():
             targets = [Target(target, public)]
             targets = [Target(target, public)]
         else:
         else:
             # DNS name, might give multiple IP
             # DNS name, might give multiple IP
-            targets = [Target(ip, public) for ip in resolve_name(target)]
+            ip_addresses = resolve_name(target)
+            try:
+                # We might still fail to recognise some addresses (e.g. "ff02::1%eth0")
+                targets = [Target(ip, public) for ip in ip_addresses]
+            except netaddr.core.AddrFormatError:
+                return render_template('submit_error.html', target=request.form['target'])
         if targets == []:
         if targets == []:
             return render_template('submit_error.html', target=request.form['target'])
             return render_template('submit_error.html', target=request.form['target'])
         # Check for forbidden targets
         # Check for forbidden targets