- This patch enables LCDd to retrieve its configuration
options from an LDAP directory.
- The code was tested with OpenLDAP 2.1.x (21<=x<=22) only.
- LDAP support is disabled by default and has to be enabled
with ./configure --enable-ldap.
(See ./configure --help for other options. Not all options
have any effect yet.)
- Currently only anonymous LDAP binds are supported.
- The DN of the main configuration object has to be passed to LCDd
instead of the configuration file location:
LCDd -c "ldap://yourhost.yourcompany.com/cn=config1,cn=lcdproc,dc=yourcompany dc=COM"
The basic idea behind the LCDproc object classes is that they
are more or less verbatim copies of the corresponding sections in a
generic LCDd.conf
- Unfortunately schema files cannot be provided yet, because LCDproc does
not have a registered OID namespace and OID hijacking is prohibited.
- Moved and altered code to create, destroy and manipulate clients, screens
and widgets in an OO-like manner.
- Moved command execution code to a commands directory, splitting commands to
what subject they are concerned.
- Menus are temporary disabled while working on new menu structure.
as argument introducers. in 0.4-pre10, these were changed
from foo to -foo and this broke many clients. This change
should fix that and be backward/forward compatible.
+ Added a noop function to the protocol. This is useful for writing
shell script clients of LCDproc.
+ Changed the shared sock_send_string function to NOT send the
ending NUL ('\0') byte with the string. This was confusing
in Perl clients which saw NUL's as the first character of
each reply. WARNING: The LCDPROC client depended on this
behavior, your client may too. Use the newline instead.
See the code in clients/lcdproc/main.c (look for "switch(buf[i])")
to see one way to handle this. This should allow new clients
to connect to old servers and vice-versa.
+ Messed with include structure in .c files. It should no longer
be necessary to specify ../.. to get to shared code headers.
Also, since we are using automake, the global config.h can be
found with just #include "config.h" as it's location is included
in a -I to the compilers. As a result "make distcheck" now works.