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.

Difference between revisions of "OLA SLP Server"

From wiki.openlighting.org

Jump to: navigation, search
(Design)
 
(2 intermediate revisions by the same user not shown)
Line 8: Line 8:
 
* Will setuid to a non-root user for security.
 
* Will setuid to a non-root user for security.
 
* Work on Mac OS X without requiring reverse hostname lookups
 
* Work on Mac OS X without requiring reverse hostname lookups
* Avoid the slpd DOS.
+
* Avoid other [[Open_SLP_Notes| problems with openslp]]
  
 
== Cons ==
 
== Cons ==
Line 48: Line 48:
 
slptool
 
slptool
 
</pre>
 
</pre>
Of these the only one I'm concerned about is cups.
+
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

Latest revision as of 16:37, 2 December 2012

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