[ 
https://issues.apache.org/jira/browse/CLOUDSTACK-2516?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13663782#comment-13663782
 ] 

Kishan Kavala commented on CLOUDSTACK-2516:
-------------------------------------------

Note for upgrade:
After upgrading to 4.1, API clients are expected to send plain text passwords 
for login and user creation, instead of MD5 hash. Incase, api client changes 
are not acceptable, following changes are to be made for backward compatibility:

1. Modify componentsContext.xml, and make PlainTextUserAuthenticator as the 
default authenticator (1st entry in the userAuthenticators adapter list is 
default)

  <!-- Security adapters -->
  <bean id="userAuthenticators" class="com.cloud.utils.component.AdapterList">
    <property name="Adapters">
      <list>
          <ref bean="PlainTextUserAuthenticator"/>
          <ref bean="MD5UserAuthenticator"/>
          <ref bean="LDAPUserAuthenticator"/>          
      </list>
    </property>
  </bean>

PlainTextUserAuthenticator works the same way MD5UserAuthenticator worked prior 
to 4.1.
                
> Create User API compability broken now
> --------------------------------------
>
>                 Key: CLOUDSTACK-2516
>                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-2516
>             Project: CloudStack
>          Issue Type: Bug
>      Security Level: Public(Anyone can view this level - this is the 
> default.) 
>    Affects Versions: 4.1.0, 4.2.0
>            Reporter: Chip Childers
>            Assignee: Kishan Kavala
>            Priority: Blocker
>             Fix For: 4.1.0, 4.2.0
>
>
> From email thread:
> On Wed, May 15, 2013 at 04:22:14PM +0200, Ove Ewerlid wrote:
> > NB; The 402/410 deployments are on RHES64(OEL64) via RPMs built from
> > latest git repos.
> > /Ove
> > 
> > On 05/15/2013 03:02 PM, Ove Ewerlid wrote:
> > >Hi!
> > >
> > >When testing a deploy script, that works as expected with 4.0.2, on 4.1
> > >I noticed that there was a need to pass plaintext passwords to
> > >createUser, rather then the documented MD5 hash. When passing MD5 hash,
> > >the password gets double MD5:hashed in 41.
> > >
> > >There is new code in 4.1 that encodes password using the authenticator
> > >plugins (encode method);
> > >
> > >cloudstack.4.1/server/src/com/cloud/user/AccountManagerImpl.java
> > >
> > >        ...
> > >        String encodedPassword = null;
> > >         for (UserAuthenticator  authenticator : _userAuthenticators) {
> > >             encodedPassword = authenticator.encode(password);
> > >             if (encodedPassword != null) {
> > >                 break;
> > >             }
> > >         }
> > >        ...
> > >
> > >The 41 API docs still notes that an MD5 hash shall be passed in.
> > >What am I missing here?
> > >
> > >/Ove

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to