<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 19:54:48 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>OpenDaylight JIRA</title>
    <link>https://jira.opendaylight.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>8.20.10</version>
        <build-number>820010</build-number>
        <build-date>22-06-2022</build-date>
    </build-info>


<item>
            <title>[CONTROLLER-1147] websocket does not implement  the ws:// protocol defined in the URI scheme in rfc6455</title>
                <link>https://jira.opendaylight.org/browse/CONTROLLER-1147</link>
                <project id="10113" key="CONTROLLER">controller</project>
                    <description>&lt;p&gt;Tested Helium SU2&lt;/p&gt;

&lt;p&gt;Steps&lt;br/&gt;
I followed &lt;a href=&quot;https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL:Restconf:Change_event_notification_subscription&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://wiki.opendaylight.org/view/OpenDaylight_Controller:MD-SAL:Restconf:Change_event_notification_subscription&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I subscribed to &lt;/p&gt;

&lt;p&gt;&quot;http://&amp;lt;host&amp;gt;:8181/opendaylight-inventory:nodes/datastore=CONFIGURATION/scope=BASE&quot; &lt;/p&gt;

&lt;p&gt;In the wiki I couldn&apos;t initially find the URI to point the websocket client at because I expected a WS:// protocol as described in section 3  &lt;a href=&quot;http://tools.ietf.org/html/rfc6455&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://tools.ietf.org/html/rfc6455&lt;/a&gt;&lt;br/&gt;
*****************&lt;br/&gt;
3. WebSocket URIs&lt;/p&gt;


&lt;p&gt;   This specification defines two URI schemes, using the ABNF syntax&lt;br/&gt;
   defined in RFC 5234 &lt;span class=&quot;error&quot;&gt;&amp;#91;RFC5234&amp;#93;&lt;/span&gt;, and terminology and ABNF productions&lt;br/&gt;
   defined by the URI specification RFC 3986 &lt;span class=&quot;error&quot;&gt;&amp;#91;RFC3986&amp;#93;&lt;/span&gt;.&lt;/p&gt;

&lt;p&gt;          ws-URI = &quot;ws:&quot; &quot;//&quot; host [ &quot;:&quot; port ] path [ &quot;?&quot; query ]&lt;br/&gt;
          wss-URI = &quot;wss:&quot; &quot;//&quot; host [ &quot;:&quot; port ] path [ &quot;?&quot; query ]&lt;/p&gt;

&lt;p&gt;          host = &amp;lt;host, defined in &lt;span class=&quot;error&quot;&gt;&amp;#91;RFC3986&amp;#93;&lt;/span&gt;, Section 3.2.2&amp;gt;&lt;br/&gt;
          port = &amp;lt;port, defined in &lt;span class=&quot;error&quot;&gt;&amp;#91;RFC3986&amp;#93;&lt;/span&gt;, Section 3.2.3&amp;gt;&lt;br/&gt;
          path = &amp;lt;path-abempty, defined in &lt;span class=&quot;error&quot;&gt;&amp;#91;RFC3986&amp;#93;&lt;/span&gt;, Section 3.3&amp;gt;&lt;br/&gt;
          query = &amp;lt;query, defined in &lt;span class=&quot;error&quot;&gt;&amp;#91;RFC3986&amp;#93;&lt;/span&gt;, Section 3.4&amp;gt;&lt;/p&gt;


&lt;p&gt;*************&lt;/p&gt;

&lt;p&gt;To investigate the effect of using http:// I  used the python websocket client&lt;br/&gt;
autobahn which refused the http:// URI as a wrong protocol and firefox which failed to connect.&lt;/p&gt;</description>
                <environment>&lt;p&gt;Operating System: All&lt;br/&gt;
Platform: All&lt;/p&gt;</environment>
        <key id="25701">CONTROLLER-1147</key>
            <summary>websocket does not implement  the ws:// protocol defined in the URI scheme in rfc6455</summary>
                <type id="10104" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10303&amp;avatarType=issuetype">Bug</type>
                                                <status id="5" iconUrl="https://jira.opendaylight.org/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10000">Done</resolution>
                                        <assignee username="jhajnar@cisco.com">Jan Hajnar</assignee>
                                    <reporter username="ricjhill@gmail.com">RichardHill</reporter>
                        <labels>
                    </labels>
                <created>Tue, 10 Feb 2015 22:15:16 +0000</created>
                <updated>Tue, 25 Jul 2023 08:23:54 +0000</updated>
                            <resolved>Tue, 5 May 2015 15:17:13 +0000</resolved>
                                                                    <component>adsal</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>3</watches>
                                                                                                                <comments>
                            <comment id="50134" author="ricjhill@gmail.com" created="Tue, 10 Feb 2015 22:32:37 +0000"  >&lt;p&gt;Further reading of the RFC  (Section 4) indicates the failure to connect is expected because during an opening handshake   &quot;A client will need to&lt;br/&gt;
   supply a /host/, /port/, /resource name/, and a /secure/ flag, which&lt;br/&gt;
   are the components of a WebSocket URI as discussed in Section 3&quot;&lt;/p&gt;</comment>
                            <comment id="50135" author="jhajnar@cisco.com" created="Mon, 2 Mar 2015 16:17:45 +0000"  >&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;I tested simple websocket client written in javascript and also chrome extension Simple Websocket Client and when you substitute &quot;http&quot; protocol in path for &quot;ws&quot; I was able to successfuly connect to server and receive notifications. &lt;/p&gt;

&lt;p&gt;here is simple patch for helium that returns location header parameter with &quot;ws&quot; protocol.&lt;br/&gt;
&lt;a href=&quot;https://git.opendaylight.org/gerrit/#/c/15925/&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://git.opendaylight.org/gerrit/#/c/15925/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You should be able to listen to notifications on that path via standard websocket clients.&lt;/p&gt;

&lt;p&gt;For Lithium further modification is probably needed.&lt;/p&gt;</comment>
                            <comment id="50136" author="carolsand@gmail.com" created="Tue, 5 May 2015 15:17:13 +0000"  >&lt;p&gt;This bug is part of the project to Move all ADSAL associated component bugs to ADSAL.&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                            <customfield id="customfield_11400" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                        <customfield id="customfield_10208" key="com.atlassian.jira.plugin.system.customfieldtypes:textfield">
                        <customfieldname>External issue ID</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2699</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10201" key="com.atlassian.jira.plugin.system.customfieldtypes:url">
                        <customfieldname>External issue URL</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue><![CDATA[https://bugs.opendaylight.org/show_bug.cgi?id=2699]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10206" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Issue Type</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10300"><![CDATA[Bug]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10204" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>ODL SR Target Milestone</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10385"><![CDATA[Helium-3]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                    <customfield id="customfield_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i02orz:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>