]> gitweb.ps.run Git - ps-cgit/blobdiff - filters/email-libravatar.lua
filters: migrate from luacrypto to luaossl
[ps-cgit] / filters / email-libravatar.lua
index a248be419073223e1d457e509a0dfedd955a71cf..7336baf830a16bc4b0c3a59c4f97a229db7e4949 100644 (file)
@@ -3,19 +3,29 @@
 -- prefix in filters.
 --
 -- Requirements:
---     luacrypto >= 0.3
---     <http://mkottman.github.io/luacrypto/>
+--     luaossl
+--     <http://25thandclement.com/~william/projects/luaossl.html>
 --
 
-local crypto = require("crypto")
+local digest = require("openssl.digest")
+
+function md5_hex(input)
+       local b = digest.new("md5"):final(input)
+       local x = ""
+       for i = 1, #b do
+               x = x .. string.format("%.2x", string.byte(b, i))
+       end
+       return x
+end
 
 function filter_open(email, page)
        buffer = ""
-       md5 = crypto.digest("md5", email:sub(2, -2):lower())
+       md5 = md5_hex(email:sub(2, -2):lower())
 end
 
 function filter_close()
-       html("<img src='//cdn.libravatar.org/avatar/" .. md5 .. "?s=13&amp;d=retro' width='13' height='13' alt='Libravatar' /> " .. buffer)
+       baseurl = os.getenv("HTTPS") and "https://seccdn.libravatar.org/" or "http://cdn.libravatar.org/"
+       html("<img src='" .. baseurl .. "avatar/" .. md5 .. "?s=13&amp;d=retro' width='13' height='13' alt='Libravatar' /> " .. buffer)
        return 0
 end