Hi,
I have done a fresh install on Debian - Lenny with version 1.0.1 from git. I had to replace the 'User_username.php' class with one from older version for it to work (spent some time in the forum looking for a solution to this) and everything except ldap authentication is now working. Lines related to ldap in my config.php are as below:
addPlugin('ldapAuthentication', array(
'provider_name'=>'ldap',
'autoregisteration'=>true,
'authoritative'=>false,
'email_changeable'=>false,
'password_changeable'=>false,
'host'=>'odm.domain.com',
'basedn'=>'cn=users,dc=odm,dc=domain,dc=com',
'attributes'=>array(
'username'=>'uid',
'nickname'=>'uid',
'email'=>'mail',
'fullname'=>'cn'
)
no user/pass is required to bind to our ldap.
Now when i log in to statusnet install with local user it works just fine, but if i use an ldap user it comes back with "incorrect username or password". I see log entry in ldap server that the user get's authenticated so the ldap bind is working. I see some other users have also posted this issue but no confirm resolution yet. I am not sure if this is effecting specific users with specific config as it is not a widespread issue. See this issue track reporting same problem:
http://status.net/open-source/issues/3356Any help to get pass this obstacle will be much appreciated.
Regards
Comments
Nov 29 09:14:33 servername statusnet: [statusnet.domain.com:12564.c160609a POST /main/login] DBDO: Config / section = theme / fetchrow LINE
Nov 29 09:14:33 servername statusnet: [statusnet.domain.com:12564.c160609a POST /main/login] DBDO: Config / setting = sslserver / fetchrow LINE
Nov 29 09:14:33 servername statusnet: [statusnet.domain.com:12564.c160609a POST /main/login] DBDO: Config / value = / fetchrow LINE
Nov 29 09:14:33 servername statusnet: [statusnet.domain.com:12564.c160609a POST /main/login] DBDO: Config / config DONE / fetchrow
Nov 29 09:14:33 servername statusnet: [statusnet.domain.com:12564.c160609a POST /main/login] DBDO: Config / N; / FETCH
Nov 29 09:14:33 servername statusnet: [statusnet.domain.com:12564.c160609a POST /main/login] DBDO: Config / Last Data Fetch'ed after 0.048235893249512 seconds / FETCH
Nov 29 09:14:33 servername statusnet: [statusnet.domain.com:12564.c160609a POST /main/login] DBDO: Config / Clearing Cache for config / 1
Nov 29 09:14:33 servername statusnet: [statusnet.domain.com:12564.c160609a POST /main/login] DBDO: Config / Clearing Cache for config / 1
Nov 29 09:14:33 servername statusnet: [statusnet.domain.com:12564.c160609a POST /main/login] DBDO: User / Checking for database specific ini ('') : database_ in options / CONNECT
Nov 29 09:14:33 servername statusnet: [statusnet.domain.com:12564.c160609a POST /main/login] DBDO: User / USING CACHED CONNECTION / CONNECT
Nov 29 09:14:33 servername statusnet: [statusnet.domain.com:12564.c160609a POST /main/login] DBDO: User / Clearing Cache for user / 1
Nov 29 09:14:33 servername statusnet: [statusnet.domain.com:12564.c160609a POST /main/login] DBDO: User / Clearing Cache for user / 1
Nov 29 09:14:33 servername statusnet: [statusnet.domain.com:12564.c160609a POST /main/login] DBDO: User_username / / find
Nov 29 09:14:33 servername statusnet: [statusnet.domain.com:12564.c160609a POST /main/login] DBDO: User_username / Checking for database specific ini ('') : database_ in options / CONNECT
Nov 29 09:14:33 servername statusnet: [statusnet.domain.com:12564.c160609a POST /main/login] DBDO: User_username / USING CACHED CONNECTION / CONNECT
Nov 29 09:14:33 servername statusnet: [statusnet.domain.com:12564.c160609a POST /main/login] DBDO: User_username / SELECT * #012 FROM user_username #012 #012 WHERE ( user_username.username = 'ldapuser' ) AND ( user_username.provider_name = 'ldap' ) #012 #012 #012 #012 / QUERY
Nov 29 09:14:33 servername statusnet: [statusnet.domain.com:12564.c160609a POST /main/login] DBDO: User_username / QUERY DONE IN 0.0010850429534912 seconds / query
Nov 29 09:14:33 servername statusnet: [statusnet.domain.com:12564.c160609a POST /main/login] DBDO: User_username / O:9:"DB_result":11:{s:8:"autofree";b:0;s:3:"dbh";O:9:"DB_mysqli":8:{s:10:"autocommit";b:1;s:8:"dbsyntax";s:6:"mysqli";s:3:"dsn";a:9:{s:7:"phptype";s:6:"mysqli";s:8:"dbsyntax";s:6:"mysqli";s:8:"username";s:4:"root";s:8:"password";s:10:"root_password";s:8:"protocol";s:3:"tcp";s:8:"hostspec";s:9:"localhost";s:4:"port";b:0;s:6:"socket";b:0;s:8:"database";s:9:"statusnet";}s:8:"features";a:7:{s:5:"limit";s:5:"alter";s:8:"new_link";b:0;s:7:"numrows";b:1;s:8:"pconnect";b:0;s:7:"prepare";b:0;s:3:"ssl";b:1;s:12:"transactions";b:1;}s:9:"fetchmode";i:1;s:22:"fetchmode_object_class";s:8:"stdClass";s:7:"options";a:8:{s:16:"result_buffering";i:500;s:10:"persistent";b:0;s:3:"ssl";b:0;s:5:"debug";i:0;s:14:"seqname_format";s:6:"%s_seq";s:8:"autofree";b:0;s:11:"portability";i:0;s:8:"optimize";s:11:"performance";}s:13:"was_connected";b:1;}s:9:"fetchmode";i:1;s:22:"fetchmode_object_class";s:8:"stdClass";s:11:"limit_count";N;s:10:"limit_from";N;s:10:"parameters";a:0:{}s:5:"query";s:139:"SELECT * #012 FROM user_username #012 #012 WHERE ( user_username.username = 'ldapuser' ) AND ( user_username.provider_name = 'ldap' ) #012 #012 #012 #012";s:6:"result";O:13:"mysqli_result":5:{s:13:"current_field";N;s:11:"field_count";N;s:7:"lengths";N;s:8:"num_rows";N;s:4:"type";N;}s:11:"row_counter";N;s:9:"statement";N;} / RESULT
Nov 29 09:14:33 servername statusnet: [statusnet.domain.com:12564.c160609a POST /main/login] DBDO: User_username / CHECK autofetchd / find
Nov 29 09:14:33 servername statusnet: [statusnet.domain.com:12564.c160609a POST /main/login] DBDO: User_username / DONE / find
Nov 29 09:14:33 servername statusnet: [statusnet.domain.com:12564.c160609a POST /main/login] DBDO: User / nickname ldapuser Array#012(#012)#012 / GET
Nov 29 09:14:33 servername statusnet: [statusnet.domain.com:12564.c160609a POST /main/login] DBDO: User / 1 / find
Nov 29 09:14:33 servername statusnet: [statusnet.domain.com:12564.c160609a POST /main/login] DBDO: User / Checking for database specific ini ('') : database_ in options / CONNECT
Nov 29 09:14:33 servername statusnet: [statusnet.domain.com:12564.c160609a POST /main/login] DBDO: User / USING CACHED CONNECTION / CONNECT
Nov 29 09:14:33 servername statusnet: [statusnet.domain.com:12564.c160609a POST /main/login] DBDO: User / SELECT * #012 FROM user #012 #012 WHERE ( user.nickname = 'ldapuser' ) #012 #012 #012 #012 / QUERY
Nov 29 09:14:33 servername statusnet: [statusnet.domain.com:12564.c160609a POST /main/login] DBDO: User / QUERY DONE IN 0.00092816352844238 seconds / query
Nov 29 09:14:33 servername statusnet: [statusnet.domain.com:12564.c160609a POST /main/login] DBDO: User / O:9:"DB_result":11:{s:8:"autofree";b:0;s:3:"dbh";O:9:"DB_mysqli":8:{s:10:"autocommit";b:1;s:8:"dbsyntax";s:6:"mysqli";s:3:"dsn";a:9:{s:7:"phptype";s:6:"mysqli";s:8:"dbsyntax";s:6:"mysqli";s:8:"username";s:4:"root";s:8:"password";s:10:"root_password";s:8:"protocol";s:3:"tcp";s:8:"hostspec";s:9:"localhost";s:4:"port";b:0;s:6:"socket";b:0;s:8:"database";s:9:"statusnet";}s:8:"features";a:7:{s:5:"limit";s:5:"alter";s:8:"new_link";b:0;s:7:"numrows";b:1;s:8:"pconnect";b:0;s:7:"prepare";b:0;s:3:"ssl";b:1;s:12:"transactions";b:1;}s:9:"fetchmode";i:1;s:22:"fetchmode_object_class";s:8:"stdClass";s:7:"options";a:8:{s:16:"result_buffering";i:500;s:10:"persistent";b:0;s:3:"ssl";b:0;s:5:"debug";i:0;s:14:"seqname_format";s:6:"%s_seq";s:8:"autofree";b:0;s:11:"portability";i:0;s:8:"optimize";s:11:"performance";}s:13:"was_connected";b:1;}s:9:"fetchmode";i:1;s:22:"fetchmode_object_class";s:8:"stdClass";s:11:"limit_count";N;s:10:"limit_from";N;s:10:"parameters";a:0:{}s:5:"query";s:75:"SELECT * #012 FROM user #012 #012 WHERE ( user.nickname = 'ldapuser' ) #012 #012 #012 #012";s:6:"result";O:13:"mysqli_result":5:{s:13:"current_field";N;s:11:"field_count";N;s:7:"lengths";N;s:8:"num_rows";N;s:4:"type";N;}s:11:"row_counter";N;s:9:"statement";N;} / RESULT
Nov 29 09:14:33 servername statusnet: [statusnet.domain.com:12564.c160609a POST /main/login] DBDO: User / CHECK autofetchd 1 / find
Nov 29 09:14:33 servername statusnet: [statusnet.domain.com:12564.c160609a POST /main/login] DBDO: User / DONE / find
Nov 29 09:14:33 servername statusnet: [statusnet.domain.com:12564.c160609a POST /main/login] DBDO: User / Clearing Cache for user / 1
Nov 29 09:14:33 servername statusnet: [statusnet.domain.com:12564.c160609a POST /main/login] DBDO: User_username / Clearing Cache for user_username / 1