]> gitweb.factorcode.org Git - factor.git/blob - unmaintained/dns/misc/misc.factor
72f553c0f773daecd69fd6705937977fc250075f
[factor.git] / unmaintained / dns / misc / misc.factor
1
2 USING: kernel combinators sequences splitting math 
3        io.files io.encodings.utf8 random dns.util ;
4
5 IN: dns.misc
6
7 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
8
9 : resolv-conf-servers ( -- seq )
10   "/etc/resolv.conf" utf8 file-lines
11   [ " " split ] map
12   [ first "nameserver" = ] filter
13   [ second ] map ;
14
15 : resolv-conf-server ( -- ip ) resolv-conf-servers random ;
16
17 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
18
19 : cdr-name ( name -- name ) dup CHAR: . index 1 + tail ;
20
21 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
22
23 : domain-has-name? ( domain name -- ? )
24     {
25       { [ 2dup =       ] [ 2drop t ] }
26       { [ 2dup longer? ] [ 2drop f ] }
27       { [ t            ] [ cdr-name domain-has-name? ] }
28     }
29   cond ;
30
31 : name-in-domain? ( name domain -- ? ) swap domain-has-name? ;
32
33 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
34