From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <6e7c4f29aeb63684583d88faa52cc7d4@plan9.bell-labs.com> From: presotto@plan9.bell-labs.com To: 9fans@cse.psu.edu MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Subject: [9fans] new stuff in sources. Date: Sat, 15 Jun 2002 20:46:20 -0400 Topicbox-Message-UUID: aeedb13e-eaca-11e9-9e20-41e7f4b1d025 I've update libndb and dns on sources.cs.bell-labs.com. libndb: 1) I made the number of cached search responses larger. The caches are flushed if the files they represent are changed. 2) I took out the need for 'ipsubmask=' entries in /lib/ndb. It used to be necessary for ndbiplookup. This routine looks for attributes accociated with an IP address. If it doesn't find the attribute in the entry for the system, it looks in the entries of subnets that contain that system. The search used to work by starting at the class A, B, or C net and working down through successive subnets, steared by the ipsubmask entries. Now we just start with the address and peel back a bit at a time (starting at the lowest order bit) looking for a subnet entry. That means you can now just declare a subnet like: ipnet=quux ip=10.1.1.0 ipmask=255.255.255.0 without having to also declare ipnet=classA ip-10.0.0.0 ipsubmask=255.255.255.0 It should make life easier. It's definitely easier to explain since noone knows what Class A, B, and C IP nets are now that the world is all CIDR. The potential down side is more searching through the database, hence the larger number of cached responses. dns: 1) We used to create a PTR entry for every IP address. We now do it only if there is an SOA record for the subdomain. For example, if we have an soa like dom=9.104.135.in-addr.arpa soa= ns=ns1.cs.bell-labs.com ns=ns2.cs.bell-labs.com then an entry like dom=achille.cs.bell-labs.com ip=135.104.9.2 will automaticly generate a pointer entry like dom=2.9.104.135.in-addr.arpa ptr=achille.cs.bell-labs.com There's an added hack that allows you to generate PTR's ala rfc2317. That RFC tries to deal with delegating reverse lookups for network masks that don't end on a byte boundary. It only works for masks that end in the lowest order address byte. It does let ISP's like Verizon to hand out a handful of addresses to customers and delegate reverse lookups to the customers. The format of the reverse entry is not completely defined. However we'll accept both forms suggested in the RFC. For example, if we have a subnet defined as: ipnet=quux ip=135.104.8.0 ipmask=255.255.255.128 and also the soa dom=0.8.104.135.in-addr.arpa soa= ns=ns1.cs.bell-labs.com ns=ns2.cs.bell-labs.com the entry dom=trex5.cs.bell-labs.com ip=135.105.8.1 would also generate a pointer entry dom=1.0.8.104.135.in-addr.arpa ptr=trex5.cs.bell-labs.com ------------- We've been running this for a few weeks on our systems. Complaints/problems to me.