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.
Difference between revisions of "OLA SLP Server"
From wiki.openlighting.org
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 | + | * 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 = | = Design = | ||
+ | |||
SLPServer is the class which implements the SLP functionality. | SLPServer is the class which implements the SLP functionality. | ||
SLPDaemon is a class which wraps the SLPServer with a RPC & web server. | 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 |
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