<commit_before>h1. Ruby GSSAPI Library

p. This is a wrapper around the system GSSAPI library.  It exposes the low-level GSSAPI methods like gss_init_sec_context and gss_wrap and also provides an easier to use wrapper on top of this for common usage scenarios.


h2. Getting Started

p. Most people will probably be using GSSAPI with Kerberos in a fairly standard way.  There is a class called GSSAPI::Simple that provides a simple interface for writing clients and servers for both authentication and message integrity/confidentiality.


h3. Example Authentication using GSSAPI::Simple
```ruby
require 'httpclient'
require 'base64'
require 'gssapi'
uri = URI.parse "https://example.org/ews/Services.wsdl" # MS Exchange Web Services
service = 'HTTP'

cli = HTTPClient.new

gsscli = GSSAPI::Simple.new(uri.host, service)
token = gsscli.init_context
  
ext_head = {"Authorization" => "Negotiate #{Base64.strict_encode64(token)}"}
resp = cli.get(uri, nil, ext_head)
itok = resp.header["WWW-Authenticate"].pop.split(/\s+/).last
gsscli.init_context(Base64.strict_decode64(itok))
```<commit_msg>doc changes<commit_after>h1. Ruby GSSAPI Library

p. This is a wrapper around the system GSSAPI library.  It exposes the low-level GSSAPI methods like gss_init_sec_context and gss_wrap and also provides an easier to use wrapper on top of this for common usage scenarios.


p. I'm going to try and maintain most of the docs in the Github WIKI for this project so please check there for documentation and examples.
{'fraction_non_alphanumeric': 0.07395069953364423, 'fraction_numerical': 0.009327115256495669, 'mean_word_length': 4.913385826771654, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 4, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7435744', 'n_tokens_mistral': 460, 'n_tokens_neox': 442, 'n_words': 186}