Skip to content

Commit

Permalink
pyamqp/librabbitmq now uses 5671 as default port if SSL is enabled. C…
Browse files Browse the repository at this point in the history
…loses #459
  • Loading branch information
ask committed Apr 17, 2015
1 parent d720d33 commit 53f1066
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 7 deletions.
16 changes: 13 additions & 3 deletions kombu/transport/librabbitmq.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
so make sure you are using librabbitmq 1.5 when using rabbitmq > 3.3
"""
DEFAULT_PORT = 5672
DEFAULT_SSL_PORT = 5671

NO_SSL_ERROR = """\
ssl not supported by librabbitmq, please use pyamqp:// or stunnel\
Expand Down Expand Up @@ -71,6 +72,8 @@ class Transport(base.Transport):
Connection = Connection

default_port = DEFAULT_PORT
default_ssl_port = DEFAULT_SSL_PORT

connection_errors = (
base.Transport.connection_errors + (
ConnectionError, socket.error, IOError, OSError)
Expand All @@ -86,6 +89,8 @@ class Transport(base.Transport):
def __init__(self, client, **kwargs):
self.client = client
self.default_port = kwargs.get('default_port') or self.default_port
self.default_ssl_port = (kwargs.get('default_ssl_port') or
self.default_ssl_port)
self.__reader = None

def driver_version(self):
Expand Down Expand Up @@ -161,6 +166,11 @@ def qos_semantics_matches_spec(self, connection):

@property
def default_connection_params(self):
return {'userid': 'guest', 'password': 'guest',
'port': self.default_port,
'hostname': 'localhost', 'login_method': 'AMQPLAIN'}
return {
'userid': 'guest',
'password': 'guest',
'port': (self.default_ssl_port if self.client.ssl
else self.default_port),
'hostname': 'localhost',
'login_method': 'AMQPLAIN',
}
17 changes: 13 additions & 4 deletions kombu/transport/pyamqp.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
from . import base

DEFAULT_PORT = 5672
DEFAULT_SSL_PORT = 5671


class Message(base.Message):
Expand Down Expand Up @@ -63,6 +64,7 @@ class Transport(base.Transport):
Connection = Connection

default_port = DEFAULT_PORT
default_ssl_port = DEFAULT_SSL_PORT

# it's very annoying that pyamqp sometimes raises AttributeError
# if the connection is lost, but nothing we can do about that here.
Expand All @@ -77,9 +79,11 @@ class Transport(base.Transport):
supports_heartbeats = True
supports_ev = True

def __init__(self, client, default_port=None, **kwargs):
def __init__(self, client,
default_port=None, default_ssl_port=None, **kwargs):
self.client = client
self.default_port = default_port or self.default_port
self.default_ssl_port = default_ssl_port or self.default_ssl_port

def driver_version(self):
return amqp.__version__
Expand Down Expand Up @@ -138,9 +142,14 @@ def qos_semantics_matches_spec(self, connection):

@property
def default_connection_params(self):
return {'userid': 'guest', 'password': 'guest',
'port': self.default_port,
'hostname': 'localhost', 'login_method': 'AMQPLAIN'}
return {
'userid': 'guest',
'password': 'guest',
'port': (self.default_ssl_port if self.client.ssl
else self.default_port),
'hostname': 'localhost',
'login_method': 'AMQPLAIN',
}

def get_manager(self, *args, **kwargs):
return get_manager(self.client, *args, **kwargs)

0 comments on commit 53f1066

Please sign in to comment.