diff options
author | hrs <hrs@FreeBSD.org> | 2011-06-16 12:41:37 +0000 |
---|---|---|
committer | hrs <hrs@FreeBSD.org> | 2011-06-16 12:41:37 +0000 |
commit | 941fea0834d05ab32f6422648f2ce94a76e13a48 (patch) | |
tree | d25763e4257e6353015b15e059406201097d086b /usr.sbin/rtsold/rtsold.c | |
parent | 7afd303ca9e45353e1af220a988ddac723fde355 (diff) | |
download | FreeBSD-src-941fea0834d05ab32f6422648f2ce94a76e13a48.zip FreeBSD-src-941fea0834d05ab32f6422648f2ce94a76e13a48.tar.gz |
- Add ":origin" label to the interface id for resolvconf(8).
- Add -u option to enable adding :[RA-source-address] to the interface id.
- s/INET6_ADDRSTRLEN/sizeof(ntopbuf)/
- Fix a bug that can prevent -D from being overridden by -d.
- /-P pidfile/-p pidfile/ for consistency with rtadvd(8).
- Fix WARNS.
Discussed with: ume
Diffstat (limited to 'usr.sbin/rtsold/rtsold.c')
-rw-r--r-- | usr.sbin/rtsold/rtsold.c | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/usr.sbin/rtsold/rtsold.c b/usr.sbin/rtsold/rtsold.c index 73c027f..ee87753 100644 --- a/usr.sbin/rtsold/rtsold.c +++ b/usr.sbin/rtsold/rtsold.c @@ -75,6 +75,7 @@ static int fflag = 0; int Fflag = 0; /* force setting sysctl parameters */ int aflag = 0; int dflag = 0; +int uflag = 0; const char *otherconf_script; const char *resolvconf_script = "/sbin/resolvconf"; @@ -129,10 +130,10 @@ main(int argc, char **argv) #ifndef SMALL /* rtsold */ - opts = "adDfFm1O:P:R:"; + opts = "adDfFm1O:p:R:u"; #else /* rtsol */ - opts = "adDFO:P:R:"; + opts = "adDFO:R:u"; fflag = 1; once = 1; #endif @@ -144,10 +145,10 @@ main(int argc, char **argv) aflag = 1; break; case 'd': - dflag = 1; + dflag += 1; break; case 'D': - dflag = 2; + dflag += 2; break; case 'f': fflag = 1; @@ -164,12 +165,15 @@ main(int argc, char **argv) case 'O': otherconf_script = optarg; break; - case 'P': + case 'p': pidfilename = optarg; break; case 'R': resolvconf_script = optarg; break; + case 'u': + uflag = 1; + break; default: usage(); exit(1); @@ -184,14 +188,19 @@ main(int argc, char **argv) } /* set log level */ - if (dflag == 0) + if (dflag > 1) + log_upto = LOG_DEBUG; + else if (dflag > 0) + log_upto = LOG_INFO; + else log_upto = LOG_NOTICE; + if (!fflag) { char *ident; - ident = strrchr(argv[0], '/'); + ident = strrchr(argv0, '/'); if (!ident) - ident = argv[0]; + ident = argv0; else ident++; openlog(ident, LOG_NDELAY|LOG_PID, LOG_DAEMON); |