conf: Drop duplicate, diverging optstring assignments
This originated as a result of copy and paste to introduce a second stage for processing options related to port forwarding, has already bitten David in the past, and just gave me hours of fun. As a matter of fact, the second set of optstring assignments was already incorrect, but it didn't matter because the first one was more restrictive, not allowing optional arguments for -P, -D, -S. Signed-off-by: Stefano Brivio <sbrivio@redhat.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
da152331cf
commit
51fa9bfd7b
1 changed files with 6 additions and 14 deletions
20
conf.c
20
conf.c
|
@ -1043,25 +1043,23 @@ void conf(struct ctx *c, int argc, char **argv)
|
||||||
struct fqdn *dnss = c->dns_search;
|
struct fqdn *dnss = c->dns_search;
|
||||||
uint32_t *dns4 = c->ip4.dns;
|
uint32_t *dns4 = c->ip4.dns;
|
||||||
int name, ret, mask, b, i;
|
int name, ret, mask, b, i;
|
||||||
|
const char *optstring;
|
||||||
unsigned int ifi = 0;
|
unsigned int ifi = 0;
|
||||||
char *runas = NULL;
|
char *runas = NULL;
|
||||||
uid_t uid;
|
uid_t uid;
|
||||||
gid_t gid;
|
gid_t gid;
|
||||||
|
|
||||||
if (c->mode == MODE_PASTA)
|
if (c->mode == MODE_PASTA) {
|
||||||
c->no_dhcp_dns = c->no_dhcp_dns_search = 1;
|
c->no_dhcp_dns = c->no_dhcp_dns_search = 1;
|
||||||
|
optstring = "dqfehI:p:P:m:a:n:M:g:i:D:S:46t:u:T:U:";
|
||||||
|
} else {
|
||||||
|
optstring = "dqfehs:p:P:m:a:n:M:g:i:D:S:46t:u:";
|
||||||
|
}
|
||||||
|
|
||||||
c->tcp.fwd_in.mode = c->tcp.fwd_out.mode = 0;
|
c->tcp.fwd_in.mode = c->tcp.fwd_out.mode = 0;
|
||||||
c->udp.fwd_in.f.mode = c->udp.fwd_out.f.mode = 0;
|
c->udp.fwd_in.f.mode = c->udp.fwd_out.f.mode = 0;
|
||||||
|
|
||||||
do {
|
do {
|
||||||
const char *optstring;
|
|
||||||
|
|
||||||
if (c->mode == MODE_PASST)
|
|
||||||
optstring = "dqfehs:p:P:m:a:n:M:g:i:D:S:46t:u:";
|
|
||||||
else
|
|
||||||
optstring = "dqfehI:p:P:m:a:n:M:g:i:D:S:46t:u:T:U:";
|
|
||||||
|
|
||||||
name = getopt_long(argc, argv, optstring, options, NULL);
|
name = getopt_long(argc, argv, optstring, options, NULL);
|
||||||
|
|
||||||
switch (name) {
|
switch (name) {
|
||||||
|
@ -1505,12 +1503,6 @@ void conf(struct ctx *c, int argc, char **argv)
|
||||||
optind = 1;
|
optind = 1;
|
||||||
do {
|
do {
|
||||||
struct port_fwd *fwd = NULL;
|
struct port_fwd *fwd = NULL;
|
||||||
const char *optstring;
|
|
||||||
|
|
||||||
if (c->mode == MODE_PASST)
|
|
||||||
optstring = "dqfehs:p::P:m:a:n:M:g:i:D::S::46t:u:";
|
|
||||||
else
|
|
||||||
optstring = "dqfehI:p::P:m:a:n:M:g:i:D::S::46t:u:T:U:";
|
|
||||||
|
|
||||||
name = getopt_long(argc, argv, optstring, options, NULL);
|
name = getopt_long(argc, argv, optstring, options, NULL);
|
||||||
switch (name) {
|
switch (name) {
|
||||||
|
|
Loading…
Reference in a new issue