From 4e95384ad60c853f01c50e233b8cb48f239f033f Mon Sep 17 00:00:00 2001
From: Adam Ierymenko <adam.ierymenko@gmail.com>
Date: Mon, 5 Jan 2015 17:47:59 -0800
Subject: [PATCH] Cleanup, add tristate to config code in Network, and happy
 new year!

---
 ZeroTierUI/aboutwindow.cpp                 |  2 +-
 ZeroTierUI/aboutwindow.h                   |  2 +-
 ZeroTierUI/installdialog.cpp               |  2 +-
 ZeroTierUI/installdialog.h                 |  2 +-
 ZeroTierUI/main.cpp                        |  2 +-
 ZeroTierUI/mainwindow.cpp                  |  2 +-
 ZeroTierUI/mainwindow.h                    |  2 +-
 ZeroTierUI/networkwidget.cpp               |  2 +-
 ZeroTierUI/networkwidget.h                 |  2 +-
 attic/Filter.cpp                           |  2 +-
 attic/Filter.hpp                           |  2 +-
 attic/netconf-service/netconf-master.js    |  2 +-
 control/IpcConnection.cpp                  |  2 +-
 control/IpcConnection.hpp                  |  2 +-
 control/NodeControlClient.cpp              |  2 +-
 control/NodeControlClient.hpp              |  2 +-
 control/NodeControlService.cpp             |  2 +-
 control/NodeControlService.hpp             |  2 +-
 include/ZeroTierOne.h                      |  2 +-
 main.cpp                                   |  2 +-
 node/Address.hpp                           |  2 +-
 node/AntiRecursion.hpp                     |  2 +-
 node/Array.hpp                             |  2 +-
 node/AtomicCounter.hpp                     |  2 +-
 node/BandwidthAccount.hpp                  |  2 +-
 node/Buffer.hpp                            |  2 +-
 node/C25519.hpp                            |  2 +-
 node/CMWC4096.hpp                          |  2 +-
 node/CertificateOfMembership.cpp           |  2 +-
 node/CertificateOfMembership.hpp           |  2 +-
 node/Constants.hpp                         |  2 +-
 node/Defaults.cpp                          |  2 +-
 node/Defaults.hpp                          |  2 +-
 node/Dictionary.cpp                        |  2 +-
 node/Dictionary.hpp                        |  2 +-
 node/EthernetTap.hpp                       |  2 +-
 node/EthernetTapFactory.hpp                |  2 +-
 node/HttpClient.cpp                        |  2 +-
 node/HttpClient.hpp                        |  2 +-
 node/Identity.cpp                          |  2 +-
 node/Identity.hpp                          |  2 +-
 node/IncomingPacket.cpp                    | 15 +++++++++-
 node/IncomingPacket.hpp                    |  3 +-
 node/InetAddress.cpp                       |  2 +-
 node/InetAddress.hpp                       |  2 +-
 node/Logger.cpp                            |  2 +-
 node/Logger.hpp                            |  2 +-
 node/MAC.hpp                               |  2 +-
 node/MulticastGroup.hpp                    |  2 +-
 node/Multicaster.cpp                       |  2 +-
 node/Multicaster.hpp                       |  2 +-
 node/Mutex.hpp                             |  2 +-
 node/Network.cpp                           | 13 ++++++---
 node/Network.hpp                           |  6 ++--
 node/NetworkConfig.cpp                     | 32 ++++++++++++++++++----
 node/NetworkConfig.hpp                     | 11 ++++++--
 node/Node.cpp                              |  2 +-
 node/Node.hpp                              |  2 +-
 node/NodeConfig.cpp                        |  2 +-
 node/NodeConfig.hpp                        |  2 +-
 node/NonCopyable.hpp                       |  2 +-
 node/OutboundMulticast.cpp                 |  2 +-
 node/OutboundMulticast.hpp                 |  2 +-
 node/Packet.cpp                            |  2 +-
 node/Packet.hpp                            |  2 +-
 node/Path.hpp                              |  2 +-
 node/Peer.cpp                              |  2 +-
 node/Peer.hpp                              |  2 +-
 node/Poly1305.hpp                          |  2 +-
 node/RoutingTable.cpp                      |  2 +-
 node/RoutingTable.hpp                      |  2 +-
 node/RuntimeEnvironment.hpp                |  2 +-
 node/SHA512.cpp                            |  2 +-
 node/SHA512.hpp                            |  2 +-
 node/SharedPtr.hpp                         |  2 +-
 node/Socket.hpp                            |  2 +-
 node/SocketManager.hpp                     |  2 +-
 node/SoftwareUpdater.cpp                   |  2 +-
 node/SoftwareUpdater.hpp                   |  2 +-
 node/Switch.cpp                            |  2 +-
 node/Switch.hpp                            |  2 +-
 node/Thread.hpp                            |  2 +-
 node/Topology.cpp                          |  2 +-
 node/Topology.hpp                          |  2 +-
 node/Utils.cpp                             |  2 +-
 node/Utils.hpp                             |  2 +-
 osnet/BSDEthernetTap.cpp                   |  2 +-
 osnet/BSDEthernetTap.hpp                   |  2 +-
 osnet/BSDEthernetTapFactory.cpp            |  2 +-
 osnet/BSDEthernetTapFactory.hpp            |  2 +-
 osnet/BSDRoutingTable.cpp                  |  2 +-
 osnet/BSDRoutingTable.hpp                  |  2 +-
 osnet/LinuxEthernetTap.cpp                 |  2 +-
 osnet/LinuxEthernetTap.hpp                 |  2 +-
 osnet/LinuxEthernetTapFactory.cpp          |  2 +-
 osnet/LinuxEthernetTapFactory.hpp          |  2 +-
 osnet/LinuxRoutingTable.cpp                |  4 +--
 osnet/LinuxRoutingTable.hpp                |  2 +-
 osnet/NativeSocketManager.cpp              |  2 +-
 osnet/NativeSocketManager.hpp              |  2 +-
 osnet/OSXEthernetTap.cpp                   |  2 +-
 osnet/OSXEthernetTap.hpp                   |  2 +-
 osnet/OSXEthernetTapFactory.cpp            |  2 +-
 osnet/OSXEthernetTapFactory.hpp            |  2 +-
 osnet/WindowsEthernetTap.cpp               |  2 +-
 osnet/WindowsEthernetTap.hpp               |  2 +-
 osnet/WindowsEthernetTapFactory.cpp        |  2 +-
 osnet/WindowsEthernetTapFactory.hpp        |  2 +-
 osnet/WindowsRoutingTable.cpp              |  2 +-
 osnet/WindowsRoutingTable.hpp              |  2 +-
 selftest.cpp                               |  2 +-
 testnet.cpp                                |  2 +-
 testnet/SimNet.cpp                         |  2 +-
 testnet/SimNet.hpp                         |  2 +-
 testnet/SimNetSocketManager.cpp            |  2 +-
 testnet/SimNetSocketManager.hpp            |  2 +-
 testnet/TestEthernetTap.cpp                |  2 +-
 testnet/TestEthernetTap.hpp                |  2 +-
 testnet/TestEthernetTapFactory.cpp         |  2 +-
 testnet/TestEthernetTapFactory.hpp         |  2 +-
 testnet/TestRoutingTable.cpp               |  2 +-
 testnet/TestRoutingTable.hpp               |  2 +-
 version.h                                  |  2 +-
 windows/ZeroTierOne/ZeroTierOneService.cpp |  2 +-
 windows/ZeroTierOne/ZeroTierOneService.h   |  2 +-
 125 files changed, 183 insertions(+), 137 deletions(-)

diff --git a/ZeroTierUI/aboutwindow.cpp b/ZeroTierUI/aboutwindow.cpp
index e73167860..c9e2bad8a 100644
--- a/ZeroTierUI/aboutwindow.cpp
+++ b/ZeroTierUI/aboutwindow.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/ZeroTierUI/aboutwindow.h b/ZeroTierUI/aboutwindow.h
index 2887884bd..895bf9472 100644
--- a/ZeroTierUI/aboutwindow.h
+++ b/ZeroTierUI/aboutwindow.h
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/ZeroTierUI/installdialog.cpp b/ZeroTierUI/installdialog.cpp
index 7ef0f7aaa..1fe1c8eeb 100644
--- a/ZeroTierUI/installdialog.cpp
+++ b/ZeroTierUI/installdialog.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/ZeroTierUI/installdialog.h b/ZeroTierUI/installdialog.h
index 2b38a7758..16096635b 100644
--- a/ZeroTierUI/installdialog.h
+++ b/ZeroTierUI/installdialog.h
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/ZeroTierUI/main.cpp b/ZeroTierUI/main.cpp
index 8123d4de9..3a73482bc 100644
--- a/ZeroTierUI/main.cpp
+++ b/ZeroTierUI/main.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/ZeroTierUI/mainwindow.cpp b/ZeroTierUI/mainwindow.cpp
index 021620769..4cfd2bd1c 100644
--- a/ZeroTierUI/mainwindow.cpp
+++ b/ZeroTierUI/mainwindow.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/ZeroTierUI/mainwindow.h b/ZeroTierUI/mainwindow.h
index 1b6f3f794..17de211fa 100644
--- a/ZeroTierUI/mainwindow.h
+++ b/ZeroTierUI/mainwindow.h
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/ZeroTierUI/networkwidget.cpp b/ZeroTierUI/networkwidget.cpp
index 947f636b1..a014ebea8 100644
--- a/ZeroTierUI/networkwidget.cpp
+++ b/ZeroTierUI/networkwidget.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/ZeroTierUI/networkwidget.h b/ZeroTierUI/networkwidget.h
index 2fb85bcab..ea37955b4 100644
--- a/ZeroTierUI/networkwidget.h
+++ b/ZeroTierUI/networkwidget.h
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/attic/Filter.cpp b/attic/Filter.cpp
index 8e5a01ddc..0e04ca968 100644
--- a/attic/Filter.cpp
+++ b/attic/Filter.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/attic/Filter.hpp b/attic/Filter.hpp
index 321e5495c..e922e575a 100644
--- a/attic/Filter.hpp
+++ b/attic/Filter.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/attic/netconf-service/netconf-master.js b/attic/netconf-service/netconf-master.js
index fb32bc606..fb6060ae1 100644
--- a/attic/netconf-service/netconf-master.js
+++ b/attic/netconf-service/netconf-master.js
@@ -1,6 +1,6 @@
 //
 // ZeroTier One - Global Peer to Peer Ethernet
-// Copyright (C) 2011-2014  ZeroTier Networks LLC
+// Copyright (C) 2011-2015  ZeroTier Networks
 //
 // This program is free software: you can redistribute it and/or modify
 // it under the terms of the GNU General Public License as published by
diff --git a/control/IpcConnection.cpp b/control/IpcConnection.cpp
index 45156e95a..e33fbcb5a 100644
--- a/control/IpcConnection.cpp
+++ b/control/IpcConnection.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/control/IpcConnection.hpp b/control/IpcConnection.hpp
index 5bbc683ec..b890e2bc7 100644
--- a/control/IpcConnection.hpp
+++ b/control/IpcConnection.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/control/NodeControlClient.cpp b/control/NodeControlClient.cpp
index 6fd7b12ed..80cd20763 100644
--- a/control/NodeControlClient.cpp
+++ b/control/NodeControlClient.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/control/NodeControlClient.hpp b/control/NodeControlClient.hpp
index 1f567b816..7456360a9 100644
--- a/control/NodeControlClient.hpp
+++ b/control/NodeControlClient.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/control/NodeControlService.cpp b/control/NodeControlService.cpp
index c4edc1323..dbd795d22 100644
--- a/control/NodeControlService.cpp
+++ b/control/NodeControlService.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/control/NodeControlService.hpp b/control/NodeControlService.hpp
index 782ff3b8f..243b90d98 100644
--- a/control/NodeControlService.hpp
+++ b/control/NodeControlService.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/include/ZeroTierOne.h b/include/ZeroTierOne.h
index 8d54953a3..ca2e3f734 100644
--- a/include/ZeroTierOne.h
+++ b/include/ZeroTierOne.h
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/main.cpp b/main.cpp
index 438144c62..cd24a9499 100644
--- a/main.cpp
+++ b/main.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/Address.hpp b/node/Address.hpp
index 728862daa..6904999d2 100644
--- a/node/Address.hpp
+++ b/node/Address.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/AntiRecursion.hpp b/node/AntiRecursion.hpp
index 23b0f04c8..d4da84eb6 100644
--- a/node/AntiRecursion.hpp
+++ b/node/AntiRecursion.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/Array.hpp b/node/Array.hpp
index ce179c16c..0cbced99b 100644
--- a/node/Array.hpp
+++ b/node/Array.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/AtomicCounter.hpp b/node/AtomicCounter.hpp
index 0dbcb1cdd..0e573cace 100644
--- a/node/AtomicCounter.hpp
+++ b/node/AtomicCounter.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/BandwidthAccount.hpp b/node/BandwidthAccount.hpp
index 9b5fb0883..0a7646b74 100644
--- a/node/BandwidthAccount.hpp
+++ b/node/BandwidthAccount.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/Buffer.hpp b/node/Buffer.hpp
index 908f36ea5..4c3b94478 100644
--- a/node/Buffer.hpp
+++ b/node/Buffer.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/C25519.hpp b/node/C25519.hpp
index bbfa3ec38..f7db8749e 100644
--- a/node/C25519.hpp
+++ b/node/C25519.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/CMWC4096.hpp b/node/CMWC4096.hpp
index c3e3bb416..ad127bcb6 100644
--- a/node/CMWC4096.hpp
+++ b/node/CMWC4096.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/CertificateOfMembership.cpp b/node/CertificateOfMembership.cpp
index eb40388e5..c87f2314b 100644
--- a/node/CertificateOfMembership.cpp
+++ b/node/CertificateOfMembership.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/CertificateOfMembership.hpp b/node/CertificateOfMembership.hpp
index 910899a46..f76eb8cef 100644
--- a/node/CertificateOfMembership.hpp
+++ b/node/CertificateOfMembership.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/Constants.hpp b/node/Constants.hpp
index c9202fc04..557c82088 100644
--- a/node/Constants.hpp
+++ b/node/Constants.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/Defaults.cpp b/node/Defaults.cpp
index adcb9963a..459b690e9 100644
--- a/node/Defaults.cpp
+++ b/node/Defaults.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/Defaults.hpp b/node/Defaults.hpp
index 2bb6a6913..308d44a11 100644
--- a/node/Defaults.hpp
+++ b/node/Defaults.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/Dictionary.cpp b/node/Dictionary.cpp
index 6c47b0eae..d6a22bf12 100644
--- a/node/Dictionary.cpp
+++ b/node/Dictionary.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/Dictionary.hpp b/node/Dictionary.hpp
index 35e93e43d..c0bc13a25 100644
--- a/node/Dictionary.hpp
+++ b/node/Dictionary.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/EthernetTap.hpp b/node/EthernetTap.hpp
index 132e5c208..25cd556c4 100644
--- a/node/EthernetTap.hpp
+++ b/node/EthernetTap.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/EthernetTapFactory.hpp b/node/EthernetTapFactory.hpp
index c037f451a..e7d44275b 100644
--- a/node/EthernetTapFactory.hpp
+++ b/node/EthernetTapFactory.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/HttpClient.cpp b/node/HttpClient.cpp
index fc5eb2bd0..e1b4f10d3 100644
--- a/node/HttpClient.cpp
+++ b/node/HttpClient.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/HttpClient.hpp b/node/HttpClient.hpp
index f65b88e8d..8d3d7cd99 100644
--- a/node/HttpClient.hpp
+++ b/node/HttpClient.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/Identity.cpp b/node/Identity.cpp
index 73b36fb0a..3efb5cf1d 100644
--- a/node/Identity.cpp
+++ b/node/Identity.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/Identity.hpp b/node/Identity.hpp
index 0f2e109e4..ebca97439 100644
--- a/node/Identity.hpp
+++ b/node/Identity.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/IncomingPacket.cpp b/node/IncomingPacket.cpp
index 93be95ec1..44511c137 100644
--- a/node/IncomingPacket.cpp
+++ b/node/IncomingPacket.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -84,6 +84,7 @@ bool IncomingPacket::tryDecode(const RuntimeEnvironment *RR)
 				case Packet::VERB_MULTICAST_LIKE:                 return _doMULTICAST_LIKE(RR,peer);
 				case Packet::VERB_NETWORK_MEMBERSHIP_CERTIFICATE: return _doNETWORK_MEMBERSHIP_CERTIFICATE(RR,peer);
 				case Packet::VERB_NETWORK_CONFIG_REQUEST:         return _doNETWORK_CONFIG_REQUEST(RR,peer);
+				case Packet::VERB_NETWORK_CONFIG_REFRESH:         return _doNETWORK_CONFIG_REFRESH(RR,peer);
 				case Packet::VERB_MULTICAST_GATHER:               return _doMULTICAST_GATHER(RR,peer);
 				case Packet::VERB_MULTICAST_FRAME:                return _doMULTICAST_FRAME(RR,peer);
 			}
@@ -721,6 +722,18 @@ bool IncomingPacket::_doNETWORK_CONFIG_REQUEST(const RuntimeEnvironment *RR,cons
 	return true;
 }
 
+bool IncomingPacket::_doNETWORK_CONFIG_REFRESH(const RuntimeEnvironment *RR,const SharedPtr<Peer> &peer)
+{
+	try {
+		peer->received(RR,_fromSock,_remoteAddress,hops(),packetId(),Packet::VERB_NETWORK_CONFIG_REFRESH,0,Packet::VERB_NOP,Utils::now());
+	} catch (std::exception &exc) {
+		TRACE("dropped NETWORK_CONFIG_REFRESH from %s(%s): unexpected exception: %s",source().toString().c_str(),_remoteAddress.toString().c_str(),exc.what());
+	} catch ( ... ) {
+		TRACE("dropped NETWORK_CONFIG_REFRESH from %s(%s): unexpected exception: (unknown)",source().toString().c_str(),_remoteAddress.toString().c_str());
+	}
+	return true;
+}
+
 bool IncomingPacket::_doMULTICAST_GATHER(const RuntimeEnvironment *RR,const SharedPtr<Peer> &peer)
 {
 	try {
diff --git a/node/IncomingPacket.hpp b/node/IncomingPacket.hpp
index 25c076d42..06edb037e 100644
--- a/node/IncomingPacket.hpp
+++ b/node/IncomingPacket.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -125,6 +125,7 @@ private:
 	bool _doMULTICAST_LIKE(const RuntimeEnvironment *RR,const SharedPtr<Peer> &peer);
 	bool _doNETWORK_MEMBERSHIP_CERTIFICATE(const RuntimeEnvironment *RR,const SharedPtr<Peer> &peer);
 	bool _doNETWORK_CONFIG_REQUEST(const RuntimeEnvironment *RR,const SharedPtr<Peer> &peer);
+	bool _doNETWORK_CONFIG_REFRESH(const RuntimeEnvironment *RR,const SharedPtr<Peer> &peer);
 	bool _doMULTICAST_GATHER(const RuntimeEnvironment *RR,const SharedPtr<Peer> &peer);
 	bool _doMULTICAST_FRAME(const RuntimeEnvironment *RR,const SharedPtr<Peer> &peer);
 
diff --git a/node/InetAddress.cpp b/node/InetAddress.cpp
index 832acf04c..18c7f0312 100644
--- a/node/InetAddress.cpp
+++ b/node/InetAddress.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/InetAddress.hpp b/node/InetAddress.hpp
index 06da9de66..d22b1ca92 100644
--- a/node/InetAddress.hpp
+++ b/node/InetAddress.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/Logger.cpp b/node/Logger.cpp
index ccae295b0..5015bebad 100644
--- a/node/Logger.cpp
+++ b/node/Logger.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/Logger.hpp b/node/Logger.hpp
index 49d1567a8..dd1bd1d20 100644
--- a/node/Logger.hpp
+++ b/node/Logger.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/MAC.hpp b/node/MAC.hpp
index 5be78f029..8d3f7599a 100644
--- a/node/MAC.hpp
+++ b/node/MAC.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/MulticastGroup.hpp b/node/MulticastGroup.hpp
index cdb8b6db0..57a73789d 100644
--- a/node/MulticastGroup.hpp
+++ b/node/MulticastGroup.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/Multicaster.cpp b/node/Multicaster.cpp
index c0567052d..f3c9038e2 100644
--- a/node/Multicaster.cpp
+++ b/node/Multicaster.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/Multicaster.hpp b/node/Multicaster.hpp
index 3aebe57fe..4219e29c0 100644
--- a/node/Multicaster.hpp
+++ b/node/Multicaster.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/Mutex.hpp b/node/Mutex.hpp
index 0525b5acf..c8e36e6dc 100644
--- a/node/Mutex.hpp
+++ b/node/Mutex.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/Network.cpp b/node/Network.cpp
index ed2d13ba0..218e86151 100644
--- a/node/Network.cpp
+++ b/node/Network.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -267,10 +267,15 @@ bool Network::applyConfiguration(const SharedPtr<NetworkConfig> &conf)
 	return false;
 }
 
-bool Network::setConfiguration(const Dictionary &conf,bool saveToDisk)
+int Network::setConfiguration(const Dictionary &conf,bool saveToDisk)
 {
 	try {
 		SharedPtr<NetworkConfig> newConfig(new NetworkConfig(conf)); // throws if invalid
+		{
+			Mutex::Lock _l(_lock);
+			if ((_config)&&(*_config == *newConfig))
+				return 1; // OK but duplicate
+		}
 		if (applyConfiguration(newConfig)) {
 			if (saveToDisk) {
 				std::string confPath(RR->homePath + ZT_PATH_SEPARATOR_S + "networks.d" + ZT_PATH_SEPARATOR_S + idString() + ".conf");
@@ -280,12 +285,12 @@ bool Network::setConfiguration(const Dictionary &conf,bool saveToDisk)
 					Utils::lockDownFile(confPath.c_str(),false);
 				}
 			}
-			return true;
+			return 2; // OK and configuration has changed
 		}
 	} catch ( ... ) {
 		LOG("ignored invalid configuration for network %.16llx (dictionary decode failed)",(unsigned long long)_id);
 	}
-	return false;
+	return 0;
 }
 
 void Network::requestConfiguration()
diff --git a/node/Network.hpp b/node/Network.hpp
index 169dc3fc2..a841dbda0 100644
--- a/node/Network.hpp
+++ b/node/Network.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -189,9 +189,9 @@ public:
 	 *
 	 * @param conf Configuration in key/value dictionary form
 	 * @param saveToDisk IF true (default), write config to disk
-	 * @return True if configuration was accepted
+	 * @return 0 -- rejected, 1 -- accepted but not new, 2 -- accepted new config
 	 */
-	bool setConfiguration(const Dictionary &conf,bool saveToDisk = true);
+	int setConfiguration(const Dictionary &conf,bool saveToDisk = true);
 
 	/**
 	 * Set netconf failure to 'access denied' -- called in IncomingPacket when netconf master reports this
diff --git a/node/NetworkConfig.cpp b/node/NetworkConfig.cpp
index b3e2c178c..7d7e64c67 100644
--- a/node/NetworkConfig.cpp
+++ b/node/NetworkConfig.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -103,6 +103,12 @@ void NetworkConfig::_fromDictionary(const Dictionary &d)
 
 	// NOTE: d.get(name) throws if not found, d.get(name,default) returns default
 
+	_nwid = Utils::hexStrToU64(d.get(ZT_NETWORKCONFIG_DICT_KEY_NETWORK_ID).c_str());
+	if (!_nwid)
+		throw std::invalid_argument("configuration contains zero network ID");
+
+	_timestamp = Utils::hexStrToU64(d.get(ZT_NETWORKCONFIG_DICT_KEY_TIMESTAMP).c_str());
+
 	memset(_etWhitelist,0,sizeof(_etWhitelist));
 	std::vector<std::string> ets(Utils::split(d.get(ZT_NETWORKCONFIG_DICT_KEY_ALLOWED_ETHERNET_TYPES).c_str(),",","",""));
 	for(std::vector<std::string>::const_iterator et(ets.begin());et!=ets.end();++et) {
@@ -110,11 +116,6 @@ void NetworkConfig::_fromDictionary(const Dictionary &d)
 		_etWhitelist[tmp >> 3] |= (1 << (tmp & 7));
 	}
 
-	_nwid = Utils::hexStrToU64(d.get(ZT_NETWORKCONFIG_DICT_KEY_NETWORK_ID).c_str());
-	if (!_nwid)
-		throw std::invalid_argument("configuration contains zero network ID");
-
-	_timestamp = Utils::hexStrToU64(d.get(ZT_NETWORKCONFIG_DICT_KEY_TIMESTAMP).c_str());
 	_issuedTo = Address(d.get(ZT_NETWORKCONFIG_DICT_KEY_ISSUED_TO));
 	_multicastLimit = Utils::hexStrToUInt(d.get(ZT_NETWORKCONFIG_DICT_KEY_MULTICAST_LIMIT,zero).c_str());
 	if (_multicastLimit == 0) _multicastLimit = ZT_MULTICAST_DEFAULT_LIMIT;
@@ -177,5 +178,24 @@ void NetworkConfig::_fromDictionary(const Dictionary &d)
 	_com.fromString(d.get(ZT_NETWORKCONFIG_DICT_KEY_CERTIFICATE_OF_MEMBERSHIP,std::string()));
 }
 
+bool NetworkConfig::operator==(const NetworkConfig &nc) const
+{
+	if (_nwid != nc._nwid) return false;
+	if (_timestamp != nc._timestamp) return false;
+	if (memcmp(_etWhitelist,nc._etWhitelist,sizeof(_etWhitelist))) return false;
+	if (_issuedTo != nc._issuedTo) return false;
+	if (_multicastLimit != nc._multicastLimit) return false;
+	if (_allowPassiveBridging != nc._allowPassiveBridging) return false;
+	if (_private != nc._private) return false;
+	if (_enableBroadcast != nc._enableBroadcast) return false;
+	if (_name != nc._name) return false;
+	if (_description != nc._description) return false;
+	if (_staticIps != nc._staticIps) return false;
+	if (_activeBridges != nc._activeBridges) return false;
+	if (_multicastRates != nc._multicastRates) return false;
+	if (_com != nc._com) return false;
+	return true;
+}
+
 } // namespace ZeroTier
 
diff --git a/node/NetworkConfig.hpp b/node/NetworkConfig.hpp
index ea27d5253..c3bf2a6b4 100644
--- a/node/NetworkConfig.hpp
+++ b/node/NetworkConfig.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -82,9 +82,13 @@ public:
 	{
 		MulticastRate() throw() {}
 		MulticastRate(uint32_t pl,uint32_t maxb,uint32_t acc) throw() : preload(pl),maxBalance(maxb),accrual(acc) {}
+
 		uint32_t preload;
 		uint32_t maxBalance;
 		uint32_t accrual;
+
+		inline bool operator==(const MulticastRate &mr) const { return ((preload == mr.preload)&&(maxBalance == mr.maxBalance)&&(accrual == mr.accrual)); }
+		inline bool operator!=(const MulticastRate &mr) const { return (!(*this == mr)); }
 	};
 
 	/**
@@ -159,15 +163,18 @@ public:
 	const MulticastRate &multicastRate(const MulticastGroup &mg) const
 		throw();
 
+	bool operator==(const NetworkConfig &nc) const;
+	inline bool operator!=(const NetworkConfig &nc) const { return (!(*this == nc)); }
+
 private:
 	NetworkConfig() {}
 	~NetworkConfig() {}
 
 	void _fromDictionary(const Dictionary &d);
 
-	unsigned char _etWhitelist[65536 / 8];
 	uint64_t _nwid;
 	uint64_t _timestamp;
+	unsigned char _etWhitelist[65536 / 8];
 	Address _issuedTo;
 	unsigned int _multicastLimit;
 	bool _allowPassiveBridging;
diff --git a/node/Node.cpp b/node/Node.cpp
index 58dbc4f05..f79d6402c 100644
--- a/node/Node.cpp
+++ b/node/Node.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/Node.hpp b/node/Node.hpp
index 01b2d135f..1c7750b3c 100644
--- a/node/Node.hpp
+++ b/node/Node.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/NodeConfig.cpp b/node/NodeConfig.cpp
index 57ecbc652..a151911d4 100644
--- a/node/NodeConfig.cpp
+++ b/node/NodeConfig.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/NodeConfig.hpp b/node/NodeConfig.hpp
index 498d43db0..d85578bf0 100644
--- a/node/NodeConfig.hpp
+++ b/node/NodeConfig.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/NonCopyable.hpp b/node/NonCopyable.hpp
index d6e46f16e..9c8542657 100644
--- a/node/NonCopyable.hpp
+++ b/node/NonCopyable.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/OutboundMulticast.cpp b/node/OutboundMulticast.cpp
index 0be159906..ad069edf1 100644
--- a/node/OutboundMulticast.cpp
+++ b/node/OutboundMulticast.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/OutboundMulticast.hpp b/node/OutboundMulticast.hpp
index 77e99377f..410d4b4de 100644
--- a/node/OutboundMulticast.hpp
+++ b/node/OutboundMulticast.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/Packet.cpp b/node/Packet.cpp
index e7870a984..25d967451 100644
--- a/node/Packet.cpp
+++ b/node/Packet.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/Packet.hpp b/node/Packet.hpp
index 6efc67fcc..d7f7fd60f 100644
--- a/node/Packet.hpp
+++ b/node/Packet.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/Path.hpp b/node/Path.hpp
index afef752b6..a6bb2787f 100644
--- a/node/Path.hpp
+++ b/node/Path.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/Peer.cpp b/node/Peer.cpp
index 181761a88..7aa0d9100 100644
--- a/node/Peer.cpp
+++ b/node/Peer.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/Peer.hpp b/node/Peer.hpp
index 78506fd23..142002a8f 100644
--- a/node/Peer.hpp
+++ b/node/Peer.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/Poly1305.hpp b/node/Poly1305.hpp
index 8ef200c65..e0a26a039 100644
--- a/node/Poly1305.hpp
+++ b/node/Poly1305.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/RoutingTable.cpp b/node/RoutingTable.cpp
index 9534b321d..2caafebe4 100644
--- a/node/RoutingTable.cpp
+++ b/node/RoutingTable.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/RoutingTable.hpp b/node/RoutingTable.hpp
index 4049b8804..c534f72c4 100644
--- a/node/RoutingTable.hpp
+++ b/node/RoutingTable.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/RuntimeEnvironment.hpp b/node/RuntimeEnvironment.hpp
index 68f61143f..a7b7a99b0 100644
--- a/node/RuntimeEnvironment.hpp
+++ b/node/RuntimeEnvironment.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/SHA512.cpp b/node/SHA512.cpp
index faebd7530..6e1f5e6ae 100644
--- a/node/SHA512.cpp
+++ b/node/SHA512.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/SHA512.hpp b/node/SHA512.hpp
index 1a844ba18..7ed59cb25 100644
--- a/node/SHA512.hpp
+++ b/node/SHA512.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/SharedPtr.hpp b/node/SharedPtr.hpp
index c1a7db70e..6001e19cb 100644
--- a/node/SharedPtr.hpp
+++ b/node/SharedPtr.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/Socket.hpp b/node/Socket.hpp
index d25253296..ac1c153c5 100644
--- a/node/Socket.hpp
+++ b/node/Socket.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/SocketManager.hpp b/node/SocketManager.hpp
index b2cfb7761..625ab58c8 100644
--- a/node/SocketManager.hpp
+++ b/node/SocketManager.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/SoftwareUpdater.cpp b/node/SoftwareUpdater.cpp
index 3826f0222..911a750e9 100644
--- a/node/SoftwareUpdater.cpp
+++ b/node/SoftwareUpdater.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/SoftwareUpdater.hpp b/node/SoftwareUpdater.hpp
index dedac7b43..12b8eef1c 100644
--- a/node/SoftwareUpdater.hpp
+++ b/node/SoftwareUpdater.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/Switch.cpp b/node/Switch.cpp
index 6502656b9..5e84acc29 100644
--- a/node/Switch.cpp
+++ b/node/Switch.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/Switch.hpp b/node/Switch.hpp
index 543d49ca5..e58731bd7 100644
--- a/node/Switch.hpp
+++ b/node/Switch.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/Thread.hpp b/node/Thread.hpp
index e02cdde6e..df6465a7f 100644
--- a/node/Thread.hpp
+++ b/node/Thread.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/Topology.cpp b/node/Topology.cpp
index 45300ed23..3f4043da9 100644
--- a/node/Topology.cpp
+++ b/node/Topology.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/Topology.hpp b/node/Topology.hpp
index 15e8db3b7..502b3e565 100644
--- a/node/Topology.hpp
+++ b/node/Topology.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/Utils.cpp b/node/Utils.cpp
index f0a03f2c2..0dfef6b3e 100644
--- a/node/Utils.cpp
+++ b/node/Utils.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/node/Utils.hpp b/node/Utils.hpp
index defb52a93..05cd8be78 100644
--- a/node/Utils.hpp
+++ b/node/Utils.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/osnet/BSDEthernetTap.cpp b/osnet/BSDEthernetTap.cpp
index 100fb171d..63479877e 100644
--- a/osnet/BSDEthernetTap.cpp
+++ b/osnet/BSDEthernetTap.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/osnet/BSDEthernetTap.hpp b/osnet/BSDEthernetTap.hpp
index 9b3b359a7..56494bcfc 100644
--- a/osnet/BSDEthernetTap.hpp
+++ b/osnet/BSDEthernetTap.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/osnet/BSDEthernetTapFactory.cpp b/osnet/BSDEthernetTapFactory.cpp
index 18ac5e1e4..a6b8d5327 100644
--- a/osnet/BSDEthernetTapFactory.cpp
+++ b/osnet/BSDEthernetTapFactory.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/osnet/BSDEthernetTapFactory.hpp b/osnet/BSDEthernetTapFactory.hpp
index 9dad6b45c..2596662c1 100644
--- a/osnet/BSDEthernetTapFactory.hpp
+++ b/osnet/BSDEthernetTapFactory.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/osnet/BSDRoutingTable.cpp b/osnet/BSDRoutingTable.cpp
index bff1d0130..73e15d66c 100644
--- a/osnet/BSDRoutingTable.cpp
+++ b/osnet/BSDRoutingTable.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/osnet/BSDRoutingTable.hpp b/osnet/BSDRoutingTable.hpp
index b498d5ce2..f584f59ab 100644
--- a/osnet/BSDRoutingTable.hpp
+++ b/osnet/BSDRoutingTable.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/osnet/LinuxEthernetTap.cpp b/osnet/LinuxEthernetTap.cpp
index 955048e75..2094ff0df 100644
--- a/osnet/LinuxEthernetTap.cpp
+++ b/osnet/LinuxEthernetTap.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/osnet/LinuxEthernetTap.hpp b/osnet/LinuxEthernetTap.hpp
index b34a64ef8..1e829c7bc 100644
--- a/osnet/LinuxEthernetTap.hpp
+++ b/osnet/LinuxEthernetTap.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/osnet/LinuxEthernetTapFactory.cpp b/osnet/LinuxEthernetTapFactory.cpp
index 59327fffe..971b9af6a 100644
--- a/osnet/LinuxEthernetTapFactory.cpp
+++ b/osnet/LinuxEthernetTapFactory.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/osnet/LinuxEthernetTapFactory.hpp b/osnet/LinuxEthernetTapFactory.hpp
index 6cbf4ffca..1526c7fc2 100644
--- a/osnet/LinuxEthernetTapFactory.hpp
+++ b/osnet/LinuxEthernetTapFactory.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/osnet/LinuxRoutingTable.cpp b/osnet/LinuxRoutingTable.cpp
index 736323be4..faa39a280 100644
--- a/osnet/LinuxRoutingTable.cpp
+++ b/osnet/LinuxRoutingTable.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -65,7 +65,7 @@ std::vector<RoutingTable::Entry> LinuxRoutingTable::get(bool includeLinkLocal,bo
 	std::vector<RoutingTable::Entry> entries;
 
 	{
-                int fd = ::open("/proc/net/route",O_RDONLY);
+		int fd = ::open("/proc/net/route",O_RDONLY);
 		if (fd <= 0)
 			buf[0] = (char)0;
 		else {
diff --git a/osnet/LinuxRoutingTable.hpp b/osnet/LinuxRoutingTable.hpp
index 3c3c10086..c85a60756 100644
--- a/osnet/LinuxRoutingTable.hpp
+++ b/osnet/LinuxRoutingTable.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/osnet/NativeSocketManager.cpp b/osnet/NativeSocketManager.cpp
index 5b0ba61e2..a68522c24 100644
--- a/osnet/NativeSocketManager.cpp
+++ b/osnet/NativeSocketManager.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/osnet/NativeSocketManager.hpp b/osnet/NativeSocketManager.hpp
index 64ac5d9cb..92512dadc 100644
--- a/osnet/NativeSocketManager.hpp
+++ b/osnet/NativeSocketManager.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/osnet/OSXEthernetTap.cpp b/osnet/OSXEthernetTap.cpp
index 950877dbf..1dfeae0dc 100644
--- a/osnet/OSXEthernetTap.cpp
+++ b/osnet/OSXEthernetTap.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/osnet/OSXEthernetTap.hpp b/osnet/OSXEthernetTap.hpp
index c9ee316ce..01ea18290 100644
--- a/osnet/OSXEthernetTap.hpp
+++ b/osnet/OSXEthernetTap.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/osnet/OSXEthernetTapFactory.cpp b/osnet/OSXEthernetTapFactory.cpp
index a982a4222..b0cdc2175 100644
--- a/osnet/OSXEthernetTapFactory.cpp
+++ b/osnet/OSXEthernetTapFactory.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/osnet/OSXEthernetTapFactory.hpp b/osnet/OSXEthernetTapFactory.hpp
index ee1d59891..af713d8a1 100644
--- a/osnet/OSXEthernetTapFactory.hpp
+++ b/osnet/OSXEthernetTapFactory.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/osnet/WindowsEthernetTap.cpp b/osnet/WindowsEthernetTap.cpp
index e6c49f943..91715a131 100644
--- a/osnet/WindowsEthernetTap.cpp
+++ b/osnet/WindowsEthernetTap.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/osnet/WindowsEthernetTap.hpp b/osnet/WindowsEthernetTap.hpp
index 55e18c80e..852a84532 100644
--- a/osnet/WindowsEthernetTap.hpp
+++ b/osnet/WindowsEthernetTap.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/osnet/WindowsEthernetTapFactory.cpp b/osnet/WindowsEthernetTapFactory.cpp
index b2ff422ae..1def4818b 100644
--- a/osnet/WindowsEthernetTapFactory.cpp
+++ b/osnet/WindowsEthernetTapFactory.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/osnet/WindowsEthernetTapFactory.hpp b/osnet/WindowsEthernetTapFactory.hpp
index 619ae759f..cd163df2f 100644
--- a/osnet/WindowsEthernetTapFactory.hpp
+++ b/osnet/WindowsEthernetTapFactory.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/osnet/WindowsRoutingTable.cpp b/osnet/WindowsRoutingTable.cpp
index eef03ae65..fd8781628 100644
--- a/osnet/WindowsRoutingTable.cpp
+++ b/osnet/WindowsRoutingTable.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/osnet/WindowsRoutingTable.hpp b/osnet/WindowsRoutingTable.hpp
index e371637ab..bf34d5460 100644
--- a/osnet/WindowsRoutingTable.hpp
+++ b/osnet/WindowsRoutingTable.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/selftest.cpp b/selftest.cpp
index 4f8ade621..856bf28c0 100644
--- a/selftest.cpp
+++ b/selftest.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/testnet.cpp b/testnet.cpp
index 465c9909a..9ad536ccb 100644
--- a/testnet.cpp
+++ b/testnet.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/testnet/SimNet.cpp b/testnet/SimNet.cpp
index 3349d5c24..443805b75 100644
--- a/testnet/SimNet.cpp
+++ b/testnet/SimNet.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/testnet/SimNet.hpp b/testnet/SimNet.hpp
index 4fdd69399..25de46b98 100644
--- a/testnet/SimNet.hpp
+++ b/testnet/SimNet.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/testnet/SimNetSocketManager.cpp b/testnet/SimNetSocketManager.cpp
index 9269992a2..e80aa7c6b 100644
--- a/testnet/SimNetSocketManager.cpp
+++ b/testnet/SimNetSocketManager.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/testnet/SimNetSocketManager.hpp b/testnet/SimNetSocketManager.hpp
index a34728db1..18117f63e 100644
--- a/testnet/SimNetSocketManager.hpp
+++ b/testnet/SimNetSocketManager.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/testnet/TestEthernetTap.cpp b/testnet/TestEthernetTap.cpp
index f4b5f014a..8b242ad3c 100644
--- a/testnet/TestEthernetTap.cpp
+++ b/testnet/TestEthernetTap.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/testnet/TestEthernetTap.hpp b/testnet/TestEthernetTap.hpp
index 745baf5dd..3e0ff5d9a 100644
--- a/testnet/TestEthernetTap.hpp
+++ b/testnet/TestEthernetTap.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/testnet/TestEthernetTapFactory.cpp b/testnet/TestEthernetTapFactory.cpp
index e26e67e22..4d47b9f3d 100644
--- a/testnet/TestEthernetTapFactory.cpp
+++ b/testnet/TestEthernetTapFactory.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/testnet/TestEthernetTapFactory.hpp b/testnet/TestEthernetTapFactory.hpp
index 558e2eb6d..07bdbee5d 100644
--- a/testnet/TestEthernetTapFactory.hpp
+++ b/testnet/TestEthernetTapFactory.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/testnet/TestRoutingTable.cpp b/testnet/TestRoutingTable.cpp
index 8c132693e..93902636d 100644
--- a/testnet/TestRoutingTable.cpp
+++ b/testnet/TestRoutingTable.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/testnet/TestRoutingTable.hpp b/testnet/TestRoutingTable.hpp
index 983902019..ddf4fc3d8 100644
--- a/testnet/TestRoutingTable.hpp
+++ b/testnet/TestRoutingTable.hpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/version.h b/version.h
index 6713ecce1..60e058dfd 100644
--- a/version.h
+++ b/version.h
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/windows/ZeroTierOne/ZeroTierOneService.cpp b/windows/ZeroTierOne/ZeroTierOneService.cpp
index de57c81a9..14fd7c08f 100644
--- a/windows/ZeroTierOne/ZeroTierOneService.cpp
+++ b/windows/ZeroTierOne/ZeroTierOneService.cpp
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
diff --git a/windows/ZeroTierOne/ZeroTierOneService.h b/windows/ZeroTierOne/ZeroTierOneService.h
index 2f6f733d5..2be8a1637 100644
--- a/windows/ZeroTierOne/ZeroTierOneService.h
+++ b/windows/ZeroTierOne/ZeroTierOneService.h
@@ -1,6 +1,6 @@
 /*
  * ZeroTier One - Global Peer to Peer Ethernet
- * Copyright (C) 2011-2014  ZeroTier Networks LLC
+ * Copyright (C) 2011-2015  ZeroTier Networks
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by