diff options
| author | erdgeist <> | 2009-01-15 16:20:47 +0000 |
|---|---|---|
| committer | erdgeist <> | 2009-01-15 16:20:47 +0000 |
| commit | 02b3abbab639625afdd02f0f0a9965fdf49f4996 (patch) | |
| tree | 6869bfe2f17ecaa7dd288a5286c0b3fe88d509c6 | |
| parent | 930495a0dbd08b8e4b048c7258067444eb0d546b (diff) | |
Make v4 and v6 modes v4/v6-ONLY
| -rw-r--r-- | opentracker.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/opentracker.c b/opentracker.c index 46456dd..91a1f79 100644 --- a/opentracker.c +++ b/opentracker.c | |||
| @@ -238,6 +238,16 @@ static void server_mainloop( ) { | |||
| 238 | static int64_t ot_try_bind( ot_ip6 ip, uint16_t port, PROTO_FLAG proto ) { | 238 | static int64_t ot_try_bind( ot_ip6 ip, uint16_t port, PROTO_FLAG proto ) { |
| 239 | int64 s = proto == FLAG_TCP ? socket_tcp6( ) : socket_udp6( ); | 239 | int64 s = proto == FLAG_TCP ? socket_tcp6( ) : socket_udp6( ); |
| 240 | 240 | ||
| 241 | #ifndef WANT_V6 | ||
| 242 | if( !ip6_isv4mapped(ip) ) { | ||
| 243 | exerr( "V4 Tracker is V4 only!" ); | ||
| 244 | } | ||
| 245 | #else | ||
| 246 | if( ip6_isv4mapped(ip) ) { | ||
| 247 | exerr( "V6 Tracker is V6 only!" ); | ||
| 248 | } | ||
| 249 | #endif | ||
| 250 | |||
| 241 | #ifdef _DEBUG | 251 | #ifdef _DEBUG |
| 242 | char *protos[] = {"TCP","UDP","UDP mcast"}; | 252 | char *protos[] = {"TCP","UDP","UDP mcast"}; |
| 243 | char _debug[512]; | 253 | char _debug[512]; |
| @@ -420,6 +430,9 @@ int main( int argc, char **argv ) { | |||
| 420 | uint16_t tmpport; | 430 | uint16_t tmpport; |
| 421 | 431 | ||
| 422 | memset( serverip, 0, sizeof(ot_ip6) ); | 432 | memset( serverip, 0, sizeof(ot_ip6) ); |
| 433 | #ifndef WANT_V6 | ||
| 434 | serverip[10]=serverip[11]=0xff; | ||
| 435 | #endif | ||
| 423 | 436 | ||
| 424 | while( scanon ) { | 437 | while( scanon ) { |
| 425 | switch( getopt( argc, argv, ":i:p:A:P:d:r:s:f:v" | 438 | switch( getopt( argc, argv, ":i:p:A:P:d:r:s:f:v" |
