Fix things mentioned in #91

This commit is contained in:
Erik Ekman 2010-03-01 22:05:55 +00:00 committed by Erik Ekman
parent 859b019d65
commit 3db5ccaf33
3 changed files with 7 additions and 4 deletions

View file

@ -2414,10 +2414,13 @@ main(int argc, char **argv)
goto cleanup0;
}
if (!skipipconfig) {
if (tun_setip(argv[0], users_get_first_ip(), netmask) != 0 || tun_setmtu(mtu) != 0) {
const char *other_ip = users_get_first_ip();
if (tun_setip(argv[0], other_ip, netmask) != 0 || tun_setmtu(mtu) != 0) {
retval = 1;
free((void*) other_ip);
goto cleanup1;
}
free((void*) other_ip);
}
if ((dnsd_fd = open_dns(port, listen_ip)) == -1) {
retval = 1;

View file

@ -426,7 +426,7 @@ read_tun(int tun_fd, char *buf, size_t len)
}
int
tun_setip(const char *ip, const char *remoteip, int netbits)
tun_setip(const char *ip, const char *other_ip, int netbits)
{
char cmdline[512];
int netmask;
@ -459,7 +459,7 @@ tun_setip(const char *ip, const char *remoteip, int netbits)
if_name,
ip,
#ifdef FREEBSD
remoteip, /* FreeBSD wants other IP as second IP */
other_ip, /* FreeBSD wants other IP as second IP */
#else
ip,
#endif

View file

@ -90,7 +90,7 @@ users_get_first_ip()
{
struct in_addr ip;
ip.s_addr = users[0].tun_ip;
return inet_ntoa(ip);
return strdup(inet_ntoa(ip));
}
int