2 USING: kernel combinators sequences splitting math
3 io.files io.encodings.utf8 random dns.util ;
7 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
9 : resolv-conf-servers ( -- seq )
10 "/etc/resolv.conf" utf8 file-lines
12 [ first "nameserver" = ] filter
15 : resolv-conf-server ( -- ip ) resolv-conf-servers random ;
17 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
19 : cdr-name ( name -- name ) dup CHAR: . index 1+ tail ;
21 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
23 : domain-has-name? ( domain name -- ? )
25 { [ 2dup = ] [ 2drop t ] }
26 { [ 2dup longer? ] [ 2drop f ] }
27 { [ t ] [ cdr-name domain-has-name? ] }
31 : name-in-domain? ( name domain -- ? ) swap domain-has-name? ;
33 ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!