From 97ea36e24bef1b604026372cf7fe6be901123e69 Mon Sep 17 00:00:00 2001 From: Doug Coleman Date: Fri, 8 Oct 2010 19:12:31 -0700 Subject: [PATCH] Support openbsd's resolv.conf syntax --- extra/resolv-conf/resolv-conf.factor | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/extra/resolv-conf/resolv-conf.factor b/extra/resolv-conf/resolv-conf.factor index 4ee0366f45..d8d370a02b 100644 --- a/extra/resolv-conf/resolv-conf.factor +++ b/extra/resolv-conf/resolv-conf.factor @@ -10,20 +10,24 @@ CONSTRUCTOR: network ( ip netmask -- network ) ; TUPLE: options debug? +edns0? +insecure1? +insecure2? { ndots integer initial: 1 } { timeout integer initial: 5 } { attempts integer initial: 2 } -rotate? no-check-names? inet6? ; +rotate? no-check-names? inet6? tcp? ; CONSTRUCTOR: options ( -- options ) ; -TUPLE: resolv.conf nameserver domain search sortlist options ; +TUPLE: resolv.conf nameserver domain lookup search sortlist options ; CONSTRUCTOR: resolv.conf ( -- resolv.conf ) V{ } clone >>nameserver V{ } clone >>domain V{ } clone >>search V{ } clone >>sortlist + V{ } clone >>lookup >>options ; > push-all ; +: parse-lookup ( resolv.conf string -- resolv.conf ) + split-line lookup>> push-all ; + : parse-search ( resolv.conf string -- resolv.conf ) split-line search>> push-all ; @@ -70,6 +77,7 @@ ERROR: unsupported-resolv.conf-line string ; { { [ "nameserver" ?head ] [ parse-nameserver ] } { [ "domain" ?head ] [ parse-domain ] } + { [ "lookup" ?head ] [ parse-lookup ] } { [ "search" ?head ] [ parse-search ] } { [ "sortlist" ?head ] [ parse-sortlist ] } { [ "options" ?head ] [ parse-option ] }