Software / code / prosody
Annotate
util/hashes.lua @ 371:0dc5819660e8
Import initial configmanager, not sure if it works yet, but it does pass the unit tests ;)
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Fri, 21 Nov 2008 05:47:27 +0000 |
| parent | 194:4ea1ec218976 |
| child | 407:7ae008771391 |
| rev | line source |
|---|---|
| 148 | 1 |
| 2 local softreq = function (...) return select(2, pcall(require, ...)); end | |
|
155
8c9a9f6f6455
Show error when no MD5 lib available
Matthew Wild <mwild1@gmail.com>
parents:
148
diff
changeset
|
3 local error = error; |
| 148 | 4 |
| 5 module "hashes" | |
| 6 | |
| 7 local md5 = softreq("md5"); | |
| 8 if md5 then | |
| 9 if md5.digest then | |
| 10 local md5_digest = md5.digest; | |
| 11 local sha1_digest = sha1.digest; | |
| 12 function _M.md5(input) | |
| 13 return md5_digest(input); | |
| 14 end | |
| 15 function _M.sha1(input) | |
| 16 return sha1_digest(input); | |
| 17 end | |
| 18 elseif md5.sumhexa then | |
| 19 local md5_sumhexa = md5.sumhexa; | |
| 20 function _M.md5(input) | |
| 21 return md5_sumhexa(input); | |
| 22 end | |
| 23 else | |
| 24 error("md5 library found, but unrecognised... no hash functions will be available", 0); | |
| 25 end | |
| 194 | 26 else |
| 27 error("No md5 library found. Install md5 using luarocks, for example", 0); | |
| 148 | 28 end |
| 29 | |
| 30 return _M; |