Update of /cvsroot/hcoop/domtool2/src/plugins In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv25820/src/plugins
Modified Files: bind.sml Log Message: AFSDB and SRV records; TXT records for base domain Index: bind.sml =================================================================== RCS file: /cvsroot/hcoop/domtool2/src/plugins/bind.sml,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** bind.sml 23 Dec 2007 22:41:38 -0000 1.17 --- bind.sml 1 Jan 2008 23:07:50 -0000 1.18 *************** *** 54,57 **** --- 54,60 ---- | DefaultAAAA of string | TXT of string * string + | DefaultTXT of string + | AFSDB of string + | SRV of string * int * int * int * string val record = fn (EApp ((EApp ((EVar "dnsA", _), e1), _), e2), _) => *************** *** 81,84 **** --- 84,95 ---- (SOME v1, SOME v2) => SOME (TXT (v1, v2)) | _ => NONE) + | (EApp ((EVar "dnsDefaultTXT", _), e), _) => + Option.map DefaultTXT (Env.string e) + | (EApp ((EVar "dnsAFSDB", _), e), _) => + Option.map AFSDB (Env.string e) + | (EApp ((EApp ((EApp ((EApp ((EApp ((EVar "dnsSRV", _), e1), _), e2), _), e3), _), e4), _), e5), _) => + (case (Env.string e1, Env.int e2, Env.int e3, Env.int e4, Env.string e5) of + (SOME v1, SOME v2, SOME v3, SOME v4, SOME v5) => SOME (SRV (v1, v2, v3, v4, v5)) + | _ => NONE) | _ => NONE *************** *** 152,155 **** --- 163,194 ---- write (String.translate (fn #"\"" => "\\\"" | ch => str ch) to); write "\"\n") + | DefaultTXT to => (writeDom (); + write ".\t"; + write (Int.toString ttl); + write "\tIN\tTXT\t\""; + write (String.translate (fn #"\"" => "\\\"" | ch => str ch) to); + write "\"\n") + | AFSDB host => (writeDom (); + write ".\t"; + write (Int.toString ttl); + write "\tIN\tAFSDB\t"; + write "1"; + write "\t"; + write host; + write ".\n") + | SRV (from, priority, weight, port, to) => (write from; + write "."; + writeDom (); + write ".\t"; + write (Int.toString ttl); + write "\tIN\tSRV\t"; + write (Int.toString priority); + write "\t"; + write (Int.toString weight); + write "\t"; + write (Int.toString port); + write "\t"; + write to; + write ".\n") end *************** *** 327,329 **** --- 366,380 ---- showEmpty = false}]) + fun validHost_ s = + size s > 0 andalso size s < 20 + andalso CharVector.all (fn ch => Domain.isIdent ch orelse ch = #"-" orelse ch = #"_") s + + fun validSRVDomain s = + size s > 0 andalso size s < 100 + andalso List.all validHost_ (String.fields (fn ch => ch = #".") s) + + val _ = Env.type_one "srv_domain" + Env.string + validSRVDomain + end ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2005. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ hcoop-cvs mailing list hcoop-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hcoop-cvs