Lines Matching refs:arg

104 nat_RedirectPort(struct cmdargs const *arg)
106 if (!arg->bundle->NatEnabled) {
107 prompt_Printf(arg->prompt, "Alias not enabled\n");
109 } else if (arg->argc == arg->argn + 3 || arg->argc == arg->argn + 4) {
121 proto = arg->argv[arg->argn];
127 prompt_Printf(arg->prompt, "port redirect: protocol must be"
132 error = StrToAddrAndPort(arg->argv[arg->argn+1], &localaddr, &llocalport,
135 prompt_Printf(arg->prompt, "nat port: error reading localaddr:port\n");
139 error = StrToPortRange(arg->argv[arg->argn+2], &laliasport, &haliasport,
142 prompt_Printf(arg->prompt, "nat port: error reading alias port\n");
147 if (arg->argc == arg->argn + 4) {
148 error = StrToAddrAndPort(arg->argv[arg->argn+3], &remoteaddr,
151 prompt_Printf(arg->prompt, "nat port: error reading "
165 prompt_Printf(arg->prompt, "nat port: local & alias port ranges "
171 prompt_Printf(arg->prompt, "nat port: local & remote port ranges "
183 prompt_Printf(arg->prompt, "nat port: %d: error %d\n", laliasport,
200 nat_RedirectAddr(struct cmdargs const *arg)
202 if (!arg->bundle->NatEnabled) {
203 prompt_Printf(arg->prompt, "nat not enabled\n");
205 } else if (arg->argc == arg->argn+2) {
210 error = StrToAddr(arg->argv[arg->argn], &localaddr);
212 prompt_Printf(arg->prompt, "address redirect: invalid local address\n");
215 error = StrToAddr(arg->argv[arg->argn+1], &aliasaddr);
217 prompt_Printf(arg->prompt, "address redirect: invalid alias address\n");
218 prompt_Printf(arg->prompt, "usage: nat %s %s\n", arg->cmd->name,
219 arg->cmd->syntax);
224 prompt_Printf(arg->prompt, "address redirect: packet aliasing"
226 prompt_Printf(arg->prompt, "usage: nat %s %s\n", arg->cmd->name,
227 arg->cmd->syntax);
237 nat_RedirectProto(struct cmdargs const *arg)
239 if (!arg->bundle->NatEnabled) {
240 prompt_Printf(arg->prompt, "nat not enabled\n");
242 } else if (arg->argc >= arg->argn + 2 && arg->argc <= arg->argn + 4) {
249 len = strlen(arg->argv[arg->argn]);
251 prompt_Printf(arg->prompt, "proto redirect: invalid protocol\n");
254 if (strspn(arg->argv[arg->argn], "01234567") == len)
255 pe = getprotobynumber(atoi(arg->argv[arg->argn]));
257 pe = getprotobyname(arg->argv[arg->argn]);
259 prompt_Printf(arg->prompt, "proto redirect: invalid protocol\n");
263 error = StrToAddr(arg->argv[arg->argn + 1], &localIP);
265 prompt_Printf(arg->prompt, "proto redirect: invalid src address\n");
269 if (arg->argc >= arg->argn + 3) {
270 error = StrToAddr(arg->argv[arg->argn + 2], &publicIP);
272 prompt_Printf(arg->prompt, "proto redirect: invalid alias address\n");
273 prompt_Printf(arg->prompt, "usage: nat %s %s\n", arg->cmd->name,
274 arg->cmd->syntax);
280 if (arg->argc == arg->argn + 4) {
281 error = StrToAddr(arg->argv[arg->argn + 2], &remoteIP);
283 prompt_Printf(arg->prompt, "proto redirect: invalid dst address\n");
284 prompt_Printf(arg->prompt, "usage: nat %s %s\n", arg->cmd->name,
285 arg->cmd->syntax);
293 prompt_Printf(arg->prompt, "proto redirect: packet aliasing"
295 prompt_Printf(arg->prompt, "usage: nat %s %s\n", arg->cmd->name,
296 arg->cmd->syntax);
391 nat_ProxyRule(struct cmdargs const *arg)
397 if (arg->argn >= arg->argc)
400 for (f = arg->argn, pos = 0; f < arg->argc; f++) {
401 len = strlen(arg->argv[f]);
406 strcpy(cmd + pos, arg->argv[f]);
414 nat_SetTarget(struct cmdargs const *arg)
418 if (arg->argc == arg->argn) {
424 if (arg->argc != arg->argn + 1)
427 if (!strcasecmp(arg->argv[arg->argn], "MYADDR")) {
433 addr = GetIpAddr(arg->argv[arg->argn]);
435 log_Printf(LogWARN, "%s: invalid address\n", arg->argv[arg->argn]);
445 nat_PunchFW(struct cmdargs const *arg)
450 if (arg->argc == arg->argn) {
455 if (arg->argc != arg->argn + 2)
458 base = strtol(arg->argv[arg->argn], &end, 10);
462 count = strtol(arg->argv[arg->argn + 1], &end, 10);
474 nat_SkinnyPort(struct cmdargs const *arg)
479 if (arg->argc == arg->argn) {
484 if (arg->argc != arg->argn + 1)
487 port = strtol(arg->argv[arg->argn], &end, 10);