/* match if b is a substr of a */
#define MATCH(a,b) (!strncmp((a), (b), strlen(b)))
-void init_cli(char *hostname)
+void init_cli()
{
FILE *f;
char buf[4096];
struct sockaddr_in addr;
cli = cli_init();
- if (hostname && *hostname)
- cli_set_hostname(cli, hostname);
- else
- cli_set_hostname(cli, "l2tpns");
c = cli_register_command(cli, NULL, "show", NULL, PRIVILEGE_UNPRIVILEGED, MODE_EXEC, NULL);
cli_register_command(cli, c, "banana", cmd_show_banana, PRIVILEGE_UNPRIVILEGED, MODE_EXEC, "Show a banana");
}
}
+void cli_init_hostname(char *hostname)
+{
+ if (hostname && *hostname)
+ cli_set_hostname(cli, hostname);
+ else
+ cli_set_hostname(cli, "l2tpns");
+}
+
void cli_do(int sockfd)
{
int require_auth = 1;
if (!*hostname)
{
- if (!*config->hostname)
- {
- // Grab my hostname unless it's been specified
- gethostname(hostname, sizeof(hostname));
- stripdomain(hostname);
- }
- else
- strcpy(hostname, config->hostname);
+ // Grab my hostname unless it's been specified
+ gethostname(hostname, sizeof(hostname));
+ stripdomain(hostname);
}
_statistics->start_time = _statistics->last_reset = time(NULL);
initplugins();
initdata(optdebug, optconfig);
- init_cli(hostname);
+ init_cli();
read_config_file();
+ /* set hostname /after/ having read the config file */
+ if (*config->hostname)
+ strcpy(hostname, config->hostname);
+ cli_init_hostname(hostname);
update_config();
init_tbf(config->num_tbfs);
// cli.c
-void init_cli(char *hostname);
+void init_cli();
+void cli_init_hostname(char *hostname);
void cli_do_file(FILE *fh);
void cli_do(int sockfd);
int cli_arg_help(struct cli_def *cli, int cr_ok, char *entry, ...);