diff options
Diffstat (limited to 'ship/lib')
| -rw-r--r-- | ship/lib/retiolum | 56 | 
1 files changed, 29 insertions, 27 deletions
| diff --git a/ship/lib/retiolum b/ship/lib/retiolum index 2a5c7338..3956a200 100644 --- a/ship/lib/retiolum +++ b/ship/lib/retiolum @@ -5,34 +5,9 @@ tinc_path=${tinc_path:-/etc/tinc}  netname=${netname:-retiolum}  hosts_dir=${hosts_dir:-$tinc_path/$netname/hosts} -check_free_v4(){ -  myipv4=${1-10.243.0.-1} -  v4num=${myipv4##*.} -  printf "Retard check: " -  if [ "$v4num" -gt 0 -a "$v4num" -lt "256" ]; -  then  -    info "No retard detected\n" -    cd $hosts_dir -    info "Check if ip is still free: " -    for i in `ls -1`; do -      if grep -q -e $myipv4\$ $i ;then -        warn "Host IP already taken by $i! " -        return 1 -      fi -    done -    info "Passed\n" -    return 0 -  else -    error "you are made of stupid. bailing out\n"  -    return 1 -  fi -  cd - >/dev/null -} -find_active_nodes(){ -  # TODO this function currently only supports a single address for a host +find_supernodes(){    cd $hosts_dir -  # posix grep does not support [[:space:]]    set +f    for name in `      grep '^[  ]*Address[  ]*=' * | @@ -54,8 +29,11 @@ find_active_nodes(){    wait    cd - >/dev/null  } -find_supernodes(){ + +find_active_nodes(){ +  # TODO this function currently only supports a single address for a host    cd $hosts_dir +  # posix grep does not support [[:space:]]    set +f    for name in `      grep '^[  ]*Address[  ]*=' * | @@ -77,3 +55,27 @@ find_supernodes(){    wait    cd - >/dev/null  } + +check_free_v4(){ +  myipv4=${1-10.243.0.-1} +  v4num=${myipv4##*.} +  printf "Retard check: " +  if [ "$v4num" -gt 0 -a "$v4num" -lt "256" ]; +  then  +    info "No retard detected\n" +    cd $hosts_dir +    info "Check if ip is still free: " +    for i in `ls -1`; do +      if grep -q -e $myipv4\$ $i ;then +        warn "Host IP already taken by $i! " +        return 1 +      fi +    done +    info "Passed\n" +    return 0 +  else +    error "you are made of stupid. bailing out\n"  +    return 1 +  fi +  cd - >/dev/null +} | 
