diff options
| author | erdgeist <> | 2010-08-17 01:06:22 +0000 |
|---|---|---|
| committer | erdgeist <> | 2010-08-17 01:06:22 +0000 |
| commit | aae0227ee66ffbb3ddc507d0be89854c23bd88af (patch) | |
| tree | fbea7838b9aaf330e9958b04c58c883ef6e3c85b | |
| parent | 894bd4625f4c2744e64e7f143da1d4336fa74deb (diff) | |
Load state only after initialising all structs. Thanks to Michael S. Combs for pointing out the buf
| -rw-r--r-- | opentracker.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/opentracker.c b/opentracker.c index a5b8b0d..579e41e 100644 --- a/opentracker.c +++ b/opentracker.c | |||
| @@ -535,6 +535,7 @@ int main( int argc, char **argv ) { | |||
| 535 | ot_ip6 serverip, tmpip; | 535 | ot_ip6 serverip, tmpip; |
| 536 | int bound = 0, scanon = 1; | 536 | int bound = 0, scanon = 1; |
| 537 | uint16_t tmpport; | 537 | uint16_t tmpport; |
| 538 | char * statefile = 0; | ||
| 538 | 539 | ||
| 539 | memset( serverip, 0, sizeof(ot_ip6) ); | 540 | memset( serverip, 0, sizeof(ot_ip6) ); |
| 540 | #ifndef WANT_V6 | 541 | #ifndef WANT_V6 |
| @@ -573,7 +574,7 @@ int main( int argc, char **argv ) { | |||
| 573 | case 'd': set_config_option( &g_serverdir, optarg ); break; | 574 | case 'd': set_config_option( &g_serverdir, optarg ); break; |
| 574 | case 'u': set_config_option( &g_serveruser, optarg ); break; | 575 | case 'u': set_config_option( &g_serveruser, optarg ); break; |
| 575 | case 'r': set_config_option( &g_redirecturl, optarg ); break; | 576 | case 'r': set_config_option( &g_redirecturl, optarg ); break; |
| 576 | case 'l': load_state( optarg ); break; | 577 | case 'l': statefile = optarg; break; |
| 577 | case 'A': | 578 | case 'A': |
| 578 | if( !scan_ip6( optarg, tmpip )) { usage( argv[0] ); exit( 1 ); } | 579 | if( !scan_ip6( optarg, tmpip )) { usage( argv[0] ); exit( 1 ); } |
| 579 | accesslist_blessip( tmpip, 0xffff ); /* Allow everything for now */ | 580 | accesslist_blessip( tmpip, 0xffff ); /* Allow everything for now */ |
| @@ -614,6 +615,10 @@ int main( int argc, char **argv ) { | |||
| 614 | defaul_signal_handlers( ); | 615 | defaul_signal_handlers( ); |
| 615 | /* Init all sub systems. This call may fail with an exit() */ | 616 | /* Init all sub systems. This call may fail with an exit() */ |
| 616 | trackerlogic_init( ); | 617 | trackerlogic_init( ); |
| 618 | |||
| 619 | if( statefile ) | ||
| 620 | load_state( statefile ); | ||
| 621 | |||
| 617 | install_signal_handlers( ); | 622 | install_signal_handlers( ); |
| 618 | 623 | ||
| 619 | /* Kick off our initial clock setting alarm */ | 624 | /* Kick off our initial clock setting alarm */ |
