From 06e9b153581a1f1ab425e31493dd979e4e38ab00 Mon Sep 17 00:00:00 2001
From: Felipe Cecagno <fcecagno@gmail.com>
Date: Fri, 17 Aug 2018 00:48:48 -0300
Subject: [PATCH] - update webhooks to use the same message format for bearer
 auth or checksum - make ws port configurable on kurento

---
 bbb-webhooks/callback_emitter.js         | 17 +++++++----------
 bigbluebutton-html5/Dockerfile           |  3 +--
 labs/docker/kurento/Dockerfile           |  7 +++----
 labs/docker/kurento/docker-entrypoint.sh | 16 +++++++++-------
 4 files changed, 20 insertions(+), 23 deletions(-)

diff --git a/bbb-webhooks/callback_emitter.js b/bbb-webhooks/callback_emitter.js
index e62005b97a..b05e55b3e4 100644
--- a/bbb-webhooks/callback_emitter.js
+++ b/bbb-webhooks/callback_emitter.js
@@ -65,10 +65,14 @@ module.exports = class CallbackEmitter extends EventEmitter {
     const sharedSecret = process.env.SHARED_SECRET || config.bbb.sharedSecret;
     const bearer_auth = process.env.BEARER_AUTH || config.bbb.auth2_0;
 
-    if (bearer_auth) {
-      // Send data as a JSON
-      data = "[" + this.message + "]";
+    // data to be sent
+    // note: keep keys in alphabetical order
+    data = {
+      event: "[" + this.message + "]",
+      timestamp: this.timestamp
+    };
 
+    if (bearer_auth) {
       const callbackURL = this.callbackURL;
 
       requestOptions = {
@@ -83,13 +87,6 @@ module.exports = class CallbackEmitter extends EventEmitter {
       };
     }
     else {
-      // data to be sent
-      // note: keep keys in alphabetical order
-      data = {
-        event: "[" + this.message + "]",
-        timestamp: this.timestamp
-      };
-
       // calculate the checksum
       const checksum = Utils.checksum(`${this.callbackURL}${JSON.stringify(data)}${sharedSecret}`);
 
diff --git a/bigbluebutton-html5/Dockerfile b/bigbluebutton-html5/Dockerfile
index bb8d36b01f..8e4b24cb17 100644
--- a/bigbluebutton-html5/Dockerfile
+++ b/bigbluebutton-html5/Dockerfile
@@ -18,8 +18,7 @@ USER meteor
 
 RUN cd /source \
  && meteor npm install \
- && meteor build --directory /app \
- && rm -r /source
+ && meteor build --directory /app
 
 ENV NODE_ENV production
 
diff --git a/labs/docker/kurento/Dockerfile b/labs/docker/kurento/Dockerfile
index 528aa57eb3..ed3d61c803 100644
--- a/labs/docker/kurento/Dockerfile
+++ b/labs/docker/kurento/Dockerfile
@@ -7,21 +7,20 @@ RUN apt-get update \
 RUN wget https://ubuntu.bigbluebutton.org/repo/bigbluebutton.asc -O- | apt-key add - \
  && add-apt-repository "deb https://ubuntu.bigbluebutton.org/xenial-200-dev bigbluebutton-xenial main" \
  && apt-get update \
- && apt-get -y install kurento-media-server \
+ && apt-get -y install kurento-media-server bzip2 jq \
  && apt-get clean \
  && rm -rf /var/lib/apt/lists/*
 
 RUN apt-get update \
- && apt-get install -y bzip2 \
  && apt-get install -y --download-only openh264-gst-plugins-bad-1.5
 
-EXPOSE 8888
-
 COPY ./docker-entrypoint.sh /usr/local/bin/
 COPY ./healthchecker.sh /healthchecker.sh
 
 HEALTHCHECK --start-period=15s --interval=30s --timeout=3s --retries=1 CMD /healthchecker.sh
 
 ENV GST_DEBUG=Kurento*:5
+ENV PORT=8888
 
 ENTRYPOINT ["docker-entrypoint.sh"]
+CMD ["/usr/bin/kurento-media-server"]
diff --git a/labs/docker/kurento/docker-entrypoint.sh b/labs/docker/kurento/docker-entrypoint.sh
index c700df012b..747733084c 100755
--- a/labs/docker/kurento/docker-entrypoint.sh
+++ b/labs/docker/kurento/docker-entrypoint.sh
@@ -1,21 +1,23 @@
-#!/bin/bash -x
-set -e
+#!/bin/bash -e
 
 apt-get install -y openh264-gst-plugins-bad-1.5
 
-echo | tee /etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini
+rm -f /etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini
+touch /etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini
 
 if [ -n "$KMS_TURN_URL" ]; then
-  echo "turnURL=$KMS_TURN_URL" | tee -a /etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini
+  echo "turnURL=$KMS_TURN_URL" >> /etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini
 fi
 
 if [ -n "$KMS_STUN_IP" -a -n "$KMS_STUN_PORT" ]; then
   # Generate WebRtcEndpoint configuration
-  echo "stunServerAddress=$KMS_STUN_IP" | tee -a /etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini
-  echo "stunServerPort=$KMS_STUN_PORT" | tee -a /etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini
+  echo "stunServerAddress=$KMS_STUN_IP" >> /etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini
+  echo "stunServerPort=$KMS_STUN_PORT" >> /etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini
 fi
 
+cat /etc/kurento/kurento.conf.json | sed '/^[ ]*\/\//d' | jq ".mediaServer.net.websocket.port = $PORT" > /etc/kurento/kurento.conf.json
+
 # Remove ipv6 local loop until ipv6 is supported
 cat /etc/hosts | sed '/::1/d' | tee /etc/hosts > /dev/null
 
-exec /usr/bin/kurento-media-server "$@"
+exec "$@"
-- 
GitLab