diff options
author | jjako <jjako> | 2003-04-11 11:51:39 +0000 |
---|---|---|
committer | jjako <jjako> | 2003-04-11 11:51:39 +0000 |
commit | a7c3381c2bb8a790d435445c362e5ea7a22a467b (patch) | |
tree | 42b552325b78ff6a43de18278d812bbb5f91f628 /ggsn | |
parent | 9944eba320bfafc43d7dab0e11d7e68a1c27d33e (diff) |
Corrected pointer error in ggsn.c
Diffstat (limited to 'ggsn')
-rw-r--r-- | ggsn/cmdline.c | 8 | ||||
-rw-r--r-- | ggsn/cmdline.ggo | 4 | ||||
-rw-r--r-- | ggsn/cmdline.h | 4 | ||||
-rw-r--r-- | ggsn/ggsn.c | 21 |
4 files changed, 23 insertions, 14 deletions
diff --git a/ggsn/cmdline.c b/ggsn/cmdline.c index bb5c3f1..d8eafe5 100644 --- a/ggsn/cmdline.c +++ b/ggsn/cmdline.c @@ -53,8 +53,8 @@ cmdline_parser_print_help (void) printf(" -nSTRING --net=STRING Network (default='192.168.0.0/24')\n"); printf(" --ipup=STRING Script to run after link-up\n"); printf(" --ipdown=STRING Script to run after link-down\n"); - printf(" --dynip=STRING Dynamic IP address pool (default='192.168.0.0/24')\n"); - printf(" --statip=STRING Static IP address pool (default='192.168.1.0/24')\n"); + printf(" --dynip=STRING Dynamic IP address pool\n"); + printf(" --statip=STRING Static IP address pool\n"); printf(" --pcodns1=STRING PCO DNS Server 1 (default='0.0.0.0')\n"); printf(" --pcodns2=STRING PCO DNS Server 2 (default='0.0.0.0')\n"); printf(" --timelimit=INT Exit after timelimit seconds (default='0')\n"); @@ -111,8 +111,8 @@ cmdline_parser (int argc, char * const *argv, struct gengetopt_args_info *args_i args_info->net_arg = strdup("192.168.0.0/24") ;\ args_info->ipup_arg = NULL; \ args_info->ipdown_arg = NULL; \ - args_info->dynip_arg = strdup("192.168.0.0/24") ;\ - args_info->statip_arg = strdup("192.168.1.0/24") ;\ + args_info->dynip_arg = NULL; \ + args_info->statip_arg = NULL; \ args_info->pcodns1_arg = strdup("0.0.0.0") ;\ args_info->pcodns2_arg = strdup("0.0.0.0") ;\ args_info->timelimit_arg = 0 ;\ diff --git a/ggsn/cmdline.ggo b/ggsn/cmdline.ggo index 0e3c548..ca4e2c7 100644 --- a/ggsn/cmdline.ggo +++ b/ggsn/cmdline.ggo @@ -24,8 +24,8 @@ option "net" n "Network" string default="192.168. option "ipup" - "Script to run after link-up" string no option "ipdown" - "Script to run after link-down" string no -option "dynip" - "Dynamic IP address pool" string default="192.168.0.0/24" no -option "statip" - "Static IP address pool" string default="192.168.1.0/24" no +option "dynip" - "Dynamic IP address pool" string no +option "statip" - "Static IP address pool" string no option "pcodns1" - "PCO DNS Server 1" string default="0.0.0.0" no option "pcodns2" - "PCO DNS Server 2" string default="0.0.0.0" no diff --git a/ggsn/cmdline.h b/ggsn/cmdline.h index 0cbf483..f083dbe 100644 --- a/ggsn/cmdline.h +++ b/ggsn/cmdline.h @@ -29,8 +29,8 @@ struct gengetopt_args_info char * net_arg; /* Network (default='192.168.0.0/24'). */ char * ipup_arg; /* Script to run after link-up. */ char * ipdown_arg; /* Script to run after link-down. */ - char * dynip_arg; /* Dynamic IP address pool (default='192.168.0.0/24'). */ - char * statip_arg; /* Static IP address pool (default='192.168.1.0/24'). */ + char * dynip_arg; /* Dynamic IP address pool. */ + char * statip_arg; /* Static IP address pool. */ char * pcodns1_arg; /* PCO DNS Server 1 (default='0.0.0.0'). */ char * pcodns2_arg; /* PCO DNS Server 2 (default='0.0.0.0'). */ int timelimit_arg; /* Exit after timelimit seconds (default='0'). */ diff --git a/ggsn/ggsn.c b/ggsn/ggsn.c index 74fe1cc..5011ed1 100644 --- a/ggsn/ggsn.c +++ b/ggsn/ggsn.c @@ -132,7 +132,7 @@ int create_context(struct pdp_t *pdp) { } pdp_ntoeua(&member->addr, &pdp->eua); - pdp->peer = &member; + pdp->peer = member; pdp->ipif = tun; /* TODO */ member->peer = pdp; @@ -259,7 +259,7 @@ int main(int argc, char **argv) PACKAGE, args_info.listen_arg); syslog(LOG_ERR, "Invalid listening address: %s!", args_info.listen_arg); - return 1; + exit(1); } else { memcpy(&listen_.s_addr, host->h_addr, host->h_length); @@ -275,21 +275,30 @@ int main(int argc, char **argv) if(ippool_aton(&net, &mask, args_info.net_arg, 0)) { sys_err(LOG_ERR, __FILE__, __LINE__, 0, "Invalid network address: %s!", args_info.net_arg); - return -1; + exit(1); } } + else { + sys_err(LOG_ERR, __FILE__, __LINE__, 0, + "Network address must be specified: %s!", args_info.net_arg); + exit(1); + } /* dynip */ if (!args_info.dynip_arg) { - sys_err(LOG_ERR, __FILE__, __LINE__, 0, - "No dynamic address pool given!"); - return -1; + if (ippool_new(&ippool, args_info.net_arg, + IPPOOL_NONETWORK | IPPOOL_NOBROADCAST)) { + sys_err(LOG_ERR, __FILE__, __LINE__, 0, + "Failed to allocate IP pool!"); + exit(1); + } } else { if (ippool_new(&ippool, args_info.dynip_arg, IPPOOL_NONETWORK | IPPOOL_NOBROADCAST)) { sys_err(LOG_ERR, __FILE__, __LINE__, 0, "Failed to allocate IP pool!"); + exit(1); } } |