0ae0a1f038bbe201c9eab91501292d5f19be36a0
* no spaces around " -> " in indirect postfix expression.
* no space between function name and open parenthesis.
* no space between array name and open bracket.
* use NULL not 0 for pointers.
* explicitly compare pointers to NULL.
* explicitly compare integers to 0.
* Do not cast NULL.
* return type of function declaration on line by itself.
* open brace of function definition follows close parenthesis if parameters
all fit on one line.
* comment-only lines start with /* on line by itself, and end with */
on line by itself.
* variable names in structures separated from their types in a column.
* name the parameters in function prototypes.
* ifndef multiple header file inclusion.
and other BIND9 conventions not in coding.html:
* private structures defined in relevant source module, not private header.
* RCS /* $Id: $ */ comments.
* Principal Author (Ted Lemon) comments.
* Updated ISC copyrights.
* Parenthesize value of return().
* Parenthesize argument of sizeof().
* "unsigned int foo" not "unsigned foo".
* ISC_LANG_(BEGIN|END)DECLS in header files.
* header files included directly by source/header file that needs them.
* ... and others I am probably forgetting.
and conversion to some libisc.a modules:
* use isc/int.h for isc_uintXX_t types, not u_intXX_t.
* use isc/assertions.h for REQUIRE() and INSIST().
* use isc/error.h for UNEXPECTED_ERROR.
* use isc/boolean.h for isc_boolean_t flags instead of int flags.
* use isc/net.h for networking types.
* use isc/netdb.h for gethostby*.
STILL TO COME ...
* more isc_boolean_t.
* isc/time.h to replace struct timeval.
* isc/socket.h to replace socket/listen/select/etc.
* isc/mem.h to replace malloc/free.
* namespace overhaul & omapi/compatibility.h.
Please collect all your belongings but stand clear of the doors until this
train has come to a complete stop.
BIND 9.0.0 alpha 1 Status Most of the core technology planned for BIND 9 is in this release. Some of the highlights are: IPv6 Support for bitstring labels, DNAME, and A6 records. IPv6-aware resolver (follows A6 chains, can use IPv6 to talk to other nameservers). The nameserver listens on an IPv6 socket. DNSSEC All new RR types supported. The server generates DNSSEC responses for secure zones. EDNS0 (server only), IXFR, AXFR, dynamic update With the exception of the DNSSEC validator, all the major new functionality is done. We expect to finish the DNSSEC validator by Dec. 1. This release is alpha quality. There are still a number of unfinished areas, for example: most config file options, sanity checking, performance tuning, high-volume client support, garbage collection, however, none of these areas are especially difficult. We've used BIND 9 as the nameserver while web surfing and doing other ordinary tasks, and it has worked. We've successfully answered queries sent over IPv6 sockets, and have used IPv6 to query other nameservers (also running BIND 9 of course!). Building We've had successful builds and tests on the following systems AIX 4.3 BSDI 3.1, 4.0.1 COMPAQ Tru64 UNIX 4.0D, 5.0 FreeBSD 3.3 HP-UX 11 IRIX64 6.5 NetBSD 1.4.1 Red Hat Linux 6.0, 6.1 Solaris 2.6, 7 To build, just ./configure make Do not run 'make install'. Shared libraries will be built if "--with-libtool" is added to the "configure" command. Building with gcc is not supported, unless gcc is the vendor's usual compiler (e.g. the various BSD systems, Linux). bin/named notes The server now uses the BIND 8 config file format. All options are parsed, but most do not have any effect as yet. The server now runs on port 53 by default. Use "-p" if you want to run on a different port. The server does not yet "daemonize". API Note All APIs are subject to change in future code drops. We expect the existing library interfaces in the code drop to be quite stable, however, and unless we've specifically indicated that an interface is temporary, we don't expect significant changes in future releases.
Languages
C
76.2%
Shell
16.7%
Python
4.2%
Perl
1.5%
M4
0.7%
Other
0.5%