2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-31 14:35:26 +00:00
Bob Halley 4f39360a7f Shutdown of a task now works as follows:
When isc_task_shutdown() is called, any shutdown events are posted
	and the task goes into shutting down state.  isc_task_onshutdown()
	may no longer be called.

	If the task allows transition to the done state (the default), then
	as soon as the task's event queue is empty the task will enter the
	done state.  Once the done state has been entered, events may no
	longer be posted (regardless of the allowsend state).  If transition
	to the done state is not allowed, then the task will continue to
	exist and be able to receive events.

Moved event support to event.[ch].
The final state of a task is now called "done" not "shutdown".
Created a flags variable instead of having separate booleans.
Added isc_task_allowdone() and isc_task_purgerange().
Minor tracing fixes.
1999-05-10 23:00:30 +00:00
1999-05-06 16:40:50 +00:00
1999-03-06 03:55:54 +00:00
1998-12-11 21:09:59 +00:00
1999-05-04 05:06:28 +00:00
1998-12-11 20:10:26 +00:00
1999-05-04 05:06:28 +00:00
1998-12-11 20:10:26 +00:00
1999-05-04 05:06:28 +00:00
1999-05-04 05:06:28 +00:00
1998-12-11 20:10:26 +00:00
1999-03-06 04:12:06 +00:00
1999-05-03 20:52:18 +00:00
1999-05-04 01:53:01 +00:00

Code Drop 2 Status Update

Work since February has focused almost exclusively on the DNS library,
especially on database implementation and resolver architecture.  The
DNS library now contains a transactional versioned database.  In zone
mode, the database supports multiple concurrent readers as well as a
single in-progress abortable update (e.g. dynamic DNS or IXFR).  In
cache mode, multiple concurrent readers and writers are supported.  We
also have added interfaces for iterating the database, DNS
compression, parsing and writing DNS messages.  Our tree code now has
support for bitstring labels (required for IPv6).  DNS master file
loading is more robust than in the first code drop.

A significant amount of design and implementation work that we had
hoped to do later in the project had to be done in the current time
period.  For example, both DNSSEC and IPv6 introduce DB and resolver
complexities that are so fundamental that they could not be deferred
until the time when we are actually implementing DNSSEC and IPv6
support.  As a result, we have less code implemented than we had
hoped, but are ahead of plan on parts of the design.

We are currently finalizing the resolver design, and will start
implementing it soon.  Also nearing completion, but not included in
this release, are library data types representing zones, the cache,
and a standard C structure form for each rdata type.


Tests

A basic test framework and a set of tests are included in this
release.  The tests are in

	bin/tests/master
	bin/tests/names
	bin/tests/rbt

To run a test, 'cd' into its directory and type 'make test'.
Result of the tests are appended to

	bin/tests/t_journal

We expect the test suite to become richer over time.


Building

We've had successful builds and tests on the following systems

	BSDI 3.1
	Digital UNIX 4.0D
	HP-UX 11
	Red Hat Linux 5.2
	SGI IRIX 6.5
	Solaris 2.6

To build, just

	./configure
	make

Do not run 'make install'.

Building with gcc is not supported, unless gcc is the vendor's usual
compiler (e.g. the various BSD systems, Linux).

IRIX note: you must edit lib/isc/Makefile.in changing

		pthreads/condition.o \
		@ISC_EXTRA_OBJS@

to

		pthreads/condition.o @ISC_EXTRA_OBJS@

before you run ./configure.  Many compiler warnings, etc. are currently
generated on IRIX.  They will be cleaned up in a future release.


bin/named Note

Code in bin/named is for testing purposes only, and is not representative of
the final architecture.  Currently, it can load multiple zones and also
a cache, and answer queries for those names.  Because the server cannot
recurse, and because it does not yet implement the full DNS protocol,
it runs on port 5544, not port 53.


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.
Description
No description provided
Readme MPL-2.0 416 MiB
Languages
C 75.4%
Shell 14.2%
Python 7.1%
Jinja 1.2%
Perl 1%
Other 1%