Personal tools
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.

OLA SLP Server

From wiki.openlighting.org

Revision as of 22:16, 19 November 2012 by Nomis52 (talk | contribs)
Jump to: navigation, search

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.