The Open Lighting Project has moved!
We've launched our new site at www.openlighting.org. This wiki will remain and be updated with more technical information.
We've launched our new site at www.openlighting.org. This wiki will remain and be updated with more technical information.
OLA SLP Server
From wiki.openlighting.org
Proposal: Write our own SLP implementation to better support the needs of OLA w.r.t E1.33.
Pros
- Allows verbose logs which make debugging other SLP implementations easier.
- When run in DA mode, our own implementation would support an RPC notification mechanism so we discover devices faster.
- Faster release schedule.
- Will setuid to a non-root user for security.
- Work on Mac OS X without requiring reverse hostname lookups
- Avoid the slpd DOS.
Cons
- Takes time
- Won't support SLPv1
- Will conflict with the existing slpd on installed systems. For example
# debian packages that use slpd and won't we able to be installed $ apt-rdepends -r slpd | grep -v "^ " libslp1 cups bluez-cups cups-dbg cups-driver-gutenprint cups-pdf hpijs-ppds hplip hplip-dbg hplip-gui hplip-cups splix libroar-compat0 libroar-dev roaraudio-dbg libroar0 roaraudio roaraudio-extra libslp-dev nis slapd bdii bdii4 phamm-ldap phamm-ldap-amavis phamm-ldap-vacation slapd-dbg slapd-smbk5pwd slptool
Of these the only one I'm concerned about is cups.
Design
SLPServer is the class which implements the SLP functionality. SLPDaemon is a class which wraps the SLPServer with a RPC & web server.