Última actividad 1 month ago

nuno revisó este gist 1 month ago. Ir a la revisión

1 file changed, 80 insertions

gistfile1.txt(archivo creado)

@@ -0,0 +1,80 @@
1 + function cmd::block::run() {
2 + local name="" identity="" type="" block_name=""
3 + local ips=() subnets=() ports=() services=()
4 + local quiet=false force=false
5 +
6 + while [[ $# -gt 0 ]]; do
7 + case "$1" in
8 + --name) name="$2"; shift 2 ;;
9 + --identity) identity="$2"; shift 2 ;;
10 + --type) type="$2"; shift 2 ;;
11 + --ip) ips+=("$2"); shift 2 ;;
12 + --block-name) block_name="$2"; shift 2 ;;
13 + --service) services+=("$2"); shift 2 ;;
14 + --force) force=true; shift ;;
15 + --quiet) quiet=true; shift ;;
16 + --subnet) subnets+=("$2"); shift 2 ;;
17 + --port) ports+=("$2"); shift 2 ;;
18 + --help) cmd::block::help; return ;;
19 + *)
20 + log::error "Unknown flag: $1"
21 + cmd::block::help
22 + return 1
23 + ;;
24 + esac
25 + done
26 +
27 + # --identity: block all peers for this identity
28 + if [[ -n "$identity" ]]; then
29 + cmd::block::_block_identity "$identity" "$quiet" \
30 + "${ips[@]+"${ips[@]}"}" || return 1
31 + return 0
32 + fi
33 +
34 + [[ -z "$name" ]] && {
35 + log::error "Missing required flag: --name or --identity"
36 + cmd::block::help
37 + return 1
38 + }
39 +
40 + name=$(peers::resolve_and_require "$name" "$type") || return 1
41 + function cmd::unblock::run() {
42 + local name="" identity="" type=""
43 + local ips=() subnets=() ports=() services=()
44 + local all=false quiet=false force=false
45 +
46 + while [[ $# -gt 0 ]]; do
47 + case "$1" in
48 + --name) name="$2"; shift 2 ;;
49 + --identity) identity="$2"; shift 2 ;;
50 + --type) type="$2"; shift 2 ;;
51 + --ip) ips+=("$2"); shift 2 ;;
52 + --force) force=true; shift ;;
53 + --quiet) quiet=true; shift ;;
54 + --subnet) subnets+=("$2"); shift 2 ;;
55 + --port) ports+=("$2"); shift 2 ;;
56 + --service) services+=("$2"); shift 2 ;;
57 + --all) all=true; shift ;;
58 + --help) cmd::unblock::help; return ;;
59 + *)
60 + log::error "Unknown flag: $1"
61 + cmd::unblock::help
62 + return 1
63 + ;;
64 + esac
65 + done
66 +
67 + # --identity: unblock all peers for this identity
68 + if [[ -n "$identity" ]]; then
69 + cmd::unblock::_unblock_identity "$identity" "$quiet" || return 1
70 + return 0
71 + fi
72 +
73 + if [[ -z "$name" ]]; then
74 + log::error "Missing required flag: --name or --identity"
75 + cmd::unblock::help
76 + return 1
77 + fi
78 +
79 + name=$(peers::resolve_and_require "$name" "$type") || return 1
80 +
Siguiente Anterior