<!-- 
RSS generated by JIRA (8.20.10#820010-sha1:ace47f9899e9ee25d7157d59aa17ab06aee30d3d) at Wed Feb 07 19:08:51 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>[AAA-184] Exception is thrown when ODLJndiLdapRealm is used</title>
                <link>https://jira.opendaylight.org/browse/AAA-184</link>
                <project id="10102" key="AAA">aaa</project>
                    <description>&lt;p&gt;When trying to get authorization info using ODLJndiLdapRealm, following exception is thrown and logged at ERROR level:&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;2019-02-05 14:08:05,374 | ERROR | qtp673798733-110 | TokenAuthRealm&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; | 199 - org.opendaylight.aaa.shiro - 0.8.1 | Couldn&apos;t decode authorization request&lt;br/&gt;
 java.lang.ClassCastException: java.lang.String cannot be cast to org.opendaylight.aaa.api.shiro.principal.ODLPrincipal&lt;br/&gt;
 &#160;&#160; &#160;at org.opendaylight.aaa.shiro.realm.TokenAuthRealm.doGetAuthorizationInfo(TokenAuthRealm.java:100) &lt;span class=&quot;error&quot;&gt;&amp;#91;199:org.opendaylight.aaa.shiro:0.8.1&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.apache.shiro.realm.AuthorizingRealm.getAuthorizationInfo(AuthorizingRealm.java:341) &lt;span class=&quot;error&quot;&gt;&amp;#91;138:org.apache.shiro.core:1.3.2&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.apache.shiro.realm.AuthorizingRealm.hasRole(AuthorizingRealm.java:573) &lt;span class=&quot;error&quot;&gt;&amp;#91;138:org.apache.shiro.core:1.3.2&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.apache.shiro.authz.ModularRealmAuthorizer.hasRole(ModularRealmAuthorizer.java:374) &lt;span class=&quot;error&quot;&gt;&amp;#91;138:org.apache.shiro.core:1.3.2&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.apache.shiro.authz.ModularRealmAuthorizer.hasAllRoles(ModularRealmAuthorizer.java:407) &lt;span class=&quot;error&quot;&gt;&amp;#91;138:org.apache.shiro.core:1.3.2&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.apache.shiro.mgt.AuthorizingSecurityManager.hasAllRoles(AuthorizingSecurityManager.java:161) &lt;span class=&quot;error&quot;&gt;&amp;#91;138:org.apache.shiro.core:1.3.2&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.apache.shiro.subject.support.DelegatingSubject.hasAllRoles(DelegatingSubject.java:236) &lt;span class=&quot;error&quot;&gt;&amp;#91;138:org.apache.shiro.core:1.3.2&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.apache.shiro.web.filter.authz.RolesAuthorizationFilter.isAccessAllowed(RolesAuthorizationFilter.java:52) &lt;span class=&quot;error&quot;&gt;&amp;#91;139:org.apache.shiro.web:1.3.2&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.apache.shiro.web.filter.AccessControlFilter.onPreHandle(AccessControlFilter.java:162) &lt;span class=&quot;error&quot;&gt;&amp;#91;139:org.apache.shiro.web:1.3.2&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.apache.shiro.web.filter.PathMatchingFilter.isFilterChainContinued(PathMatchingFilter.java:203) &lt;span class=&quot;error&quot;&gt;&amp;#91;139:org.apache.shiro.web:1.3.2&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.apache.shiro.web.filter.PathMatchingFilter.preHandle(PathMatchingFilter.java:178) &lt;span class=&quot;error&quot;&gt;&amp;#91;139:org.apache.shiro.web:1.3.2&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:131) &lt;span class=&quot;error&quot;&gt;&amp;#91;139:org.apache.shiro.web:1.3.2&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) &lt;span class=&quot;error&quot;&gt;&amp;#91;139:org.apache.shiro.web:1.3.2&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) &lt;span class=&quot;error&quot;&gt;&amp;#91;139:org.apache.shiro.web:1.3.2&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108) &lt;span class=&quot;error&quot;&gt;&amp;#91;139:org.apache.shiro.web:1.3.2&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137) &lt;span class=&quot;error&quot;&gt;&amp;#91;139:org.apache.shiro.web:1.3.2&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) &lt;span class=&quot;error&quot;&gt;&amp;#91;139:org.apache.shiro.web:1.3.2&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66) &lt;span class=&quot;error&quot;&gt;&amp;#91;139:org.apache.shiro.web:1.3.2&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449) &lt;span class=&quot;error&quot;&gt;&amp;#91;139:org.apache.shiro.web:1.3.2&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365) &lt;span class=&quot;error&quot;&gt;&amp;#91;139:org.apache.shiro.web:1.3.2&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90) &lt;span class=&quot;error&quot;&gt;&amp;#91;138:org.apache.shiro.core:1.3.2&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83) &lt;span class=&quot;error&quot;&gt;&amp;#91;138:org.apache.shiro.core:1.3.2&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383) &lt;span class=&quot;error&quot;&gt;&amp;#91;138:org.apache.shiro.core:1.3.2&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362) &lt;span class=&quot;error&quot;&gt;&amp;#91;139:org.apache.shiro.web:1.3.2&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125) &lt;span class=&quot;error&quot;&gt;&amp;#91;139:org.apache.shiro.web:1.3.2&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759) &lt;span class=&quot;error&quot;&gt;&amp;#91;159:org.eclipse.jetty.servlet:9.3.24.v20180605&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:51) &lt;span class=&quot;error&quot;&gt;&amp;#91;160:org.eclipse.jetty.servlets:9.3.24.v20180605&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759) &lt;span class=&quot;error&quot;&gt;&amp;#91;159:org.eclipse.jetty.servlet:9.3.24.v20180605&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:205) &lt;span class=&quot;error&quot;&gt;&amp;#91;169:org.eclipse.jetty.websocket.server:9.3.24.v20180605&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1759) &lt;span class=&quot;error&quot;&gt;&amp;#91;159:org.eclipse.jetty.servlet:9.3.24.v20180605&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.opendaylight.aaa.filterchain.filters.CustomFilterAdapter.doFilter(CustomFilterAdapter.java:86) &lt;span class=&quot;error&quot;&gt;&amp;#91;196:org.opendaylight.aaa.filterchain:0.8.1&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1751) &lt;span class=&quot;error&quot;&gt;&amp;#91;159:org.eclipse.jetty.servlet:9.3.24.v20180605&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:582) &lt;span class=&quot;error&quot;&gt;&amp;#91;159:org.eclipse.jetty.servlet:9.3.24.v20180605&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.ops4j.pax.web.service.jetty.internal.HttpServiceServletHandler.doHandle(HttpServiceServletHandler.java:71) &lt;span class=&quot;error&quot;&gt;&amp;#91;449:org.ops4j.pax.web.pax-web-jetty:6.0.11&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) &lt;span class=&quot;error&quot;&gt;&amp;#91;158:org.eclipse.jetty.server:9.3.24.v20180605&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) &lt;span class=&quot;error&quot;&gt;&amp;#91;156:org.eclipse.jetty.security:9.3.24.v20180605&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:226) &lt;span class=&quot;error&quot;&gt;&amp;#91;158:org.eclipse.jetty.server:9.3.24.v20180605&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1180) &lt;span class=&quot;error&quot;&gt;&amp;#91;158:org.eclipse.jetty.server:9.3.24.v20180605&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.ops4j.pax.web.service.jetty.internal.HttpServiceContext.doHandle(HttpServiceContext.java:296) &lt;span class=&quot;error&quot;&gt;&amp;#91;449:org.ops4j.pax.web.pax-web-jetty:6.0.11&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:512) &lt;span class=&quot;error&quot;&gt;&amp;#91;159:org.eclipse.jetty.servlet:9.3.24.v20180605&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) &lt;span class=&quot;error&quot;&gt;&amp;#91;158:org.eclipse.jetty.server:9.3.24.v20180605&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1112) &lt;span class=&quot;error&quot;&gt;&amp;#91;158:org.eclipse.jetty.server:9.3.24.v20180605&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) &lt;span class=&quot;error&quot;&gt;&amp;#91;158:org.eclipse.jetty.server:9.3.24.v20180605&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.ops4j.pax.web.service.jetty.internal.JettyServerHandlerCollection.handle(JettyServerHandlerCollection.java:80) &lt;span class=&quot;error&quot;&gt;&amp;#91;449:org.ops4j.pax.web.pax-web-jetty:6.0.11&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:134) &lt;span class=&quot;error&quot;&gt;&amp;#91;158:org.eclipse.jetty.server:9.3.24.v20180605&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.eclipse.jetty.server.Server.handle(Server.java:539) &lt;span class=&quot;error&quot;&gt;&amp;#91;158:org.eclipse.jetty.server:9.3.24.v20180605&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:333) &lt;span class=&quot;error&quot;&gt;&amp;#91;158:org.eclipse.jetty.server:9.3.24.v20180605&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:251) &lt;span class=&quot;error&quot;&gt;&amp;#91;158:org.eclipse.jetty.server:9.3.24.v20180605&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:283) &lt;span class=&quot;error&quot;&gt;&amp;#91;150:org.eclipse.jetty.io:9.3.24.v20180605&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:108) &lt;span class=&quot;error&quot;&gt;&amp;#91;150:org.eclipse.jetty.io:9.3.24.v20180605&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:93) &lt;span class=&quot;error&quot;&gt;&amp;#91;150:org.eclipse.jetty.io:9.3.24.v20180605&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.executeProduceConsume(ExecuteProduceConsume.java:303) &lt;span class=&quot;error&quot;&gt;&amp;#91;161:org.eclipse.jetty.util:9.3.24.v20180605&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceConsume(ExecuteProduceConsume.java:148) &lt;span class=&quot;error&quot;&gt;&amp;#91;161:org.eclipse.jetty.util:9.3.24.v20180605&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:136) &lt;span class=&quot;error&quot;&gt;&amp;#91;161:org.eclipse.jetty.util:9.3.24.v20180605&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:671) &lt;span class=&quot;error&quot;&gt;&amp;#91;161:org.eclipse.jetty.util:9.3.24.v20180605&amp;#93;&lt;/span&gt;&lt;br/&gt;
 &#160;&#160; &#160;at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:589)&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;&#160;&lt;/p&gt;

&lt;p&gt;I believe this is cosmetic problem only, as authorization process continues to query LDAP server for group membership.&lt;/p&gt;

&lt;p&gt;Can we change log severity to WARN as exactly same is used when trying to authenticate LDAP user against idmlight?&lt;/p&gt;

&lt;p&gt;2019-02-05 14:08:05,355 | WARN&#160; | qtp673798733-110 | ModularRealmAuthenticator&#160;&#160;&#160;&#160;&#160;&#160;&#160; | 138 - org.apache.shiro.core - 1.3.2 | Realm &lt;span class=&quot;error&quot;&gt;&amp;#91;org.opendaylight.aaa.shiro.realm.TokenAuthRealm@4cb2a5ed&amp;#93;&lt;/span&gt; threw an exception during a multi-realm authentication attempt:&lt;br/&gt;
 org.opendaylight.aaa.api.AuthenticationException: User :user2 does not exist in domain sdn&lt;/p&gt;</description>
                <environment></environment>
        <key id="31413">AAA-184</key>
            <summary>Exception is thrown when ODLJndiLdapRealm is used</summary>
                <type id="10100" iconUrl="https://jira.opendaylight.org/secure/viewavatar?size=xsmall&amp;avatarId=10310&amp;avatarType=issuetype">Improvement</type>
                                            <priority id="4" iconUrl="https://jira.opendaylight.org/images/icons/priorities/minor.svg">Low</priority>
                        <status id="1" iconUrl="https://jira.opendaylight.org/images/icons/statuses/open.png" description="The issue is open and ready for the assignee to start work on it.">Open</status>
                    <statusCategory id="2" key="new" colorName="blue-gray"/>
                                    <resolution id="-1">Unresolved</resolution>
                                        <assignee username="rgoulding">Ryan Goulding</assignee>
                                    <reporter username="rkosegi">Richard Kosegi</reporter>
                        <labels>
                    </labels>
                <created>Tue, 5 Feb 2019 14:33:23 +0000</created>
                <updated>Tue, 5 Feb 2019 14:33:23 +0000</updated>
                                                                            <component>General</component>
                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                                                                        <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_10000" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|i03mhz:</customfieldvalue>

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