- RubySSPI 1.2.2 released and now compatible with Rubygems

The release of Rubygems 0.9.2 (and possibly earlier) introduced an
incompatibility with the patch supplied with RubySSPI. The newest
releases
fixes that incompatibility.

This release does, however, introduce new class and module names and is
not
backwards compatible with previous versions of the library. If any code
has
been developed against the gem, be careful when upgrading.

What is it?

This library provides bindings to the Win32 SSPI libraries, which
implement various security protocols for Windows. The library was
primarily developed to give Negotiate/NTLM proxy authentication
abilities to Net::HTTP (and thus, open-uri), similar to support found
in Internet Explorer or Firefox.

The library is NOT an implementation of the NTLM protocol, and does
not give the ability to authenticate as any given user. It is able to
authenticate with a proxy server as the current user. It also does not
provide full bindings to the SSPI library, but could be extended in
that direction if anyone is so inclined. Someone recently mentioned
the idea of extending it to allow NTLM authentication with SQL server
(removing the need for usernames or passwords in configuration files).

What does it do for me?

If you are behind a proxy that authenticates all traffic, then this
library will enable your ruby scripts to authenticate with the proxy
as the current user. This solves the shortcomings of other solutions
(such as Basic authentication or the python APS proxy[1]) which
require you to enter your username and password in clear text at least
once.

It also enables scripts such as the “gem” commands to work without
special hacking. Methods of enabling these scripts are described in
the accompanying documentation.

Where is it?

http://rubyforge.org/projects/rubysspi

How do I install it?

gem install rubysspi

Once the gem is installed, view the RDoc documenation for complete
instructions on using the library.

Anything else?

Please use the forums on the project page for bug reports, support
requests, etc. Enjoy the library!

Justin

[1] A proxy, implemented in python, which handles NTLM authentication
for you. It is implemented as a proxy-proxy, meaning you run it
locally and point all web traffic at it. It does require you enter
your username and password to work - it does not authenticate as the
“current” user. http://ntlmaps.sourceforge.net/