aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2018-10-07 11:10:42 +0200
committerHarald Welte <laforge@gnumonks.org>2018-10-07 11:15:00 +0200
commita02280fa7707fbaaa4b169752d2a5e5943bd9932 (patch)
tree69057991272b149a4dc12a45c75582c3861a46c4
parent9b6bfccdd791cb2e8ac7e4dbdf2949b5b303423e (diff)
redmine: Fix openid
For some reason, redmine:3.4 ships with ancient (2014) ruby-openid, which is no longer compatible with the way how ruby handles HMAC. Change-Id: I60f6f1ede059accf6b29891abcfe3b2529744e8a
-rw-r--r--redmine/Dockerfile3
-rw-r--r--redmine/hmac.diff21
2 files changed, 24 insertions, 0 deletions
diff --git a/redmine/Dockerfile b/redmine/Dockerfile
index 25f6308..488d6f4 100644
--- a/redmine/Dockerfile
+++ b/redmine/Dockerfile
@@ -7,3 +7,6 @@ RUN apt-get update && \
mscgen \
patch && \
apt-get clean
+
+ADD hmac.diff /tmp/hmac.diff
+RUN cd / && patch -p0 < /tmp/hmac.diff
diff --git a/redmine/hmac.diff b/redmine/hmac.diff
new file mode 100644
index 0000000..197960b
--- /dev/null
+++ b/redmine/hmac.diff
@@ -0,0 +1,21 @@
+--- usr/local/bundle/gems/ruby-openid-2.3.0/lib/openid/cryptutil.rb.old 2018-10-07 08:53:33.612724431 +0000
++++ usr/local/bundle/gems/ruby-openid-2.3.0/lib/openid/cryptutil.rb 2018-10-07 08:54:03.016525355 +0000
+@@ -39,6 +39,6 @@
+ def CryptUtil.hmac_sha1(key, text)
+- if Digest.const_defined? :HMAC
+- Digest::HMAC.new(key,Digest::SHA1).update(text).digest
++ if defined? OpenSSL
++ OpenSSL::HMAC.digest(OpenSSL::Digest::SHA1.new, key, text)
+ else
+ return HMAC::SHA1.digest(key, text)
+ end
+@@ -50,7 +50,7 @@
+
+ def CryptUtil.hmac_sha256(key, text)
+- if Digest.const_defined? :HMAC
+- Digest::HMAC.new(key,Digest::SHA256).update(text).digest
++ if defined? OpenSSL
++ OpenSSL::HMAC.digest(OpenSSL::Digest::SHA256.new, key, text)
+ else
+ return HMAC::SHA256.digest(key, text)
+ end