You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Steve Huston (JIRA)" <qp...@incubator.apache.org> on 2008/10/27 12:10:44 UTC

[jira] Created: (QPID-1403) Add SSL support for C++ Windows broker/client

Add SSL support for C++ Windows broker/client
---------------------------------------------

                 Key: QPID-1403
                 URL: https://issues.apache.org/jira/browse/QPID-1403
             Project: Qpid
          Issue Type: New Feature
          Components: C++ Broker, C++ Client
         Environment: Windows XP+
            Reporter: Steve Huston
            Assignee: Steve Huston
             Fix For: M4


The recently added SSL support in the C++ side should be available to Windows as well. Not yet sure how much architectural work this may be.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (QPID-1403) Add SSL support for C++ Windows broker/client

Posted by "Ffrench Mathilde (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1403?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12689097#action_12689097 ] 

Ffrench Mathilde commented on QPID-1403:
----------------------------------------

Do you know when this feature would be available under windows ? For M5 release ?

> Add SSL support for C++ Windows broker/client
> ---------------------------------------------
>
>                 Key: QPID-1403
>                 URL: https://issues.apache.org/jira/browse/QPID-1403
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker, C++ Client
>    Affects Versions: M4
>         Environment: Windows XP+
>            Reporter: Steve Huston
>            Assignee: Steve Huston
>
> The recently added SSL support in the C++ side should be available to Windows as well. Not yet sure how much architectural work this may be.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Updated: (QPID-1403) Add SSL support for C++ Windows broker/client

Posted by "Steve Huston (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1403?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Steve Huston updated QPID-1403:
-------------------------------

    Fix Version/s:     (was: M4)

This won't be done for M4.

> Add SSL support for C++ Windows broker/client
> ---------------------------------------------
>
>                 Key: QPID-1403
>                 URL: https://issues.apache.org/jira/browse/QPID-1403
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker, C++ Client
>    Affects Versions: M4
>         Environment: Windows XP+
>            Reporter: Steve Huston
>            Assignee: Steve Huston
>
> The recently added SSL support in the C++ side should be available to Windows as well. Not yet sure how much architectural work this may be.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (QPID-1403) Add SSL support for C++ Windows broker/client

Posted by "Steve Huston (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1403?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12689134#action_12689134 ] 

Steve Huston commented on QPID-1403:
------------------------------------

This feature is not currently scheduled for implementation, so which release it will appear in is unknown.

> Add SSL support for C++ Windows broker/client
> ---------------------------------------------
>
>                 Key: QPID-1403
>                 URL: https://issues.apache.org/jira/browse/QPID-1403
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker, C++ Client
>    Affects Versions: M4
>         Environment: Windows XP+
>            Reporter: Steve Huston
>            Assignee: Steve Huston
>
> The recently added SSL support in the C++ side should be available to Windows as well. Not yet sure how much architectural work this may be.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Updated: (QPID-1403) Add SSL support for C++ Windows broker/client

Posted by "Steve Huston (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1403?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Steve Huston updated QPID-1403:
-------------------------------

    Attachment: ssl-windows.patch

Patch for addition of SSL support on Windows.

The major approach difference from the Linux/NSS mechanism is that on Windows Schannel (their SSL facility) the I/O is done by normal socket calls. The negotiation/token processing, as well as encrypt/decrypt operations, are function calls that are made with data to/from the socket. This is in contrast to the NSS way where there is a parallel set of SSL-enabled socket calls.


> Add SSL support for C++ Windows broker/client
> ---------------------------------------------
>
>                 Key: QPID-1403
>                 URL: https://issues.apache.org/jira/browse/QPID-1403
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker, C++ Client
>    Affects Versions: M4
>         Environment: Windows XP+
>            Reporter: Steve Huston
>            Assignee: Steve Huston
>         Attachments: ssl-windows.patch
>
>
> The recently added SSL support in the C++ side should be available to Windows as well. Not yet sure how much architectural work this may be.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Issue Comment Edited: (QPID-1403) Add SSL support for C++ Windows broker/client

Posted by "Ffrench Mathilde (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1403?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12689097#action_12689097 ] 

Ffrench Mathilde edited comment on QPID-1403 at 3/25/09 5:45 AM:
-----------------------------------------------------------------

Do you know when this feature will be available under windows ? For M5 release ?

      was (Author: ffrenchm):
    Do you know when this feature would be available under windows ? For M5 release ?
  
> Add SSL support for C++ Windows broker/client
> ---------------------------------------------
>
>                 Key: QPID-1403
>                 URL: https://issues.apache.org/jira/browse/QPID-1403
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker, C++ Client
>    Affects Versions: M4
>         Environment: Windows XP+
>            Reporter: Steve Huston
>            Assignee: Steve Huston
>
> The recently added SSL support in the C++ side should be available to Windows as well. Not yet sure how much architectural work this may be.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Resolved: (QPID-1403) Add SSL support for C++ Windows broker/client

Posted by "Steve Huston (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1403?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Steve Huston resolved QPID-1403.
--------------------------------

       Resolution: Fixed
    Fix Version/s: 0.7

Re Andrew's comnments 21-Jan-2010:

- I renamed the SslIoShim stuff to [Client|Server]SslAsynchIO as recommended; also moved to one file, SslAsynchIO.{h cpp}

- I kind of like squish() as a name ;-)   - it squishes the remaining bytes to the front.

- I prefixed the windows API calls with ::

- As we discussed on the phone with Gordon, the current SslConnector arrangement is better than just doing another copy-edit-drop of this code. There are already multiple variants of this code with slightly different features and fixes; another one is bad. When you get to the point where you want to actively work on a refactoring in this area, let me know and I'll do my best to help out.

With that, code is committed to trunk r902318

> Add SSL support for C++ Windows broker/client
> ---------------------------------------------
>
>                 Key: QPID-1403
>                 URL: https://issues.apache.org/jira/browse/QPID-1403
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker, C++ Client
>    Affects Versions: M4
>         Environment: Windows XP+
>            Reporter: Steve Huston
>            Assignee: Steve Huston
>             Fix For: 0.7
>
>         Attachments: ssl-windows.patch
>
>
> The recently added SSL support in the C++ side should be available to Windows as well. Not yet sure how much architectural work this may be.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Updated: (QPID-1403) Add SSL support for C++ Windows broker/client

Posted by "Steve Huston (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1403?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Steve Huston updated QPID-1403:
-------------------------------

         Priority: Blocker  (was: Major)
    Fix Version/s: 0.6

This is in progress and nearly done; must be in 0.6

> Add SSL support for C++ Windows broker/client
> ---------------------------------------------
>
>                 Key: QPID-1403
>                 URL: https://issues.apache.org/jira/browse/QPID-1403
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker, C++ Client
>    Affects Versions: M4
>         Environment: Windows XP+
>            Reporter: Steve Huston
>            Assignee: Steve Huston
>            Priority: Blocker
>             Fix For: 0.6
>
>
> The recently added SSL support in the C++ side should be available to Windows as well. Not yet sure how much architectural work this may be.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Commented: (QPID-1403) Add SSL support for C++ Windows broker/client

Posted by "Andrew Stitcher (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1403?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12790839#action_12790839 ] 

Andrew Stitcher commented on QPID-1403:
---------------------------------------

Why is this a blocking bug? It is a new feature - I don't see how a new feature could block a release.

> Add SSL support for C++ Windows broker/client
> ---------------------------------------------
>
>                 Key: QPID-1403
>                 URL: https://issues.apache.org/jira/browse/QPID-1403
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker, C++ Client
>    Affects Versions: M4
>         Environment: Windows XP+
>            Reporter: Steve Huston
>            Assignee: Steve Huston
>            Priority: Blocker
>             Fix For: 0.6
>
>
> The recently added SSL support in the C++ side should be available to Windows as well. Not yet sure how much architectural work this may be.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Commented: (QPID-1403) Add SSL support for C++ Windows broker/client

Posted by "Andrew Stitcher (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1403?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12803522#action_12803522 ] 

Andrew Stitcher commented on QPID-1403:
---------------------------------------

Comments on the patch of 8 Jan 2010:

Naming:

I think you should rename SslIoShim/ClientSslIoShim/ServerSslIoShim to reflect that these are actually all AsynchIO implementations:
So maybe use names: SslAsynchIO/ClientSslAsynchIO etc. 

I like the implementation in SslProtocolFactory except separating the Client and Server IO is somewhat clunky.

I really don't like the way that SslConnector works though, there's a lot of code just to put in place a few necessary interceptions. Also the Connectors were never intended to be inherited from just to implement an interface.

I think this could be handled better by modifying TCPConnector to take an abstract factory that knows how to create AsynchIO/AsyncConnector objects that are relevant for the protocol. Then I'd say it'd be better to recast some of the logic in SslConnector as an implementation of AsynchConnector. Does that make sense? Of course this does mean a change in the protocol plugin API, but an improvement I think.

Long term I'd like to eliminate the distinction between the ..Connector and ..ProtocolFactory plugins and be able to use just one for both client and server - this would likely be descended from the server code which already does both server and client ends.

AsyncIOBufferBase::squish() this could be better named? And as you've added it, perhaps you could make the logic in AsynchIO::unread() use it?

In the windows code: It is the general code convention that all system calls are explicitly called out by being explicitly in the global namespace, viz  ::InitializeSecurityContext() to give the first example I came across.

Personally I'd put both the Client "shim" and the Server "shim" code in the same implementation file (but that's mostly a my own preference)


> Add SSL support for C++ Windows broker/client
> ---------------------------------------------
>
>                 Key: QPID-1403
>                 URL: https://issues.apache.org/jira/browse/QPID-1403
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker, C++ Client
>    Affects Versions: M4
>         Environment: Windows XP+
>            Reporter: Steve Huston
>            Assignee: Steve Huston
>         Attachments: ssl-windows.patch
>
>
> The recently added SSL support in the C++ side should be available to Windows as well. Not yet sure how much architectural work this may be.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Updated: (QPID-1403) Add SSL support for C++ Windows broker/client

Posted by "Steve Huston (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1403?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Steve Huston updated QPID-1403:
-------------------------------

    Attachment:     (was: ssl-windows.patch)

> Add SSL support for C++ Windows broker/client
> ---------------------------------------------
>
>                 Key: QPID-1403
>                 URL: https://issues.apache.org/jira/browse/QPID-1403
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker, C++ Client
>    Affects Versions: M4
>         Environment: Windows XP+
>            Reporter: Steve Huston
>            Assignee: Steve Huston
>
> The recently added SSL support in the C++ side should be available to Windows as well. Not yet sure how much architectural work this may be.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Updated: (QPID-1403) Add SSL support for C++ Windows broker/client

Posted by "Rafael H. Schloming (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1403?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rafael H. Schloming updated QPID-1403:
--------------------------------------

    Affects Version/s: M4

> Add SSL support for C++ Windows broker/client
> ---------------------------------------------
>
>                 Key: QPID-1403
>                 URL: https://issues.apache.org/jira/browse/QPID-1403
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker, C++ Client
>    Affects Versions: M4
>         Environment: Windows XP+
>            Reporter: Steve Huston
>            Assignee: Steve Huston
>             Fix For: M4
>
>
> The recently added SSL support in the C++ side should be available to Windows as well. Not yet sure how much architectural work this may be.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (QPID-1403) Add SSL support for C++ Windows broker/client

Posted by "Steve Huston (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1403?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Steve Huston updated QPID-1403:
-------------------------------

    Attachment: ssl-windows.patch

Revised patch. At this point, the changes applied to the current trunk yield:

- Windows <-> Windows, ok
- Windows client -> Linux server, ok
- Linux client -> Windows server, fail negotiation - certificate chain not trusted

I assume the failure is more of a setup issue than a code correctness issue. I'd like to get interested people together for a review of the attached code.

> Add SSL support for C++ Windows broker/client
> ---------------------------------------------
>
>                 Key: QPID-1403
>                 URL: https://issues.apache.org/jira/browse/QPID-1403
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker, C++ Client
>    Affects Versions: M4
>         Environment: Windows XP+
>            Reporter: Steve Huston
>            Assignee: Steve Huston
>         Attachments: ssl-windows.patch
>
>
> The recently added SSL support in the C++ side should be available to Windows as well. Not yet sure how much architectural work this may be.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org


[jira] Updated: (QPID-1403) Add SSL support for C++ Windows broker/client

Posted by "Andrew Stitcher (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1403?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrew Stitcher updated QPID-1403:
----------------------------------

         Priority: Major  (was: Blocker)
    Fix Version/s:     (was: 0.6)

> Add SSL support for C++ Windows broker/client
> ---------------------------------------------
>
>                 Key: QPID-1403
>                 URL: https://issues.apache.org/jira/browse/QPID-1403
>             Project: Qpid
>          Issue Type: New Feature
>          Components: C++ Broker, C++ Client
>    Affects Versions: M4
>         Environment: Windows XP+
>            Reporter: Steve Huston
>            Assignee: Steve Huston
>
> The recently added SSL support in the C++ side should be available to Windows as well. Not yet sure how much architectural work this may be.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:dev-subscribe@qpid.apache.org