make reauth support conditionaly compilable
[mech_eap.git] / store_cred.c
index ce45d02..b1e5e54 100644 (file)
@@ -42,5 +42,27 @@ gss_store_cred(OM_uint32 *minor,
                gss_OID_set *elements_stored,
                gss_cred_usage_t *cred_usage_stored)
 {
-    GSSEAP_NOT_IMPLEMENTED;
+    if (elements_stored != NULL)
+        *elements_stored = GSS_C_NO_OID_SET;
+    if (cred_usage_stored != NULL)
+        *cred_usage_stored = input_usage;
+
+    if (input_cred_handle == GSS_C_NO_CREDENTIAL)
+        return GSS_S_CALL_INACCESSIBLE_READ | GSS_S_NO_CRED;
+
+#ifdef GSSEAP_ENABLE_REAUTH
+    if (input_cred_handle->krbCred != GSS_C_NO_CREDENTIAL) {
+        return gssStoreCred(minor,
+                            input_cred_handle->krbCred,
+                            input_usage,
+                            gss_mech_krb5,
+                            overwrite_cred,
+                            default_cred,
+                            elements_stored,
+                            cred_usage_stored);
+    }
+#endif
+
+    *minor = 0;
+    return GSS_S_UNAVAILABLE;
 }