From 5e6045b9650b4d1c9ced32d70a211916d1e19875 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Fri, 8 Nov 2019 22:00:51 +0000 Subject: [PATCH] make-secnet-sites: Tainted: Provide hexid and base91 These will be used for new-style public key specifictions. No callers yet. Signed-off-by: Ian Jackson --- make-secnet-sites | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/make-secnet-sites b/make-secnet-sites index 2fd182e..2c05433 100755 --- a/make-secnet-sites +++ b/make-secnet-sites @@ -182,6 +182,13 @@ class Tainted: % (minn,maxx)) return self._rtnval(ok,v,minn) + def hexid(self,byteslen,what): + ok=self._re_ok(Tainted.bad_hex,what,byteslen*2) + if ok: + if len(self._s) < byteslen*2: + ok=self._bad(what,'too short') + return self._rtn(ok,ifbad='00'*byteslen) + bad_host=re.compile(r'[^-\][_.:0-9a-zA-Z]') # We permit _ so we can refer to special non-host domains # which have A and AAAA RRs. This is a crude check and we may @@ -205,6 +212,11 @@ class Tainted: ok=self._re_ok(Tainted.bad_groupname,'group name',64) return self._rtn(ok) + bad_base91=re.compile(r'[^!-~]|[\'\"\\]') + def base91(self,what='base91'): + ok=self._re_ok(Tainted.bad_base91,what,4096) + return self._rtn(ok) + def parse_args(): global service global inputfile -- 2.30.2