OLA SLP Server
Proposal: Write our own SLP implementation to better support the needs of OLA w.r.t E1.33.
- 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
- 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.
- 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