I have debugged the python management part which gets the attribute and it 
seems to be not reading them from the json config file as it is supposed to. Am 
I missing something?

python/qpid_dispatch/management/entity.py (Added code to print attributed to 
file)
class EntityBase(object):
    """
    A collection of named attributes.

    Attribute access:
    - via index operator: entity['foo']
    - as python attributes: entity.foo (only if attribute name is a legal 
python identitfier
      after replacing '-' with '_')

    @ivar attributes: Map of attribute values for this entity.

    NOTE: EntityBase does not itself implement the python map protocol because 
map
    methods (in particular 'update') can clash with AMQP methods and attributes.
    """

    def __init__(self, attributes=None, **kwargs):
        self.__dict__['attributes'] = {}
        if attributes:
            file = open("py.log", "a")
            for k, v in attributes.iteritems():
                file.write("Attribute: %s = %s\n" %(k,v))
                self.attributes[k] = v
                self.__dict__[self._pyname(k)] = v
            file.close()
        for k, v in kwargs.iteritems():
            self._set(k, v)


py.log
Attribute: stripAnnotations = both
Attribute: requireSsl = 0
Attribute: idleTimeoutSeconds = 16
Attribute: host = 127.0.0.1
Attribute: cost = 1
Attribute: port = 10399
Attribute: addr = 0.0.0.0
Attribute: saslMechanisms = ANONYMOUS
Attribute: maxFrameSize = 16384
Attribute: requireEncryption = False
Attribute: role = normal
Attribute: authenticatePeer = 0
Attribute: type = org.apache.qpid.dispatch.listener


Regards,
Adel

> From: [email protected]
> To: [email protected]
> Subject: RE: [Qpid-dispatch] Duplication between sslProfile and connector 
> options
> Date: Mon, 20 Jun 2016 15:02:01 +0200
> 
> I found something which might be interesting. Actually the config of the 
> Listener is not taken into consideration. 
> With the config you proposed, if you check the below log in the dispatcher, 
> the parameters are not taken into consideration. For example, the requiresSSL 
> is always False although we have set it to "yes"
> 
> Log line:
> Mon Jun 20 14:59:10 2016 AGENT (debug) Add entity: 
> ListenerEntity(addr=0.0.0.0, authenticatePeer=False, cost=1, host=127.0.0.1, 
> identity=listener/127.0.0.1:10399, idleTimeoutSeconds=16, maxFrameSize=16384, 
> port=10399, requireEncryption=False, requireSsl=False, role=normal, 
> saslMechanisms=ANONYMOUS, stripAnnotations=both, 
> type=org.apache.qpid.dispatch.listener)
> 
> Regards,
> Adel
> 
> > From: [email protected]
> > To: [email protected]
> > Subject: RE: [Qpid-dispatch] Duplication between sslProfile and connector 
> > options
> > Date: Mon, 20 Jun 2016 12:56:02 +0200
> > 
> > Hello,
> > 
> > I took the latest available dispatcher version (0.6.0-RC4) and replayed my 
> > test and tried to send a message using a JMS producer.
> > The connection is failing at the level of the handshake. I also have the 
> > SSL debug output java side. On the dispatcher side, I can see that it is 
> > receiving an incomming connection.
> > 
> > PS: I can still connect using plain AMQP which works correctly. Shouldn't 
> > requireSsl prohibit access using amqp connctions and only allow amqps 
> > connection?
> > 
> > Dispatcher config
> > container {
> >         worker-threads: 4
> >         containerName: qpid.dispatch.router1
> > }
> > 
> > ssl-profile {
> >     name: ssl-profile-name
> >     certFile: cert_lx.pem
> >     keyFile: key_lx.pem
> > }
> > 
> > listener {
> >     host: 0.0.0.0
> >     port: 10399
> >     sasl-mechanisms: ANONYMOUS
> >     ssl-profile: ssl-profile-name
> >     authenticatePeer: no
> >     requireSsl: yes
> > }
> > 
> > router {
> >         mode: interior
> >         routerId: router1
> >         helloInterval: 60
> >         helloMaxAge: 180
> > }
> > 
> > log {
> >         module: DEFAULT
> >         enable: debug+
> >         source: false
> >         output: dispatch.10399.log
> > }
> > 
> > JMS Client code
> > System.setProperty("javax.net.ssl.trustStore", 
> > "qpidJavaBrokerTrustStore_linux");
> > System.setProperty("javax.net.debug", "ssl");
> > 
> > ConnectionFactory connectionFactory = new 
> > JmsConnectionFactory("amqps://my_host:10399");
> > Connection connection = connectionFactory.createConnection();Dispatcher log
> > Mon Jun 20 12:52:45 2016 SERVER (debug) Accepting incoming connection from 
> > HOSTNAME:63045 to 0.0.0.0:10399
> > 
> > JMS Client log with SSL debug
> > ...
> > *** ClientHello, TLSv1.2
> > RandomCookie:  GMT: 1466354171 bytes = { 248, 170, 229, 244, 118, 59, 153, 
> > 155, 21, 89, 4, 185, 137, 154, 73, 114, 21, 226, 79, 55, 146, 199, 75, 60, 
> > 207, 41, 22, 42 }
> > Session ID:  {}
> > Cipher Suites: [TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256, 
> > TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA256, 
> > TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256, 
> > TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256, TLS_DHE_RSA_WITH_AES_128_CBC_SHA256, 
> > TLS_DHE_DSS_WITH_AES_128_CBC_SHA256, TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA, 
> > TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_128_CBC_SHA, 
> > TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA, TLS_ECDH_RSA_WITH_AES_128_CBC_SHA, 
> > TLS_DHE_RSA_WITH_AES_128_CBC_SHA, TLS_DHE_DSS_WITH_AES_128_CBC_SHA, 
> > TLS_ECDHE_ECDSA_WITH_RC4_128_SHA, TLS_ECDHE_RSA_WITH_RC4_128_SHA, 
> > SSL_RSA_WITH_RC4_128_SHA, TLS_ECDH_ECDSA_WITH_RC4_128_SHA, 
> > TLS_ECDH_RSA_WITH_RC4_128_SHA, TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA, 
> > TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, 
> > TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA, 
> > SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA, 
> > SSL_RSA_WITH_RC4_128_MD5, TLS_EMPTY_RENEGOTIATION_INFO_SCSV]
> > Compression Methods:  { 0 }
> > Extension elliptic_curves, curve names: {secp256r1, sect163k1, sect163r2, 
> > secp192r1, secp224r1, sect233k1, sect233r1, sect283k1, sect283r1, 
> > secp384r1, sect409k1, sect409r1, secp521r1, sect571k1, sect571r1, 
> > secp160k1, secp160r1, secp160r2, sect163r1, secp192k1, sect193r1, 
> > sect193r2, secp224k1, sect239k1, secp256k1}
> > Extension ec_point_formats, formats: [uncompressed]
> > Extension signature_algorithms, signature_algorithms: SHA512withECDSA, 
> > SHA512withRSA, SHA384withECDSA, SHA384withRSA, SHA256withECDSA, 
> > SHA256withRSA, SHA224withECDSA, SHA224withRSA, SHA1withECDSA, SHA1withRSA, 
> > SHA1withDSA, MD5withRSA
> > ***
> > nioEventLoopGroup-2-1, WRITE: TLSv1.2 Handshake, length = 193
> > 20 juin 2016 12:52:43,925 DEBUG ResourceLeakDetector - 
> > -Dio.netty.leakDetectionLevel: simple
> > nioEventLoopGroup-2-1, called closeOutbound()
> > nioEventLoopGroup-2-1, closeOutboundInternal()
> > nioEventLoopGroup-2-1, SEND TLSv1 ALERT:  warning, description = 
> > close_notify
> > nioEventLoopGroup-2-1, WRITE: TLSv1 Alert, length = 2
> > nioEventLoopGroup-2-1, called closeInbound()
> > nioEventLoopGroup-2-1, fatal error: 80: Inbound closed before receiving 
> > peer's close_notify: possible truncation attack?
> > javax.net.ssl.SSLException: Inbound closed before receiving peer's 
> > close_notify: possible truncation attack?
> > nioEventLoopGroup-2-1, SEND TLSv1 ALERT:  fatal, description = 
> > internal_error
> > nioEventLoopGroup-2-1, Exception sending alert: java.io.IOException: writer 
> > side was already closed.
> > 20 juin 2016 12:52:43,941 DEBUG SslHandler - Failed to complete handshake
> > java.nio.channels.ClosedChannelException
> > 20 juin 2016 12:52:43,942 ERROR JmsConnectionFactory - Failed to create JMS 
> > Provider instance for: amqps
> > 
> > Regards,
> > Adel
> > 
> > > Subject: Re: [Qpid-dispatch] Duplication between sslProfile and connector 
> > > options
> > > From: [email protected]
> > > To: [email protected]
> > > Date: Tue, 14 Jun 2016 13:53:35 -0400
> > > 
> > > On Fri, 2016-06-10 at 16:47 +0200, Adel Boutros wrote:
> > > > 
> > > > 
> > > > The page you provided suits my needs.
> > > 
> > > FYI, the real authority for dispatch configuration is:
> > > 
> > >   python/qpid_dispatch/management/qdrouter.json 
> > > 
> > > The man pages and configuration chapter are generated from that and are
> > > easier to read, but they have some hand-written sections that are out
> > > of date (all fixed or being fixed I think.)
> > > 
> > > > However, I have a problem running SSL. I have configured the
> > > > dispatcher (0.6.0 RC 4) as follows:
> > > > ssl-profile {
> > > >     name: ssl-profile-name    certFile:
> > > > CERTIFICATE_DIR/cert_lx.pem    keyFile: PRIVATE_KEY_DIR/key_lx.pem}
> > > > listener {    host: 0.0.0.0    port: 10399    sasl-mechanisms:
> > > > ANONYMOUS    ssl-profile: ssl-profile-name    requirePeerAuth:
> > > > no    requireSsl: yes}
> > > > Yet, I cannot even cannot using qdmanage:
> > > > qdmanage --ssl-certificate=CERTIFICATE_DIR/cert_lx.pem --ssl-
> > > > key=PRIVATE_KEY_DIR/key_lx.pem -b amqps://0.0.0.0:10399 create --
> > > > type=autoLink addr=queue dir=out connection=localhost.5672.connector
> > > > name=localhost.5672.queue
> > > > 
> > > > Exception client-side:
> > > > SSLUnavailable:
> > > > 
> > > > Weird incomplete message, no?
> > > > 
> > > > Regards,
> > > > Adel
> > > > 
> > > > > 
> > > > > Date: Fri, 10 Jun 2016 10:11:25 -0400
> > > > > From: [email protected]
> > > > > To: [email protected]
> > > > > Subject: Re: [Qpid-dispatch] Duplication between sslProfile and
> > > > > connector options
> > > > > 
> > > > > Hi Adel,
> > > > >     You can find the entire list of entities and attributes here - 
> > > > > 
> > > > > http://qpid.apache.org/releases/qpid-dispatch-master/man/qdrouterd.
> > > > > conf.html
> > > > > 
> > > > > I will purge the book of dashed entity/attribute names on the
> > > > > master branch. I have entered a JIRA for this so it can be tracked
> > > > > - 
> > > > > 
> > > > > https://issues.apache.org/jira/browse/DISPATCH-377
> > > > > 
> > > > > Thanks.
> > > > > 
> > > > > ----- Original Message -----
> > > > > > 
> > > > > > From: "Adel Boutros" <[email protected]>
> > > > > > To: [email protected]
> > > > > > Sent: Friday, June 10, 2016 9:43:38 AM
> > > > > > Subject: RE: [Qpid-dispatch] Duplication between sslProfile and
> > > > > > connector options
> > > > > > 
> > > > > > One last section, where in the book can I find the fields for
> > > > > > ssl-profile
> > > > > > configuration? I searched in Configuration Entities and found
> > > > > > everything
> > > > > > except "ssl-profile" fields.
> > > > > > > 
> > > > > > > From: [email protected]
> > > > > > > To: [email protected]
> > > > > > > Subject: RE: [Qpid-dispatch] Duplication between sslProfile and
> > > > > > > connector
> > > > > > > options
> > > > > > > Date: Fri, 10 Jun 2016 15:39:13 +0200
> > > > > > > 
> > > > > > > Thank you Ganesh,
> > > > > > > Is this documented somewhere? Will the dashed properties be
> > > > > > > removed from
> > > > > > > the Book to avoid such confusion in the future?
> > > > > > > Regards,Adel
> > > > > > > 
> > > > > > > > 
> > > > > > > > Date: Fri, 10 Jun 2016 08:30:15 -0400
> > > > > > > > From: [email protected]
> > > > > > > > To: [email protected]
> > > > > > > > Subject: Re: [Qpid-dispatch] Duplication between sslProfile
> > > > > > > > and connector
> > > > > > > > options
> > > > > > > > 
> > > > > > > > Hi Adel,
> > > > > > > >    Going forward please use the camelCase and abandon using
> > > > > > > > dashed
> > > > > > > >    properties (like cert-file). Following is an example of
> > > > > > > > the *correct*
> > > > > > > >    way to use certFile
> > > > > > > > 
> > > > > > > > sslProfile {
> > > > > > > >     certFile: /home/gmurthy/opensource/server-certificate.pem
> > > > > > > >     keyFile: /home/gmurthy/opensource//server-private-key.pem
> > > > > > > >     password: some-password
> > > > > > > >     name: client-ssl-profile
> > > > > > > >     certDb: /home/gmurthy/opensource/ca-certificate.pem
> > > > > > > > }
> > > > > > > > 
> > > > > > > > connector {
> > > > > > > >     addr: 127.0.0.1
> > > > > > > >     role: inter-router
> > > > > > > >     sslProfile: client-ssl-profile # This connector will use
> > > > > > > > the
> > > > > > > >     sslProfile with the name client-ssl-profile
> > > > > > > >     port: 24976
> > > > > > > > }
> > > > > > > > 
> > > > > > > > Notice above that we specified certFile in only one place
> > > > > > > > (inside the
> > > > > > > > sslProfile)
> > > > > > > > 
> > > > > > > > Thanks.
> > > > > > > > 
> > > > > > > > ----- Original Message -----
> > > > > > > > > 
> > > > > > > > > From: "Adel Boutros" <[email protected]>
> > > > > > > > > To: [email protected]
> > > > > > > > > Sent: Friday, June 10, 2016 6:32:06 AM
> > > > > > > > > Subject: [Qpid-dispatch] Duplication between sslProfile and
> > > > > > > > > connector
> > > > > > > > > options
> > > > > > > > > 
> > > > > > > > > Hello guys,
> > > > > > > > > In the ssl-profile, we can define some options such as
> > > > > > > > > "cert-file".
> > > > > > > > > When we
> > > > > > > > > define a connector, we can provide the name of ssl-profile
> > > > > > > > > and we can
> > > > > > > > > set
> > > > > > > > > "certFile". What is the behavior if we defined a cert-file
> > > > > > > > > in the
> > > > > > > > > ssl-profile and set the certFile property?
> > > > > > > > > Is setting one of them enough? Or do we really need to set
> > > > > > > > > both?
> > > > > > > > > Regards,Adel
> > > > > > > > -----------------------------------------------------------
> > > > > > > > ----------
> > > > > > > > To unsubscribe, e-mail: [email protected]
> > > > > > > > For additional commands, e-mail: [email protected]
> > > > > > > > 
> > > > > > >                                     
> > > > > -----------------------------------------------------------------
> > > > > ----
> > > > > To unsubscribe, e-mail: [email protected]
> > > > > For additional commands, e-mail: [email protected]
> > > > > 
> > > >                                           
> > > 
> > > 
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [email protected]
> > > For additional commands, e-mail: [email protected]
> > > 
> >                                       
>                                         
                                          

Reply via email to