X-Git-Url: http://www.project-moonshot.org/gitweb/?p=moonshot-firefox.git;a=blobdiff_plain;f=nsMoonshotSessionState.cpp;fp=nsMoonshotSessionState.cpp;h=20b325df16f4beb0d7b2160e7b252a81df24d182;hp=0000000000000000000000000000000000000000;hb=67fd5d1985181cff3142651d043d2c5c8515dbcf;hpb=05ccce99ee775c0422e3b8ef4e96ddb21d37ab96 diff --git a/nsMoonshotSessionState.cpp b/nsMoonshotSessionState.cpp new file mode 100644 index 0000000..20b325d --- /dev/null +++ b/nsMoonshotSessionState.cpp @@ -0,0 +1,36 @@ +#include "nsMoonshotSessionState.h" + +nsMoonshotSessionState::nsMoonshotSessionState() +{ + gss_ctx = GSS_C_NO_CONTEXT; + gss_state = GSS_CTX_EMPTY; + gss_cred = GSS_C_NO_CREDENTIAL; +} + +nsMoonshotSessionState::~nsMoonshotSessionState() +{ + OM_uint32 min_stat; + + if (gss_ctx != GSS_C_NO_CONTEXT) + gss_delete_sec_context(&min_stat, &gss_ctx, GSS_C_NO_BUFFER); + + if (gss_cred != GSS_C_NO_CREDENTIAL) + gss_release_cred(&min_stat, &gss_ctx); + + gss_ctx = GSS_C_NO_CONTEXT; + gss_cred = GSS_C_NO_CREDENTIAL; + gss_state = GSS_CTX_EMPTY; +} + +void +nsMoonshotSessionState::Reset() +{ + OM_uint32 min_stat; + + if (gss_ctx != GSS_C_NO_CONTEXT) + gss_delete_sec_context(&min_stat, &gss_ctx, GSS_C_NO_BUFFER); + gss_ctx = GSS_C_NO_CONTEXT; + gss_state = GSS_CTX_EMPTY; +} + +NS_IMPL_ISUPPORTS0(nsMoonshotSessionState)