taskotron-trigger: hotfix fedmsg-consumer
This commit is contained in:
parent
0b76dd4cb5
commit
481bdb0209
2 changed files with 60 additions and 0 deletions
|
@ -0,0 +1,57 @@
|
|||
From 922c6f390525faa9a9d65a501a44d8081940194a Mon Sep 17 00:00:00 2001
|
||||
From: Patrick Uiterwijk <puiterwijk@redhat.com>
|
||||
Date: Thu, 1 Dec 2016 11:56:34 +0000
|
||||
Subject: [PATCH] Only check for stomp messages after we decoded any ZMQMessage
|
||||
|
||||
Signed-off-by: Patrick Uiterwijk <puiterwijk@redhat.com>
|
||||
---
|
||||
fedmsg/consumers/__init__.py | 24 ++++++++++++------------
|
||||
1 file changed, 12 insertions(+), 12 deletions(-)
|
||||
|
||||
diff --git a/fedmsg/consumers/__init__.py b/fedmsg/consumers/__init__.py
|
||||
index 88324b1..a12a587 100644
|
||||
--- a/fedmsg/consumers/__init__.py
|
||||
+++ b/fedmsg/consumers/__init__.py
|
||||
@@ -204,16 +204,23 @@ def _make_query(page=1):
|
||||
|
||||
def validate(self, message):
|
||||
""" This needs to raise an exception, caught by moksha. """
|
||||
- # If we're not validating, then everything is valid.
|
||||
- # If this is turned on globally, our child class can override it.
|
||||
- if not self.validate_signatures:
|
||||
- return
|
||||
-
|
||||
if hasattr(message, '__json__'):
|
||||
message = message.__json__()
|
||||
if isinstance(message['body'], basestring):
|
||||
message['body'] = json.loads(message['body'])
|
||||
|
||||
+ # Massage STOMP messages into a more compatible format.
|
||||
+ if 'topic' not in message['body']:
|
||||
+ message['body'] = {
|
||||
+ 'topic': message.get('topic'),
|
||||
+ 'msg': message['body'],
|
||||
+ }
|
||||
+
|
||||
+ # If we're not validating, then everything is valid.
|
||||
+ # If this is turned on globally, our child class can override it.
|
||||
+ if not self.validate_signatures:
|
||||
+ return
|
||||
+
|
||||
# We assume these match inside fedmsg.crypto, so we should enforce it.
|
||||
if not message['topic'] == message['body']['topic']:
|
||||
raise RuntimeWarning("Topic envelope mismatch.")
|
||||
@@ -223,13 +230,6 @@ def validate(self, message):
|
||||
|
||||
def _consume(self, message):
|
||||
|
||||
- # Massage STOMP messages into a more compatible format.
|
||||
- if 'topic' not in message['body']:
|
||||
- message['body'] = {
|
||||
- 'topic': message.get('topic'),
|
||||
- 'msg': message['body'],
|
||||
- }
|
||||
-
|
||||
try:
|
||||
self.validate(message)
|
||||
except RuntimeWarning as e:
|
|
@ -57,5 +57,8 @@
|
|||
- name: copy tmpfiles.d for trigger distgit cache
|
||||
template: src=tmpfiles.d.trigger.conf.j2 dest=/etc/tmpfiles.d/trigger.conf owner=root group=root mode=0644
|
||||
|
||||
- name: Apply hotfix to fedmsg-consumer
|
||||
patch: src=fedmsg-consumer-hotfix.patch dest=/usr/lib/python2.7/site-packages/fedmsg/consumers/__init__.py
|
||||
|
||||
- name: start and enable fedmsg-hub service
|
||||
service: name=fedmsg-hub enabled=yes state=started
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue