# voice - what the Demo panel says when a demo starts, one line per demo,
# in the order of demos/packages. A line is "<area>/<demo>.py  <phrase>".
# The phrase is spoken as written: a word the voice reads wrong is spelled
# for the ear (O S P F, system D). After a change: debug/demo_voice.py

address/dns.py               DNS. A name resolved, once routing is up.

bind_demo/primary_authoritative.py    A primary name server. It answers for its zone with authority, and refuses everything else.
bind_demo/secondary_authoritative.py  A secondary name server. It copies the zone of its primary, obeys the serial number, and answers alone.
bind_demo/resolver.py                 A caching resolver. It finds a name from the root servers down, then answers it from its cache.
bind_demo/forwarding_resolver.py      A forwarding resolver. It sends every question to a full resolver, and keeps the answers.
bind_demo/selective_forwarding.py     Selective forwarding. One domain goes to chosen resolvers, every other name is found from the root.
bind_demo/load_balancing.py           Load balancing with the D N S. One name, three addresses, and each client takes the first.
bind_demo/dnssec.py                   D N S sec. A zone is signed, its parent vouches for its key, and the resolver checks the answer.
bind_demo/dynamic_update.py           Dynamic update. A record is added by a message, kept in a journal, then folded into the zone file.
bind_demo/notify_ixfr.py              Notify and incremental transfer. A change on the primary reaches its secondaries in seconds.
bind_demo/catalog_zones.py            Catalog zones. A secondary serves every zone a catalog lists, and follows its changes.
bind_demo/rpz.py                      A D N S firewall. Response policy zones make dangerous names vanish for the users of a resolver.
bind_demo/tsig.py                     T sig. Two servers share a secret key, and sign every message between them.
