LDAPconf TODO list ------------------ This list will cover any type of task which could be useful to work with, some day or another. It may be known bugs, improvements, cleanup, redesign, new ideas, whatever. The application has grown big, and is filled with small bugs and poor solutions already. While working with the code, it may be useful to take notes of any discovered problem, so it may be investigated later, or maybe a new idea, or a better solution for some existing feature. People not currently involved with code development are of course also welcome to do something about it, the code is now maintained in cvs so it will be quick and risk free to try out small modifications. CVS write access (including newbie instructions if needed) may be granted after a couple of useful contributions, and will make further modifications even easier to accomplish. LEGEND ! = High priority * = Normal priority - = Low priority ( = In progress ? = Recheck current status of this issue / = Completed - testing STATUS Last modification: 2001-02-19 BUGS * Auto dc doesn't work on Debian * HTML mode doesn't work for adding new users * HTML mode doesn't work for group member managment / Fix search form so it shows error message when no entries are found, and then return to search form again. / Fix search form so it will show list of matching entries if multiple entries are found. * Find a way to handle NON-ASCII values. ( Fix groupadmin which doesn't work anymore after the openldap-2.x port. ? Fix Makefile and/or module.rpmspec so that eventual user customized forms does not get overwritten when upgrading. / Fix problem with passwords being re-encoded (and useless) when updating form. CLEANUP * Make all hardcoded dialog messages translatable with more MSG_U/MSG_R macros. * Define other hardcoded strings with macros or by using linuxconf config path support (refdir/ldapconf.paths) * Simplify the menu structure, it is to complex. * Check all dialogs links to helpfiles and make sure they at least point to something relevant. * Helpfiles needs a major cleanup and update. * Sanity chech declarations, definitions, includes, etc * Check string operations, lots of strange solutions there * Check code for security problems. IMPROVMENTS * Find a useful way to provide more fields to search on in the search form. * Check dialog code for possible improvment by using other widgets etc * Improve config file parsing/handling of openldap configs. * Add support for ldapprofile schema from rescent pam/nss_ldap. * Provide a better and more generic list/form setup. * Test/research SSL * Test/research SASL REWORK * Convert FIELDS interface into a generic libmodule, so other modules may use it for custom dialogs (it is almost standalone already). * Same for PROFILES. IDEAS (some thoughts from a mail sent 26.1) There are some changes that just have to be done, the sooner the better, as the initial class design has shown to be more an more "heavy" to work with. I have started on this already, I'm pretty certain now on how the classes could be better organized (mainly splitting OBJECT and DB into smaller objects but also move the methods around a bit), this should be done in a quick operation and I will try to do it ASAP. In brief I want something like this: ldap specific: LDAP_ATTR - handles one attribute LDAP_ATTRS - handles multivalued attrs LDAP_ENTRY - handles one entry (several ATTRS). LDAP_LIST - handles several entrys with same DN ("branch") LDAP_TREE - handles several lists with same BASE LDAP_DATA base class for above LDAP_DIRECTORY - profile, operations, import/export etc. LDAP_SEARCH - search methods LDAP_DB - Database methods for server LDAP_CONF - Store configs in directory (maybe like VREGISTRY) LDAP_HANDLE - bind/auth setup. generic: PROFILES/PROFILE - configs/templates using CONFDB FIELDS/FIELD - well you know this, the interface from userinfo - but extended by me and araman :) FORMS/FORM - provide search/view/edit/misc dialofs using FIELDS LIST - list dialog A bit too much probably, but a start. So, to use it you could do: LDAP_HANDLE ldap(,); // Setup ldap->search("uid=*",,,options); //Search ldap->list_select(); ldap->form_edit(); ldap->dir->modify(); or something. But also provide a generic procedures for use by other modules: ldap_save(,,); or ldap_save(bind_profile,key,data); I'm really eager to try storing linuconfdata in directory - first target will be ldapconf's own configuration :)