Patch title: Release 84 bulk changes
Abstract:
File: /pliant/protocol/dns/name.page
Key:
    Removed line
    Added line
   
module "/pliant/language/unsafe.pli"
module "name.pli"
module "/pliant/protocol/http/site.pli"
module "/pliant/fullpliant/this_computer.pli"
module "/pliant/util/crypto/rsa.pli"
module "/pliant/util/crypto/legal.pli"
module "/pliant/language/unsafe.pli"
module "name.pli"
module "/pliant/protocol/http/site.pli"
module "/pliant/fullpliant/this_computer.pli"
module "/pliant/util/crypto/rsa.pli"
module "/pliant/util/crypto/legal.pli"
module "/pliant/fullpliant/computer.pli"
# module "/pliant/fullpliant/computer.pli"


note "DNS client and server global settings for this compute
  if not allowed:"administrator"
    read_only_mode := true
  title "This computer DNS settings"
  table columns 3 border 0
    cell [DNS service:]
    cell
      var Str dns := this_computer:env:"pliant":"dns":"servi
      select "" dns


note "DNS client and server global settings for this compute
  if not allowed:"administrator"
    read_only_mode := true
  title "This computer DNS settings"
  table columns 3 border 0
    cell [DNS service:]
    cell
      var Str dns := this_computer:env:"pliant":"dns":"servi
      select "" dns
        option "" ""
        option "Yes" "true"
        option "No" "false"
    cell [Should we run the DNS server on this computer ?]
    cell [DNS providers:]
    cell
      var Str provider1 := this_computer:env:"pliant":"dns":
      input "" provider1   
      var Str provider2 := this_computer:env:"pliant":"dns":
      input "" provider2   
    cell [IP addresses of external DNS we should forward que
    cell [DNS cache:]
    cell
      var Str cache := this_computer:env:"pliant":"dns":"cac
      input "" cache 
    cell
      [For what IPs should the Pliant DNS server behaves as 
      fixed [ 10.0.0.0/255.0.0.0 127.0.0.1]
    cell [Default domain:]
    cell
      var Str default := this_computer:env:"pliant":"dns":"d
      input "" default
    cell
      [What domain (such as 'mycrop.com') should be added wh
      [Applies only for local queries, local meaning in the 
  if allowed:"administrator"
    button "Update"
      this_computer "pliant" "dns" "service" := dns
      if provider1<>""
        this_computer "pliant" "dns" "provider1" := provider
      else
        this_computer:env:"pliant":"dns" delete "provider1"
      if provider2<>""
        this_computer "pliant" "dns" "provider2" := provider
      else
        this_computer:env:"pliant":"dns" delete "provider2"
      this_computer "pliant" "dns" "cache" := cache
      this_computer "pliant" "dns" "default" := default
      goto_backward
eol
page note "Compute IP reverse mapping"
  title "IP reverse mapping"
  var (Index Str Str) ips
  each n name_database:data:name
    if (n:ip parse (var Int i1) "." (var Int i2) "." (var In
      ips insert (ip_sort n:ip) keyof:n
  each h name_database:data:host
    if (h:ip parse (var Int i1) "." (var Int i2) "." (var In
      ips insert (ip_sort h:ip) keyof:h
        option "Yes" "true"
        option "No" "false"
    cell [Should we run the DNS server on this computer ?]
    cell [DNS providers:]
    cell
      var Str provider1 := this_computer:env:"pliant":"dns":
      input "" provider1   
      var Str provider2 := this_computer:env:"pliant":"dns":
      input "" provider2   
    cell [IP addresses of external DNS we should forward que
    cell [DNS cache:]
    cell
      var Str cache := this_computer:env:"pliant":"dns":"cac
      input "" cache 
    cell
      [For what IPs should the Pliant DNS server behaves as 
      fixed [ 10.0.0.0/255.0.0.0 127.0.0.1]
    cell [Default domain:]
    cell
      var Str default := this_computer:env:"pliant":"dns":"d
      input "" default
    cell
      [What domain (such as 'mycrop.com') should be added wh
      [Applies only for local queries, local meaning in the 
  if allowed:"administrator"
    button "Update"
      this_computer "pliant" "dns" "service" := dns
      if provider1<>""
        this_computer "pliant" "dns" "provider1" := provider
      else
        this_computer:env:"pliant":"dns" delete "provider1"
      if provider2<>""
        this_computer "pliant" "dns" "provider2" := provider
      else
        this_computer:env:"pliant":"dns" delete "provider2"
      this_computer "pliant" "dns" "cache" := cache
      this_computer "pliant" "dns" "default" := default
      goto_backward
eol
page note "Compute IP reverse mapping"
  title "IP reverse mapping"
  var (Index Str Str) ips
  each n name_database:data:name
    if (n:ip parse (var Int i1) "." (var Int i2) "." (var In
      ips insert (ip_sort n:ip) keyof:n
  each h name_database:data:host
    if (h:ip parse (var Int i1) "." (var Int i2) "." (var In
      ips insert (ip_sort h:ip) keyof:h
  each c computer_database:data:computer
    each d c:env:"net_device"
      if (d:"ip" parse (var Int i1) "." (var Int i2) "." (va
        ips insert (ip_sort d:"ip") keyof:c
    var Int i := 0
    while ((h:options option "ip" i Str) parse (var Int i1) "." (var Int i2) "." (var Int i3) "." (var Int i4))
      ips insert (ip_sort (h:options option "ip" i Str)) keyof:h
      i += 1
  if false
    each c computer_database:data:computer
      each d c:env:"net_device"
        if (d:"ip" parse (var Int i1) "." (var Int i2) "." (var Int i3) "." (var Int i4))
          ips insert (ip_sort d:"ip") keyof:c
  table columns 2
    cell header [IP]
    cell header [name]
    each ip ips
      cell
        if ((ips key ip) parse (var Int i1) "." (var Int i2)
          text string:i1+"."+string:i2+"."+string:i3+"."+str
        else
          text (ips key ip)
      cell
        text ip   



  var CBool migrate := false
  each n name_database:data:name
    if (name_ip site_database:data:site:(keyof n):computer)=
      migrate := true
    eif site_database:data:site:(keyof n):ip=(name_ip n:ip)
      migrate := true
  if migrate
    para
      page button "Drop no use sites IPs"
        each n name_database:data:name
          if (name_ip site_database:data:site:(keyof n):comp
            name_database:data:name delete keyof:n
          eif site_database:data:site:(keyof n):ip=(name_ip 
            name_database:data:name delete keyof:n
        reload_page
  table columns 2
    cell header [IP]
    cell header [name]
    each ip ips
      cell
        if ((ips key ip) parse (var Int i1) "." (var Int i2)
          text string:i1+"."+string:i2+"."+string:i3+"."+str
        else
          text (ips key ip)
      cell
        text ip   



  var CBool migrate := false
  each n name_database:data:name
    if (name_ip site_database:data:site:(keyof n):computer)=
      migrate := true
    eif site_database:data:site:(keyof n):ip=(name_ip n:ip)
      migrate := true
  if migrate
    para
      page button "Drop no use sites IPs"
        each n name_database:data:name
          if (name_ip site_database:data:site:(keyof n):comp
            name_database:data:name delete keyof:n
          eif site_database:data:site:(keyof n):ip=(name_ip 
            name_database:data:name delete keyof:n
        reload_page