default.zone.do | 2 +- rc.tcl | 13 ++++++++++--- diff --git a/default.zone.do b/default.zone.do index 2ac2ea7226d822dcb3ac170097c55e52980f9906413993c9efee1acea08d0355..b4de77e3a59761c985be6ac0a4f34e3280b394880e781efa23ba8a10ad6e0587 100755 --- a/default.zone.do +++ b/default.zone.do @@ -1,6 +1,6 @@ #!/usr/bin/env tclsh set env(PATH) "$env(HOME)/work/zeasypki:$env(PATH)" set DOMAIN [lindex $argv 1] -exec redo-ifchange rc.tcl $DOMAIN.tcl +exec redo-ifchange rc.tcl y $DOMAIN.tcl source rc.tcl source $DOMAIN.tcl diff --git a/rc.tcl b/rc.tcl index f440feed20ee77949d50e498c9e60338e7fee69c0ccd10de023a3145b92bc988..f45d99f2806934b0147682600e0bbcf84a3cb269a4fd01498ca257f940328b23 100644 --- a/rc.tcl +++ b/rc.tcl @@ -14,6 +14,13 @@ set NoMX "MX 0 ." set ReSPF "v=spf1 redirect=_spf.stargrave.org" set DKIMKey "v=DKIM1; k=ed25519; p=R1JVW376WZiRHuK1+74hESbo1Jt3hBCv13l8fVJZrBk=" +set Ys [dict create] +set fh [open y] +while {[gets $fh line] > 0} { + eval "dict set Ys $line" +} +close $fh + proc zone {serial} { global DOMAIN NS1 NS2 puts "\$TTL 21600 @@ -109,10 +116,10 @@ if {[lsearch $flags mailable] == -1} { puts "$short TXT \"$NoSPF\"" puts "$short $NoMX" } - if {[lsearch $flags y] != -1} { - global Y6 + global Ys + if {[dict exists $Ys [fqdn y.$dn]]} { set short [shorten y.[fqdn $dn]] - puts "$short AAAA $Y6" + puts "$short AAAA [dict get $Ys y.[fqdn $dn]]" puts "$short TXT \"$NoSPF\"" puts "$short $NoMX" ssh $short