The problem is that in the original one_auth_mad.rb, the code is fine (is distinct than the one distributed in the ldap authentication addon).

When I install the ldap addon, the resulting one_auth_mad.rb is the one that I was dealing with.

(from the ONE bundle directory just uncompressed)
$ diff ./src/authm_mad/one_auth_mad.rb ../one/tmp/ldap-2.2.0/src/one_auth_mad.rb
(... license ...)
34a37
> require 'ldap_auth'
59c62
<             @authenticate=driver.new
---
>             @authenticate=driver.new(@config)
65c68
<             @authenticate=SimpleAuth.new
---
>             @authenticate=SimpleAuth.new(@config)
79c82
<                 request_id, 'Successfully authenticated')
---
>                 request_id, user, token)
87,92c90
<         begin
<             [email protected](user_id, tokens.flatten)
<         rescue Exception => e
<             auth="Error: #{e}"
<         end
<
---
>         [email protected](user_id, tokens.flatten)
103,108d100
< begin
<     am=AuthorizationManager.new
< rescue Exception => e
<     puts "Error: #{e}"
<     exit(-1)
< end
109a102
> am=AuthorizationManager.new

-----------------------------

You can notice that the line

request_id, 'Successfully authenticated')

has been substituted by the faulty line in the ldap addon

request_id, user, token)

Regards,
Carlos A.


El 20/06/11 12:14, Tino Vazquez escribió:
Hi Carlos,

I am not able to find the code you are referring to, which version of OpenNebula are you using?

Regards,

-Tino

--
Constantino Vázquez Blanco, MSc
OpenNebula Major Contributor
www.OpenNebula.org <http://www.OpenNebula.org> | @tinova79


On Thu, Jun 16, 2011 at 5:15 PM, Carlos A. <[email protected] <mailto:[email protected]>> wrote:

    Hello,

    I have finally got it:

    I have found 1 error in lib/mads/one_auth_mad.rb

    ...
        def action_authenticate(request_id, user_id, user, password,
    token)
    [email protected] <mailto:[email protected]>(user_id,
    user, password, token)
            if auth==true
                send_message('AUTHENTICATE', RESULT[:success],
    request_id, user, token)
            else
                send_message('AUTHENTICATE', RESULT[:failure],
                    request_id, auth)
            end
        end
    ...

    the problem is the line
                send_message('AUTHENTICATE', RESULT[:success],
    request_id, user, token)

    where there are 5 parameters while send_message needs only 4. If I
    leave these 5 parameters, one fails and the one daemon dies, but
    when I remove the last one (token), it works both for simple and
    ldap authentication.

    Neither simple or ldap were working before because of the
    exception of the "send_message" function.

    The code that I am using (it works for me) is:

    ...
        def action_authenticate(request_id, user_id, user, password,
    token)
    [email protected] <mailto:[email protected]>(user_id,
    user, password, token)
            if auth==true
                send_message('AUTHENTICATE', RESULT[:success],
    request_id, user)
            else
                send_message('AUTHENTICATE', RESULT[:failure],
    request_id, auth)
            end
        end
    ...

    Regards,
    Carlos A.



    El 16/06/11 13:11, Tino Vazquez escribió:
    Hi Carlos,

    Let's try the driver by hand again, but also with the
    authentication part:

    # ruby -dw $ONE_LOCATION/lib/mads/one_auth_mad.rb
    AUTHENTICATE 0 -1 <LDAP_DN> - <LDAP_DN:plain:LDAP_PASSWORD>

    this will tell if the failure is in the driver or the core.

    Regards,

    -Tino

    --
    Constantino Vázquez Blanco, MSc
    OpenNebula Major Contributor
    www.OpenNebula.org <http://www.OpenNebula.org> | @tinova79


_______________________________________________
Users mailing list
[email protected]
http://lists.opennebula.org/listinfo.cgi/users-opennebula.org

Reply via email to