From: Ian Jackson Date: Fri, 8 Nov 2019 22:00:51 +0000 (+0000) Subject: make-secnet-sites: Tainted: Provide hexid and base91 X-Git-Tag: v0.6.0~116 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=secnet.git;a=commitdiff_plain;h=5e6045b9650b4d1c9ced32d70a211916d1e19875 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 --- 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