Project

rslp

0.0
No release in over a year
The rslp library is an FFI interface for the OpenSLP service location protocol library. See http://www.openslp.org for more information.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0
~> 3.9

Runtime

~> 1.1
 Project Readme

Description

A Ruby wrapper for OpenSLP using FFI.

Installation

gem install rslp

Adding the trusted cert

gem cert --add <(curl -Ls https://raw.githubusercontent.com/djberg96/rslp/main/certs/djberg96_pub.pem)

Synopsis

require 'rslp'

# See docs for more methods
OpenSLP::SLP.new do |slp|
  p slp.find_services('myservice:myorg')
  p slp.find_scopes
  p slp.find_service_types
end

Known Bugs

None that I'm aware of in this library.

However, the OpenSLP implementation itself has at least one bug in the SLPFindSrvs() function, where specifying a filter could cause it to crash. This means that specifying a filter to the OpenSLP::SLP.find_services method could cause a crash. See openslp-org/openslp#11 for details.

Please report any other bugs on the project page at:

https://github.com/djberg96/rslp

Running the Specs

You will need an OpenSLP server running on localhost to run all of the specs. The easiest way to do that is to install docker and run:

docker run -d -p 427:427/tcp -p 427:427/udp vcrhonek/openslp

Once you're done just terminate the container.

Notes

Also see Novell's SLP implementation.

Future Plans

None at this time.

Maintenance

Please contact me about taking over maintenance of this library if you are interested. I'm not actually using it myself, so maintenance and releases will be sporadic at best.

Why then? I originally wrote most of this when I thought we might need it for a project at work. That never materialized, but I hated to let it go to waste, so I've published what I completed and may occasionally tinker with it from time to time.

License

Apache-2.0

Copyright

(C) 2003-2022 Daniel J. Berger, All Rights Reserved

Warranty

This package is provided "as is" and without any express or implied warranties, including, without limitation, the implied warranties of merchantability and fitness for a particular purpose.

Author

Daniel J. Berger