From 39ea14202e1bcf4dbee6c3d1435a2be1151c60f0 Mon Sep 17 00:00:00 2001 From: kobayashi Date: Wed, 29 Apr 2020 00:06:26 -0400 Subject: [PATCH] Fix 4549 webhook body encode in utf-8 --- docs/release-notes/version-2.8.md | 1 + netbox/extras/webhooks.py | 2 +- netbox/extras/webhooks_worker.py | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/release-notes/version-2.8.md b/docs/release-notes/version-2.8.md index 5b73cc85d..8f95141ca 100644 --- a/docs/release-notes/version-2.8.md +++ b/docs/release-notes/version-2.8.md @@ -11,6 +11,7 @@ ### Bug Fixes * [#4527](https://github.com/netbox-community/netbox/issues/4527) - Fix assignment of certain tags to config contexts +* [#4549](https://github.com/netbox-community/netbox/issues/4549) - Fix encoding unicode webhook body data --- diff --git a/netbox/extras/webhooks.py b/netbox/extras/webhooks.py index fdf69d6d5..8a7a07560 100644 --- a/netbox/extras/webhooks.py +++ b/netbox/extras/webhooks.py @@ -17,7 +17,7 @@ def generate_signature(request_body, secret): """ hmac_prep = hmac.new( key=secret.encode('utf8'), - msg=request_body.encode('utf8'), + msg=request_body, digestmod=hashlib.sha512 ) return hmac_prep.hexdigest() diff --git a/netbox/extras/webhooks_worker.py b/netbox/extras/webhooks_worker.py index 1b1b76dd9..15913c899 100644 --- a/netbox/extras/webhooks_worker.py +++ b/netbox/extras/webhooks_worker.py @@ -46,7 +46,7 @@ def process_webhook(webhook, data, model_name, event, timestamp, username, reque 'method': webhook.http_method, 'url': webhook.payload_url, 'headers': headers, - 'data': body, + 'data': body.encode('utf8'), } logger.info( "Sending {} request to {} ({} {})".format(