+2000-03-15 Danilo Almeida <dalmeida@mit.edu>
+
+ * stdcc.c (krb5_stdcc_destroy): Do not mask KRB5_FCC_NOFILE error
+ on destroy.
+
2000-02-10 Miro Jurisic <meeroh@mit.edu>
* stdcc_util.c: Fixed lxs' fix
int err;
krb5_error_code retval;
stdccCacheDataPtr ccapi_data = id->data;
-
+
if ((retval = stdcc_setup(context, ccapi_data))) {
- if (retval == KRB5_FCC_NOFILE)
- return 0;
return retval;
}
-
+
/* free memory associated with the krb5_ccache */
if (ccapi_data) {
if (ccapi_data->cache_name)
if (ccapi_data->NamedCache) {
/* destroy the named cache */
err = cc_destroy(gCntrlBlock, &ccapi_data->NamedCache);
+ retval = cc_err_xlate(err);
cache_changed();
}
free(ccapi_data);
id->data = NULL;
}
free(id);
-
- return cc_err_xlate(err);
+
+ /* If the cache does not exist when we tried to destroy it,
+ that's fine. That means someone else destryoed it since
+ we resolved it. */
+ if (retval == KRB5_FCC_NOFILE)
+ return 0;
+ return retval;
}
/*