commit 41733e58d677273150bfe02a12f12143bd0f33b8
parent 9041d5d63a24aa8cc8e763caa27e0bb707dc9f86
Author: Daniel Barlow <dan@telent.net>
Date: Wed, 28 Aug 2024 07:20:07 +0100
remove unused code, tidy string parsing
Diffstat:
1 file changed, 5 insertions(+), 13 deletions(-)
diff --git a/pkgs/tangc/tangc.fnl b/pkgs/tangc/tangc.fnl
@@ -13,23 +13,18 @@
(pid status) (rshift (band status 0xff00) 8)
(nil errno) (error (.. "waitpid: " errno))))
-(fn min [a b] (if (< a b) a b))
-
-(fn trace [s] (print :TRACE s) s)
-
(fn write-all [fd str]
(let [written (ll.write fd str)]
(if (< written (# str))
(write-all fd (string.sub str (+ written 1) -1)))))
-
(fn jose [params inputstr]
(let [env (ll.environ)
(pid in out) (popen2 (os.getenv "JOSE_BIN") params env)]
- ;(print "exec " (os.getenv "JOSE_BIN") (view params))
- ;(print "writing")
+ ;; be careful if using this code for commands othert than jose: it
+ ;; may deadlock if we write more than 8k and the command doesn't
+ ;; read it.
(when inputstr (write-all in inputstr))
- ;(print :written)
(ll.close in)
(let [output
(accumulate [o ""
@@ -64,7 +59,7 @@
(fn jwe-dec [jwk ph undigested]
(let [(exitcode plaintext)
(jose ["jose" "jwe" "dec" "-k-" "-i-"]
- (.. (json.encode jwk) ph undigested))]
+ (.. (json.encode jwk) ph "." undigested))]
(if (= exitcode 0)
plaintext
(error (.. "Error calling jwe dec: " exitcode " / " plaintext )))))
@@ -94,13 +89,10 @@
"application/x-www-form-urlencoded"
body)))
-
(fn run []
(let [b64 (base64 :url)
raw (: (io.input) :read "*a")
- dot (string.find raw "." 1 true)
- ph (string.sub raw 1 dot)
- undigested (string.sub raw (+ 1 dot) -1)
+ (_ _ ph undigested) (string.find raw "(.-)%.(.+)")
jwe (json.decode (b64:decode ph))
{ : srv : crv : clt : kid : url} (parse-jwe jwe)
eph (jwk-generate crv)