[OpenSER-Devel] [ openser-Patches-1707996 ] LDAP auth module
SourceForge.net
noreply at sourceforge.net
Tue Jul 3 10:14:11 CEST 2007
Patches item #1707996, was opened at 2007-04-26 14:34
Message generated for change (Comment added) made by miconda
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=743022&aid=1707996&group_id=139143
Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: modules
Group: ver devel
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Alexei Volkov (av_kot)
Assigned to: Daniel-Constantin Mierla (miconda)
Summary: LDAP auth module
Initial Comment:
After couple days googling over the web i found that ldap authentication to openser is available via radius module.
As for me as a relatively new user to openser it is rather difficult to build full chain ldap+radius+openser to make complete authorization and accounting. For example, in my case just a simple authentication against ldap database is needed , and unfortunately i do not found any usable code to patch openser to directly authenticate user in LDAP.
Spending some time more I have developed auth_ldap module for openser. If it can be usable for the community i would like to open and share it to openser project.
Some features of my auth_ldap module can be represented by following openser.cfg lines.
loadmodule "auth.so"
loadmodule "auth_ldap.so"
loadmodule "uac.so"
....
modparam("auth_ldap", "ldap_server", "ldap://localhost")
modparam("auth_ldap", "ldap_bind_dn", "cn=admin,dc=domain")
modparam("auth_ldap", "ldap_bind_passwd", "secret")
modparam("auth_ldap", "ldap_base_dn", "ou=Users,dc=domain")
modparam("auth_ldap", "ldap_search_filter", "(&(OpenSerAccount=%s)(OpenSerEnabled=TRUE))")
modparam("auth_ldap", "ldap_passwd_attr", "OpenSerPassword")
modparam("auth_ldap", "ldap_debug_encoding", "koi8-r")
modparam("auth_ldap", "ldap_avp_attrs", "cn,OpenSerGroup")
modparam("auth_ldap", "ldap_avp_prefix", "ldap_")
....
route{
...
if (!ldap_www_authorize("domain")) { # authorization and account avp creatied here
www_challenge("domain", "1");
exit;
};
....
uac_replace_from("$avp(s:ldap_cn)","");
...
append_hf("P-hint-openser-account-group: $avp(s:ldap_OpenSerGroup)\r\n");
...
}
----------------------------------------------------------------------
>Comment By: Daniel-Constantin Mierla (miconda)
Date: 2007-07-03 11:14
Message:
Logged In: YES
user_id=1246013
Originator: NO
It is in my todo, traveling to Cluecon delayed a bit the things.
----------------------------------------------------------------------
Comment By: Alexei Volkov (av_kot)
Date: 2007-07-02 21:38
Message:
Logged In: YES
user_id=1779106
Originator: YES
Are there plans to view my last sources and evaluate are they ready to
place in development source tree?
----------------------------------------------------------------------
Comment By: Alexei Volkov (av_kot)
Date: 2007-06-23 18:17
Message:
Logged In: YES
user_id=1779106
Originator: YES
File Added: auth_ldap.tgz
----------------------------------------------------------------------
Comment By: Daniel-Constantin Mierla (miconda)
Date: 2007-06-19 16:58
Message:
Logged In: YES
user_id=1246013
Originator: NO
Sorry for taking so long ... lot of traveling. Here are my comments:
- you have to write documentation in SGML format which shall be placed in
subdirectory 'doc' of your module -- see other modules for examples (xlog
or textops are good start)
- from the sgml files you have to generate the text version as README and
place it in module directory (see 'make modules-readme')
- you have to use standard C compliant functions asprintf() used in
gen_ha1() is not C or POSIX (it is GNU extension -- see man asprintf)
- you have to indent the code to become easier to understand :-) --
default is to use tab of 4 white spaces and move to new line after 80
chars
- you have to use C compliant syntax, that means you cannot have
statements in between declaration of varibales. You have to declare
variables first and then start operating with them.
Recommendations:
- name the main file of the module as module_name.c (e.g., auth_ldap.c
instead of authldap_mod.c). This is not mandatory by in latest time is the
preferred mode
All above will ensure that the module will compile on all systems
supported now by OpenSER.
Thanks!
----------------------------------------------------------------------
Comment By: Alexei Volkov (av_kot)
Date: 2007-05-10 07:22
Message:
Logged In: YES
user_id=1779106
Originator: YES
Now time i am already use this module in my production environment and
consider to use it in future, so i will maintain the module.
----------------------------------------------------------------------
Comment By: Daniel-Constantin Mierla (miconda)
Date: 2007-05-09 18:08
Message:
Logged In: YES
user_id=1246013
Originator: NO
I will review the module and comment the updates you may have to do before
accepting to SVN.
I need to know if you are willing to maintain the module for at least one
year. Otherwise we have find another volunteer to maintain it.
I am considering adding some features already (after committing to SVN),
for fail over and attribute loading with no authentication -- but no time
line now.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=743022&aid=1707996&group_id=139143
More information about the Devel
mailing list