Remove building with NOCRYPTO option
[minix.git] / external / bsd / bind / dist / contrib / query-loc-0.4.0 / ALGO
blob4695dc14c7fe9bd63238ebbecdfaa293ca435b4c
1 Just for info, can be out of date.
4 RFC 1876, 5.2, specially 5.2.3
6 Important points:
8 - LOC RRs are always attached to a *name*.
9 - we can have two (or more) RRs for one address, one more specific than the other
11 main
12  if (host is a name) 
13         getLOCbyname
14  else # host is an IP address   
15         gethostbyaddr
16         if (name) 
17                 getLOCbyname
18                 # If there is none, do not search. We assume the above was sufficient          # (But check 5.2.2)
19         else
20                 getLOCbyaddress
22 getLOCbyname (host) 
23         get LOC for host
24         if (it exists)
25                 OK
26         else
27                 get all A records of the name
28                 foreach A record
29                         getLOCbyaddress
30                         OK at the first one found 
31                                 # we assume they are consistent
32                 END
34 getLOCbyaddress (address)
35         # May receive a mask. Otherwise, deduce it from the class
36         makeNetAddress
37         getLOCbynetwork
39 getLOCbynetwork
40         get PTR and A for it
41         if (exist)
42                 getLOCbyname
43         ******* DIFFICULT : we have to manage a stack. See the code
44                 makeNetAddress (level--)
45                 getLOCbynetwork
46         else
47                 END
48