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 other problems with openslp
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. However the latest E1.33 discussion is leaning towards running slp on a non-privileged port (so that Android & IOS devices) work. So this may be a non-issue.
Design
- SLPServer is the class which implements the SLP functionality.
- SLPDaemon is a class which wraps the SLPServer with a RPC & web server.
- DATracker keeps track of the known DAs on the network
- SLPStore holds the registations in SA or DA mode