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(