home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 35 Internet / 35-Internet.zip / bind495a.zip / CHANGES next >
Text File  |  1996-12-23  |  113KB  |  2,859 lines

  1. $Id: CHANGES,v 8.48 1996/11/11 06:36:40 vixie Exp $
  2.  
  3.     --- 4.9.5-p1 released ---
  4.  
  5. 773. [bug]    syslog was being given an unprotected string to format from.
  6.  
  7. 772. [debug]    a debugging syslog() was made clearer.
  8.  
  9. 771. [contrib]    contrib/host updated by its author.
  10.  
  11. 770. [bug]    nslookup was overflowing an internal data structure.
  12.  
  13. 769. [port]    ultrix linkage hackery removed from res/res_comp.c.
  14.  
  15. 768. [lint]    named-xfer u_char* vs. char*.
  16.  
  17. 767. [port]    shres/sunos updates from the author.
  18.  
  19. 766. [bug]    nslookup was not limiting the number of addresses it handled.
  20.  
  21. 765. [port]    LOG_NOWAIT turned on if available.
  22.  
  23. 764. [lint]    nslookup NULL vs ERROR.
  24.  
  25. 763. [bug]    p_rr() was erroneously reporting short packets.
  26.  
  27. 762. [bug]    minor memory leak fixed (during bad-name syslogging).
  28.  
  29. 761. [port]    NeXTstep portability improved for modern systems.
  30.  
  31. 760. [bug]    NAPTR RR support was incomplete/broken in named-xfer.
  32.  
  33. 759. [port]    The resolver's POSIX.3 conformance is now optional since
  34.         it was causing trouble for vendor shared library editing.
  35.  
  36.     --- 4.9.5-rel released ---
  37.  
  38. 758. [doc]    more Linux libc discussions included.
  39.  
  40. 757. [doc]    RFCs 1876, 1995, 1996, 2010, and 2052 now included.
  41.  
  42. 756. [contrib]    new version of contrib/host received from author.
  43.  
  44. 755. [bug]    nslookup had a latent buffer overrun in initialization.
  45.  
  46. 754. [port]    NCR's flavour of SVr4 is now supported.
  47.  
  48. 753. [bug]    fp_nquery() could read past end of buffer.  (fix from BIND 8.1)
  49.  
  50. 752. [conf]    SENSIBLE_DOTS is now the default.  SGI can use WANT_PIDFILE.
  51.  
  52. 751. [doc]    the the BOG had an extra "the" in two places.
  53.  
  54. 750. [bug]    erroneous zones weren't resetting z_ftime.
  55.  
  56. 749. [bug]    named-xfer's handling of unknown type codes was not robust.
  57.         (it's still wrong but now it's wrong more gracefully.)
  58.  
  59. 748. [lint]    u_char vs. char changes in db_load.c.
  60.  
  61. 747. [bug]    a previous patch had leftovers.
  62.  
  63. 746. [bug]    dangling CNAMEs were not handled properly.
  64.  
  65. 745. [doc]    shres/sunos/INSTALL, ./INSTALL and man/gethostbyname.3
  66.         modernized.
  67.  
  68. 744. [bug]    NAPTR replacement domains were being verified as hostnames.
  69.  
  70. 743. [port]    hpux10.10 makefile cleanup.
  71.  
  72. 742. [bug]    inet_net_pton() was doing bad things to subnets and b'casts.
  73.  
  74. 741. [func]    source and owner are now logged with name errors.
  75.  
  76.     --- 4.9.5-t6b released ---
  77.  
  78. 740. [bug]    dangling cname checking had a few memory leaks.
  79.  
  80. 739. [func]    SRV support made more complete; NAPTR support added.
  81.  
  82. 738. [protocol]    dangling CNAMEs are no longer considered format errors.
  83.  
  84. 737. [bug]    owner domain names like "*." were not considered valid.
  85.  
  86. 736. [contrib]    new version of contrib/host included.
  87.  
  88. 735. [doc]    added some text to shres/solaris/INSTALL.
  89.  
  90. 734. [bug]    loading a zone with a single line SOA RR killed following line.
  91.  
  92. 733. [bug]    priming could deadlock in odd cases.
  93.  
  94. 732. [bug]    SIGHUP now caught before initial zone load.
  95.  
  96. 731. [bug]    IP/TCP session logging now controlled by #ifdef DEBUG.
  97.  
  98. 730. [port]    untested HPUX 10 support added to top level Makefile.
  99.  
  100. 729. [port]    ultrix vs. _res_close(); ultrix wins.
  101.  
  102. 728. [bug]    several d_rcode references weren't #ifdef'd NCACHE.
  103.  
  104. 727. [bug]    SOA timer warnings now consistently logged at LOG_WARNING.
  105.  
  106. 726. [protocol]    added T_NAPTR as RR type 35, hoping the IANA concurs.
  107.  
  108.     --- 4.9.5-t5b released ---
  109.  
  110. 725. [port]    shared libraries should work on Linux now.
  111.  
  112. 724. [bug]    "dig @0 VERSION.BIND TXT CHAOS" had never been tested.
  113.  
  114. 723. [port]    Solaris 2.6 has AF_LINK but not sa_len.
  115.  
  116. 722. [protocol]    verify RdLength of A and AAAA RRs.
  117.  
  118. 721. [port]    missing include directories will be made during "install".
  119.  
  120. 720. [port]    solaris and sunos should use native assemblers with gcc.
  121.  
  122. 719. [port]    cleaned up some A/UX linkages.
  123.  
  124. 718. [func]    some SOA sanity checks were changed from errors to warnings.
  125.  
  126. 717. [port]    BSD/named/Makefile needed to have dmalloc.c reference removed.
  127.  
  128. 716. [protocol]    cnames and referrals were generating spurious log messages.
  129.  
  130. 715. [port]    ultrix PCC didn't like a =&, said it was ambigious somehow.
  131.  
  132.     --- 4.9.5-t4b released ---
  133.  
  134. 714. [port]    contrib/os2-emx now contains files nec'y for OS/2 (EMX).
  135.  
  136. 713. [func]    gethostbyname2(x, AF_INET6) now accepts address literals.
  137.  
  138. 712. [bug]    gethostbyname() wasn't seeing RES_USE_INET6 early enough.
  139.  
  140. 711. [bug]    nslookup was printing IPv6 addresses improperly.
  141.  
  142. 710. [port]    an alignment bug was found and fixed by Cray.
  143.  
  144. 709. [bug]    named-xfer was dumping core on incoming LOC RRs.
  145.  
  146. 708. [protocol]    primary zones are edited to make rrset ttl's coherent during
  147.         loading.
  148.  
  149. 707. [protocol]    rrsets with coherent ttl's won't be overridden by new rrsets
  150.         with incoherent ttl's.
  151.  
  152. 706. [port]    Ultrix portability restored.
  153.  
  154. 705. [func]    added "limit files XXX" to boot file.
  155.  
  156. 704. [bug]    trace generation code was getting unaligned accesses.
  157.  
  158. 703. [contrib]    added contrib/getkeyby, from gnu@toad.com.
  159.  
  160. 702. [func]    MAXDNAME is now 4*256+1 to allow for \000 and the NUL.
  161.  
  162. 701. [bug]    samedomain() wasn't paying attention to escapes.
  163.  
  164. 700. [func]    allow long text strings in T_X25 RRs.
  165.  
  166. 699. [port]    added base64.c to shres/*/Makefile.
  167.  
  168. 698. [port]    picked some lint out of tools/nslookup/getinfo.c.
  169.  
  170. 697. [bug]    we were calling isupper() without calling isascii() first.
  171.  
  172. 696. [protocol]    a new kind of bad referral is now caught and ignored.
  173.  
  174.     --- 4.9.5-t3b released ---
  175.  
  176. 695. [func]    Use delete_stale() in preference to delete_all() more often.
  177.  
  178. 694. [func]    DATUMREFCNT is no longer an option.
  179.  
  180. 693. [port]    fixed up the CPPFLAGS usage in the top level Makefile.
  181.  
  182. 692. [port]    fixed up the __ defines (for POSIX.3) in include/resolv.h.
  183.  
  184. 691. [port]    removed all uses of "ssize_t", the world is not ready for it.
  185.         (fixed two latent signed/unsigned code bugs in the process.)
  186.  
  187.     --- 4.9.5-t3a released ---
  188.  
  189. 690. [bug]    the stale() and delete_all() calls in finddata() weren't
  190.         respectful toward T_ANY and C_ANY queries.
  191.  
  192. 689. [lint]    miscellaneous compiler warnings were disappeared.
  193.  
  194. 688. [func]    handles insane/unreachable root servers a little better now.
  195.  
  196. 687. [bug]    T1A's core dumps from bad databufs should be all fixed now.
  197.  
  198. 686. [func]    overlong TXT strings should work again.
  199.  
  200. 685. [port]    updated compat/include/sys/cdefs.h to BSD 4.4-Lite (8.7) vers.
  201.  
  202. 684. [doc]    doc/i-d/* added.
  203.  
  204. 683. [contrib]    "nslint" added to contrib/.
  205.  
  206. 682. [protocol]    irrelevant authority information is now correctly ignored.
  207.  
  208. 681. [func]    DO_RELOAD Is no longer optional.
  209.  
  210. 680. [cleanup]    ALLOW_UPDATES is gone.
  211.  
  212. 679. [port]    some systems need _res to be in text rather than bss.
  213.  
  214. 678. [port]    -Dssize_t=int is gone; see portability.h.
  215.  
  216. 677. [contrib]    outdates #671; update to contrib/host version 960808.
  217.  
  218. 676. [doc]    formatting fix to man/named.man8.
  219.  
  220.     --- 4.9.5-t2a released ---
  221.  
  222. 675. [lint]    various.
  223.  
  224. 674. [feature]    support added for SRV RR (untested).
  225.  
  226. 673. [protocol]    added definitions for EID, NIMLOC, SRV, ATMA, and IXFR.
  227.  
  228. 672. [bug]    fixed decoding problem wrt AAAA in tools/nslookup/debug.c.
  229.  
  230. 671. [bug]    fixed formatting problem wrt TXT in contrib/host/host.c.
  231.  
  232.     --- 4.9.5-t1a released ---
  233.  
  234. 670. [feature]    added SIG and KEY RR support (without signature or
  235.         verification).
  236.  
  237. 669. [internal]    name/number translations are now mostly table driven.
  238.  
  239. 668. [feature]    nslookup now has better[/different] error messages.
  240.  
  241. 667. [feature]    inet_neta(), inet_net_ntop(), inet_net_pton() added.
  242.  
  243. 666. [bug]    parent zone will be reloaded when a child zone changes.
  244.  
  245. 665. [protocol]    RETURNSOA logic has been refined, and now ships "enabled."
  246.  
  247. 664. [protocol]    cached RRsets are now completely flushed when new data arrives.
  248.  
  249. 663. [port]    IRIX shared libraries are now supported.
  250.  
  251. 662. [port]    SCO OSE5 support has been upgraded slightly.
  252.  
  253. 661. [bug]    insane root servers will now be handled correctly.
  254.  
  255. 660. [bug]    TXT RRs are now parsed and displayed in full RFC1035 form.
  256.  
  257. 659. [port]    UXP/DS is now supported in the top level Makefile.
  258.  
  259. 658. [feature]    BIND now checks that UDP checksums are enabled in the kernel.
  260.  
  261.     --- 4.9.4-p1 released ---
  262.  
  263. 657. [bug]    some configurations were mistakenly disabling cache purges.
  264.  
  265. 656. [doc]    "\ " was causing a line break in zone file parsing.
  266.  
  267. 655. [doc]    named(8) wasn't describing the "response" literal.
  268.  
  269. 654. [doc]    formatting errors fixed in include/arpa/nameser.h.
  270.  
  271. 653. [doc]    doc/misc/DynamicUpdate now has a deprecating comment.
  272.  
  273. 652. [bug]    BSD/nslookup/Makefile was making the wrong links.
  274.  
  275. 651. [bug]    a hashing function should be as simple as possible,
  276.         but not simpler.
  277.  
  278. 650. [bug]    dn_mailok() could walk off the end of the name buffer.
  279.  
  280. 649. [bug]    bad names were not exiting through the right code path.
  281.  
  282. 648. [bug]    we were referencing dynamic memory after free()'ing it.
  283.  
  284. 647. [bug]    savename() was bzero()'ing the wrong number of bytes.
  285.  
  286. 646. [bug]    ctypes.h needed to be included in res/res_debug.c.
  287.  
  288. 645. [port]    sys/types.h needed to be included in a lot of places.
  289.  
  290.     --- 4.9.4-rel released ---
  291.  
  292. 644. [bug]    gethnamadr.c:getanswer() wasn't decrementing buflen.
  293.  
  294. 643. [contrib]    new contrib/misc/gencidrzone.
  295.  
  296.     --- 4.9.4-t5b released ---
  297.  
  298. 642. [bug]    SOA serial checking was not trying backup servers.
  299.  
  300. 641. [doc]    added doc/rfc/rfc1713.
  301.  
  302. 640. [bug]    don't try to purge the cache on nonrecursive servers.
  303.  
  304. 639. [bug]    sysquery() was not recovering from lack of root servers.
  305.  
  306. 638. [bug]    dnsquery.c wasn't calling res_init().
  307.  
  308. 637. [bug]    ns_resp() was erroneously detecting name errors.
  309.  
  310. 636. [bug]    nslookup() was returning failure even when fwdrs were avail.
  311.  
  312. 635. [bug]    inet_pton() was returning EINVAL rather than EAFNOSUPPORT.
  313.  
  314.     --- 4.9.4-t4b released ---
  315.  
  316. 634. [bug]    named-xfer was writing AAAA RRs to the wrong file pointer.
  317.  
  318. 633. [port]    ULTRIX and RISCOS both need NEED_STRDUP in conf/portability.h.
  319.  
  320. 632. [bug]    BSD/named/Makefile was installing its man page in section 1.
  321.  
  322.     --- 4.9.4-t4a released ---
  323.  
  324. 631. [bug]    nslookup was dumping core on bad 'server' commands.
  325.  
  326. 630. [bug]    dig was not able to print SRV RRs.
  327.  
  328. 629. [bug]    dig was seeing artificial protocol errors printing AAAA RRs.
  329.  
  330.     --- 4.9.4-t3b released ---
  331.  
  332. 628. [bug]    "stub ." changes were being updated in the wrong place.
  333.  
  334. 627. [bug]    forgot to remove fourth arg from inet_pton() in tools/addr.c.
  335.  
  336. 626. [port]    was missing -DSPRINTF_CHAR in one spot in the top Makefile.
  337.  
  338.     --- 4.9.4-t3a released ---
  339.  
  340. 625. [api]    inet_pton()'s signature changed due to ipng@sunroof discussion.
  341.  
  342. 624. [port]    shres/* should work again (was broken by inet_ntop, inet_pton)
  343.  
  344. 623. [bug]    sprintf() doesn't return "int" on DomainOS, either.
  345.  
  346.     --- 4.9.4-t2a released ---
  347.  
  348. 622. [bug]    sprintf() doesn't return "int" on SunOS or ULTRIX.
  349.  
  350.     --- 4.9.4-t1a released ---
  351.  
  352. 622. [bug]    more print errors in the name validation logic fixed.
  353.  
  354. 621. [feature]    added support for IPv6 addresses to the resolver and daemon.
  355.         see doc/misc/IPv6 for details.
  356.  
  357. 620. [perf]    XSTATS off by default.  client stats now in XSTATS.
  358.  
  359. 619. [conf]    LOC_RR is on by default (it's an RFC now).
  360.  
  361. 618. [perf]    pulled in memory saving NAME,NAMELEN,NAMESIZE logic from
  362.         development source pool.
  363.  
  364. 617. [bug]    we were logging at INFO priority even when not loading a
  365.         zone due to certain kinds of database format errors.
  366.  
  367. 616. [bug]    truncated responses were not being forwarded.
  368.  
  369. 615. [contrib]    added contrib/misc/gencidrzone.pl, updated contrib/host.
  370.  
  371. 614. [bug]    minor and latent bug in dcalloc() fixed.
  372.  
  373. 613. [bug]    the RFC952 + "_" code wasn't strict enough.
  374.  
  375. 612. [bug]    the PTR name check was using ipv6.int rather than ip6.int.
  376.  
  377. 611. [conf]    changed "check-names forwarded" to "check-names response".
  378.  
  379. 610. [doc]    man page said check-name, should have said check-names.
  380.  
  381. 609. [bug]    in res_send(), query ID mismatches weren't handled in VC's.
  382.  
  383. 608. [bug]    res_send() would overrun its buffer when parsing truncated
  384.         replies for its diagnostic output.
  385.  
  386. 607. [bug]    EINTR wasn't causing a select() restart in res_send.
  387.  
  388. 606. [bug]    fixed a race condition related to SO_LINGER.
  389.  
  390. 605. [bug]    some "lame delegation" messages were printing wrong information
  391.  
  392. 604. [bug]    uncached out of zone CNAMEs were returning SERVFAIL rather
  393.         than timing out; this prevented the client from retrying.
  394.  
  395. 603. [bug]    lame delegations will now try other servers rather than just
  396.         SERVFAIL'ing.  the old behaviour was too draconian.
  397.  
  398. 602. [security]    we were cycling back through the volatile cache when searching
  399.         for glue to match the bootstrap cache.
  400.  
  401. 601. [bug]    we were not recognizing upward zone cuts in some circumstances
  402.  
  403. 600. [API bug]    getnetbyaddr() was taking a long, rather than a u_long.
  404.  
  405. 599. [bug]    PX RRs were not properly handled by named-xfer.c.
  406.  
  407. 598. [bug]    WKS RRs were written incorrectly in db_dump.c.
  408.  
  409. 597. [bug]    named would not create a brand new pid file.
  410.  
  411. 596. [bug]    memory leak in ns_resp.c plugged.
  412.  
  413. 595. [bug]    another wildcarding bug (in ns_maint.c) stomped.
  414.  
  415. 594. [contrib]    added contrib/misc/settransfer-gaine.shar.
  416.  
  417. 593. [security]    db_load() will allow invalid SOA ANAMEs, for now.
  418.  
  419. 592. [bug]    dig and nslookup needed code from 4.9.4-T1A for AXFR (#589).
  420.  
  421. 591. [bug]    dig and nslookup both dumped core if dn_expand() failed.
  422.  
  423. 590. [port]    changed __RES to 19960229 due to dn_isvalid() API addition.
  424.  
  425. 589. [bug]    named-xfer was unable to handle some compliant AXFR streams.
  426.  
  427. 588. [security]    call dn_isvalid() from db_load() to catch zone naming errors.
  428.  
  429. 587. [security]    added function dn_isvalid(), called from dn_expand(), per CERT.
  430.  
  431. 586. [bug]    dangling NS RR's (no A RR's in cache) weren't recoverable.
  432.  
  433. 585. [bug]    named was ignoring the cache for "." even after priming.
  434.  
  435. 584. [bug]    ns_resp() could dump core during some kinds of query restarts.
  436.  
  437. 583. [bug]    default logging priority for lame delegations now LOG_DEBUG.
  438.  
  439. 582. [doc]    added RFC 1912 which expands upon RFC 1537.
  440.  
  441. 581. [port]    BSD really does not have SIGIOT any more, stop using it.
  442.  
  443. 580. [bug]    getnetent() could mangle /etc/networks input lines.
  444.  
  445. 579. [bug]    db_dump was printing -1 for TTL wherever default TTL was used.
  446.  
  447. 578. [port]    many scanf/printf patterns misused %lu, DEC AXP didn't like it.
  448.  
  449. 577. [bug]    named-xfer and res_debug were mishandling "\\" in TXT/HINFO.
  450.  
  451. 576. [bug]    "limit" directive was setting current but not max system limit.
  452.  
  453.     --- 4.9.3-p1 released ---
  454.  
  455. 575. [port]    Ultrix/Hesiod named responses are oversized, we were
  456.         incorrectly accepting them and then overwriting the stack.
  457.  
  458. 574. [port]    BSD/OS 2.1 required some ./BSD/Makefile changes.
  459.  
  460.     --- 4.9.3-rel released ---
  461.  
  462. 573. [contrib]    put in "951231" version of contrib/host.
  463.  
  464. 572. [doc]    new file doc/info/SCO-2 concerning <sys/param.h> porting.
  465.  
  466. 571. [bug]    zones whose master files contained only $INCLUDEs were
  467.         incorrectly considered to not have any RR's (old bug.)
  468.  
  469. 570. [doc]    trivial man/named.8 tweak.
  470.  
  471. 569. [doc]    minor documentation tweak to shres/solaris/ISSUES.
  472.  
  473.     --- 4.9.3-beta34 released ---
  474.  
  475. 568. [bug]    very minor initialization bug fixed in tools/dig.c.
  476.  
  477. 567. [bug]    disabled VALIDATE; all this code is trash and will be removed
  478.         along with ALLOW_UPDATES very early in the next alpha cycle.
  479.         we are now back to the B26 level of stability, with several
  480.         minor bug fixes from intervening betas.
  481.  
  482. 566. [bug]    fixed memory leak introduced in #565.
  483.  
  484.     --- 4.9.3-beta33 released ---
  485.  
  486. 565. [proto]    we were generating truncated RRsets due to VALIDATE bugs.
  487.  
  488. 564. [proto]    we weren't stopping early enough on some kinds of truncation.
  489.  
  490. 563. [doc]    added doc/info/Solaris, concerning Sun Patch-ID# 102165-02.
  491.  
  492. 562. [bug]    named/ns_resp.c had an overzealous #ifdef.
  493.  
  494. 561. [port]    tools/nslookup/getinfo.c had an ANSI C nit.
  495.  
  496. 560. [port]    shres/netbsd and Makefile's netbsd stuff was wrong.
  497.  
  498. 559. [doc]    shres/* documentation had more pathname problems.
  499.  
  500. 558. [port]    SCO OSE5 portability problem (minor).
  501.  
  502. 557. [doc]    added doc/misc/style.txt out of my archives.
  503.  
  504. 556. [contrib]    updated contrib/arlib, contrib/dnsparse (really!).
  505.  
  506. 555. [bug]    quoted newlines were still broken even after #509.
  507.  
  508. 554. [bug]    dangling CNAME cache chains could make named dump core.
  509.  
  510. 553. [bug]    forwarders didn't work well with VALIDATE.
  511.  
  512.     --- 4.9.3-beta32 released ---
  513.  
  514. 552. [doc]    ./Makefile had some out of date comments.
  515.  
  516. 551. [bug]    shres/sunos/* needed some fine tuning.
  517.  
  518. 550. [contrib]    contrib/dnsparse replaced with a later version.
  519.  
  520.     --- 4.9.3-beta31 released ---
  521.  
  522. 549. [bug]    "make links" hadn't been tested in a while; shres/* req'd chg.
  523.  
  524. 548. [bug]    shres/sunos/* needed some fixups due to a late Sun patch.
  525.  
  526. 547. [doc]    Makefile comments for Linux were out of date.
  527.  
  528. 546. [doc]    OPTIONS had an incorrect path name and some factual errors.
  529.  
  530. 545. [bug]    shres/sunos/Makefile had some incorrect path names.
  531.  
  532.     --- 4.9.3-beta30 released ---
  533.  
  534. 544. [port]    some systems with broken CPP's wouldn't compile ns_req.c.
  535.  
  536. 543. [bug]    query restart bug in ns_resp.c.
  537.  
  538.     --- 4.9.3-beta29 released ---
  539.  
  540. 542. [port]    rearranged signal() calls to make POSIX + SYSV possible.
  541.  
  542. 541. [port]    padded _res to 512 bytes; moved initialized data to res_data.c.
  543.  
  544. 540. [port]    added experimental shres/netbsd/ directory.
  545.  
  546. 539. [bug]    we weren't able to load 0 ttl's in zone files.
  547.  
  548. 538. [doc]    BOG corrections.
  549.  
  550.     --- 4.9.3-beta28 never released ---
  551.  
  552. 537. [contrib]    new contrib/lamers/ directory.
  553.  
  554. 536. [bug]    there was a possible deadlock condition over missing glue.
  555.  
  556. 535. [bug]    previous patch to db_load() was misapplied.
  557.  
  558. 534. [bug]    several ancient cache corruption bugs fixed in ns_resp().
  559.  
  560. 533. [root]    root servers required a new ``no-fetch-glue'' option.
  561.  
  562. 532. [bug]    all kinds of stuff was broken under shres/ due to new subdir.
  563.  
  564.     --- 4.9.3-beta27 released ---
  565.  
  566. 531. [bug]    limited support for labels containing \. (literal dot.)
  567.  
  568. 530. [bug]    new root.cache file imported from internic.
  569.  
  570. 529. [bug]    another set of bug fixes to the zone transfer scheduler.
  571.  
  572. 528. [bug]    VALIDATE reenabled but without packet editing.
  573.  
  574. 527. [bug]    glue passing through CNAMEs will now be cached properly.
  575.  
  576. 526. [bug]    deleted zones should no longer cause core dumps.
  577.  
  578. 525. [func]    several messages changed to be more informative.
  579.  
  580. 524. [bug]    loc_ntoa() was returning a pointer to a stack variable.
  581.  
  582. 523. [bug]    wildcard RR's were being deleted by purge_zone().
  583.  
  584. 522. [bug]    "ndc start" didn't work if no pid file existed.
  585.  
  586. 521. [port]    Sun SVR4 fixes, including shared library support.
  587.  
  588. 520. [bug]    we weren't using "forwarders" if "options forward_only"
  589.         wasn't set (in some cases.)
  590.  
  591. 519. [bug]    named-xfer wasn't called res_init().
  592.  
  593. 518. [bug]    lots of byte order nits.
  594.  
  595. 517. [bug]    "tools/host -a" now prints in RR format again.
  596.  
  597. 516. [proto]    minimum TTL changes from five minutes to zero seconds.
  598.  
  599. 515. [bug]    SOA TTL of zero is no longer considered an error.
  600.  
  601. 514. [bug]    division by zero error corrected in ns_refreshtime().
  602.  
  603. 513. [bug]    we had the #ifdefs nexted backwards in <netdb.h>.
  604.  
  605. 512. [bug]    we were able to dump core while tracing due to a NULL pointer.
  606.  
  607. 511. [bug]    DiG wasn't able to suppress all of res_debug.c's comments.
  608.  
  609. 510. [doc]    BOG typos.  new doc/misc/FAQ.  new site in MIRRORS.
  610.  
  611. 509. [bug]    another side effect of the inet_aton() change was fixed,
  612.         this time it was breaking escaped newlines in named.boot.
  613.  
  614. 508. [contrib]    new contrib/host, contrib/misc/settransfer, contrib/msql.
  615.         contrib/umich/lame_delegation was withdrawn by the author.
  616.  
  617. 507. [bug]    DiG didn't do ndots and was trigger happy about options.
  618.  
  619. 506. [port]    NextStep, Interactive, SCO, Digital UNIX, ULTRIX improvements.
  620.  
  621. 505. [bug]    we were overly restrictive about nonauthoritative NXDOMAINs.
  622.  
  623. 504. [bug]    named was generating corrupt responses in au truncation.
  624.  
  625. 503. [port]    shres/* now supports SunOS 4.1.4.
  626.  
  627. 502. [bug]    nslookup wasn't behaving properly in the presence of "ndots".
  628.  
  629. 501. [bug]    we now delay 5 seconds after an "ndc restart" or "ndc start".
  630.  
  631. 500. [bug]    change #494 was incomplete.
  632.  
  633.     --- 4.9.3-beta26 released ---
  634.  
  635. 499. [bug]    we needed a SERVFAIL in an error case.
  636.  
  637. 498. [bug]    some recently added byte order bugs were stomped;
  638.         data_inaddr() was made slightly more conservative.
  639.  
  640. 497. [port]    local_hostname_length() moved to its own source file.
  641.  
  642. 496. [bug]    Beta25's change to compat/Makefile was wrong.
  643.  
  644. 495. [bug]    tools/host.c wasn't processing cnames properly.
  645.  
  646.     --- 4.9.3-beta25 released ---
  647.  
  648. 494. [func]    "include" directive in boot file is no longer fatal if the
  649.         specified file doesn't exist or is not readable.
  650.  
  651. 493. [bug]    new interfaces' UDP sockets weren't affecting select()'s mask.
  652.  
  653. 492. [doc]    another round of changes and cleanups to the BOG.
  654.  
  655. 491. [bug]    various cleanups to lame server detection.
  656.  
  657. 490. [port]    completely new shres/* from CKD.
  658.  
  659. 489. [doc]    added a ***NOTE*** to ./INSTALL about operating system files.
  660.  
  661. 488. [port]    GNU C Library changes for include/netdb.h.
  662.  
  663. 487. [func]    named will try a little bit longer to bind() its stream socket.
  664.  
  665. 486. [contrib]    new packages: contrib/inaddrtool and contrib/trnamed.
  666.  
  667. 485. [func]    ns_forw will no longer forward to 0.0.0.0, 255.255.255.255,
  668.         or 127.0.0.1.
  669.  
  670. 484. [port]    more POSIX_SIGNALS conversions.
  671.  
  672. 483. [bug]    compat/Makefile wasn't passing on all definitions to submakes.
  673.  
  674. 482. [port]    bad bug in NeXT C Library worked around.
  675.  
  676. 481. [doc]    RFC 1794 is now included in doc/rfc.
  677.  
  678. 480. [bug]    a debugging printf() was accessing freed memory.
  679.  
  680. 479. [port]    doc/info/NCR has been replaced.
  681.  
  682. 478. [port]    doc/info/interactive has been replaced by its author.
  683.  
  684. 477. [port]    UNIXWARE 2.X changes.
  685.  
  686. 476. [bug]    ns_init.c was creating files in "//tmp" rather than "/tmp".
  687.  
  688. 475. [bug]    inet_aton() reverts to mostly previous behaviour.
  689.  
  690. 474. [bug]    PTR->CNAME support added; name test fixed.
  691.  
  692. 473. [func]    added gethostbyname2(), improved its man page.
  693.  
  694. 472. [port]    Linux connect() can reconnect, res/res_send.c now knows this.
  695.  
  696. 471. [build]    several "clean" targets were not removing ".depend" files.
  697.  
  698. 470. [bug]    dqflush() was using memory after free()ing it and never closing
  699.         any file descriptors and not clearing select()'s mask bits.
  700.  
  701.     --- 4.9.3-beta24 released ---
  702.  
  703. 469. [bug]    We no longer share static return buffers across functions in
  704.         res_debug.c.
  705.  
  706. 468. [logging]    An extraneous haveComplained() was removed from ns_resp.c.
  707.  
  708. 467. [portdoc]    Linux build doc changes.
  709.  
  710.     --- 4.9.3-beta23 released ---
  711.  
  712. 466. [doc]    big reorg to BOG.
  713.  
  714. 465. [doc]    minor corrections to man pages.
  715.  
  716. 464. [port]    NEC Makefile changes.
  717.  
  718. 463. [contrib]    random updates.
  719.  
  720. 462. [bug]    res_send() wasn't always clearing errno, which led to
  721.         false-negative return conditions.
  722.  
  723. 461. [port]    minor u_char-vs-char lint removed.
  724.  
  725. 460. [port]    backed out a recent Linux portability change.
  726.  
  727.     --- 4.9.3-beta22 released ---
  728.  
  729. 459. [port]    made a major lint pass.
  730.  
  731. 458. [func]    paved over a bad security hole in named-xfer.
  732.  
  733. 457. [bug]    negative caching vs (secure_zone | cname checking) bugs.
  734.  
  735. 456. [port]    moved all:: target to be first in top level Makefile.
  736.  
  737. 455. [bug]    res/res_send.c had a bad macro definition.
  738.  
  739. 454. [doc]    RUNSON moved to doc/info.  MIRRORS file added.
  740.  
  741. 453. [quality]    learntFrom() was reformatted.
  742.  
  743. 452. [doc]    minor changes for shlib/ISSUES, tools/nslookup/nslookup.help.
  744.  
  745. 451. [port]    linux, NCR, Solaris, NExT portability changes.
  746.  
  747. 450. [func]    added RES_NOALIASES flag, needed for security.
  748.  
  749. 449. [bug]    we were defining a nonstandard DNS header flag as PR.  no more.
  750.  
  751.     --- 4.9.3-beta21 released ---
  752.  
  753. 448. [port]    systems with hundreds of network interfaces need big ioctl()'s.
  754.  
  755. 447. [func]    zones without NS RR's or with mismatching SOA RR's are caught.
  756.  
  757. 446. [bug]    miscellaneous fixes to res/gethnamaddr.c.
  758.  
  759. 445. [bug]    the secure_zone logic was incomplete.
  760.  
  761. 444. [bug]    bootfile "options" parsing was broken.
  762.  
  763. 443. [bug]    named-xfer was munging incoming WKS RR's.
  764.  
  765. 442. [contrib]    various cleanups.
  766.  
  767.     --- 4.9.3-beta20 released ---
  768.  
  769. 441. [contrib]    put in DOC 2.1.1.
  770.  
  771. 440. [func]    change/addition to the "lame delegation" syslog message.
  772.  
  773. 439. [bug]    emulation macros WIFSIGNALED and WIFEXITED were bogus.
  774.  
  775. 438. [bug]    missing "#ifndef INVQ" added.
  776.  
  777. 437. [doc]    man pages and BOG updated to include new B18/B19 features.
  778.  
  779. 436. [port]    PIDDIR definition removed from Solaris 2.X.
  780.  
  781. 435. [port]    shres/Makefile fixed for new location of inet_addr.c.
  782.  
  783. 434. [port]    getnetnamaddr.c had a spurious "#if defined(sun)"
  784.  
  785. 433. [bugs]    random typos and glitches from the beta19 afternoon rush.
  786.  
  787.     --- 4.9.3-beta19 released ---
  788.  
  789. 432. [func]    we should be much more resistant to root cache corruption now.
  790.  
  791. 431. [bug]    tcp socket send buffer will now be set at 16K to avoid blocks.
  792.  
  793. 430. [bug]    ns_req.c had two cases where it could overflow a buffer.
  794.  
  795. 429. [bug]    the "." zone will now respect the setting of NO_GLUE.
  796.  
  797. 428. [func]    0.0.0.0 A RR's are allowed in the DB but we won't use them.
  798.  
  799. 427. [func]    "options fake-iquery" added, users of Sun nslookup take note.
  800.  
  801. 426. [port]    include/netdb.h now has some #ifdef sun defs in it.
  802.  
  803. 425. [bug]    negative caching bugs in findns() and in ns_forw.c.
  804.  
  805. 424. [func]    "limit transfers-per-ns" directive added.
  806.  
  807. 423. [bug]    infinite loop fixed in named-xfer.c's version number printing.
  808.  
  809. 422. [bug]    gethostbyname() of a dotted quad in an auto variable will
  810.         no longer cause the caller to consume random stack trash.
  811.  
  812. 421. [port]    inet_aton() has moved from lib44bsd.a back to libresolv.a.
  813.  
  814. 420. [func]    any punctuation character can now terminate an inet_aton().
  815.  
  816. 419. [port]    use sigemptyset(), sigaddset() - in preference to sigmask().
  817.  
  818.     --- 4.9.3-beta18 released ---
  819.  
  820. 418. [bug]    ``close(11): interrupted system call'' now fixed.
  821.  
  822. 417. [bug]    big name servers would never refresh all their zones since
  823.         tryxfer() wasn't a "fair" scheduler.  it is now.
  824.  
  825. 416. [func]    SOA syntax errors will now lead to dead zones, not dead srvrs.
  826.  
  827. 415. [func]    expiration values lower than refresh values cause a warning.
  828.  
  829. 414. [func]    added "options" and "limit" directives to named.boot.
  830.  
  831. 413. [port]    new file: doc/info/solaris.too.
  832.  
  833. 412. [bug]    possible div-by-zero in ns_init.c.
  834.  
  835. 411. [port]    NeXTstep, UNIXWARE, ISC, AUX changes/additions to top Makefile.
  836.  
  837. 410. [port]    POSIX_SIGNALS covers a bit more code now.
  838.  
  839. 409. [bug]    CNAME->PTR responses were triggering syslog() unnecessarily.
  840.  
  841. 408. [port]    res_send.c's socket() calls were using the wrong arguments.
  842.         this was benign but with IPv6 looming, we need to clean it up.
  843.  
  844. 407. [bug]    the delayed free() logic (DATUMREFCNT) didn't account for
  845.         the possibility of some NULL pointers, in ns_resp.c.
  846.  
  847. 406. [bug]    we were walking through purged list items in ns_forw.c.
  848.         this caused bad things to happen when glue expired.
  849.  
  850. 405. [bug]    "attempted update to auth zone" is no longer a warning.
  851.  
  852. 404. [bug]    fp_nquery() is now used everywhere, fp_query() is deprecated.
  853.  
  854. 403. [port]    hstrerror()'s result is now declared as const.
  855.  
  856. 402. [bug]    a flakey initialization in the resolver has been fixed.
  857.  
  858. 401. [port]    removed some junk around getnetbyname(), needs testing on suns.
  859.  
  860. 400. [func]    BIND's version number now appears as a comment in zone files
  861.         written by named-xfer.
  862.  
  863. 399. [func]    older, bogus HINFO RR's will now be fixed up with warnings.
  864.  
  865. 398. [bug]    "SOA class not same as zone's" is now a zone load error.
  866.  
  867. 397. [func]    all of the syslog() priorities have been lowered.
  868.  
  869. 396. [doc]    added doc/misc/{FAQ.1of2,FAQ.2of2,vixie-security.ps}.
  870.  
  871. 368. [port]    top level Makefile updates: .depend files aren't shipped;
  872.         solaris, linux, dec osf/1, dynix build more cleanly.
  873.  
  874. 367. [port]    LOC RR logic has had some lint removed.  also named-xfer.c.
  875.  
  876. 366. [contrib]    dnswalk 1.8.3 is now included.
  877.  
  878. 365. [security]    initial query ID is no longer a fixed constant.
  879.  
  880.     --- 4.9.3-beta17 released ---
  881.  
  882. 364. named/ndc.sh didn't always exit with nonzero on errors.
  883.  
  884. 363. include/arpa/Makefile was installing into //.
  885.  
  886. 362. convex cleanups.  osf/1 cleanups.
  887.  
  888. 361. minor nit in sprintf() format string in tools/host.c.
  889.  
  890.     --- 4.9.3-beta16 released ---
  891.  
  892. 360. CRED is long gone.
  893.  
  894. 359. convex systems have getrusage().
  895.  
  896. 358. CPPFLAGS wasn't quite right.
  897.  
  898.     --- 4.9.3-beta15 released ---
  899.  
  900. 357. netdb.h now externs h_errno.
  901.  
  902. 356. fixed odd corner case bug in res_query().
  903.  
  904. 355. no BIND beta is complete without a patch to shres/PROBLEMS.
  905.  
  906. 354. minor addition to the "ndc" command line syntax.
  907.  
  908. 353. "." domain syslog() raised from LOG_DEBUG to LOG_WARNING.
  909.  
  910. 352. minor nit in named-xfer.c.
  911.  
  912. 351. the BSD/* Makefiles were mode 440, are now 444.
  913.  
  914. 350. new (undocumented) make target: "make mkdirs".
  915.  
  916. 349. output format change in tools/host.c.
  917.  
  918. 348. contrib/* updates.
  919.  
  920. 347. CPPFLAGS variable added to the Makefile tree, should quieten some makes.
  921.      nextstep, solaris, and svr4 systems have some new build parameters.
  922.  
  923. 346. BOG cleanups and addition of PX RR documentation.
  924.  
  925. 345. more items for RUNSON.
  926.  
  927. 344. several combinations and permutations of compilation options didn't work.
  928.  
  929.     --- 4.9.3-beta14 released ---
  930.  
  931. 343. Type cast fix for #340.
  932.  
  933. 343. Small change to RUNSON.
  934.  
  935. 342. Removed fsync() call, it really wasn't nec'y and was causing trouble.
  936.  
  937.     --- 4.9.3-beta13 released ---
  938.  
  939. 341. Small fix for #331.
  940.  
  941. 340. Inverse queries, if enabled, will be logged if QRYLOG is enabled and on.
  942.  
  943. 339. Nonrecursive servers (-r) will once again sysquery() for missing glue.
  944.  
  945. 338. named/ndc now preserves the user's $PATH.
  946.  
  947. 337. SUNSECURITY is now only on for shres/*.
  948.  
  949. 336. New version of contrib/host has been included.
  950.  
  951. 335. tools/nsquery.c and tools/nstest.c were moved to contrib/old/.
  952.  
  953. 334. Portability changes for HP-UX, Solaris, Linux, SCO UNIX.
  954.  
  955. 333. INVQ (inverse query support) now defaults to "off".
  956.  
  957. 332. Some of the internal hashing logic for syslog() rate limiting was not
  958.      accurate (more things were logged than should have been).
  959.  
  960.     --- 4.9.3-beta12-patch2 released ---
  961.  
  962. 331. Default domain in $INCLUDE files is now intuitive (rather than ".").
  963.  
  964. 330. Lame delegations are now only logged for class "IN".
  965.  
  966. 329. Format change to XSTATS output to make it more readable.
  967.  
  968. 328. Bad responses could cause core dumps in DiG, nslookup, etc.
  969.  
  970. 327. The now-requisite change to shres/* was discovered and put in.
  971.  
  972. 326. Portability changes for Linux, SCO, ULTRIX3, NeXT.
  973.  
  974. 325. Bit the bullet and reset all the RCS revision numbers to 8.1==4.9.3.b12.
  975.  
  976.     --- 4.9.3-beta12-patch1 released ---
  977.  
  978. 324. Added some missing pieces to the NSAP and NSAP_PTR handling.
  979.  
  980. 323. Tightened some of the GEN_AXFR code, fixed potential C_HS problem.
  981.  
  982. 322. Fixed minor niggle in the way "dig" parses its arguments.
  983.  
  984. 321. Final(?) tuning of the SunOS shres stuff.
  985.  
  986. 320. Reorganized the SunOS build params in the top level Makefile.
  987.  
  988.     --- 4.9.3-beta12 released ---
  989.  
  990. 319. Fixed DiG so that ". IN NS" was the default if no args are given. (Vixie)
  991.  
  992. 318. Merged the resolver with 4.4BSD's; made a BSD/ subdirectory off the main
  993.      tree for easy integration into BSD/OS, FreeBSD, NetBSD, et al; moved the
  994.      "master" subdirectory to "conf/master" to cut down on top level clutter.
  995.  
  996. 317. Lots of last minute fiddling to make Beta12 "right".  (cast of thousands)
  997.  
  998. 316. Minor byte order bug in BIND_NOTIFY.  (Grange)
  999.  
  1000. 315. Added code to db_load() to detect "no RR's found" case.  (Vixie; Heiney)
  1001.  
  1002. 314. "Zone declared more than once" test added.  (Grange; Vixie)
  1003.  
  1004. 313. XSTATS interval was changed from "no more than once a minute, and usually
  1005.      every fifteen minutes" to "no more than once an hour, and usually every
  1006.      hour".  (Gianopoulos; Vixie)
  1007.  
  1008. 312. Minor stuff in BIND_NOTIFY and the Ultrix and OSF/1 builds.  (Heiney)
  1009.  
  1010. 311. Continuing hacks to LOC RR (experimental) and shres/*.  (Davis)
  1011.  
  1012.     --- 4.9.3-beta11-patch5 released ---
  1013.  
  1014. 310. Minor BOG patches.  (Shapiro)
  1015.  
  1016. 309. Minor LOC RR lint.  (Heiney; Truck)
  1017.  
  1018. 308. Minor STUBS changes in ns_req.c.  (Andrews)
  1019.  
  1020. 307. Ultrix and OSF/1 now install "man" (not "cat") pages.  AIX now installs
  1021.      *.[0-9] rather than *.0 pages.  (Vixie, et al)
  1022.  
  1023. 306. conf/Info.* moved to new directory doc/info/*.  (Vixie)
  1024.  
  1025. 305. NOTIFY could cause multiple simultaneous axfr's.  (Andrews; Vixie)
  1026.  
  1027.     --- 4.9.3-beta11-patch4 released ---
  1028.  
  1029. 304. Minor fixes to PURGE_ZONE, CLEANCACHE, RETURNSOA, and dig.  (Mark Andrews)
  1030.  
  1031. 303. LOC RR support is now in.  (Chris Davis; Vixie)
  1032.  
  1033. 302. General portability stuff (with ISC leanings).  (Mark Galbraith)
  1034.  
  1035. 301. Minor DiG portability fix.  (Dima Volodin)
  1036.  
  1037. 300. Yet more HINFO fixes.  (Gianopoulos)
  1038.  
  1039. 299. Really minor patch to tools/nstest.c, plus AIX fixes.  (David Bolen)
  1040.  
  1041. 298. More shres/* fixes.  (Davis; Woods)
  1042.  
  1043. 297. Minor SCO fixups.  (Eduard Vopicka)
  1044.  
  1045. 296. Fixed #include <signal.h> problem in db_glue.c.  (cast of thousands)
  1046.  
  1047. 295. Minor goofs in the sources.  (Grange; Gianopoulos)
  1048.  
  1049. 294. Minor patch to the BOG (font problem).  (Shapiro; Vixie)
  1050.  
  1051.     --- 4.9.3-beta11-patch3 released ---
  1052.  
  1053. 293. Minor #ifdef screwup corrected.  (Mohamed Ellozy)
  1054.  
  1055. 292. Small HP-UX portability change.  (Truck)
  1056.  
  1057. 291. Minor BOG correction.  (Harlan Stenn)
  1058.  
  1059. 290. PX RR support.  (Pierluigi Bonetti)
  1060.  
  1061. 289. Made random refresh interval a little more robust.  (Miller; Vixie)
  1062.  
  1063. 288. Minor portability changes for DEC OSF/1.  (Bob Heiney)
  1064.  
  1065. 287. We now do a setvbuf() on outbound AXFR streams since the system's
  1066.      default size causes more write()'s (and therefore TCP segments)
  1067.      than we really want.  (Paul Mockapetris' idea; Paul Vixie's code.)
  1068.  
  1069. 286. Recast all uses of abort() to call private function panic().  This was
  1070.      nec'y since we use the ABRT (IOT) signal to force a statistics dump, and
  1071.      having it dump statistics inside of abort() was a bad thing.
  1072.      (Mark Andrews noticed the problem; Paul Vixie fixed it.)
  1073.  
  1074. 285. Minor change to top-level Makefile for OSF/1 man pages.  (Shapiro)
  1075.  
  1076. 284. Minor change to HINFO stuff.  (Gianopoulos)
  1077.  
  1078. 283. Minor changes to XSTATS #ifdef's.  (Benoit Grange)
  1079.  
  1080. 282. Minor change to top-level Makefile for ULTRIX/VAX.  (William Gianopoulos)
  1081.  
  1082.     --- 4.9.3-beta11-patch2 released ---
  1083.  
  1084. 281. Another batch of (minor) HINFO changes.  (William Gianopoulos)
  1085.  
  1086. 280. Minor formatting changes to keep ctags happy.  (Craig Leres)
  1087.  
  1088. 279. Minor changes to OPTIONS.  (Mark Seiden)
  1089.  
  1090. 278. New option XSTATS (default "on" for now).  (Benoit Grange)
  1091.  
  1092. 277. res_mkquery() wasn't calling res_init().  (Philip Gladstone)
  1093.  
  1094. 276. Minor cleanup to shres/INSTALL.  (Chris Davis)
  1095.  
  1096. 275. We now set a SO_LINGER on outbound zone transfers.  (Peter Wemm; Vixie)
  1097.  
  1098. 274. Minor portability fix for VAX Ultrix.  (Stan Barber)
  1099.  
  1100. 273. Fixed two time warp problems.  (Bob Heiney; Paul Vixie)
  1101.  
  1102. 272. Named-xfer will now log and error and abort if it encounters an RR type
  1103.      it doesn't recognize.  (Mark Andrews; Paul Vixie)
  1104.  
  1105. 271. Minor cleanups to the HINFO comparison code in db_update.  (Bryan Beecher)
  1106.  
  1107. 270. Made CLEANCACHE less of a CPU hog.  (Benoit Grange; Mark Andrews)
  1108.  
  1109. 269. Add even more branches to the cred/clev decision tree, to make it more
  1110.      robust about borderline data at zone cuts.  (Jack McCann; Mark Andrews)
  1111.  
  1112. 268. New option (default: "on" for now): PURGE_ZONE.  (Mark Andrews)
  1113.  
  1114. 267. Added contrib/misc/{soa-easy,dnsfind}.shar.  I will not be including
  1115.      this in the b11p2 diffs, though it will be in the next full kit.
  1116.      (Tim Cook)
  1117.  
  1118. 266. I finally broke down and made a recommendation in the BOG with respect to
  1119.      "nameserver 127.0.0.1".  (Greg Woods supplied the patch)
  1120.  
  1121. 265. Minor portability stuff for SunOS.  (Greg Woods)
  1122.  
  1123.     --- 4.9.3-beta11-patch1 released ---
  1124.  
  1125. 264. 900-second check removed; TTL==0 should work now.  (Mark Andrews)
  1126.  
  1127. 263. Minor db_save() patch for initializing memory.  (Bryan Beecher)
  1128.  
  1129. 262. Minor ESIX (SVR4.0.4/gcc) changes.  (John Polstra)
  1130.  
  1131. 261. Minor dig-related patch to res_send.c.  (Mark Andrews)
  1132.  
  1133. 260. Minor line number fix for ns_init().  (Havard Eidnes)
  1134.  
  1135. 259. NetBSD shared library stuff is now in contrib/misc/netbsd-shlib.shar.
  1136.      (Matt Ragan)
  1137.  
  1138. 258. NeXT portability changes.  (Allan Nathanson)
  1139.  
  1140. 257. Minor HP-UX portability stuff.  (Lewis; Corrigan)
  1141.  
  1142. 256. Two medium sized bugs in BIND_NOTIFY.  (Don "Truck" Lewis)
  1143.  
  1144. 255. Minor lint in ns_req.c.  (Mark Andrews)
  1145.  
  1146. 254. Minor ndc.sh build problem.  (Michael Corrigan)
  1147.  
  1148. 253. Minor coding inconsistency in res/res_comp.c.  (Jeff Schreiber; Vixie)
  1149.  
  1150. 252. Minor BOG addition (SIGIOT).  (Bryan Knowles)
  1151.  
  1152.     --- 4.9.3-beta11 released ---
  1153.  
  1154. 251. If a master zone's serial number goes backwards, named now logs a
  1155.      warning.  (Mark Andrews)
  1156.  
  1157. 250. Minor portability nit in ns_forw().  (Simon Leinen)
  1158.  
  1159. 249. Another portability problem fixed in ndc.sh. (Corrigan)
  1160.  
  1161. 248. Declaration problem with findZonePri() fixed. (Corrigan)
  1162.  
  1163. 247. References to CNAMES from MX/NS/MB will now be explicitly logged. (Vixie)
  1164.  
  1165. 246. Made the BIND_NOTIFY logic more robust; it still does not match the
  1166.      current I-D (no delays yet).  (Vixie)
  1167.  
  1168. 245. Fixed a writable-string problem.  Added a lot of ANSI "const"'s. (Vixie)
  1169.  
  1170.     --- 4.9.3-beta10-patch1 released ---
  1171.  
  1172. 244. Added shres/PROBLEMS file.  (Chris Davis)
  1173.  
  1174. 243. Corrected the BOG on the meaning of ".".  (Doug Luce, Paul Vixie)
  1175.  
  1176. 242. SOA's can now be stored in $INCLUDE files.  (John Lind)
  1177.  
  1178. 241. Rejection of 0.0.0.0 had a potential seg fault.  (Mark Andrews)
  1179.  
  1180. 240. NoRecurse wasn't preventing queries for missing glue.  (Mark Andrews)
  1181.  
  1182. 239. WKS nonaggregation test had bad length.  (Ed Clarke, Chris Britton)
  1183.  
  1184. 238. NeXT library problem worked around.  (Greg Wohletz)
  1185.  
  1186. 237. Core dump fixed in the dprintf() macro.  (Eric Murray)
  1187.  
  1188. 236. MBZ fields in new queries were actually stack trash.  (Olson, Vixie)
  1189.  
  1190. 235. Adds and changes to contrib/:
  1191.     Added contrib/misc/dnstools.shar, from alt.sources. (Eric Murray)
  1192.     Added contrib/misc/settransfer.shar (nonrecommended). (Tom Brisco)
  1193.     Updated contrib/host/* with latest public version. (Eric Wassenaar)
  1194.     Updated contrib/host/makezones with latest pub. version. (Philip Hazel)
  1195.  
  1196. 234. Made the "ps" command needed by ndc.sh a configurable parameter.
  1197.  
  1198.     --- 4.9.3-beta10 released ---
  1199.  
  1200. 233. Added and reordered a lot of code in ns_resp() to cause it to be
  1201.      slighly harder to spoof with bad packets.  More work needs to be done,
  1202.      so that named will be as spoof-proof as the resolver has become.  (Vixie.)
  1203.  
  1204. 232. Added new RR types to include/arpa/nameser.h, per RFC 1700. (Vixie)
  1205.  
  1206. 231. New "ndc" command.  (Vixie)
  1207.  
  1208. 230. The VALIDATE option is now formally deprecated.  It has bugs its detection
  1209.      of invalid responses, and is known to mutilate perfectly valid CNAME
  1210.      responses, to the detriment of clients.  This code will likely be deleted
  1211.      in the next BIND release, to be replaced by an ``always restart query''
  1212.      strategy.  (Vixie)
  1213.  
  1214. 229. Moved a syslog() so that primary as well as secondary loads are logged.
  1215.  
  1216. 228. Resolver functions now reliably set h_errno.  (Vixie, Wassenaar)
  1217.  
  1218. 227. Expired zones now lose their cached serial number information, giving
  1219.      an opportunity to refresh a zone after a serial number goes backward.
  1220.      (Andrews)
  1221.  
  1222. 226. Sun386i support crept in on little cat feet.  (Brownlee)
  1223.  
  1224. 225. UDP packets could be overstuffed by 12 bytes.  (Reilly, Vixie)
  1225.  
  1226. 224. failing connect()'s in named-xfer will no longer be logged.  (Andrews)
  1227.  
  1228. 223. merged IETF stream (Vixie):
  1229.     a. made ALLOW_UPDATES even more optional (it will disappear soon);
  1230.     b. added NOTIFY option (experimental);
  1231.     c. cleaned up some comments;
  1232.     d. removed T_SA (was experimental, replaced by ROUND_ROBIN);
  1233.     e. made named/Makefile's default CFLAGS -g (it usually inherits -O);
  1234.     f. random code cleanup;
  1235.     g. some internal errors are now fatal instead of warnings.
  1236.      these changes were brought in once it became clear that there would be
  1237.      another Beta of 4.9.3.
  1238.  
  1239. 222. tools/Makefile was using "make" instead of "${MAKE}".  (Day)
  1240.  
  1241. 221. yet another bug was found and fixed in the SUNSECURITY code.  (Brown)
  1242.  
  1243. 220. a variable reuse problem in the SUNSECURITY syslog()'s in gethnamaddr.c
  1244.      was fixed.  (Wohletz, Wemm, Vixie)
  1245.  
  1246. 219. "stub" root zones now affect the hint cache (STUBS is experimental).
  1247.      in this situation it is reasonable to not have a "cache" directive,
  1248.      and some code was reordered to make this possible.  (Andrews)
  1249.  
  1250. 218. contrib/umich/lame-delegation/LISA-VI-paper.ps is now a proper
  1251.      PostScript(tm) file.  (Davis)
  1252.  
  1253. 217. syslog() cleanups in named-xfer.c.  (Vixie, Barrett)
  1254.  
  1255. 216. shres/Makefile now forces -O. (Braniss, Ray)
  1256.  
  1257. 215. New contrib/misc/ctldns.sh. (Bush)
  1258.  
  1259. 214. New contrib/misc/dns-peers.info. (Wolfhugel)
  1260.  
  1261. 213. BOG and named(8) fixes. (Paffrath, Vixie, Hawkinson)
  1262.  
  1263. 212. database input errors will no longer cause the following line to
  1264.      be ignored. (Gianopoulos)
  1265.  
  1266. 211. the TXT RR fixes done so far in 4.9.3 have been backed out; we're
  1267.      back to the 4.9.2 behaviour. (Gianopoulos)
  1268.  
  1269. 210. the authority section will no longer duplicate the answer section
  1270.      if both would contain the same NS RR set. (Vixie)
  1271.  
  1272.     --- 4.9.3-beta9-patch1 released ---
  1273.  
  1274. 209. installed marka's patch to CRED that fixes BETA9's flaw.
  1275.  
  1276. 208. added comment to README about -l44bsd and inet_aton().
  1277.  
  1278. 207. new directory: contrib/multizdb.  highly nonrecommended.
  1279.  
  1280. 206. small NextStep change in Makefile.
  1281.  
  1282.     --- 4.9.3-beta9 released ---
  1283.  
  1284. 205. minor Makefile fix after beta9 was previewed on bind-workers; also, a
  1285.      new file conf/Info.Linux-more has been included.
  1286.  
  1287. 204. BOG fixes.
  1288.  
  1289. 203. netlists elements are now
  1290.     { addr [ "&" mask ] }
  1291.      which for the EBNF-impaired, means that "&" introduces an explicit mask.
  1292.      implicit masks are either by-class or 0xffffffff, depending on ALLOW_HOSTS
  1293.      in the call to get_netlist().
  1294.  
  1295. 202. name compression is now case-insensitive.
  1296.  
  1297. 201. duplicate RRDATA won't trigger the new "auth warning" in db_update().
  1298.  
  1299.     --- 4.9.3-beta8-patch2 released ---
  1300.  
  1301. 200. added a haveComplained() to limit auth warnings.
  1302.  
  1303. 199. fixed idiotic code reordering from patch1.
  1304.  
  1305.     --- 4.9.3-beta8-patch1 released ---
  1306.  
  1307. 198. a bad-string-termination bug was fixed in getnetanswer().
  1308.  
  1309. 197. an uninitialized-variable bug was fixed in db_update().
  1310.  
  1311.     --- 4.9.3-beta8 released ---
  1312.  
  1313. 196. Several minor corrections were made to the BOG.
  1314.  
  1315. 195. "clev" now distinguishes between root and TLD (wasn't worth a darn before)
  1316.  
  1317. 194. empty nodes in authority zones are now protected from non-auth updates.
  1318.      (most of db_update() was rewritten to fix/support this.)
  1319.  
  1320. 193. negative cache items weren't updated before, now they are.
  1321.  
  1322. 192. zone updates from answers were prevented for new types but not if some
  1323.      rr already existed with that type.  fixed.  also syslogged.
  1324.  
  1325. 191. the cache now distinguishes between authoritative answers and zone rr's.
  1326.  
  1327. 190. negative cache items are now marked appropriately authoritative.
  1328.  
  1329. 189. CRED is no longer optional.
  1330.  
  1331. 188. Another enhancement has been made to HINFO parsing.  Named-xfer now
  1332.      accepts RFC-bogus input formats generated by previous versions of BIND.
  1333.  
  1334. 187. SUNSECURITY now forces RES_DEFNAMES on so that relative "localhost" works.
  1335.  
  1336. 186. Minor portability fixes for DEC OSF/1, HP-UX.
  1337.  
  1338.     --- 4.9.3-beta7-patch2 released ---
  1339.  
  1340. 186. i forgot to comment out template Linux lines in top Makefile.  fixed.
  1341.  
  1342. 185. "bogusns" directive significantly strengthened, for IN-ADDR.ARPA problem.
  1343.      also fixed a bug in hardcoded root server lame detection.
  1344.  
  1345.     --- 4.9.3-beta7-patch1 released ---
  1346.  
  1347. 184. Yet another ULTRIX incompatibility has been worked around.
  1348.  
  1349. 183. Bogus HINFO RR's will no longer cause corrupt secondary zone files.
  1350.  
  1351. 182. NeXT support is now complete.  Builds right out of the box.
  1352.  
  1353. 181. Updated TODO file.
  1354.  
  1355. 180. Added new INSTALL file.
  1356.  
  1357. 179. Minor doc fix in OPTIONS file.
  1358.  
  1359. 178. Security-related bug fix to new sunos shres/* stuff.
  1360.  
  1361. 177. Limited Linux portability was added.
  1362.  
  1363. 176. Trailing dots on zone names in named.boot are now ignored.
  1364.  
  1365. 175. Random lint was removed.
  1366.  
  1367. 174. DiG changes: increment version number (2.1), allow default domain (.).
  1368.  
  1369.     --- 4.9.3-beta7 released ---
  1370.  
  1371. 173. named-xfer would act strangely if trailing dot domains given as arguments.
  1372.  
  1373. 172. setenv() now provided on systems that need it (NeXTStep, e.g.).
  1374.  
  1375. 171. doc changes for shres/*.
  1376.  
  1377. 170. fixed debugging output problem in ns_req.c.
  1378.  
  1379. 169. fixed portability "bugs" on ultrix systems (some tools wouldn't link).
  1380.  
  1381. 168. minor functionality change in named/ns_validate.c.
  1382.  
  1383. 167. minor lint in res/res_comp.c.
  1384.  
  1385. 166. minor change to contrib/doc-2.0/*.
  1386.  
  1387.     --- 4.9.3-beta6 released ---
  1388.  
  1389. 165. another small adjustment to the Apollo section of the Makefile.
  1390.  
  1391. 164. a completely new shres/* was submitted; contrib/sunlibc is deprecated.
  1392.  
  1393. 163. INVQ is back on again by default.  See README.
  1394.  
  1395. 162. another set of patches for obscure corner cases in the HINFO parser.
  1396.  
  1397. 161. added new SUNOS4 macro to Makefile and conf/portability.h; this should
  1398.      fix the trouble folks were having with strerror() on SunOS 4.X systems.
  1399.  
  1400. 160. minor Makefile changes.
  1401.  
  1402. 159. processes which send outbound zone transfers now close all inherited
  1403.      descriptors, since they can be longer-lived than the main named.
  1404.  
  1405.     --- 4.9.3-beta5 released ---
  1406.  
  1407. 158. various lint involving options which are rarely defined.
  1408.  
  1409. 157. sunos needed -DBSD=43 rather than -DBSD.
  1410.  
  1411. 156. minor memory leak fixed in ns_req.c.
  1412.  
  1413. 155. some install directories for DGUX were wrong.
  1414.  
  1415.     --- 4.9.3-beta4 released ---
  1416.  
  1417. 154. a new man/* hierarchy was installed which should be more portable.
  1418.  
  1419. 153. a new contrib/host has been included.
  1420.  
  1421. 152. a parsing problem in HINFO was fixed.
  1422.  
  1423. 151. a few minor changes to contrib/sunlibc/Makefile.
  1424.  
  1425. 150. typo in res_send.c fixed.
  1426.  
  1427. 149. fine tuning the credibility-level heuristics.
  1428.  
  1429. 148. dn_expand() will fail on names which have bad characters in them.
  1430.  
  1431. 147. disappearing zones could cause a core dump in syslog() - fixed.
  1432.  
  1433. 146. text of warnings in named-xfer corrected.
  1434.  
  1435. 145. limited DGUX, RISCOS support added.
  1436.  
  1437. 144. contrib/sunlibc/Makefile MFLAGS/MARGS problem fixed.
  1438.  
  1439. 143. another SunOS recv() bug has been worked around.
  1440.  
  1441. 142. various BOG fixes.
  1442.  
  1443. 141. updated master/root.cache file from latest InterNIC version.
  1444.  
  1445. 140. Added ``max-fetch'' to named(8).
  1446.  
  1447. 139. NOT_BIND problem in named/tree.c fixed.
  1448.  
  1449. 138. minor lint, memory leaks, and portability problems were fixed.
  1450.  
  1451.     --- 4.9.3-beta3 released ---
  1452.  
  1453. 137. some serious (and recently) dynamic memory bugs were killed.
  1454.  
  1455. 136. a reference to uninitialized data was fixed in res_query().
  1456.  
  1457. 135. a RES_STAYOPEN-related bug was fixed in res_send().
  1458.  
  1459. 134. isascii() and isxdigit() now simulated on systems which lack them.
  1460.  
  1461. 133. named's local setproctitle() has been renamed to avoid system conflicts.
  1462.  
  1463. 132. minor bugfix to negative caching code.
  1464.  
  1465. 131. minor bugfix in validation code.
  1466.  
  1467. 130. the typestats[] multiple definition problem was fixed.
  1468.  
  1469. 129. some Sequent portability changes were folded in.
  1470.  
  1471. 128. a new contrib/sunlibc was donated, but hasn't been tested.
  1472.  
  1473. 127. minor changes to contrib/sunlibc/Info.*.  is anybody using shres/*, tho?
  1474.  
  1475. 126. STDIN_FILENO and STDOUT_FILENO are now defined by conf/portability.h.
  1476.  
  1477. 125. there is now a ``max-fetch'' directive in the boot file (see the BOG).
  1478.  
  1479. 124. there is now a RENICE option in conf/options.h.
  1480.  
  1481. 123. the toplevel Makefile has been made slightly more readable.
  1482.  
  1483. 122. <<DELETED>>
  1484.  
  1485. 121. minor fixups in the lame delegation code.
  1486.  
  1487.     --- 4.9.3-beta2 released ---
  1488.  
  1489. 120. I upgraded my "-me" macros so that the included doc/bog/file.psf is OK.
  1490.  
  1491. 119. NXDOMAIN responses from the negative cache will now always be
  1492.      authoritative.  this is the least of all evils, trust me.
  1493.  
  1494. 118. strcasecmp() in compat/lib is now ANSI compliant.
  1495.  
  1496. 117. PTR RR's are no longer subject to ROUND_ROBIN processing.
  1497.  
  1498. 116. writev() emulation for SCO had a bug.
  1499.  
  1500. 115. the resolver no longer calls sscanf() or qsort().
  1501.  
  1502. 114. minor debugging nit cleaned up in res_querydomain().
  1503.  
  1504. 113. IP options on incoming connections are now logged and ignored.  This
  1505.      should probably be done for datagrams as well but not today.
  1506.  
  1507. 112. tree.c made portable to non-POSIX/ANSI systems.
  1508.  
  1509. 111. NSAP RR's are now supported. NSAP_PTR RR's are deprecated and so left out.
  1510.  
  1511. 110. outbound zone transfers are now logged.
  1512.  
  1513. 109. various lint cleaned up wrt 16-bit integer handling.
  1514.  
  1515. 108. named-xfer was exiting bogusly on some systems due to flakey kernel
  1516.      interfaces.  i've rewritten some of the code to avoid the problem,
  1517.      and fixed plenty of lint in the process.
  1518.  
  1519.     --- 4.9.3-beta1 released ---
  1520.  
  1521. 107. Apollo systems were dumping core because of a missing #include <resolv.h>.
  1522.  
  1523. 106. NSAP and NSAP_PTR RR's now recognized by res_debug() (but nothing else).
  1524.  
  1525. 105. NeXTstep 2.1/3.0 and Pyramid dcosx now nominally supported.
  1526.  
  1527. 104. res_querydomain() was doing Bad things if given an empty name.
  1528.  
  1529.         --- 4.9.3.a5.p4 published ---
  1530.  
  1531. 103. named-xfer's exit cause is now syslog()'d more often/clearly (Paul Vixie).
  1532.  
  1533. 102. I left out a ";" in the new compat/lib/ftruncate.c file (Craig Leres).
  1534.  
  1535. 101. X25, ISDN, and RT RR support have been added (Michael A. Meiszl).
  1536.  
  1537.         --- 4.9.3.a5.p3 published ---
  1538.  
  1539. 100. Another glitch (very minor this time) was found and fixed in the
  1540.      QSERIAL logic.  This was a performance problem only -- reliability
  1541.      wasn't affected (Bob Heiney).
  1542.  
  1543. 99. SCO UNIX is now supported, thanks in part to Michael A. Meiszl.
  1544.  
  1545. 98. I witlessly used a GCC-only feature (automatic aggregate initialization)
  1546.     in a5p2.  Kazuhisa Shimizu was the first to report it.
  1547.  
  1548.         --- 4.9.3.a5.p2 published ---
  1549.  
  1550. 97. NEC EWS4800 EWS-UX/V Rel4.0/Rel4.2 support (from Kazuhisa Shimizu).
  1551.  
  1552. 96. Some of the security checking logic in the new res/gethnamaddr.c's
  1553.     getanswer() was happening in the wrong order (thanks, Bob Heiney).
  1554.  
  1555. 95. Minor typo in the man/host.1 man page (caught by Robert Elz).
  1556.  
  1557. 94. DiG was groping core if given more than 10 tokens in a lookup string
  1558.     (Michael J. Corrigan provided the fix).
  1559.  
  1560. 93. Queries to INADDR_ANY ("0.0.0.0") come back from the system's primary
  1561.     interface, and res_send() was discarding them.  A proper fix would add
  1562.     a lot of code to the resolver, so for now we'll just work around it
  1563.     (Michael J. Corrigan reported this).
  1564.  
  1565. 92. The "data outside zone" syslog message was misleading (Bob Heiney).
  1566.  
  1567.         --- 4.9.3.a5.p1 published ---
  1568.  
  1569. 91. res/gethnamaddr.c wouldn't compile on non-BSD systems since it depended
  1570.     on LOG_AUTH which is a post-4.3 feature (Bob Heiney reported this).
  1571.  
  1572.     ****** 4.9.3-alpha5 released ******
  1573.  
  1574. 90. redid most of my previous round of prototyping now that i truly 
  1575.     understand which variables and parameters should be u_char and which
  1576.     ones should be char.  (Vixie)
  1577.  
  1578. 89. added (optional) prototypes for _getshort() and _getlong(); this means
  1579.     the calls all need casts of their argument since it usually isn't a
  1580.     u_char*.  Also prototyped res_query(), res_search, and the nominally
  1581.     private but for some reason not static res_querydomain().  (Vixie)
  1582.  
  1583. 88. security related: responses from servers we didn't query are now ignored
  1584.     by the resolver; answers with QDCOUNT!=1 are treated as errors; name
  1585.     mismatches in the question or any part of the answer field are syslog()'d
  1586.     and ignored.  (Vixie)
  1587.  
  1588. 87. fixed a bug in the SUNSECURITY stuff.  (Vixie)
  1589.  
  1590. 86. a long standing bug in the name hashing code that caused it to ``hash in''
  1591.     the case of the name's characters, was found and fixed.  (twice.) (Vixie)
  1592.  
  1593. 85. Bob Heiney did some performance analysis and concluded that samedomain()
  1594.     was soaking down cycles at a rate disproportionate to its usefulness; he
  1595.     reimplemented it in a way that violated the (good,fast,cheap) rule.
  1596.  
  1597. 84. the RFC1101 implementation of getnetby*() was using case-sensitive
  1598.     string compares.
  1599.  
  1600. 83. fp_query() will no longer try to format packets larger than PACKETSZ,
  1601.     and for perversity, dig and named are now prepared to handle replies
  1602.     (via TCP) larger than PACKETSZ.  new function: __fp_nquery().  (Vixie)
  1603.  
  1604. 82. multiline initial syslog() is fixed (Bill G).
  1605.  
  1606. 81. Don Lewis sent in a big update for the lame delegation logic.  Vixie fixed
  1607.     one bug.  Bryan Beecher had a big hand in this.
  1608.  
  1609. 80. TCP replies can now be up to 8K in size (don walsh).
  1610.  
  1611. 79. validation bug fixed (don lewis).
  1612.  
  1613. 78. BOG patches from mike minnich and others.
  1614.  
  1615. 77. more lint fixes for Cray (norb brotz).
  1616.  
  1617. 76. a new hostname(7) man page was contributed by Art Harkin.
  1618.  
  1619. 75. DESTINC is now a settable Makefile parameter (Marion Hakanson).
  1620.  
  1621. 74. the zones-not-transferring bug is finally gone.
  1622.  
  1623. 73. now using LOG_PERROR in openlog(); many parallel dprintf()'s are gone.
  1624.  
  1625. 72. inability to retrieve serial number via UDP now forces TCP transfer.
  1626.  
  1627. 71. removing secondary zone files and SIGHUP'ing will now force a transfer.
  1628.  
  1629. 70. "cache" directives can now specify "/class" as documented in the BOG.
  1630.  
  1631. 69. Mark Andrews' fix for the ns_forw core dump is in.
  1632.  
  1633. 68. Keith Bostic fixed some typo's in the man pages.
  1634.  
  1635. 67. Compiling without NCACHE is possible now (John Hanley).
  1636.  
  1637. 66. Bill Gianopoulos and Alan Barrett finally agreed on what glue was and
  1638.     Bill's alpha4 patch is mostly gone now, and one new idea was added.
  1639.  
  1640. 65. BOG improvements (Vixie, Brooks).
  1641.  
  1642. 64. Mark Andrews' CLEANCACHE (recommended) and RETURNSOA (__NOT__ recommended!)
  1643.     are in.  RETURNSOA should not be enabled at this time; there's nothing
  1644.     wrong with the code but it will cause cache corruption in older servers
  1645.     and may not be necessary.  The jury is still out.
  1646.  
  1647. 63. outbound zone transfers are now logged (requested by Ron Johnson).
  1648.  
  1649. 62. serial number queries sent out for zone transfer purposes will now be
  1650.     limited to a maximum of four (4) simultaneous outstanding; this keeps
  1651.     BIND from overflowing its UDP socket buffer when hundreds of zones must
  1652.     be checked (still trying to fix Paul Pomes' problem).
  1653.  
  1654. 61. short A RR's in responses will no longer lead to purify errors due to short
  1655.     malloc()'s in savedata() (thanks to Nicholas Briggs for reporting this).
  1656.  
  1657.     ****** 4.9.3-alpha4 released ******
  1658.  
  1659. 60. manifest constants used instead of "sizeof({u_,}int{16,32}_t)", for
  1660.     systems which lack 16- and 32-bit integers (paul vixie for norm brotz).
  1661.  
  1662. 59. zone transfer anti-glue logic made RFC1034-compliant (bill gianopoulos).
  1663.  
  1664. 58. seg fault in sysquery() (from LAME_DELEGATION) fixed (mark andrews).
  1665.  
  1666.     ****** 4.9.3-alpha3 released ******
  1667.  
  1668. 57. a big, hefty patch was made to the negative caching logic (mark andrews).
  1669.  
  1670. 56. named-xfer will no longer scramble the default origin (alan barrett).
  1671.  
  1672. 55. random bits of lint found and removed (mario guerra).
  1673.  
  1674. 54. convexos-10 is now supported (jukka ukkonen).
  1675.  
  1676. 53. seg fault in database dumps (from VALIDATE) fixed (don lewis).
  1677.  
  1678. 52. problem with extra bogus 0.0.0.0 A RR's from VALIDATE fixed (mark andrews).
  1679.  
  1680. 51. the LAME_DELEGATION logic once written into 4.8.3 by don lewis has
  1681.     been substantially reworked and put into 4.9.3-alpha3 (bryan beecher).
  1682.  
  1683. 50. all instances of "sizeof(HEADER)" were changed to "HFIXEDSZ" to make
  1684.     life easier for the cray.  also, "struct HEADER" in include/arpa/nameser.h
  1685.     uses just bit fields now, for portability to 64-bit systems without
  1686.     16-bit integer types.   (norb brotz suggested it; paul vixie did it).
  1687.  
  1688. 49. build changes for NeXT and AIX systems (artur romao; c. wolfhugel).
  1689.  
  1690. 48. random sunshlib changes (piete brooks).
  1691.  
  1692. 47. minor fixes for solaris build (carson gaspar; paul pomes).
  1693.  
  1694. 48. a few bugs were wrung out of the BOG (per hedeland; vixie).
  1695.  
  1696.     ****** 4.9.3-alpha2 released ******
  1697.  
  1698. 47. several obscure Makefile problems were fixed (vixie).
  1699.  
  1700. 46. there is now a per-primary-NS quota for simultaneous zone transfers; this
  1701.     will cut down on the retry thrashing seen on servers that are secondary for
  1702.     thousands of zones (vixie).
  1703.  
  1704. 45. a bug introduced by change #23 has been fixed (marten terpstra; apb).
  1705.  
  1706. 44. the "data outside zone" messages are now consistent (piete brooks; vixie).
  1707.  
  1708. 43. several #include's were reordered in res/*.c and a few #ifdef's were
  1709.     changed; BIND should now run OK on DGUX (henry miller).
  1710.  
  1711. 42. several changes to the conf/options.h and Makefile (vixie):
  1712.     -> SVR4 has been added as a top-level Makefile CDEFS option
  1713.     -> SYSV has moved from conf/options.h to the top level Makefile
  1714.     -> INVQ is now an "#ifdef" rather than a "#if"
  1715.  
  1716. 41. resolver no longer uses initialized static data, which should make shared
  1717.     libraries easier to generate (vixie did it, at the urging of many others).
  1718.  
  1719. 40. now compiles on Apollo DomainOS (don lewis).
  1720.  
  1721.     ****** 4.9.3-alpha1 released ******
  1722.  
  1723. 39. lots of lint found and fixed (craig leres).
  1724.  
  1725. 38. illegal enum compare fixed in named/ns_stats.c (vixie).
  1726.  
  1727. 37. missing ')' added in SUNSECURITY section of res/gethnamaddr.c (h miller).
  1728.  
  1729.     ****** 4.9.3-prealpha released ******
  1730.  
  1731. 36. ***REMOVED***
  1732.  
  1733. 35. various bugs were fixed in the negative caching (vixie; mark andrews).
  1734.  
  1735. 34. several debugging and dump output problems were fixed (mark andrews).
  1736.  
  1737. 33. TXT RR's can now be read from zone files even if they lack quotes;
  1738.     the RFC doesn't say quotes are needed (jim martin).
  1739.  
  1740. 32. limited support for AIX-3 is now included (christoph wolfhugel).
  1741.  
  1742. 31. SUNSECURITY is now an obvious default in ./Makefile (p killey; b beecher).
  1743.  
  1744. 30. VC queries that time out are now GC'd and SERVFAIL'd (mark andrews).
  1745.  
  1746. 29. HP-UX 9.0's top-level makefile variables have been changed (don lewis).
  1747.  
  1748. 28. various fixes for tools/host.c (jim martin; mark andrews).
  1749.  
  1750. 27. syslog messages logged by SUNSECURITY will now include the address of
  1751.     the host that's having problems (david morrison).
  1752.  
  1753. 26. systems whose connect() calls fail if a socket is already connect()'d
  1754.     will now have their sockets closed and recreated in res_send() (piete
  1755.     brooks; mark andrews; vixie).
  1756.  
  1757. 25. res_send() will now corrected reset its "connected" variable when the
  1758.     connectedness of a socket changes (mark andrews).
  1759.  
  1760. 24. SERVFAIL responses will no longer terminate the res_search() inner loop,
  1761.     thus catastrophic problems with early search elements will no longer
  1762.     prevent res_search() from trying later search elements (bryan beecher;vix).
  1763.  
  1764. 23. non-NS RR's for delegated subzones will no longer be accepted in a zone
  1765.     transfer (alan p barrett).
  1766.  
  1767. 22. the setting for _PATH_PIDFILE is now overridden by the Makefile (l hume).
  1768.  
  1769. 21. named.restart.sh now has a smaller path with %DESTSBIN% first therein;
  1770.     this should prevent the vendor version of named from being exec'd by
  1771.     accident (leigh hume).
  1772.  
  1773. 20. big change: statistics are now kept "per name server" rather than as
  1774.     a single global array.  the /var/tmp/named.stats file format has changed
  1775.     quite a bit, so older awk/perl scripts are likely to stop working.
  1776.  
  1777. 19. big change: every RR now keeps a pointer to a "nameser" struct; this
  1778.     currently permits SIGINT-initiated dumps to include the address of all
  1779.     non-zone data, which will help with tracking down corrupt data.
  1780.  
  1781. 18. db_load.c was missing two #ifdef/#endif's for CRED (mike minnich).
  1782.  
  1783. 17. don't aggregate SOA or WKS RR's in the cache (vixie).
  1784.  
  1785. 16. minor cosmetic changes (vixie).
  1786.  
  1787. 15. fixed typo in compat/Makefile ("LIBDIR" -> "DESTDIR") (rob davies).
  1788.  
  1789. 14. fixed spurious "accept: interrupted system calls" (vixie).
  1790.  
  1791. 13. named will now start as many named-xfer's as it should; previously it
  1792.     lost track of the need for transfers at the beginning of each maint
  1793.     cycle.  also, we don't bother asking for an SOA if we know that our
  1794.     zone is out of date.  i've changed the transfer metrics so that more
  1795.     transfers can happen concurrently, and maint cycles come more often.
  1796.     (andrew partan; vixie).
  1797.  
  1798. 12. a number of LOG_ERR and LOG_CRIT syslogs were downgraded to LOG_NOTICE
  1799.     (rob davies; vixie).
  1800.  
  1801. 11. sequence number checking now treats "zero" as a special case.
  1802.     (craig leres; andrew partan; vixie).
  1803.  
  1804. 10. MFLAGS no longer used explicitly, since it is often used implicitly
  1805.     (mark andrews; vixie).
  1806.  
  1807. 9. ADDAUTH is no longer considered experimental (tony stoneley; vixie).
  1808.  
  1809. 8. several obscure type bugs fixed (don lewis).
  1810.  
  1811. 7. signal handlers all now preserve errno (don lewis).
  1812.  
  1813. 6. TTL deprecation made more portable (don lewis).
  1814.  
  1815. 5. now compiles on Apollo DomainOS and is generally more POSIX-ish (don lewis).
  1816.  
  1817. 4. bryan beecher's "query" tool has been promoted to tools/ and renamed to
  1818.    dnsquery.  minor changes were required in several Makefiles (vixie).
  1819.  
  1820. 3. "make links" at the top level will now make a higher resolution link tree,
  1821.    which makes porting easier on some systems (ian dickinson).
  1822.  
  1823. 2. Convex feof() bug now has a workaround (jukka ukkonen).
  1824.  
  1825. 1. gethostby*() will no longer overwrite its fixed-size array if a host with
  1826.    too many addresses is handled (reported by piete brooks, fixed by vixie).
  1827.  
  1828. -------------------------------------- 4.9.3 above, 4.9.2 below
  1829.  
  1830. 4.9.2 ------------------ FINAL ----------------- Paul Vixie
  1831.  
  1832. 57. updated TODO, README files.
  1833.  
  1834. 56. fix to contrib/sunlibc/Makefile.
  1835.  
  1836. 55. several new items in contrib/.
  1837.  
  1838. 54. Corrected bad command line parsing bug in tools/dig.c; also added the
  1839.     old query timing code back in (thanks to Havard Eidnes).
  1840.  
  1841. 53. Ported contrib/decwrl/host.c to the modern interfaces.
  1842.  
  1843. 4.9.2 ------------------ BETA5 ----------------- Paul Vixie
  1844.  
  1845. 52. A number of optimizations that fell out of negative caching and/or the
  1846.     validation code have been turned off in order to avoid confusing older
  1847.     nameservers and their unfortunate assumptions about co-invariants.
  1848.     Mark Andrews and Robert Elz were the principle debuggers and contributors
  1849.     to this part of the effort.
  1850.  
  1851. 51. We're now much more portable to systems without Posix or BSD signals,
  1852.     thanks to Bill Wisner.
  1853.  
  1854. 50. tools/host.c now has more reasonable error messages and can deal with
  1855.     negative caching servers.
  1856.  
  1857. 49. Lots of Makefile gaffes are now fixed.
  1858.  
  1859. 48. New "host" in contrib/host/, complements of Eric Wassenaar.
  1860.  
  1861. 47. AFSDB support is now complete, thanks to Chris Everhart.
  1862.  
  1863. 46. The bug whereby named would sporadically return NXDOMAIN when it should
  1864.     have sent back a referral has been fixed.
  1865.  
  1866. 4.9.2 ------------------ BETA3, BETA4 ----------------- Paul Vixie
  1867.  
  1868. 45. Robert Elz has provided updated LOCALDOMAIN environment variable 
  1869.     processing, making it more like resolv.conf's "search" than "domain".
  1870.     In the spirit of this I have added a RES_OPTIONS environment variable
  1871.     and a corresponding "options" keyword to resolv.conf.  All of this is
  1872.     documented in the man pages and in the BOG.  Robert has also contributed
  1873.     several bug fixes to the validation and negative caching code.
  1874.  
  1875. 4.9.2 ------------------ ALPHA ----------------- Paul Vixie
  1876.  
  1877. 44. BETA1, BETA2, and three patches to BETA2 have all come and gone without
  1878.     itemized descriptions in this file.  I'll provide the RCS history on the
  1879.     code to anyone who asks, but basically what's been happening is that some
  1880.     core dumps were fixed, others added, then those were fixed too.  Meanwhile
  1881.     RFC 1535 has been published, codifying CERT's concerns and our answer to
  1882.     them.  BIND is now RFC 1535 compatible.  RFC's 1535, 1536, and 1537 are
  1883.     now included in the doc/ directory.  Note that Mark Andrews supplied many
  1884.     of the fixes to the core dumps, some of which were introduced by me and
  1885.     some by ISI's negative caching and/or validation code.
  1886.  
  1887. 43. patch05 to ALPHA2 (930908) released: this includes new DNSRCH logic to
  1888.     correct a serious problem that CERT called me with today.  the change is
  1889.     subtle and will have the effect that names which could match either as
  1890.     fully qualified names or partially qualified names using the local search
  1891.     list will be found as fully qualified.  previous releases would have found
  1892.     them first through the local search list.  local search lists are a bad
  1893.     idea in my opinion; see new SEARCH_DEFAULT option in OPTIONS file for more
  1894.     information.  also in this release: limited Solaris support, in the form
  1895.     of POSIX-style signal handling used on systems which support (or require)
  1896.     it.  as of this patch, 4.9.2 has a good chance of compiling out of the box
  1897.     on Solaris, modulo makefile edits.  dig and host should be more portable
  1898.     now, too.
  1899.  
  1900. 42. patch04 to ALPHA2 (930908) released: this corrects several borderline
  1901.     syntax errors in various Makefiles (Sun and Ultrix makes complained);
  1902.     it corrects a coredump on Ultrix systems (which aren't really as POSIX
  1903.     as i thought they were); it lets dig and nslookup compile again on SunOS;
  1904.     and it cleans up some dirty junk in named-xfer.c.  this stuff is really
  1905.     really minor but i would like to see it tested on a Sun system before the
  1906.     beta.
  1907.  
  1908. 41. patch03 to ALPHA2 (930908) released: this uses compat/include by default
  1909.     which is helpful on BSD/386 systems and shouldn't hurt any others except
  1910.     perhaps real 4.4BSD systems (and maybe not even those); it removes Bryan
  1911.     Beecher's SHUFFLE_ADDRS option since he and I agree that Marshall Rose's
  1912.     ROUND_ROBIN stuff is more general and cleaner; it includes various patches
  1913.     to the documentation sent in by several folks (please print the BOG and
  1914.     let me know if you find problems in it); it fixes "make depend" problem
  1915.     in "man/" subdirectory; it fixes several outright bugs in Gregory Shapiro's
  1916.     SECURE_ZONES code; it removes an obscure syslog() that should have been a
  1917.     dprintf() ("validate_count -> 0"); it fixes a bug in NCACHE whereby a T_ANY
  1918.     query for a name which was negatively cached but had children would return
  1919.     _answers_ with the T_ANY type for subsequent queries; several newer syslog
  1920.     messages were reworded to make them clearer; a portability bug in the
  1921.     SUNSECURITY logic was fixed; another in the RFC1101 logic was fixed;
  1922.     support for the PAGER environment variable was added to nslookup (sorry,
  1923.     i know we're in functional freeze but this will enable development in the
  1924.     next cycle and it was pretty simple) and only affects the "view" and "help"
  1925.     commands.
  1926.  
  1927. 40. patch02 to ALPHA2 (930908) released; this includes more fixed from Mark
  1928.     Andrews, this time to Anant's NCACHE stuff (memory leak and functional
  1929.     bug).  Also included is a patch from Gregory Neil Shapiro to his SECURE_
  1930.     ZONES code, which I hadn't noticed since I don't run it here.
  1931.  
  1932. 39. patch01 to ALPHA2 (930908) released; this includes some fixes from Mark
  1933.     Andrews to his "clev" and ADDAUTH stuff.  The "clev" patch fixes a problem
  1934.     on all servers; the ADDAUTH stuff is still experimental so most users will
  1935.     not be affected by it.  Dave Morrison also sent a patch for the USE_UTIME
  1936.     logic, which is important for ULTRIX systems.
  1937.  
  1938. 38. 4.9.2-ALPHA2 released on 930908.
  1939.  
  1940. 37. Mark Andrews sent an initial attempt at implementing ADDAUTH, which will
  1941.     eventually allow named to include authority and glue RR's with all 
  1942.     authoritative answers.  I am not sure that the design goal is right, and
  1943.     the implementation currently sends back glue RR's but no authority RR's,
  1944.     so I'm recommending against using this for now.  But since it changes some
  1945.     internal interfaces in a harmless enough way, I'm including the changes.
  1946.  
  1947. 36. Marshall Rose's ROUND_ROBIN code snuck in at the last hour.  This is the
  1948.     best answer I've seen to the problems purported to be solved by SA RR's,
  1949.     and my wording in the OPTIONS file shows this.
  1950.  
  1951. 35. These items from TODO is now done:
  1952.  
  1953.     [vixie@pa.dec.com 25apr93]: clean up debugging
  1954.     replace all "#ifdef DEBUG...fprintf(...)...#endif" with dprintf(...)
  1955.     which would be a macro that only expands to an fprintf() if DEBUG is
  1956.     set.  dprintf(x, (args)) with x as the log level.  perhaps change log
  1957.     levels to be symbolic, and perhaps make them a mask instead of a limit.
  1958.  
  1959.     [vixie@pa.dec.com 25apr93]: clean up #ifdef's and portability
  1960.     add and use function prototypes.  make everything static that can be.
  1961.     externs should only be in .h files (add more .h files, per module if
  1962.     needed, to cover these).  add "export" keyword (null define) to make
  1963.     it clear which names are exported and which are static.  all top-blevel
  1964.     names in a module must be "export" or "static".
  1965.  
  1966.     [gshapiro@wpi.edu and vixie@pa.dec.com 26apr93]: access control
  1967.     "xfrnets" is ok but what we really need is full access control per
  1968.     zone rather than a global list of acceptable client nets.  this is
  1969.     especially important if you send /etc/passwd via zone transfer.
  1970.  
  1971.     [postel@isi.edu anant@isi.edu jaffe@noc.rutgers.edu
  1972.      28apr93]: negative caching
  1973.     Paul:
  1974.     We'ed like to have included in 4.9.1
  1975.     our implemention for negative caching.
  1976.     --jon & Anant.
  1977.  
  1978.     [vixie@pa.dec.com 16may93]: inet_addr needs to die
  1979.     to be replaced by calls to inet_aton, which doesn't confuse the
  1980.     broadcast address with bad addresses.
  1981.  
  1982.     [Paul:  I know you said that you'd like to wait for the IETF DNS WG to
  1983.     "bless" an official load balancing scheme, but I'll be adding my
  1984.     shuffle A records to BIND 4.9 for use here at U-M anyhow.  The code
  1985.     mods to existing source files are minimal since the bulk of the work
  1986.     is done in a separate .c I added.  If you don't want SA records to
  1987.     move into 4.9.1 unless they become official, please just toss this
  1988.     first entry. --bryan@umich.edu]
  1989.  
  1990.     [bryan@umich.edu 25apr93]: add "shuffle A" records
  1991.     There are several schemes for adding some kind of load balancing
  1992.     capability to the DNS.  Our "Shuffle Address" (SA) records are one
  1993.     stab at this, and since they're in use at U-M, I need to add them
  1994.     so we can use BIND 4.9 here.
  1995.  
  1996.     [bryan@umich.edu 25apr93]: add AFSDB records
  1997.     AFSDB records were proposed in RFC xxxx.  We use them here at the
  1998.     University of Michigan, so I need to add them for our copy of
  1999.     BIND 4.9.
  2000.  
  2001.     [bryan@umich.edu 25apr93]: small fix to resolver's p_cdname()
  2002.     The current copy of p_cdname() in the resolver does not work
  2003.     for query responses larger than 512 bytes (which can happen when
  2004.     using TCP).  A very small modification changes the "sanity check"
  2005.     argument (the second one) to dn_expand() from "msg + 512" to
  2006.     "cp + MAXCDNAME".  (This showed up very recently.)
  2007.  
  2008. 34. While waiting for some last minute changes from volunteers, I looked
  2009.     at my work queue and saw that asp@uunet.uu.net had asked a while ago
  2010.     that named not fork/exec a named-xfer unless it had already determined
  2011.     that the serial number was out of date.  This is important to sites like
  2012.     UUNET and DECWRL, which have thousands of "secondary" lines in their
  2013.     named.boot and can take hours to check all the serial numbers at boot
  2014.     time if named forks/execs named-xfer and lets named-xfer compare the
  2015.     serial numbers, rather than comparing them in named and only fork/exec'ing
  2016.     a named-xfer if it's actually neccessary to do a transfer.  In spite of
  2017.     C's lack of threads, this only took a few hours to do.  So it's in.
  2018.  
  2019. 33. Gregory Shapiro's "secure_zone" changes are in.  See the BOG.
  2020.  
  2021. 32. Internals changes: STATS is no longer optional; ns_req() has been split
  2022.     into three functions for readability.  Convex systems are now supported.
  2023.     You can now define LOG_FAC in conf/options.h if you want to syslog as
  2024.     LOG_LOCAL1 or some other non-LOG_DAEMON value.  The mkstemp() problem on
  2025.     ULTRIX has been fixed.  More dead code has been eliminated.
  2026.  
  2027. 31. Large TCP queries are now printable in debug mode (which is used by
  2028.     "dig" and "nslookup"), thanks to a patch and a lot of patient explain-
  2029.     ations from Bryan Beecher.
  2030.  
  2031. 30. Data from subdomains ("deeper zones") is now considered more credible
  2032.     than data from parent zones, if both are authoritative.  This permits
  2033.     a subdomain's data to differ from its parents delegation information
  2034.     and have the most-local information supercede the least-local.  Mark
  2035.     Andrews <marka@syd.dms.csiro.au> sent this in, and it is nonoptional.
  2036.  
  2037. 29. rossc@ucc.su.oz.au's SUNSECURITY patch is now included, along with
  2038.     marka@syd.dms.csiro.au's performance improvement to it.  Note that
  2039.     I am violating my own policies by including this, since it came
  2040.     without a corresponding patch to OPTIONS, conf/options.h, and the BOG.
  2041.  
  2042. 28. Interfaces with multiple addresses were not being handled properly.
  2043.     This is an issue for 4.3-Reno and later BSD systems, including BNR2
  2044.     ("Net-2") and 4.4BSD.  Multiple addresses are not properly handled
  2045.     as if they were all aliases for the localhost.
  2046.  
  2047. 27. Jukka Ukkonen <ukkonen@csc.fi> sent me some patches for the Convex,
  2048.     which I've put it but cannot test.
  2049.  
  2050. 26. sob@tmc.edu (Stan Barber) sent me new versions of contrib/host/host.c
  2051.     and contrib/host/send.c, which I have installed but not tested.  I am
  2052.     still waiting for someone to update the version in tools/host.c, which
  2053.     is going to be a lot more work.  Contact me via e-mail if you want to
  2054.     help.
  2055.  
  2056. 25. My credibility stuff from the original 4.9 (and before that, KJB)
  2057.     was operating under a ``scorched earth'' policy due to a brain fault
  2058.     on my part when I wrote the code originally.  Tim.Goodwin@pipex.net
  2059.     discovered this and sent in a patch.  Note that throwing out glue is
  2060.     generally OK since glue is generally NOT OK, but disposing of it after
  2061.     ~20 references is a lot better than disposing of it after 1 reference.
  2062.  
  2063. 24. NS RR sorting on forwarded and system queries was not happening
  2064.     unless more than 1024 milliseconds of RTT variance existed among
  2065.     the servers.  This was a good value for development and testing
  2066.     but not for production use.  The value is now 128 milliseconds.
  2067.     No, this should not be a configurable in the boot file.
  2068.  
  2069. 23. I am including a file doc/FAQ which was posted to usenet as:
  2070.     From: craig@ecel.uwa.edu.au (Craig Richmond - division)
  2071.     Newsgroups: comp.protocols.tcp-ip.domains
  2072.     Subject: FAQ: Setting up a basic DNS server for a domain
  2073.     Date: 3 Aug 1993 10:53:51 GMT
  2074.     Organization: The University of Western Australia
  2075.     Lines: 1088
  2076.     Message-ID: <23lg3v$1go@uniwa.uwa.edu.au>
  2077.     Summary: Step by Step implementation of a DNS server
  2078.     Keywords: FAQ DNS setup
  2079.  
  2080. 22. named-xfer now syslogs if the remote server's serial number is _lower_
  2081.     than ours, which does seem like a bad thing.  per@erix.ericsson.se
  2082.     (Per Hedeland) sent this in.
  2083.  
  2084. 21. man/resolver.3 had a typo on the exp_dn argument to dn_expand.  fixed.
  2085.     (Steve Alexander <stevea@lachman.com> sent this in.)
  2086.  
  2087. 20. include/sys/cdefs.h moved to compat/include/sys/cdefs.h since some
  2088.     systems have their own which must be used.  the top-level makefile
  2089.     must be edited if you are on one of these systems, since the default
  2090.     CFLAGS includes this new directory as a -I directive.  sys/bitypes.h
  2091.     has also moved.
  2092.  
  2093. 19. A neccessary bug fix for ISI's VALIDATE/NCACHE code has been incorporated.
  2094.     If you had to rebuild without these turned on in options.h to get your
  2095.     CNAME lookups to work again in an earlier 4.9.2 ALPHA, you can turn them
  2096.     on again now.
  2097.  
  2098. 18. The q_system field of the query structure has been removed in favor of
  2099.     a q_type field containing bit definitions.  The old PRIMING_CACHE magic
  2100.     cookie is no longer used.  Go to the end of the universe, do not pass go.
  2101.  
  2102. 17. Converted to ANSI C.  All functions are static unless they are actually
  2103.     needed outside the current module ("file" in C terminology); static 
  2104.     functions are declared with prototypes if they are forward-referenced.
  2105.     Externally visible functions are declared in separate header files, with
  2106.     prototypes.  ns.h and db.h have been split into four new header files:
  2107.     db.h -> db_defs.h db_glob.h db_func.h
  2108.     ns.h -> ns_defs.h ns_glob.h ns_func.h
  2109.  
  2110.     The *_defs files contain only structure and type definitions, and macro
  2111.     definitions.  Nothing that generates text or data space in the executable
  2112.     is declared here.
  2113.  
  2114.     The *_glob files contain only global variable declarations, which used to
  2115.     be defined in the various *.c files in a more or less random fashion.  The
  2116.     declarations are "extern" if included from non-main()-containing files, but
  2117.     are defined globally and given initial values in main()-ish files.  This
  2118.     reuse of the same declarations insures that the type and size declarations
  2119.     match between definitions and external references to them.
  2120.  
  2121.     The *_func files contains function prototypes for global ("extern")
  2122.     functions.  The prototypes are all optional so will not break non-ANSI
  2123.     systems.  Note that I don't have such a system any more so I may be wrong.
  2124.  
  2125. 16. Removed all remaining references to "short" or "long" that did not
  2126.     depend on the vague semantics of those types.  Most uses were actually
  2127.     depending on a size of 16 bits for short and 32 bits for long, and there
  2128.     are processors/compilers where each of these types is different.  This
  2129.     work was begun in 4.9 and is now complete.  Note that some structs that
  2130.     are used in large data structures use "char" for 8-bit integers.  It helps.
  2131.  
  2132. 05Jul93 - ALPHA Released
  2133.  
  2134. This is the cleanup release after 4.9.  I'm going to try the TCSH style of
  2135. logging the changes; let me know if you think it's a bad way of doing it.
  2136.  
  2137. 15. the resolver now includes an implementation of RFC 1101, which allows
  2138.     network names to be encoded in the DNS tree rather than in /etc/networks.
  2139.     this implementation is by rps@matuc2.mat.uc.pt (Rui Pedro Mendes Salgueiro)
  2140.     i put the test program and original documentation in contrib/rfc1101/.  i
  2141.     would like to see their main.c ("nettest") turned into a tools/nettest,
  2142.     but i'm not willing to do the work myself.  it needs a man page, etc.
  2143.  
  2144. 14. as expected the initial HS zone transfer stuff didn't work that well.
  2145.     thanks to <per@ericsson.se>, retries after failed SOA queries will use
  2146.     C_IN rather than falling through to C_HS inappropriately.
  2147.  
  2148. 13. ns_init.c was fcntl(SETFL)'ing in a destructive way.  it now does a
  2149.     fcntl(GETFL) to get the old option mask and then |'s in the new flag.
  2150.     this patch came from Eduard Vopicka <Eduard.Vopicka@vse.cz>.
  2151.  
  2152. 12. there are two new conf/Info.* files; check 'em out.
  2153.  
  2154. 11. ultrix (some versions, especially the vax ones) libc.a had some bad
  2155.     naming conventions for some resolver routines.  getshort/putshort just
  2156.     have to be real functions, not just macros, or you can't link anything
  2157.     with this resolver.  patch was sent by <aas@brain.physics.swin.oz.au>.
  2158.  
  2159. 10. sethostent(x) for host files was sticky for nonzero 'x' (avalon@anu.edu.au)
  2160.  
  2161. 9.  hp9000s700 is now supported in include/arpa/nameser.h (avalon@anu.edu.au)
  2162.  
  2163. 8.  statistics dumps now print the time in decimal-seconds-since-1970 in
  2164.     addition to the old "ctime" format, for ease of debugging.  (Peter Koch).
  2165.  
  2166. 7.  systems with 14-character filename limitations have apparently been
  2167.     having trouble in named-xfer since its temporary file names are bigger
  2168.     than they can handle.  ash@hp sent in some patches a while ago, enabled
  2169.     with SHORT_FNAMES in conf/options.h, to deal with this appropriately.
  2170.     We should probably just generate short names always.
  2171.  
  2172. 6.  Some security stuff from ISI.  According to Anant Kumar <anant@isi.edu>:
  2173.  
  2174.     The validation procedure is the major change here. Currently, we
  2175.     accept anything from a server, as long as we had asked it a question.
  2176.     This implies that a malicious server can really send us any data and
  2177.     we not only pass it on, we also cache it for as long as the TTL
  2178.     holds. This can be really bad for our health and for that of those
  2179.     who use the DNS.
  2180.  
  2181.     We add this procedure to verify for each RR returned by a server
  2182.     that it is indeed authoritative for either that zone, or for a
  2183.     parent zone.  We end up trusting the root servers for everything!
  2184.     Also, the more rich our cache is the more choosy we become about the
  2185.     data we add on to it. This stuff is all ifdef'd with "#ifdef VALIDATE"
  2186.  
  2187.     The negative caching stuff adds on a d_rcode field to the databufs.
  2188.     Any positive entry now shows a NOERROR there while negative entries
  2189.     have either a NXDOMAIN or NOERROR_NODATA. NOERROR_NODATA rcode is
  2190.     never returned.  It is used only to differentiate, within the
  2191.     internal database, between negative and positive entries. We use the
  2192.     regular hash table (hashtab) to store negative entries, too. Only
  2193.     authoritative answers are negative cached, for NTTL (parameterized,
  2194.     currently 10 minutes) seconds. Non-authoritative NXDOMAINs or
  2195.     NOERROR with zero RR count, now generated, are now accepted but
  2196.     never cached. This is ifdef'd with "#ifdef NCACHE".
  2197.  
  2198. 5. "make install" now has a prayer of working for the man pages. an observation
  2199.    was made that net2++ systems _require_ formatted "cat" pages and that older
  2200.    systems are _able_ to use them, so that's all we install.
  2201.  
  2202. 4. i wrote man pages for named.reload, named.restart, and named-xfer.  these
  2203.    were actually in 4.9.1 for 4.4BSD.
  2204.  
  2205. 3. unneeded functions in compat/lib will now generate placeholder symbols, to
  2206.    make sure that the linker doesn't generate ugly-but-harmless warnings.
  2207.  
  2208. 2. my ignorance of the true meaning of _POSIX_SOURCE has been corrected,
  2209.    along with the ugly-but-working code in conf/portability.h and elsewhere.
  2210.  
  2211. 1. non-resolver routines moved from res/ to compat/lib/.  this will shorten
  2212.    libresolv.a and make it easier to integrate new BIND releases into Net-2
  2213.    descendents such as 4.4BSD and BSD/386.
  2214.  
  2215. 4.9.1 ------------------
  2216.  
  2217. This is the integration of the changes that were made for 4.4BSD.  This
  2218. release will not be published.  Changes include:
  2219.  
  2220. doc/BOG/*: many changes to improve appearance of the output, including
  2221.     orphan-avoidance and better tab stops.  Sent to me by someone on
  2222.     the net who deserves thanks but I've lost the original mail.  Oops.
  2223.  
  2224. include/*: the CSRG people weren't entirely pleased with the interface
  2225.     changes i made to the res_*() and inet_*() functions.  in particular,
  2226.     the changes from "long" to "u_int32_t" were too sweeping in their
  2227.     opinion since Posix is already working on standardizing them and
  2228.     might look unkindly on an apparently-still-evolving interface.  also,
  2229.     the possibility that all the vendors will change their implementations
  2230.     to match the new interface is apparently rather dim.  therefore most
  2231.     externally-visible occurances of the int32_t type have been changed
  2232.     back to "long" in the resolver interface.  we believe that this should
  2233.     still be portable to Cray and AXP machines, but i'll wait to hear from
  2234.     someone who can actually try it out and let me know.
  2235.  
  2236. tools/*: the "net2" version of "lex" requires some additional flags and libs,
  2237.     and this had implications for the Makefiles and the dig.c source file.
  2238.     nslookup's man page is now in man/ rather than tools/nslookup, for
  2239.     consistency.
  2240.  
  2241. named/*: last-minute 4.9-FINAL changes to named-xfer.c and db_load.c resulted
  2242.     in corruption of TXT records on zone transfers, and a high number of
  2243.     useless syslog(SYS_ERR) messages about zones already being up to date.
  2244.     these last-minute changes have been massaged into better shape and are
  2245.     now a lot readier for prime time than they were.  a lesson was learned.
  2246.  
  2247.     the inet_aton() function is now used where appropriate, rather than the
  2248.     old inet_addr().  this is just an evolutionary move that should have no
  2249.     practical implications.  bad addresses in the "tcplist", "bogusns", and
  2250.     "sortlist" directives (from named.boot) are now syslogged.
  2251.  
  2252.     some open files are still inherited by named-xfer from named, but they
  2253.     are properly closed now.
  2254.  
  2255.     the SIGXFSZ signal is now accepted as an alias for SIGHUP, in support
  2256.     of the wierd DEC Hesiod implementation.  no practical significance.
  2257.  
  2258. res/*: one important bug fix in the gethostent() stuff, and a whole bunch of
  2259.     evolutionary include file changes.
  2260.  
  2261. include/*: include/sys was moved to compat/include/sys, since systems that
  2262.     do not need it really really really need to get their own instead.
  2263.     at some point i'm going to move the res/*.c files that are needed for
  2264.     compatibility but not really part of the resolver, into compat/lib.
  2265.  
  2266. general: there are more settable parameters in the top-level Makefile, and
  2267.     they are propagated downward into the subdirectories' Makefiles.  you
  2268.     should not have to edit any Makefile except the top-level one.  Note
  2269.     that "make links" still creates local Makefiles in the build directory
  2270.     because "mkdep" still edits the Makefiles on most systems.
  2271.  
  2272. 4.9-FINAL -------------------
  2273.  
  2274. Kevin Dunlap sent in some changes for the BOG.  So did a lot of other folks.
  2275.  
  2276. Someone asked about AXP-OSF, so I did a trivial 64-bit port.  Porting to
  2277. other 64-bit systems should be simple now.  Someone also sent in some MIPS
  2278. RISCOS portability changes, which were simple and therefore were put in.  
  2279. Note that some type names have been added to BSD 4.4 as a result of this
  2280. work; they are going to be in <sys/types.h> in BSD 4.4 but they are in a
  2281. local include file called <sys/bitypes.h> in this distribution, with 
  2282. appropriate #ifdef's in the include files that depend on them.  Those of you
  2283. who are porting to 64-bit platforms where "long" isn't 32 bits should be
  2284. using these new names for your types; there was no standard before this,
  2285. but the names we've added for BIND 4.9 and BSD 4.4 are going to be proposed
  2286. to Posix at some point.  Sometimes it's just not OK for "int" to be the
  2287. "natural integer size of the machine" and you just _have_ to tell the compiler
  2288. how many bits you want.
  2289.  
  2290. The NIC added a new root server, thus pushing the size of a nonauthoritative
  2291. root server response (which includes the root server list in the answer as
  2292. well as the authority sections) over the 512-byte limit.  This showed up a
  2293. long-term BIND bug wherein it failed to set the TC ("truncation occurred")
  2294. bit if truncation occurred anywhere but the answer section.  Since truncation
  2295. was occuring at the end of the packet, in the additional data section, this
  2296. meant that BIND was generating truncated responses without setting TC in the
  2297. response header.  Upon further investigation, I found that BIND ignored TC
  2298. on responses it received from other name servers.  RFC 1035 states that RR's
  2299. from truncated responses should not be cached; with creative interpretation
  2300. of the exact 1035 wording, I found a way to reach this goal while still 
  2301. caching the answer section (as long as the truncation occurred in some other
  2302. section, which 1035 gives no definitive way to determine but I'm happy with
  2303. my guess).
  2304.  
  2305. While researching the above, I finally broke down and added credibility
  2306. output to the zone dump files.  They are in the comments so should cause
  2307. no trouble.  There's more work to be done on the dump output; in particular,
  2308. Phil Almquist proposed and even prototyped a "tagging" of all RR's with the
  2309. A RR of the nameserver that sent them to us; this feature should be added
  2310. and the dump output should include it.  This would add a lot to our ability
  2311. to track down corrupt data.
  2312.  
  2313. Don Lewis and I had more discussions about TC and ended up agreeing that the
  2314. right thing to do is to set TC on responses that overflow in the answer or
  2315. authority section, truncating at an RR boundary, but do not set TC on responses
  2316. that overflow in the additional-data section (truncating at a {name,type}
  2317. boundary).  This actually solves the root server problem pretty well, since
  2318. BIND 4.9 will, when it tries to use an NS whose A isn't in the cache, generate
  2319. a sysquery() for the missing A.  (Heck, additional data TTL's are depreciated
  2320. at the rate of 5% per use, so this would end up happening pretty quickly even
  2321. if we did cache a partial {name,type} -- but now we won't have to.)
  2322.  
  2323. While trying to fix all of this stuff I ended up moving some functions around
  2324. to avoid duplicating them in different source files, and I reformatted some
  2325. source lines that went over 80 characters.  I also made a few things "static"
  2326. that used to be unneccessarily global.  More of that will happen in 4.9.1.
  2327.  
  2328. DEC's product version of MIT Hesiod uses SIGXFSZ for what we do with SIGHUP;
  2329. since the default for SIGXFSZ is to exit, it seemed prudent to wire it up to
  2330. do what SIGHUP does instead, so that this BIND can run on DEC Hesiod servers.
  2331.  
  2332. At the request of several people, I integrated the USC "dig" and Rutgers
  2333. "host" tools into the distribution.  This required some changes to the
  2334. resolver library's debugging output formats, which will be visible in
  2335. nslookup, nsquery, and any other tool that sets the RES_DEBUG option.
  2336. Note that there is no support for "DEFNAMES" in this version of dig, due
  2337. to design changes between 4.8 (from which "dig" is derived) and 4.9.  there
  2338. is no reason in principle why it can't be made to work, but it doesn't work
  2339. now.  therefore only fully-qualified names can be looked up with this "dig".
  2340.  
  2341. I had to change the name of the resolver "state" structure to be "__res_state"
  2342. for standards conformance (really, it is not reasonable to expect that because
  2343. a program includes <resolv.h> it will never define its own structure called
  2344. "state".  This change highlights the imperative that any application which is
  2345. relinked against this resolver must first be recompiled against these include
  2346. files (notably <resolv.h>).  This is true for almost all versions of libresolv.
  2347.  
  2348. I asked for items for the "TODO" list and got quite a few.  Check them out
  2349. before you hack; someone else may already have started doing what you want to
  2350. do.  I also asked for tools for the "contrib" subdirectory and got 650KB worth.
  2351. They make the BIND 4.9 distribution a lot larger than 4.8.3 was, but the extra
  2352. bytes are well worth their weight.
  2353.  
  2354. Kenneth Almquist (no relation to Phil, as far as I know) posted a patch for
  2355. res_send() that lets it keep track of servers that are responding "SERVFAIL"
  2356. or some other fatal condition; these servers are NOT used for retries of the
  2357. current query.  This information is not persistent between calls to res_send()
  2358. since future calls will probably be for different {name,type} queries, which
  2359. will not neccessarily fail in the same way.  This change is trivial and makes
  2360. a measurable difference in the amount of DNS traffic on my local net.
  2361.  
  2362. 4.9-BETA ------------------- April 17, 1993 -- Paul Vixie -- DECWRL
  2363.  
  2364. "Peter Koch" <pk@TechFak.Uni-Bielefeld.DE>'s previous patch caused core
  2365. dumps on some systems.  I fixed part of it and Peter sent me a fix for
  2366. the rest of it.  All is now well.
  2367.  
  2368. The Bind Operations Guide in doc/BOG has been updated to 4.9.  Also, the
  2369. man page in man/named.8 has had some patches applied.  The copyrights are
  2370. all fixed now.  Let's get this thing OUT of here!
  2371.  
  2372. 4.9-ALPHA ------------------- March 15, 1993 -- Paul Vixie -- DECWRL
  2373.  
  2374. There was a really bad bug affecting wildcards.  I received a patch
  2375. from "Peter Koch" <pk@TechFak.Uni-Bielefeld.DE> which fixes some of
  2376. it, but I can't quite motivate myself to fix the rest of it since I
  2377. know that what's _really_ wrong is going to require chainsaws and
  2378. dynamite to fix and that'll add another year to the release.  I think
  2379. that this patch will hold us for a while.
  2380.  
  2381. There are a LOT of portability changes that I'm holding onto, especially
  2382. including 64-bit fixes.  Do not submit any more portability changes
  2383. until 4.9.1 opens.  Go ahead and make them, but be prepared to remake
  2384. them later.  Let me know what you are doing but don't send me any diffs
  2385. for portability until I ask for them.  4.9 has been stuck in the barrel
  2386. for way too long already -- patches that don't fix RFC-noncompliance or
  2387. core dumps will just go into my "todo" folder (which is presently a
  2388. black hole of great mass).
  2389.  
  2390. 4.9-ALPHA ---------------- Febrtuary 2, 1992 -- Paul Vixie -- DECWRL
  2391.  
  2392. Mostly portability fixes.  The nslookup "lex" problem is BSDI-specific
  2393. and I'm not going to hold up release because of it.  This will be the
  2394. last alpha release before the public beta.  It is, as usual, running
  2395. the DEC.COM primary name service and has done so for more than a week
  2396. without any problems.
  2397.  
  2398. 4.9-ALPHA ---------------- January 10, 1993 -- Paul Vixie -- DECWRL
  2399.  
  2400. Once I get the known bug in nslookup (see below) fixed, this version is going
  2401. to go into public beta.  I would appreciate it if everyone would try it out.
  2402.  
  2403. KNOWN BUG IN THIS RELEASE: something wild is going on inside of the yylex()
  2404. routing on BSD/386 systems.  It only affects nslookup.  I'm still trying to
  2405. figure out how I'm going to debug this; lex experts, please see what's going
  2406. on.  None of the changes since the 930105 release should have been capable
  2407. of producing this change, but something is sure doing it.
  2408.  
  2409. I finally fixed the {GET,PUT}{SHORT,LONG} macros to stop issuing warnings
  2410. on HP-UX systems.  They are also warning-free on Ultrix(SPIM,VAX), BSDI(386),
  2411. and SunOS(SPARC) systems.  I took the plunge and changed the internal functions
  2412. in res/res_comp.c to depend on these macros instead of duplicating the code,
  2413. and everything still works.
  2414.  
  2415. Tom Limoncelli found three ancient memory leaks.  I fixed two of them
  2416. but the last one looks too much like a "cannot happen" for me to be
  2417. willing to experiment with it.  Besides which, it's "very" minor.
  2418.  
  2419. Uses setsid() on POSIX systems.  PID file is now optional.  (arc@sgi)
  2420.  
  2421. Comments (";" or "#") are now allowed in resolv.conf (arc@sgi).
  2422.  
  2423. Documentation and copyright changes in README.
  2424.  
  2425. Known to compile on NeXT machines.
  2426.  
  2427. Some portability changes for AIX, whose CC is very picky.
  2428.  
  2429. I forgot to mention in the 921227 release that T_RP is supported (arc@sgi).
  2430.  
  2431. I included a number of changes that Alan Barrett has been trying to get
  2432. in since the 921221 version.  Most are portability-related, and the few
  2433. things that are functional are changes to my own previous additions :-),
  2434. so I'm fairly sure that they are doing the right thing.  Alan's changes
  2435. include:
  2436.  
  2437.     include/arpa/nameser.h
  2438.     improved error diagnosis in the BYTE_ORDER configuration.
  2439.  
  2440.     changed hp9000 test to hp9000s300.  As far as I know, there is
  2441.     no hp9000 preprocessor symbol.  Should probably add other
  2442.     hp9000s<whatever> tests, but have not done so.
  2443.  
  2444.     named/ns.h
  2445.     Moved the XFER-related stuff from the end of the file to near
  2446.     the top, where it is grouped with similar stuff.
  2447.  
  2448.     Makefiles:
  2449.     Add SYSLIBS variable, so folk can compile with -lBSD easily.
  2450.  
  2451.     Changed install targets to make them easier to customise.
  2452.  
  2453.     make links wasn't handling named.{reload,restart}*
  2454.  
  2455.     Add ${CDEBUG} flag to link step.  Some debuggers don't work
  2456.     right if the program isn't linked with the -g flag.
  2457.  
  2458.     struct timeval members are declared as unsigned long on some systems.
  2459.     Add casts to (long) in several if statements that appear to assume
  2460.     that tv_sec is signed.
  2461.  
  2462.     PID_FIX in ns_main.c controlled more than just whether or not the
  2463.     pid file gets fixed.
  2464.     Changed it to control only that one feature.
  2465.  
  2466.     For debugging, it is useful for a nameserver to listen to non-standard
  2467.     port, but to forward requests to a standard port.
  2468.     Add "-p remote/local" option to named/ns_main.c.
  2469.     Also needed some other changes elsewhere.
  2470.  
  2471.     Don't forward back to the host that asked us a question, unless they
  2472.     asked from some port other than their nameserver port.  This allows a
  2473.     dig or nslookup user on a host to ask us questions with
  2474.     recursion-desired, where we are willing to recursively ask the
  2475.     nameserver on their host.  However, if a nameserver asks us something
  2476.     we will not recurse back to them.
  2477.     nslookup() in named/ns_forw.c checks for this and returns -1.
  2478.     ns_forw() and sysquery() notice this and return SERVFAIL.
  2479.  
  2480.     Moved the nsContainsUs functionality from a separate routine
  2481.     into nslookup().  No need to do the same tree walk several times.
  2482.  
  2483.     While trying to track down various problems, added detection
  2484.     and logging of errors in several syscalls in ns_main.c.
  2485.  
  2486.     Avoid integer overflow in roundtrip time calc in ns_resp.
  2487.     This needs a definition for INT_MAX.
  2488.  
  2489.     Fixed root zone transfer bug.  Also corrected some slightly misleading
  2490.     comments in the doaxfr() code, and added some more comments.
  2491.  
  2492. 4.9-ALPHA ---------------- January 5, 1993 -- Paul Vixie -- DECWRL
  2493.  
  2494. This one was built and tested on Ultrix 4.2 (SPIM, MIPS CC and GCC),
  2495. BSD/386 (Gamma.4), Sun SPARC (4.0.3, sorry, that's the latest I have),
  2496. 4.3BSD Reno (VAX, PCC), and Ultrix 3.0 (VAX PCC).
  2497.  
  2498. Moved res/defs.h to conf/portability.h; named/options.h to conf/options.h.
  2499.  
  2500. Portability changes for O_NDELAY.  SUNOS is really strange about this.
  2501.  
  2502. Removed some unneccessary goto's added to ns_main.c on 1jan.  Oops.
  2503.  
  2504. Art Harkin of HP sent in a number of small (read: obviously correct)
  2505. improvements, some related to portability, some to functionality.
  2506.  
  2507. 4.9-ALPHA ---------------- January 1, 1993 -- Paul Vixie -- DECWRL
  2508.  
  2509. Changed all O_NONBLOCK to O_NDELAY.  Changed all {r}index to str{r}chr.
  2510.  
  2511. Added some SysV support in the form of bcopy->memcpy, bzero->memset.
  2512.  
  2513. Added C_HS support to named-xfer (greg@duke.cs.unlv.edu).
  2514.  
  2515. Fixed a line-number problem in asp's "include" logic (asp@uunet.uu.net).
  2516.  
  2517. streamq's were being used after free().  bug report from fuat@ans.net
  2518. and jpe@ee.egr.duke.edu.  bug fix by vixie.
  2519.  
  2520. In the resolver, we now default to address 127.0.0.1 rather than 0.0.0.0.
  2521. There's a comment in the code that explains why.
  2522.  
  2523. In the resolver, arc@xingping.esg.sgi.com changed it to use inet_aton()
  2524. and included that function for those not running 4.4bsd.
  2525.  
  2526. arc@xingping.esg.sgi.com also provided lots of portability fixes and
  2527. general cleanups, in particular to nslookup which he maintains for CSRG.
  2528.  
  2529. 4.9-ALPHA ---------------- December 27, 1992 -- Paul Vixie -- DECWRL
  2530.  
  2531. Added strtoul() to libresolv.a since it's yet another neccessary function
  2532. that older systems don't have.  If we can stomach strcasecmp() we can sure
  2533. handle this.
  2534.  
  2535. Moved res/named/gethostnamadr.c to res/gethnamaddr.c (note basename change)
  2536. and res/named/sethostent.c to res/sethostent.c.  Since the host table stuff
  2537. isn't in separate files any more I saw no reason to retain the subdirectory.
  2538.  
  2539. Updated all the copyrights and applied the small lint changes that bring
  2540. the baseline of this version from "4.8.3 as seen on ucbarpa" up to "4.8.3
  2541. as released with net-2".  Thanks to the alpha testers for pointing this out
  2542. to me and for sending in the diffs.
  2543.  
  2544. With much howling and screaming, I ported this to UMIPS (MIPS System V).
  2545. There are a lot of really bad things going on in their libc.a, and now
  2546. they're going on in BIND as well.
  2547.  
  2548. I added a "res/defs.h" file and then proceeded to include it from all kinds
  2549. of files that aren't in res/.  I'm thinking of moving it but I'm also trying
  2550. to figure out where -- include/ is the wrong place.  res/defs.h has in it all
  2551. the ugly ifdef's needed to figure out whether this is a late-model BSD system,
  2552. a POSIX system, or just old.
  2553.  
  2554. All the "#endif" and "#else" cpp directives now have comments around their
  2555. annotations.  It turns out that System V CPP complains about "#endif DEBUG"
  2556. but has no problem with "#endif /*DEBUG*/".  In many cases where the #ifdef
  2557. was obviously visible and unambiguous, I simply removed the annotation.
  2558.  
  2559. The "l" is now a ";".  Thanks to all who replied :-).
  2560.  
  2561. There was a very bad bug in the named-xfer interface.  'nuff said.
  2562.  
  2563. AIX needs a 32-bit field for PID's.  I can't imagine.  But it's fixed.
  2564.  
  2565. The "domain" directive in named.boot is now an option, defaulting to off.
  2566.  
  2567. There was a benign bug in sqrm().
  2568.  
  2569. doaxfr() is now shorter and clearer.
  2570.  
  2571. There is an "include" directive in the named.boot file now.  Its syntax is
  2572. simple: "include somefile".  No quotes, no "#", no <brackets>.  This feature
  2573. was in 4.9-ALPHA as well, courtesy of Andrew Partan.  I forgot to document it.
  2574.  
  2575. 4.9-ALPHA ---------------- December 21, 1992 -- Paul Vixie -- DECWRL
  2576.  
  2577. This release incorporates fixes from a lot of people, including many from
  2578. DECWRL.  Some fixes are just lint; some are to avoid dumping core on non-VAX
  2579. computers; many are to fix promiscuity, corruption, and rudeness.
  2580.  
  2581. Various internal DEC programmers have ported the old 4.8.3 code to various
  2582. not-entirely-BSD-like platforms and turned up some interesting lint.  All
  2583. of this has been fixed.  Also, we fixed a bad bug in the handling of timeouts
  2584. and SERVFAIL's when forwarders and slave are both used.
  2585.  
  2586. I have made major changes to the code inside the ALLOW_UPDATES ifdef's, but
  2587. I don't use it and have never compiled with that option turned on so I don't
  2588. know if it still works.  Given that SNMP has come and there is an IETF WG for
  2589. SNMP management of the DNS, I am thinking very seriously of purging all of the
  2590. ALLOW_UPDATES code in 4.9.1.  I suspect that Mike Schwartz will let me know if
  2591. this is ok..
  2592.  
  2593. (interrim "KJB" notes) ------------------- March, 1992 -- Paul Vixie -- DECWRL
  2594.  
  2595. If we are about to forward a query for some zone for which we are one of the
  2596. servers, we send back a SERVFAIL instead.  If we don't have it, chances are
  2597. good that the other name servers won't have it either.  This is the major
  2598. cause of "network meltdown" when the root servers declare you as a name server
  2599. for some zone you don't know about and havn't configured yourself for.
  2600.  
  2601. Fixed a memory leak such that if db_update() fails to update the database
  2602. from a response packet, a databuf will no longer be orphaned.  Also fixed
  2603. what looks like a similar leak in the ALLOW_UPDATES code but I don't use it
  2604. that hasn't been tested.
  2605.  
  2606. Fixed a memory sponge such that if we forward a query to someone who is not
  2607. ever going to answer it, we will eventually expire it from our query queue.
  2608. Previously it would expire after N retries to N' different servers, which
  2609. could be a very long time.  Particularly in the case of lame delegations and
  2610. other forwarding loops, we feel that 90 seconds (two max-retry intervals) is
  2611. enough time for a query to be answered.  While we were into this code we made
  2612. several fields in the query structure into "short"'s since they were only
  2613. being used to store smallish integers.  The query list gets Very Long during
  2614. a forwarding loop -- even 90 seconds worth of queries is a lot of queries.
  2615.  
  2616. This version includes my hacks that assign a "credibility index" to each
  2617. <name,type> such that when more credible data arrives for a given
  2618. <name,type>, all old data is purged.  When equally-credible data arrives it
  2619. is aggregated in the way we all know and love; when less credible data
  2620. arrives it is completely ignored.  Credibility, from best to worst, is:
  2621.     1. zone files (primary or secondary)
  2622.     2. authoritative answers
  2623.     3. non-authoritative answers and authority records
  2624.     4. additional data
  2625.     5. zone files ("cache" or "bootstrap" information)
  2626. You need this version of bind if you still show any A RR's in network
  2627. 32.0.0.0 when you look up uucp-gw-1.pa.dec.com's A or adobe.com's NS.
  2628.  
  2629. I have also added some extra code to prevent pollution of the internal
  2630. "hint cache."  In all versions of BIND that I was able to test, any IN_A
  2631. response to any sysquery() would cause the IN_A RR to be added to the
  2632. fcachetab ("hint cache").  This resulted in lots of extra cruft in the hint
  2633. cache, that wasn't timed out properly, which in turn resulted in lots of
  2634. strange answers ('nuff said, take my word for it.)
  2635.  
  2636. Though changes have been made to make the Ultrix and GNU (2.1) C compilers
  2637. stop complaining about the source, it should still compile and run just
  2638. about anywhere.  In fact, after I cleaned up lots of old lint, this version
  2639. of BIND is known to compile and run on:
  2640.  
  2641.     Ultrix 4.2 (MIPS or VAX)
  2642.     SunOS 4.0.3
  2643.     BSD/386 (BSDi beta)
  2644.  
  2645. This was being released as King James Bind because, like KJ Sendmail, it is
  2646. a merge of every major variant of Bind that we know about.  It was
  2647. assembled and tested by Paul Vixie of DEC NSL/WRL, with generous donations
  2648. of code and advice from Win Treese of DEC CRL.  Changes from Don Lewis of
  2649. Harris, Andrew Partan of UUNET, and Piet Beertema of EUNet are also included.
  2650. See the OPTIONS file for a description of the changes you can control with
  2651. #ifdef's.
  2652.  
  2653. This server has been run on UUCP-GW-{1,2}.PA.DEC.COM, which are in the UUCP
  2654. Zone.  Our named.boot file has ~1900 lines in it.  Before we instituted the
  2655. changes in this release, our name server usually ran at about 16MB virtual,
  2656. 15MB physical, growing slowly but constantly until we restarted it.
  2657. Whenever a new zone was added to the NIC's root zone listing us as a name
  2658. server, our servers would kill themselves and eachother (and NS.UU.NET, one
  2659. of the other UUCP Zone name servers) with forwarding loops.  After these
  2660. changes, we run at a fairly constant 8MB virtual and physical size, and our
  2661. apparent CPU utilization is always 0.0% since we never finish a quantum and
  2662. the scheduler always sees us as waiting for I-O.  In other words, life is good.
  2663.  
  2664. Notes from UCB version 4.8.3 follow:
  2665.  
  2666. -------------------
  2667.  
  2668. This is version 4.8.3 of bind.  It is a test release that updates
  2669. versions 4.8 and 4.8.1 with fixes, and is essentially the same as
  2670. the version of named on the 4.3BSD Reno release.  Although it is
  2671. currently described as a test release, it is believed to be reasonably
  2672. stable and more usable than the previously-released versions.
  2673. Here are some of the more important changes:
  2674.  
  2675.   o A list of domains may be specified for searching in resolv.conf instead
  2676.     of just the local domain name.
  2677.  
  2678.   o gethostbyname() will accept a dotted quad.
  2679.  
  2680.   o Support has been added for the the T_TXT data type and for the class
  2681.     C_HS.  These are both used by Hesiod from Project Athena at MIT.
  2682.  
  2683.   o All of the pathnames have been put into one header file.  This
  2684.     makes it easier to change the location based upon your local
  2685.     configuration.
  2686.  
  2687.   o Responses are only accepted from an address to which we might of sent
  2688.     the request.  This might cause problems if some server is multihomed
  2689.     and is still running BIND 4.3, but it prevents attacks induced by
  2690.     sending responses from another address.
  2691.  
  2692.   o Numerous bugs have been fixed:  Adding a new authoritative zone now
  2693.     works when the server has a cached SOA record.  Comparisons in the
  2694.     db now look at type and class as well instead of dropping records
  2695.     with identical data.  Scheduling of maintenance interrupts has been
  2696.     moved to one routine avoid spurious ones.  Named goes into the background
  2697.     after more of the initialization is done.  Stream connection queue
  2698.     handling was cleaned up including a bug that caused data corruption
  2699.     and core dumps.  Sys5 no longer can have multiple transfers of the
  2700.     same zone occuring at the same time.  Handle CNAME -> CNAME loops
  2701.     more gracefully.  Avoid making one server never get queried.  Border
  2702.     conditions in resolver are checked more accurately.
  2703.  
  2704.   o Nslookup has been updated.
  2705.  
  2706. There are several bug reports that have yet to be integrated into this
  2707. version.  Hopefully they will be dealt with in the next release.  Please
  2708. send feedback on this release.
  2709.  
  2710. Notes from versions 4.8.1 and 4.8 follow:
  2711.  
  2712. ------------------
  2713.  
  2714. This is version 4.8.1 of bind.  It is a test release that includes
  2715. version 4.8 with fixes, asynchronous zone transfer and better reload
  2716. capabilities.  Although it is currently described as a test release,
  2717. it is believed to be reasonably stable and more usable than the currently-
  2718. released version, 4.8.  The changes of note are:
  2719.  
  2720.   o The asynchronous zone transfer code previously posted to the bind
  2721.     mailing list has been integrated, completed and tested.  There are
  2722.     a number of changes from the version posted, including fixes to
  2723.     allow top-level domains to work and a simplification of the timer
  2724.     code.
  2725.  
  2726.   o The code for reloading the server has been changed so that only
  2727.     primary zones master files that have changed are reloaded.  The
  2728.     cache and secondary zones are not flushed, and the sortlist, domain,
  2729.     etc. are reset to correspond to the boot file contents.
  2730.  
  2731.   o Several bugs have been fixed: the name "*" is not interpreted as
  2732.     a wildcard in cached zones, only in primary zones.  Secondary servers
  2733.     no longer decrement the time-to-live of records by the time since
  2734.     they verified the zone with the master; as a result, they never
  2735.     hand out nameserver referrals with too short a TTL to be usable.
  2736.     A bug was fixed that caused secondary servers with out-of-date
  2737.     zones to return empty answers between the actual expiration time
  2738.     and the next timeout.
  2739.  
  2740. There are several other bugs that have been reported but have not yet
  2741. been fixed.  In addition, the next regular release of named will
  2742. support negative caching, but this has not been integrated.
  2743.  
  2744. I would appreciate receiving feedback on this release; in particular,
  2745. problems (or lack of problems) when installing on various systems.
  2746. I attempted to update the SysV code when integrating the zone-transfer,
  2747. but haven't tested it.
  2748.  
  2749. The notes from version 4.8 follow.
  2750.  
  2751. ----------
  2752. Welcome to version 4.8 of bind.
  2753.  
  2754. There have been several changes to the named boot file (/etc/named.boot)
  2755. of which you should be aware.  The "domain" line for each zone is no longer
  2756. needed, but one such line may still be used to specify a default domain
  2757. to be used for queries containing names with only a single component.
  2758. The term "suffixes", which was added in version 4.7alpha, has been removed.
  2759.  
  2760. The manual page on named (named.8) has been updated to reflect all
  2761. these changes.  Please read this and look at the example files
  2762. before installation.  You should also note the changes in the
  2763. resolver code to support non-fully-qualified addresses and per-user
  2764. host aliases.  See hostname(7) for an overview.  Two new routines
  2765. have been added to the resolver library since the last test release:
  2766. res_query formulates a query, sends it, waits for a response and does
  2767. preliminary error checking; res_search implements the search rules
  2768. of gethostbyname using res_query.
  2769.  
  2770. The MX lookup routine in sendmail has been modified to use res_search.  
  2771. Also, dn_skip takes an additional parameter and has been renamed
  2772. to dn_skipname.  While old sendmail binaries will work with the new
  2773. version of bind, because of these changes, it is desirable to install
  2774. new sendmail sources and recompile sendmail.  Do not rebuild sendmail 
  2775. from old sources.   The new sendmail is on ucbarpa.Berkeley.EDU for
  2776. anonymous FTP from pub/4.3/sendmail.MX.tar and pub/4.3/sendmail.MX.tar.Z.
  2777.  
  2778. There have been numerous changes to named, fixing most of the known
  2779. bugs that can be fixed without major structural changes in the server.
  2780. Several server configurations that failed before should now work.
  2781. Certain robustness problems have been fixed, in particular bounds-
  2782. checking when processing incoming packets.  Two changes have been made
  2783. in preparation for negative caching: SOA records are sent in the authority
  2784. section in negative responses with NXDOMAIN set, and a bug was fixed that
  2785. caused confusion and repeated requests if a response had no error, no answer
  2786. and an SOA in the authority section.  As such responses are already sent
  2787. by other servers, and will be sent by the next release of BIND, it is
  2788. important that all sites upgrade to this version as quickly as possible.
  2789.  
  2790. The root "hint" cache and cache file remain the largest problem area,
  2791. along with named's naivete in accepting bogus server's data.
  2792. These will be addressed in the next release, along with asynchronous
  2793. zone transfers, intelligent reloading of zone files, faster startup,
  2794. and caching of negative responses.
  2795.  
  2796. This version (4.8) will replace the last officially released version (4.5).
  2797. Version 4.5 has a serious bug that causes the generation of a continuous
  2798. stream of bogons to the root domain servers (bogus queries with the query
  2799. response bit set and possibly garbage for nsid and rcode).  It is imperative
  2800. that these versions of named be replaced as fast as possible.  We urge you to
  2801. field 4.8 quickly, for the sake of the root domain servers.
  2802.  
  2803.     Mike Karels
  2804.     Jean Wood
  2805.     bind@ucbarpa.Berkeley.EDU
  2806.  
  2807. ## ++Copyright++
  2808. ## -
  2809. ## Copyright (c) 
  2810. ##    The Regents of the University of California.  All rights reserved.
  2811. ## 
  2812. ## Redistribution and use in source and binary forms, with or without
  2813. ## modification, are permitted provided that the following conditions
  2814. ## are met:
  2815. ## 1. Redistributions of source code must retain the above copyright
  2816. ##    notice, this list of conditions and the following disclaimer.
  2817. ## 2. Redistributions in binary form must reproduce the above copyright
  2818. ##    notice, this list of conditions and the following disclaimer in the
  2819. ##    documentation and/or other materials provided with the distribution.
  2820. ## 3. All advertising materials mentioning features or use of this software
  2821. ##    must display the following acknowledgement:
  2822. ##     This product includes software developed by the University of
  2823. ##     California, Berkeley and its contributors.
  2824. ## 4. Neither the name of the University nor the names of its contributors
  2825. ##    may be used to endorse or promote products derived from this software
  2826. ##    without specific prior written permission.
  2827. ## 
  2828. ## THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  2829. ## ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  2830. ## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  2831. ## ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  2832. ## FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  2833. ## DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  2834. ## OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  2835. ## HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  2836. ## LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  2837. ## OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  2838. ## SUCH DAMAGE.
  2839. ## -
  2840. ## Portions Copyright (c) 1993 by Digital Equipment Corporation.
  2841. ## 
  2842. ## Permission to use, copy, modify, and distribute this software for any
  2843. ## purpose with or without fee is hereby granted, provided that the above
  2844. ## copyright notice and this permission notice appear in all copies, and that
  2845. ## the name of Digital Equipment Corporation not be used in advertising or
  2846. ## publicity pertaining to distribution of the document or software without
  2847. ## specific, written prior permission.
  2848. ## 
  2849. ## THE SOFTWARE IS PROVIDED "AS IS" AND DIGITAL EQUIPMENT CORP. DISCLAIMS ALL
  2850. ## WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES
  2851. ## OF MERCHANTABILITY AND FITNESS.   IN NO EVENT SHALL DIGITAL EQUIPMENT
  2852. ## CORPORATION BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
  2853. ## DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
  2854. ## PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
  2855. ## ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  2856. ## SOFTWARE.
  2857. ## -
  2858. ## --Copyright--
  2859.