gssweb.git
9 years agoAdd copyright to browser plug-in file, finish code reorg and cleanup.
Margaret Wasserman [Thu, 2 Apr 2015 18:07:40 +0000 (14:07 -0400)]
Add copyright to browser plug-in file, finish code reorg and cleanup.

9 years agoFinish cleanup of firefox files, create common contentscript.js, remove empty and...
Margaret Wasserman [Thu, 2 Apr 2015 17:46:31 +0000 (13:46 -0400)]
Finish cleanup of firefox files, create common contentscript.js, remove empty and unused file.

9 years agoChange name of navigator.gssEap.js in chrome scripts, remove gssweb_utils.js.
Margaret Wasserman [Thu, 2 Apr 2015 15:32:24 +0000 (11:32 -0400)]
Change name of navigator.gssEap.js in chrome scripts, remove gssweb_utils.js.

9 years agoRemove duplicated navigator js file from chrome/app directory.
Margaret Wasserman [Thu, 2 Apr 2015 15:25:49 +0000 (11:25 -0400)]
Remove duplicated navigator js file from chrome/app directory.

9 years agoCreate browsers directory and browsers/common for common navigator.gssEap.js, move...
Margaret Wasserman [Thu, 2 Apr 2015 15:24:35 +0000 (11:24 -0400)]
Create browsers directory and browsers/common for common navigator.gssEap.js, move browser code under browsers.

9 years agoVersion and install for library
Sam Hartman [Wed, 21 Jan 2015 19:41:27 +0000 (14:41 -0500)]
Version and install for library

* Establish a SOVERSION target property so we get correct .so links

* Include CMAKE_LIBRARY_ARCHITECTURE for Debian and Ubuntu multiarch.

9 years agoAdd top-level cmake file for packaging.
Sam Hartman [Wed, 21 Jan 2015 18:35:27 +0000 (13:35 -0500)]
Add top-level cmake file for packaging.

Update existing cmake configuration to permit running cmake from top.

9 years agofix windows dll name
Kevin Wasserman [Thu, 15 Jan 2015 20:11:38 +0000 (15:11 -0500)]
fix windows dll name

9 years agoAdd KRB5_CALLCONV decorator
Kevin Wasserman [Thu, 15 Jan 2015 18:19:46 +0000 (13:19 -0500)]
Add KRB5_CALLCONV decorator

Also improve type safety

9 years agoadd 'what' parameter on error
Kevin Wasserman [Thu, 15 Jan 2015 18:17:36 +0000 (13:17 -0500)]
add 'what' parameter on error

9 years agotarget x86, not x64 in win-build.bat
Kevin Wasserman [Thu, 8 Jan 2015 21:59:09 +0000 (16:59 -0500)]
target x86, not x64 in win-build.bat

9 years agoSupport both x86 and x64 targets on Windows
Kevin Wasserman [Thu, 8 Jan 2015 21:57:40 +0000 (16:57 -0500)]
Support both x86 and x64 targets on Windows

9 years agofix signed/unsigned warning
Kevin Wasserman [Thu, 8 Jan 2015 21:45:28 +0000 (16:45 -0500)]
fix signed/unsigned warning

9 years agouse _read() instead of read() on windows
Kevin Wasserman [Tue, 6 Jan 2015 13:16:51 +0000 (08:16 -0500)]
use _read() instead of read() on windows

9 years agowindows fix main.cpp for windows chrome
Kevin Wasserman [Tue, 23 Dec 2014 19:01:22 +0000 (14:01 -0500)]
windows fix main.cpp for windows chrome

9 years agoChange chrome to match the camelCase navigator.gssEap
Mark Donnelly [Tue, 13 Jan 2015 14:30:48 +0000 (09:30 -0500)]
Change chrome to match the camelCase navigator.gssEap

During the firefox development we opted to standardize on camelCase for navigator.gssEap, but forgot
to update the provided object from the chrome library here, so the tester, etc., broke.

9 years agoinstall jsongssapi shared libray
Kevin Wasserman [Mon, 22 Dec 2014 20:55:21 +0000 (15:55 -0500)]
install jsongssapi shared libray

9 years agoAdd error handling for sending POSTs.
Margaret Wasserman [Tue, 16 Dec 2014 21:20:51 +0000 (16:20 -0500)]
Add error handling for sending POSTs.

9 years agoRename gss_eap to gssEap in calling functions
Mark Donnelly [Fri, 5 Dec 2014 19:21:38 +0000 (14:21 -0500)]
Rename gss_eap to gssEap in calling functions

9 years agoGSS now works for Firefox!
Mark Donnelly [Thu, 4 Dec 2014 17:50:23 +0000 (12:50 -0500)]
GSS now works for Firefox!

* Change main.js to load gssweb.contentscript.js intead of navigator.gss.js

* Make some attempts to convert gssweb.contentscript.js into something that
  will work on both Chrome/Chromium and Firefox

* GSS Calls now work in firefox!
  ... authenticate doesn't yet work, because Firefox sends its content-type
       with a character encoding
       ("application/x-www-form-urlencoded; Charset: UTF-8) which causes the
       apache module problems with double-freeing memory, but that's a problem
       for a different commit.

9 years agoRemoved no longer needed console logging upon bootup.
Mark Donnelly [Wed, 3 Dec 2014 21:42:41 +0000 (16:42 -0500)]
Removed no longer needed console logging upon bootup.

9 years agoRequests originating in content scripts now generate responses to the content scripts
Mark Donnelly [Wed, 3 Dec 2014 21:26:56 +0000 (16:26 -0500)]
Requests originating in content scripts now generate responses to the content scripts

9 years agoPassing messages between the add-on and the content script
Mark Donnelly [Wed, 3 Dec 2014 20:52:49 +0000 (15:52 -0500)]
Passing messages between the add-on and the content script

9 years agoRename 'xpi' to 'firefox' for better clarity
Mark Donnelly [Wed, 3 Dec 2014 20:51:32 +0000 (15:51 -0500)]
Rename 'xpi' to 'firefox' for better clarity

9 years agoHandle errors of garbled JSON sent to the native host
Mark Donnelly [Wed, 3 Dec 2014 17:28:52 +0000 (12:28 -0500)]
Handle errors of garbled JSON sent to the native host

9 years agoGet the navigator.gss_eap object to appear on firefox
Mark Donnelly [Wed, 3 Dec 2014 17:24:01 +0000 (12:24 -0500)]
Get the navigator.gss_eap object to appear on firefox

9 years agoWaypoint towards trying to get Firefox communication with native code. Not currently...
Mark Donnelly [Mon, 1 Dec 2014 16:13:36 +0000 (11:13 -0500)]
Waypoint towards trying to get Firefox communication with native code.  Not currently useful.

9 years agoinclude string.h for strdup
Kevin Wasserman [Sat, 29 Nov 2014 14:05:43 +0000 (09:05 -0500)]
include string.h for strdup

9 years agoFixup new firefox entrypoints for windows
Kevin Wasserman [Sat, 29 Nov 2014 13:54:38 +0000 (08:54 -0500)]
Fixup new firefox entrypoints for windows

9 years agoSilence errors when assigning random values to test data
Mark Donnelly [Wed, 26 Nov 2014 18:45:25 +0000 (13:45 -0500)]
Silence errors when assigning random values to test data

9 years agoRefactor Chrome entrypoint to funnel through the FF entrypoint
Mark Donnelly [Wed, 26 Nov 2014 17:21:05 +0000 (12:21 -0500)]
Refactor Chrome entrypoint to funnel through the FF entrypoint

9 years agoA thought of new exception handling; add entrypoint for FireFox
Mark Donnelly [Wed, 26 Nov 2014 17:20:07 +0000 (12:20 -0500)]
A thought of new exception handling; add entrypoint for FireFox

9 years agoStart work on firefox support
Mark Donnelly [Wed, 26 Nov 2014 17:18:52 +0000 (12:18 -0500)]
Start work on firefox support

9 years agoEnable -Wall -Werror with GCC; fix warnings
Kevin Wasserman [Tue, 25 Nov 2014 21:48:23 +0000 (16:48 -0500)]
Enable -Wall -Werror with GCC; fix warnings

9 years agoTreat warnings as errors on windows
Kevin Wasserman [Tue, 25 Nov 2014 21:24:09 +0000 (16:24 -0500)]
Treat warnings as errors on windows

9 years agoFix integer precision warnings
Kevin Wasserman [Tue, 25 Nov 2014 18:05:16 +0000 (13:05 -0500)]
Fix integer precision warnings

9 years agofix unreferencd local parameter warning
Kevin Wasserman [Tue, 25 Nov 2014 17:08:15 +0000 (12:08 -0500)]
fix unreferencd local parameter warning

9 years agofix int to size_t warnings in GSSBuffer
Kevin Wasserman [Tue, 25 Nov 2014 16:32:31 +0000 (11:32 -0500)]
fix int to size_t warnings in GSSBuffer

9 years agoInclude dependency on pthreads
Mark Donnelly [Tue, 25 Nov 2014 16:24:03 +0000 (11:24 -0500)]
Include dependency on pthreads

9 years agoInherit from GSSCommand publicly, rather than privately.
Mark Donnelly [Tue, 25 Nov 2014 16:11:37 +0000 (11:11 -0500)]
Inherit from GSSCommand publicly, rather than privately.

The code to process commands from the user interface relies on the inheritance from the GSSCommand interface, which doesn't work if that inheritance is private.

9 years agoRemove calls to GSSCommand constructor from derived classes
Mark Donnelly [Tue, 25 Nov 2014 15:56:27 +0000 (10:56 -0500)]
Remove calls to GSSCommand constructor from derived classes

The GSSCommand class has evolved into little more than an interface, and calls to its constructor from its derived classes were all implemented incorrectly anyway.  This change removes the calls to the constructor from the remaining inheriting classes: GSSAcquireCred, GSSImportName, GSSInitSecContext, and GSSPseudoRandom.

9 years agoUse location.hostname as part of the name of the other end; reorder calls for debugga...
Mark Donnelly [Mon, 24 Nov 2014 21:07:15 +0000 (16:07 -0500)]
Use location.hostname as part of the name of the other end; reorder calls for debuggability.

The location.host includes the port number in the URL, if specified; the hostname does not.
The reordering of calls makes it easier to tell whether the crash is happening during a 200/Success or 401/Unauthorized response.

9 years agoAdd win-build.bat for buildbot
Kevin Wasserman [Mon, 24 Nov 2014 18:04:15 +0000 (13:04 -0500)]
Add win-build.bat for buildbot

9 years agoAdd importname.txt which is a simple single-command
Kevin Wasserman [Thu, 20 Nov 2014 14:33:49 +0000 (09:33 -0500)]
Add importname.txt which is a simple single-command

useful for testing on windows

9 years agoOn windows, change json_gssapi.exe to take filepath as arg
Kevin Wasserman [Thu, 20 Nov 2014 14:30:35 +0000 (09:30 -0500)]
On windows, change json_gssapi.exe to take filepath as arg

Reads entire file as a single command

9 years agoNo unistd.h in windows
Kevin Wasserman [Fri, 7 Nov 2014 11:29:33 +0000 (06:29 -0500)]
No unistd.h in windows

9 years agoSupport for windows builds
Kevin Wasserman [Fri, 7 Nov 2014 02:47:00 +0000 (21:47 -0500)]
Support for windows builds

9 years agodisable unit tests on windows
Kevin Wasserman [Fri, 7 Nov 2014 02:45:36 +0000 (21:45 -0500)]
disable unit tests on windows

9 years agoadd util_base64 and util_random
Kevin Wasserman [Fri, 7 Nov 2014 16:25:06 +0000 (11:25 -0500)]
add util_base64 and util_random

9 years agoAdd cast to eliminate msvc warning
Kevin Wasserman [Thu, 6 Nov 2014 18:17:44 +0000 (13:17 -0500)]
Add cast to eliminate msvc warning

9 years agoRemove redundant definition of gss_imp_name_type
Kevin Wasserman [Thu, 6 Nov 2014 18:15:31 +0000 (13:15 -0500)]
Remove redundant definition of gss_imp_name_type

9 years agotake mit-krb5 out of include path
Kevin Wasserman [Thu, 6 Nov 2014 18:01:31 +0000 (13:01 -0500)]
take mit-krb5 out of include path

9 years agoAdd KRB5_CALLCONV decoration where required
Kevin Wasserman [Thu, 6 Nov 2014 18:00:01 +0000 (13:00 -0500)]
Add KRB5_CALLCONV decoration where required

9 years agoDon't try to free() gss_OID's
Kevin Wasserman [Thu, 20 Nov 2014 22:35:28 +0000 (17:35 -0500)]
Don't try to free() gss_OID's

9 years agoDon't return pointers to memory held by local std::string buffers
Kevin Wasserman [Thu, 20 Nov 2014 22:32:37 +0000 (17:32 -0500)]
Don't return pointers to memory held by local std::string buffers

9 years agoFix type to eliminate compile error
Kevin Wasserman [Thu, 20 Nov 2014 22:12:18 +0000 (17:12 -0500)]
Fix type to eliminate compile error

9 years agoUpdate tests to deal with GSSCommand objects now taking only the 'argument' part...
Mark Donnelly [Thu, 20 Nov 2014 19:52:38 +0000 (14:52 -0500)]
Update tests to deal with GSSCommand objects now taking only the 'argument' part of the input JSON

9 years agoMerge branch 'master' of ssh://moonshot.suchdamage.org/srv/git/gssweb
Mark Donnelly [Thu, 20 Nov 2014 19:44:59 +0000 (14:44 -0500)]
Merge branch 'master' of ssh://moonshot.suchdamage.org/srv/git/gssweb

9 years agoUpdate tests to deal with GSSCommand objects now taking only the 'argument' part...
Mark Donnelly [Thu, 20 Nov 2014 19:44:53 +0000 (14:44 -0500)]
Update tests to deal with GSSCommand objects now taking only the 'argument' part of the input JSON

9 years agoNul-terminate gss_buffer contents to work around krb5 bug
Kevin Wasserman [Thu, 20 Nov 2014 15:48:29 +0000 (10:48 -0500)]
Nul-terminate gss_buffer contents to work around krb5 bug

9 years agoFix segmentation fault.
Mark Donnelly [Thu, 20 Nov 2014 16:55:05 +0000 (11:55 -0500)]
Fix segmentation fault.

9 years agoRunning to authentication success on the Apache module!
Mark Donnelly [Mon, 10 Nov 2014 21:43:26 +0000 (16:43 -0500)]
Running to authentication success on the Apache module!

Changes:
* The test.html script now respects the server path form field,
  rather than insisting on "/gss"
* The server path field now defaults to "/gss/" so that we don't
  get a HTTP 301 (Redirect) return code
* The gssweb object now opens the XHR connection with each message,
  instead of assuming incorrectly that the connection will remain
  open after each XHR response completes.

9 years agoRemove superfluous variable juggling in the base64 decoding of the input token.
Mark Donnelly [Mon, 10 Nov 2014 05:14:45 +0000 (00:14 -0500)]
Remove superfluous variable juggling in the base64 decoding of the input token.

9 years agoAdd command to display an existing GSS name; avoid truncating the output_token from...
Mark Donnelly [Wed, 5 Nov 2014 20:05:01 +0000 (15:05 -0500)]
Add command to display an existing GSS name; avoid truncating the output_token from gss_init_sec_context.

9 years agoCorrect the storage data types for the name cache
Mark Donnelly [Wed, 5 Nov 2014 17:43:34 +0000 (12:43 -0500)]
Correct the storage data types for the name cache

9 years agoMerge branch 'master' of ssh://moonshot.suchdamage.org/srv/git/gssweb
Margaret Wasserman [Wed, 5 Nov 2014 16:03:26 +0000 (11:03 -0500)]
Merge branch 'master' of ssh://moonshot.suchdamage.org/srv/git/gssweb

9 years agoUpdates to match evolving lower-level code.
Margaret Wasserman [Wed, 5 Nov 2014 16:02:57 +0000 (11:02 -0500)]
Updates to match evolving lower-level code.

9 years agoParameter parsing correctly ignoring empty parameters
Mark Donnelly [Tue, 4 Nov 2014 22:19:44 +0000 (17:19 -0500)]
Parameter parsing correctly ignoring empty parameters

9 years agoHandle empty input strings for parameters, update test.html to send all params for...
Margaret Wasserman [Tue, 4 Nov 2014 21:22:58 +0000 (16:22 -0500)]
Handle empty input strings for parameters, update test.html to send all params for gss_init_sec_context.

9 years agoAdd .h file to define base64 macros.
Margaret Wasserman [Tue, 4 Nov 2014 20:39:24 +0000 (15:39 -0500)]
Add .h file to define base64 macros.

9 years agoUpdated code for gss_init_sec_context. First round trip now works, but input token is
Margaret Wasserman [Thu, 30 Oct 2014 10:57:26 +0000 (06:57 -0400)]
Updated code for gss_init_sec_context.  First round trip now works, but input token is
not passed in the JSON for second round trip.

9 years agoAdd Janet copyright to GSS command files.
Margaret Wasserman [Fri, 24 Oct 2014 20:29:02 +0000 (16:29 -0400)]
Add Janet copyright to GSS command files.

9 years agoTester page now ready for acquire_cred, first pass of init_sec_context
Mark Donnelly [Wed, 22 Oct 2014 20:55:36 +0000 (16:55 -0400)]
Tester page now ready for acquire_cred, first pass of init_sec_context

9 years agoFirst pass at making a GSSWeb object
Mark Donnelly [Wed, 22 Oct 2014 20:54:44 +0000 (16:54 -0400)]
First pass at making a GSSWeb object

9 years agoUpdate the tester page for GSSWeb
Mark Donnelly [Wed, 22 Oct 2014 17:11:13 +0000 (13:11 -0400)]
Update the tester page for GSSWeb

* Add a row for the GSSWeb testing area
* Change the report() function to accept a target reporting area
* Add a doAuthenticate() function for GSSWeb testing

9 years agoAdd comments, rearrange variable declaration order
Mark Donnelly [Tue, 21 Oct 2014 02:44:51 +0000 (22:44 -0400)]
Add comments, rearrange variable declaration order

9 years agoTypo in a comment
Mark Donnelly [Tue, 21 Oct 2014 02:39:48 +0000 (22:39 -0400)]
Typo in a comment

9 years agoUse a lookup table of implemented GSS method names for easier checking logic
Mark Donnelly [Tue, 21 Oct 2014 02:38:51 +0000 (22:38 -0400)]
Use a lookup table of implemented GSS method names for easier checking logic

9 years agoSwitch to use a single success callback signature
Mark Donnelly [Tue, 21 Oct 2014 02:34:58 +0000 (22:34 -0400)]
Switch to use a single success callback signature

9 years agoWrapping overly-long lines
Mark Donnelly [Tue, 21 Oct 2014 02:32:06 +0000 (22:32 -0400)]
Wrapping overly-long lines

9 years agoAdd ability to specify per-call error handling
Mark Donnelly [Tue, 21 Oct 2014 02:25:14 +0000 (22:25 -0400)]
Add ability to specify per-call error handling

9 years agoFix the GSS_ERROR calculation
Mark Donnelly [Tue, 21 Oct 2014 02:14:02 +0000 (22:14 -0400)]
Fix the GSS_ERROR calculation

The C macro specified 0377, which is 377-octal, which is 255-decimal.

9 years agoUpdate the tester page to add init_sec_context and acquire_cred spaces.
Mark Donnelly [Tue, 21 Oct 2014 02:09:01 +0000 (22:09 -0400)]
Update the tester page to add init_sec_context and acquire_cred spaces.

* Change the callback signature from the response dispatcher
* Change the tester page to add space for acquire cred
* Change the tester page to add space for init sec context
* Fill in the GSS names underneath acquire_cred and
  init_sec_context upon successful gss name importing

9 years agoCorrect minor problems with previous commit.
Mark Donnelly [Tue, 21 Oct 2014 01:49:56 +0000 (21:49 -0400)]
Correct minor problems with previous commit.

9 years agoRework the injected script:
Mark Donnelly [Thu, 16 Oct 2014 19:53:26 +0000 (15:53 -0400)]
Rework the injected script:

* Make it object-based
* Functions now take hashes (like jQuery) instead of parameter lists
* There is now a single response dispatcher instead of writing one
  per GSS method call
* Implement the gss_error C-macro as a JavaScript function
* Split the callback into two callbacks: success and error.
* Add checking for whether the message returned from the C code has a
  matching nonce/method tuple.

9 years agoRemove unused variable from a test
Mark Donnelly [Fri, 3 Oct 2014 20:17:48 +0000 (16:17 -0400)]
Remove unused variable from a test

9 years agoRemove infinite loop of sending a message to the page, then receiving that message...
Mark Donnelly [Fri, 3 Oct 2014 20:16:31 +0000 (16:16 -0400)]
Remove infinite loop of sending a message to the page, then receiving that message and sending it on to the GSS command line

9 years agoReturn the GSS error status messages back with every invocation of the GSSImportName...
Mark Donnelly [Fri, 3 Oct 2014 20:14:43 +0000 (16:14 -0400)]
Return the GSS error status messages back with every invocation of the GSSImportName function.

9 years agoMessage passing with cookies (app_tag, gssweb_bg_tag, etc.)
Mark Donnelly [Fri, 3 Oct 2014 18:59:04 +0000 (14:59 -0400)]
Message passing with cookies (app_tag, gssweb_bg_tag, etc.)

The messages passed in to the C++ code will now have the following elements copied in to the response:
  cookies
  method

The c++ code was refactored to have a common point for top-level JSON parsing, and the GSSCommand subclasses now only pull out their specific arguments.

GSSCreateSecContextCommand was renamed to GSSInitSecContext.

There was an error in util_json in how a JSONObject implemented operator= that made it at best a no-op.  (At worst it caused crashes.)

9 years agoExplicitly use 4 character length field for Debian.
Margaret Wasserman [Wed, 1 Oct 2014 16:01:54 +0000 (12:01 -0400)]
Explicitly use 4 character length field for Debian.

9 years agocorrectly throw error message upon invalid JSON input.
Mark Donnelly [Tue, 30 Sep 2014 19:50:46 +0000 (15:50 -0400)]
correctly throw error message upon invalid JSON input.

9 years agoChange from fread() to read()
Mark Donnelly [Tue, 30 Sep 2014 19:32:36 +0000 (15:32 -0400)]
Change from fread() to read()

9 years agoEnd-to-end working gss_import_name call
Mark Donnelly [Tue, 30 Sep 2014 13:35:11 +0000 (09:35 -0400)]
End-to-end working gss_import_name call

9 years agoAdding chrome extension and host messaging files
Mark Donnelly [Fri, 26 Sep 2014 16:33:54 +0000 (12:33 -0400)]
Adding chrome extension and host messaging files

9 years agoChange the input/output protocol to expect and emit binary lengths before messages.
Mark Donnelly [Fri, 26 Sep 2014 02:13:20 +0000 (22:13 -0400)]
Change the input/output protocol to expect and emit binary lengths before messages.

9 years agoRemove the unused references to util/base64.cpp
Mark Donnelly [Thu, 25 Sep 2014 18:10:28 +0000 (14:10 -0400)]
Remove the unused references to util/base64.cpp

9 years agoRemoved reference to unused, unversioned util directory
Mark Donnelly [Wed, 24 Sep 2014 18:25:42 +0000 (14:25 -0400)]
Removed reference to unused, unversioned util directory

9 years agoAdd GSSAcquireCred to the JSON protocol description
Mark Donnelly [Mon, 15 Sep 2014 14:44:38 +0000 (10:44 -0400)]
Add GSSAcquireCred to the JSON protocol description

Also, add a default mechanism for the GSSAcquireCred call.

9 years agoA bunch of changes as the command line now works.
Mark Donnelly [Fri, 12 Sep 2014 15:42:14 +0000 (11:42 -0400)]
A bunch of changes as the command line now works.

* Move the main processing into a shared library
* Add processing in main() to read input, call the library commands,
  and output
* Correct copy-and-paste error in GSSNameCache that precluded it from
  being used along with GSSContextCache
* GSSAcquireCred now honors the desired_name parameter
* GSSCommand now an abstract class, with pure virtual methods
* GSSCreateSecContextCommand::execute() now uses datamodel objects
  instead of raw GSS types
* GSSCreateSecContextCommand now accepts cached names and contexts
  instead of raw GSS types
* GSSName operator= now duplicates GSS name instead of copying the
  data out of the other GSSName object, thus rendering their
  destruction independent
* GSSCreateSecContext now defaults to using the Moonshot mechanism
* Add a description of the JSON protocol for json_gssapi
* Clean up some of the compiler warnings about casting the result
  of rand() into a pointer

9 years agoCommit an overly-large chunk of work.
Mark Donnelly [Thu, 4 Sep 2014 14:10:20 +0000 (10:10 -0400)]
Commit an overly-large chunk of work.

This commit contains at least the following changes:
* The addition of pseudo_random
* The addition of memory caches for contexts and names
* The return of handles (base64-encoded) to the memory caches for context and name objects
* Moving the gss_import_name functionality out of the GSSName object properly into the GSSImportName object
* Give GSSImportName defaults of interpreting the name as OID { 1 2 840 113554 1 2 1 4 } - GSSAPI Service Name (ISO / Member / US / MIT / Infosys / GSSAPI / generic / service-name)
* Implement the copy-creator of GSSName to call gss_duplicate_name.  Each object has its own memory handle.  Neat!
* Addition of GSSContext objects to hold GSS contexts