From 4a8dbd0634ef279f12b14408b1cfacfc87b3a9d2 Mon Sep 17 00:00:00 2001
From: zzz <zzz@mail.i2p>
Date: Tue, 19 Feb 2008 15:21:58 +0000
Subject: [PATCH]     * Addressbook: Disallow '--' in host names except in IDN,
       add some reserved host names

---
 apps/addressbook/java/src/addressbook/AddressBook.java | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/apps/addressbook/java/src/addressbook/AddressBook.java b/apps/addressbook/java/src/addressbook/AddressBook.java
index 4fc81b99f7..0a5b0c072a 100644
--- a/apps/addressbook/java/src/addressbook/AddressBook.java
+++ b/apps/addressbook/java/src/addressbook/AddressBook.java
@@ -169,7 +169,16 @@ public class AddressBook {
                 (! host.startsWith("-")) &&
                 (! host.endsWith("-.i2p")) &&
 		host.indexOf("..") < 0 &&
+                // IDN - basic check, not complete validation
+                (host.indexOf("--") < 0 || host.startsWith("xn--") || host.indexOf(".xn--") > 0) &&
                 host.replaceAll("[a-z0-9.-]", "").length() == 0 &&
+                // some reserved names that may be used for local configuration someday
+                (! host.equals("proxy.i2p")) &&
+                (! host.equals("router.i2p")) &&
+                (! host.equals("console.i2p")) &&
+                (! host.endsWith(".proxy.i2p")) &&
+                (! host.endsWith(".router.i2p")) &&
+                (! host.endsWith(".console.i2p")) &&
 
 		dest.length() == 516 &&
                 dest.endsWith("AAAA") &&
-- 
GitLab