cpurc: handle multiple auth servers

This commit is contained in:
cinap_lenrek 2018-09-16 12:43:21 +02:00
parent d52752fe68
commit 4080322dc9

View file

@ -94,21 +94,20 @@ if not if(test -d /cfg/default/service)
serviced=/cfg/default/service
if not
serviced=/rc/bin/service
if(~ $#auth 0){
auth=`{ndb/query sys $sysname auth}
. <{ndb/ipquery sys $sysname auth | sed 's, +,\n,g'}
}
switch($auth){
case `{ echo $sysname; ndb/query sys $sysname dom
if(test -r /net/ipselftab){
for(i in `{awk '/u\ *$/{print $1}' /net/ipselftab}){
echo $i; ndb/ipquery ip $i dom; ndb/ipquery ip $i sys
} | sed 's,[^ ]+=,,g'}}
if(~ $#auth 0)
auth=`{ndb/ipquery sys $sysname auth | sed 's,auth=,,g'}
if(@{
for(a in `{ndb/ipquery sys $sysname ip sys dom | sed 's,(ip|sys|dom)=,,g'}){
if(~ $a $auth)
exit ''
}
exit 'no'
}){
# cpu+auth server
auth/keyfs -wp -m /mnt/keys /adm/keys
aux/listen -q -t /rc/bin/service.auth -d $serviced tcp
case *
}
if not {
# cpu server
aux/listen -q -d $serviced tcp
}