chiark / gitweb /
Mark Wooding [Sun, 22 May 2011 14:07:33 +0000 (15:07 +0100)]
frontend.lisp: Hack around CLisp's bizarreness.
Annoyingly, CLisp's PROBE-FILE signals an error if you give it a
directory name. Bodge around this. I pinched the basic idea from
the CL-FAD package, by Peter Seibel and Edi Weitz.
Mark Wooding [Wed, 26 Nov 2008 21:22:47 +0000 (21:22 +0000)]
zone: Use cl-launch.
It's very shiny!
Mark Wooding [Mon, 14 Apr 2008 09:32:47 +0000 (10:32 +0100)]
driver: Use asdf rather than CLC to start the program.
This gives us more control over the verbose output.
Mark Wooding [Sun, 30 Mar 2008 23:17:39 +0000 (00:17 +0100)]
Upgrade everything for SBCL.
While we're at it, isolate the system-specific stuff to its own sin-bin
for easier porting to other systems.
Mark Wooding [Sun, 16 Mar 2008 15:02:14 +0000 (15:02 +0000)]
zone: Clean up the :cidr-delegation parser.
Mark Wooding [Sun, 16 Mar 2008 14:28:48 +0000 (14:28 +0000)]
zone, serv: Add support for SRV records.
Mark Wooding [Mon, 20 Aug 2007 08:13:20 +0000 (09:13 +0100)]
zone: Quench warnings from zone-parser functions.
Mark Wooding [Mon, 20 Aug 2007 08:11:02 +0000 (09:11 +0100)]
zone: Remove unused function zone-cidr-delegation.
Mark Wooding [Tue, 26 Jun 2007 16:43:12 +0000 (17:43 +0100)]
zone, frontend: Open up the writing of zones to files.
All file writing is now done using generic functions, parameterized by a
format keyword. Writing of the default BIND format zone files is also
handled by generic functions, dispatched based on the record types.
Mark Wooding [Mon, 25 Jun 2007 16:55:27 +0000 (17:55 +0100)]
zone: New macro preferred-subnet-case.
A pleasant way to make decisions based on which subnets are preferred.
Mark Wooding [Fri, 15 Jun 2007 14:19:29 +0000 (15:19 +0100)]
frontend: Allow use of new zone machinery.
New options --subnet declares preferred subnets and --directory sets an
output directory. Also --feature inserts a keyword into *features* for
use by #+/#- reader macros in zone files.
Mark Wooding [Fri, 15 Jun 2007 14:16:26 +0000 (15:16 +0100)]
zone: Change default subnet selection.
We now have a concept of `preferred subnets'. If a record has a subnet
whose name is on the list *preferred-subnets*, and no explicit default
record, then the record for the first such subnet is used as the
default. If no preferred subnet is found, then the first listed subnet
is used, as before.
The objective is to make describing split-horizon DNS systems easier.
Mark Wooding [Fri, 15 Jun 2007 14:15:27 +0000 (15:15 +0100)]
zone: New record type :svc creates A records without PTR records.
The :svc record type inserts an A record into the zone without inserting
a matching PTR record into the reverse zone(s). This is useful for
service role addresses.
To make this work, we add a new slot make-ptr-p to zone records which is
used to label those A records which are eligible to be turned into
PTRs. This mechanism is, I hope, considerably simpler than the old
defsubp system.
Mark Wooding [Fri, 15 Jun 2007 14:12:16 +0000 (15:12 +0100)]
zone: Allow record parsers more control over the names they produce.
Pass in the parent zone and the given prefix, rather than computing the
final name. The defzoneparse macro wrapper computes the final name,
though parsers have access to the original data and the function to
compute the name so that they can produce different names should they so
wish.
Mark Wooding [Fri, 15 Jun 2007 14:07:08 +0000 (15:07 +0100)]
zone: Use hash-table for reversing zones; eliminate defsubp.
For :reverse, use a hash-table to keep track of which addresses have
been assigned PTR records so far. Eliminate the defsubp slot of zone
records as being a bad (and confusing) idea.
Mark Wooding [Fri, 15 Jun 2007 14:07:07 +0000 (15:07 +0100)]
zone: Allow control over output file names.
Output file names are now constructed by a dedicated function, using
Lisp pathname functions rather than format. There's also a default
*zone-output-path* to control where the files get put.
This suggests a reordering of the code, specifically to move
make-serial-number below the new zone-file-name.
Mark Wooding [Fri, 15 Jun 2007 11:53:35 +0000 (12:53 +0100)]
zone: Simplify zone-write.
Use ecase instead of case, and merge NS handling with PTR and CNAME.
Mark Wooding [Fri, 15 Jun 2007 11:50:41 +0000 (12:50 +0100)]
zone: Random whitespace cleanups.
Mark Wooding [Fri, 15 Jun 2007 11:50:02 +0000 (12:50 +0100)]
zone: Delete redundant functions.
I've just noticed: zone-reverse and zone-reverse-records are not used by
anything, and not exported. Delete them.
Mark Wooding [Tue, 12 Jun 2007 19:38:45 +0000 (20:38 +0100)]
zone, net, frontend: Kill trailing whitespaces.
Mark Wooding [Sun, 24 Dec 2006 18:30:01 +0000 (18:30 +0000)]
zone: Use new with-parsed-body macro.
Mark Wooding [Sat, 23 Dec 2006 14:54:24 +0000 (14:54 +0000)]
Merge branch 'master' of git+ssh://metalzone.distorted.org.uk/~mdw/public-git/zone
Mark Wooding [Tue, 19 Dec 2006 01:10:31 +0000 (01:10 +0000)]
net: Fix misspelt export entry.
Mark Wooding [Sun, 10 Dec 2006 15:03:55 +0000 (15:03 +0000)]
Throughout: Use shiny new macros.
In particular, with-parsed-body and setf-default are useful.
Mark Wooding [Sun, 10 Dec 2006 15:11:28 +0000 (15:11 +0000)]
portability: Supply system-specific wossname for CLisp and ECL.
This involves some unpleasant CFFI hacking for ECL.
Mark Wooding [Wed, 24 May 2006 08:20:50 +0000 (09:20 +0100)]
Attempt to port the lot to CLisp.
This is going to need more work, because CLisp is lacking an interface
to gethostbyname. We may grow a dependency on CFFI.
Mark Wooding [Wed, 17 May 2006 18:58:10 +0000 (19:58 +0100)]
asdf: Provide more package information and dependencies.
Mark Wooding [Wed, 17 May 2006 18:57:55 +0000 (19:57 +0100)]
frontend: Use a temporary package rather than one with a funny name.
Mark Wooding [Mon, 24 Apr 2006 14:42:16 +0000 (15:42 +0100)]
frontend: Track rename of `help-opts'.
Mark Wooding [Sun, 23 Apr 2006 15:23:03 +0000 (16:23 +0100)]
Reformat the docstrings.
Mark Wooding [Sun, 23 Apr 2006 00:47:26 +0000 (01:47 +0100)]
defzoneparse: Parse the body; handle docstring and declarations properly.
Mark Wooding [Sat, 22 Apr 2006 23:59:26 +0000 (00:59 +0100)]
Track rename of `mdw.collect' package.
Mark Wooding [Thu, 20 Apr 2006 21:57:18 +0000 (22:57 +0100)]
Split out low-level network fiddling into a separate package.
Mark Wooding [Thu, 20 Apr 2006 16:10:30 +0000 (17:10 +0100)]
frontend: Simplify using new optparse features.
Mark Wooding [Thu, 20 Apr 2006 13:51:37 +0000 (14:51 +0100)]
zone: Track rename of safely and optparse packages.
Mark Wooding [Thu, 20 Apr 2006 12:25:06 +0000 (13:25 +0100)]
zone: Allow definitions of subnets in defnet
This makes it rather easier to describe the distorted.org.uk zones.
Mark Wooding [Thu, 20 Apr 2006 12:04:06 +0000 (13:04 +0100)]
zone: Make the code prettier.
Mark Wooding [Thu, 20 Apr 2006 10:32:19 +0000 (11:32 +0100)]
Ignore boring files.
Mark Wooding [Thu, 20 Apr 2006 10:31:48 +0000 (11:31 +0100)]
zone: Write output to DOMAIN.zone, rather than just DOMAIN.
It seemed sexy to just name the zone file after the zone, but actually
it causes any number of difficulties.
mdw [Mon, 13 Feb 2006 12:05:04 +0000 (12:05 +0000)]
New zone entry type :net
Automatically puts in records for the interesting factoids about the
network.
mdw [Mon, 13 Feb 2006 12:02:56 +0000 (12:02 +0000)]
Bugfix: Canonify the zone source name.
Expect the variable *default-zone-source* to be already dotified.
mdw [Mon, 13 Feb 2006 11:59:36 +0000 (11:59 +0000)]
frontend: Use CLC rather than ASDF.
mdw [Thu, 25 Aug 2005 09:01:02 +0000 (09:01 +0000)]
Remove random crud.
mdw [Thu, 25 Aug 2005 08:46:39 +0000 (08:46 +0000)]
Initial checkin.