BadVPN – Blame information for rev 1
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
1 | office | 1 | #!/usr/bin/badvpn-ncd |
2 | |||
3 | process main { |
||
4 | getargs() args; |
||
5 | value(args) args; |
||
6 | |||
7 | num_different(args.length, "4") bad_args; |
||
8 | If (bad_args) { |
||
9 | println("Usage: add-port-forwarding <protocol> <port_start> <port_end> <dest_addr>"); |
||
10 | exit("1"); |
||
11 | }; |
||
12 | |||
13 | args->get("0") protocol; |
||
14 | args->get("1") port_start; |
||
15 | args->get("2") port_end; |
||
16 | args->get("3") dest_addr; |
||
17 | |||
18 | var("0") exit_status; |
||
19 | |||
20 | sys.request_client({"unix", "/run/ncd-control.socket"}) client; |
||
21 | |||
22 | var({"add-port-forwarding", protocol, port_start, port_end, dest_addr}) request_data; |
||
23 | |||
24 | client->request(request_data, "reply_handler", "finished_handler", {}); |
||
25 | } |
||
26 | |||
27 | template reply_handler { |
||
28 | value(_reply.data) reply_data; |
||
29 | reply_data->get("0") status; |
||
30 | reply_data->get("1") text; |
||
31 | |||
32 | val_equal(status, "ok") is_ok; |
||
33 | If (is_ok) { |
||
34 | println(text); |
||
35 | } Else { |
||
36 | _caller.exit_status->set("1"); |
||
37 | println("Error: ", text); |
||
38 | }; |
||
39 | } |
||
40 | |||
41 | template finished_handler { |
||
42 | exit(_caller.exit_status); |
||
43 | } |