summaryrefslogtreecommitdiff
path: root/src/anytun-config.cpp
diff options
context:
space:
mode:
authorChristian Pointner <equinox@anytun.org>2008-04-12 12:19:37 +0000
committerChristian Pointner <equinox@anytun.org>2008-04-12 12:19:37 +0000
commita0f59e281855e589653d348e3941185df21315fc (patch)
treea08d97f85431ba53f0942580f46f61c73e3bd59a /src/anytun-config.cpp
parentclient examples fixed (diff)
anytun-config can add more than one route at once
Diffstat (limited to 'src/anytun-config.cpp')
-rw-r--r--src/anytun-config.cpp28
1 files changed, 17 insertions, 11 deletions
diff --git a/src/anytun-config.cpp b/src/anytun-config.cpp
index 537fc81..733487a 100644
--- a/src/anytun-config.cpp
+++ b/src/anytun-config.cpp
@@ -62,24 +62,30 @@ void createConnection(const std::string & remote_host, u_int16_t remote_port, Co
cLog.msg(Log::PRIO_NOTICE) << "added connection remote host " << remote_host << ":" << remote_port;
ConnectionParam connparam ( (*kd), (*seq), seq_nr_, remote_host, remote_port );
cl.addConnection( connparam, mux );
- NetworkAddress addr( ipv4, gOpt.getIfconfigParamRemoteNetmask().c_str() );
- NetworkPrefix prefix( addr,gOpt.getNetworkPrefixLength() );
-//TODO: FIX this not
-// prefix.setNetworkPrefixLength(gOpt.getNetworkPrefixLength());
-
- gRoutingTable.addRoute( prefix, mux );
std::ostringstream sout;
boost::archive::text_oarchive oa( sout );
const SyncCommand scom( cl, mux );
- const SyncCommand scom2( prefix );
oa << scom;
std::cout << std::setw(5) << std::setfill('0') << sout.str().size()<< ' ' << sout.str() << std::endl;
- std::ostringstream sout2;
- boost::archive::text_oarchive oa2( sout2 );
- oa2 << scom2;
- std::cout << std::setw(5) << std::setfill('0') << sout2.str().size()<< ' ' << sout2.str() << std::endl;
+
+ RouteList routes = gOpt.getRoutes();
+ RouteList::const_iterator rit;
+ for(rit = routes.begin(); rit != routes.end(); ++rit)
+ {
+ NetworkAddress addr( ipv4, rit->net_addr.c_str() );
+ NetworkPrefix prefix( addr, rit->prefix_length );
+
+ gRoutingTable.addRoute( prefix, mux );
+
+ std::ostringstream sout2;
+ boost::archive::text_oarchive oa2( sout2 );
+ const SyncCommand scom2( prefix );
+
+ oa2 << scom2;
+ std::cout << std::setw(5) << std::setfill('0') << sout2.str().size()<< ' ' << sout2.str() << std::endl;
+ }
}
int main(int argc, char* argv[])