summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOthmar Gsenger <otti@anytun.org>2008-12-11 18:00:23 +0000
committerOthmar Gsenger <otti@anytun.org>2008-12-11 18:00:23 +0000
commit9f32afad9da79eea298fb5288096efc8307d26fa (patch)
treec2461551e356c2dc335c9970438d546e5bc81e3a
parentremoved unused router (diff)
fixed bug in routing initialisation
-rw-r--r--src/anytun.cpp17
-rw-r--r--src/networkAddress.cpp2
-rw-r--r--src/networkAddress.h2
3 files changed, 12 insertions, 9 deletions
diff --git a/src/anytun.cpp b/src/anytun.cpp
index ba1a6ab..bdb7a5d 100644
--- a/src/anytun.cpp
+++ b/src/anytun.cpp
@@ -94,15 +94,18 @@ void createConnection(const PacketSourceEndpoint & remote_end, ConnectionList &
ConnectionParam connparam ( (*kd), (*seq), seq_nr_, remote_end);
cl.addConnection(connparam,mux);
-#ifndef NOROUTING
- NetworkAddress addr(ipv4,gOpt.getIfconfigParamRemoteNetmask().c_str());
- NetworkPrefix prefix(addr,32);
- gRoutingTable.addRoute(prefix,mux);
-#endif
SyncCommand sc (cl,mux);
queue.push(sc);
- SyncCommand sc2 (prefix);
- queue.push(sc2);
+#ifndef NOROUTING
+ if (gOpt.getIfconfigParamRemoteNetmask() != "")
+ {
+ NetworkAddress addr(gOpt.getIfconfigParamRemoteNetmask());
+ NetworkPrefix prefix(addr,32);
+ gRoutingTable.addRoute(prefix,mux);
+ SyncCommand sc2 (prefix);
+ queue.push(sc2);
+ }
+#endif
}
bool checkPacketSeqNr(EncryptedPacket& pack,ConnectionParam& conn)
diff --git a/src/networkAddress.cpp b/src/networkAddress.cpp
index 5b94224..0ec1c38 100644
--- a/src/networkAddress.cpp
+++ b/src/networkAddress.cpp
@@ -80,7 +80,7 @@ NetworkAddress::~NetworkAddress()
{
}
-NetworkAddress::NetworkAddress(const network_address_type_t type, const char * address )
+NetworkAddress::NetworkAddress(const network_address_type_t type, const std::string & address )
{
setNetworkAddress( type, address);
}
diff --git a/src/networkAddress.h b/src/networkAddress.h
index 81fbe59..e2228d5 100644
--- a/src/networkAddress.h
+++ b/src/networkAddress.h
@@ -56,7 +56,7 @@ public:
NetworkAddress(boost::asio::ip::address_v6);
NetworkAddress(boost::asio::ip::address_v4);
NetworkAddress(u_int64_t);
- NetworkAddress(const network_address_type_t type, const char * address );
+ NetworkAddress(const network_address_type_t type, const std::string & address );
~NetworkAddress();
void setNetworkAddress(const network_address_type_t type, const std::string & address );
network_address_type_t getNetworkAddressType();