git: 9front

Download patch

ref: f767a88efc2c555b348c87bec4e967d185c8c831
parent: 0b95925d5f17e409be2692ef546ef4f9dc6a3c22
author: cinap_lenrek <cinap_lenrek@felloff.net>
date: Sun Sep 16 08:43:21 EDT 2018

cpurc: handle multiple auth servers

--- a/rc/bin/cpurc
+++ b/rc/bin/cpurc
@@ -94,21 +94,20 @@
 	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
 }
--