diff options
Diffstat (limited to '')
-rw-r--r-- | bounce.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/bounce.c b/bounce.c index eef6c12..19e2dd4 100644 --- a/bounce.c +++ b/bounce.c @@ -258,6 +258,7 @@ int main(int argc, char *argv[]) { bool insecure = false; const char *clientCert = NULL; const char *clientPriv = NULL; + const char *serverBindHost = NULL; const char *host = NULL; const char *port = "6697"; @@ -271,7 +272,7 @@ int main(int argc, char *argv[]) { const char *join = NULL; const char *quit = "connection reset by purr"; - const char *Opts = "!A:C:H:K:NP:U:W:a:c:ef:g:h:j:k:n:p:q:r:s:u:vw:xy:"; + const char *Opts = "!A:C:H:K:NP:S:U:W:a:c:ef:g:h:j:k:n:p:q:r:s:u:vw:xy:"; const struct option LongOpts[] = { { "insecure", no_argument, NULL, '!' }, { "local-ca", required_argument, NULL, 'A' }, @@ -280,6 +281,7 @@ int main(int argc, char *argv[]) { { "local-priv", required_argument, NULL, 'K' }, { "no-names", no_argument, NULL, 'N' }, { "local-port", required_argument, NULL, 'P' }, + { "bind", required_argument, NULL, 'S' }, { "local-path", required_argument, NULL, 'U' }, { "local-pass", required_argument, NULL, 'W' }, { "sasl-plain", required_argument, NULL, 'a' }, @@ -321,6 +323,7 @@ int main(int argc, char *argv[]) { break; case 'K': strlcpy(privPath, optarg, sizeof(privPath)); break; case 'N': stateNoNames = true; break; case 'P': bindPort = optarg; + break; case 'S': serverBindHost = optarg; break; case 'U': strlcpy(bindPath, optarg, sizeof(bindPath)); break; case 'W': clientPass = optarg; break; case 'a': sasl = true; plain = optarg; @@ -403,7 +406,7 @@ int main(int argc, char *argv[]) { : localBind(bind, ARRAY_LEN(bind), bindHost, bindPort); serverConfig(insecure, clientCert, clientPriv); - int server = serverConnect(host, port); + int server = serverConnect(serverBindHost, host, port); #ifdef __FreeBSD__ int error = cap_enter(); |