*/
#define DEBUG_SUBSYSTEM S_SEC
-#ifdef __KERNEL__
#include <linux/init.h>
#include <linux/module.h>
#include <linux/slab.h>
#include <linux/mutex.h>
-#else
-#include <liblustre.h>
-#endif
#include <obd.h>
#include <obd_class.h>
#include <obd_support.h>
-#include <lustre/lustre_idl.h>
#include <lustre_net.h>
#include <lustre_import.h>
#include <lustre_sec.h>
#include "gss_internal.h"
#include "gss_api.h"
-static CFS_LIST_HEAD(registered_mechs);
+static struct list_head registered_mechs = LIST_HEAD_INIT(registered_mechs);
static DEFINE_SPINLOCK(registered_mechs_lock);
int lgss_mech_register(struct gss_api_mech *gm)
{
spin_lock(®istered_mechs_lock);
- cfs_list_add(&gm->gm_list, ®istered_mechs);
+ list_add(&gm->gm_list, ®istered_mechs);
spin_unlock(®istered_mechs_lock);
- CWARN("Register %s mechanism\n", gm->gm_name);
+ CDEBUG(D_SEC, "register %s mechanism\n", gm->gm_name);
return 0;
}
void lgss_mech_unregister(struct gss_api_mech *gm)
{
spin_lock(®istered_mechs_lock);
- cfs_list_del(&gm->gm_list);
+ list_del(&gm->gm_list);
spin_unlock(®istered_mechs_lock);
- CWARN("Unregister %s mechanism\n", gm->gm_name);
+ CDEBUG(D_SEC, "Unregister %s mechanism\n", gm->gm_name);
}
struct gss_api_mech *pos, *gm = NULL;
spin_lock(®istered_mechs_lock);
- cfs_list_for_each_entry(pos, ®istered_mechs, gm_list) {
+ list_for_each_entry(pos, ®istered_mechs, gm_list) {
if (0 == strcmp(name, pos->gm_name)) {
if (!try_module_get(pos->gm_owner))
continue;
struct gss_api_mech *pos, *gm = NULL;
spin_lock(®istered_mechs_lock);
- cfs_list_for_each_entry(pos, ®istered_mechs, gm_list) {
+ list_for_each_entry(pos, ®istered_mechs, gm_list) {
if (!try_module_get(pos->gm_owner))
continue;
if (!mech_supports_subflavor(pos, subflavor)) {
* this interface is much simplified, currently we only need endtime.
*/
__u32 lgss_inquire_context(struct gss_ctx *context_handle,
- unsigned long *endtime)
+ time64_t *endtime)
{
LASSERT(context_handle);
LASSERT(context_handle->mech_type);
__u32 lgss_delete_sec_context(struct gss_ctx **context_handle)
{
- struct gss_api_mech *mech;
+ struct gss_api_mech *mech;
- CDEBUG(D_SEC, "deleting %p\n", *context_handle);
+ if (!*context_handle)
+ return GSS_S_NO_CONTEXT;
- if (!*context_handle)
- return(GSS_S_NO_CONTEXT);
+ CDEBUG(D_SEC, "deleting %p\n", *context_handle);
- mech = (*context_handle)->mech_type;
- if ((*context_handle)->internal_ctx_id != 0) {
- LASSERT(mech);
- LASSERT(mech->gm_ops);
- LASSERT(mech->gm_ops->gss_delete_sec_context);
- mech->gm_ops->gss_delete_sec_context(
- (*context_handle)->internal_ctx_id);
- }
- if (mech)
- lgss_mech_put(mech);
+ mech = (*context_handle)->mech_type;
+ if ((*context_handle)->internal_ctx_id != NULL) {
+ LASSERT(mech);
+ LASSERT(mech->gm_ops);
+ LASSERT(mech->gm_ops->gss_delete_sec_context);
+ mech->gm_ops->gss_delete_sec_context(
+ (*context_handle)->internal_ctx_id);
+ }
+ if (mech)
+ lgss_mech_put(mech);
- OBD_FREE_PTR(*context_handle);
- *context_handle=NULL;
- return GSS_S_COMPLETE;
+ OBD_FREE_PTR(*context_handle);
+ *context_handle = NULL;
+ return GSS_S_COMPLETE;
}
int lgss_display(struct gss_ctx *ctx,