summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKen Raeburn <raeburn@mit.edu>2004-07-30 21:10:45 +0000
committerKen Raeburn <raeburn@mit.edu>2004-07-30 21:10:45 +0000
commit105f1cee3b5c721bd947760e4684a79d5774e261 (patch)
treef33e86d5f72f277ce95cddb0e57cf9f3afd18be3
parent1d272cfd6b3de74046438d352d2ef8c6e350fcd9 (diff)
downloadkrb5-105f1cee3b5c721bd947760e4684a79d5774e261.tar.gz
krb5-105f1cee3b5c721bd947760e4684a79d5774e261.tar.xz
krb5-105f1cee3b5c721bd947760e4684a79d5774e261.zip
Implement new replay cache type "none"
* rc_none.c: New file. * Makefile.in (SRCS, STLIBOBJS, OBJS): Build it. * rc-int.h (krb5_rc_none_ops): Declare. * rc_base.c (none): New variable. (krb5_rc_typelist_dfl): Add it into the linked list. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@16634 dc483132-0cff-0310-8789-dd5450dbe970
-rw-r--r--src/lib/krb5/rcache/ChangeLog8
-rw-r--r--src/lib/krb5/rcache/Makefile.in13
-rw-r--r--src/lib/krb5/rcache/rc-int.h1
-rw-r--r--src/lib/krb5/rcache/rc_base.c3
-rw-r--r--src/lib/krb5/rcache/rc_none.c86
5 files changed, 108 insertions, 3 deletions
diff --git a/src/lib/krb5/rcache/ChangeLog b/src/lib/krb5/rcache/ChangeLog
index 48c72b7bec..bf5c2f7b56 100644
--- a/src/lib/krb5/rcache/ChangeLog
+++ b/src/lib/krb5/rcache/ChangeLog
@@ -1,3 +1,11 @@
+2004-07-30 Ken Raeburn <raeburn@mit.edu>
+
+ * rc_none.c: New file.
+ * Makefile.in (SRCS, STLIBOBJS, OBJS): Build it.
+ * rc-int.h (krb5_rc_none_ops): Declare.
+ * rc_base.c (none): New variable.
+ (krb5_rc_typelist_dfl): Add it into the linked list.
+
2004-07-16 Ken Raeburn <raeburn@mit.edu>
* rc_io.c: Don't check for macsock.h.
diff --git a/src/lib/krb5/rcache/Makefile.in b/src/lib/krb5/rcache/Makefile.in
index 6fbc67c9d4..c965b28933 100644
--- a/src/lib/krb5/rcache/Makefile.in
+++ b/src/lib/krb5/rcache/Makefile.in
@@ -12,6 +12,7 @@ STLIBOBJS = \
rc_dfl.o \
rc_io.o \
rcdef.o \
+ rc_none.o \
rc_conv.o \
ser_rc.o \
rcfns.o
@@ -19,8 +20,9 @@ STLIBOBJS = \
OBJS= \
$(OUTPRE)rc_base.$(OBJEXT) \
$(OUTPRE)rc_dfl.$(OBJEXT) \
- $(OUTPRE)rc_io.$(OBJEXT) \
- $(OUTPRE)rcdef.$(OBJEXT) \
+ $(OUTPRE)rc_io.$(OBJEXT) \
+ $(OUTPRE)rcdef.$(OBJEXT) \
+ $(OUTPRE)rc_none.$(OBJEXT) \
$(OUTPRE)rc_conv.$(OBJEXT) \
$(OUTPRE)ser_rc.$(OBJEXT) \
$(OUTPRE)rcfns.$(OBJEXT)
@@ -30,6 +32,7 @@ SRCS= \
$(srcdir)/rc_dfl.c \
$(srcdir)/rc_io.c \
$(srcdir)/rcdef.c \
+ $(srcdir)/rc_none.c \
$(srcdir)/rc_conv.c \
$(srcdir)/ser_rc.c \
$(srcdir)/rcfns.c
@@ -71,6 +74,12 @@ rcdef.so rcdef.po $(OUTPRE)rcdef.$(OBJEXT): rcdef.c $(SRCTOP)/include/k5-int.h \
$(BUILDTOP)/include/krb5.h $(COM_ERR_DEPS) $(BUILDTOP)/include/profile.h \
$(SRCTOP)/include/port-sockets.h $(SRCTOP)/include/socket-utils.h \
$(SRCTOP)/include/krb5/kdb.h rc-int.h rc_dfl.h
+rc_none.so rc_none.po $(OUTPRE)rc_none.$(OBJEXT): rc_none.c $(SRCTOP)/include/k5-int.h \
+ $(BUILDTOP)/include/krb5/osconf.h $(BUILDTOP)/include/krb5/autoconf.h \
+ $(SRCTOP)/include/k5-platform.h $(SRCTOP)/include/k5-thread.h \
+ $(BUILDTOP)/include/krb5.h $(COM_ERR_DEPS) $(BUILDTOP)/include/profile.h \
+ $(SRCTOP)/include/port-sockets.h $(SRCTOP)/include/socket-utils.h \
+ $(SRCTOP)/include/krb5/kdb.h rc-int.h
rc_conv.so rc_conv.po $(OUTPRE)rc_conv.$(OBJEXT): rc_conv.c rc_base.h $(SRCTOP)/include/k5-int.h \
$(BUILDTOP)/include/krb5/osconf.h $(BUILDTOP)/include/krb5/autoconf.h \
$(SRCTOP)/include/k5-platform.h $(SRCTOP)/include/k5-thread.h \
diff --git a/src/lib/krb5/rcache/rc-int.h b/src/lib/krb5/rcache/rc-int.h
index d64c348576..239f0c0a73 100644
--- a/src/lib/krb5/rcache/rc-int.h
+++ b/src/lib/krb5/rcache/rc-int.h
@@ -70,5 +70,6 @@ typedef struct _krb5_rc_ops krb5_rc_ops;
krb5_error_code krb5_rc_register_type (krb5_context, const krb5_rc_ops *);
extern const krb5_rc_ops krb5_rc_dfl_ops;
+extern const krb5_rc_ops krb5_rc_none_ops;
#endif /* __KRB5_RCACHE_INT_H__ */
diff --git a/src/lib/krb5/rcache/rc_base.c b/src/lib/krb5/rcache/rc_base.c
index 4146cc8d65..e9f9505c5f 100644
--- a/src/lib/krb5/rcache/rc_base.c
+++ b/src/lib/krb5/rcache/rc_base.c
@@ -21,7 +21,8 @@ struct krb5_rc_typelist {
const krb5_rc_ops *ops;
struct krb5_rc_typelist *next;
};
-static struct krb5_rc_typelist krb5_rc_typelist_dfl = { &krb5_rc_dfl_ops, 0 };
+static struct krb5_rc_typelist none = { &krb5_rc_none_ops, 0 };
+static struct krb5_rc_typelist krb5_rc_typelist_dfl = { &krb5_rc_dfl_ops, &none };
static struct krb5_rc_typelist *typehead = &krb5_rc_typelist_dfl;
static k5_mutex_t rc_typelist_lock = K5_MUTEX_PARTIAL_INITIALIZER;
diff --git a/src/lib/krb5/rcache/rc_none.c b/src/lib/krb5/rcache/rc_none.c
new file mode 100644
index 0000000000..3ad45247b0
--- /dev/null
+++ b/src/lib/krb5/rcache/rc_none.c
@@ -0,0 +1,86 @@
+/*
+ * lib/krb5/rcache/rc_none.c
+ *
+ * Copyright 2004 by the Massachusetts Institute of Technology.
+ * All Rights Reserved.
+ *
+ * Export of this software from the United States of America may
+ * require a specific license from the United States Government.
+ * It is the responsibility of any person or organization contemplating
+ * export to obtain such a license before exporting.
+ *
+ * WITHIN THAT CONSTRAINT, permission to use, copy, modify, and
+ * distribute this software and its documentation for any purpose and
+ * without fee is hereby granted, provided that the above copyright
+ * notice appear in all copies and that both that copyright notice and
+ * this permission notice appear in supporting documentation, and that
+ * the name of M.I.T. not be used in advertising or publicity pertaining
+ * to distribution of the software without specific, written prior
+ * permission. Furthermore if you modify this software you must label
+ * your software as modified software and not distribute it in such a
+ * fashion that it might be confused with the original M.I.T. software.
+ * M.I.T. makes no representations about the suitability of
+ * this software for any purpose. It is provided "as is" without express
+ * or implied warranty.
+ *
+ *
+ * replay cache no-op implementation
+ */
+
+#include "k5-int.h"
+#include "rc-int.h"
+
+static krb5_error_code KRB5_CALLCONV
+krb5_rc_none_init(krb5_context ctx, krb5_rcache rc, krb5_deltat d)
+{
+ return 0;
+}
+
+static krb5_error_code KRB5_CALLCONV
+krb5_rc_none_noargs(krb5_context ctx, krb5_rcache rc)
+{
+ return 0;
+}
+#define krb5_rc_none_recover krb5_rc_none_noargs
+#define krb5_rc_none_destroy krb5_rc_none_noargs
+#define krb5_rc_none_close krb5_rc_none_noargs
+#define krb5_rc_none_expunge krb5_rc_none_noargs
+
+static krb5_error_code KRB5_CALLCONV
+krb5_rc_none_store(krb5_context ctx, krb5_rcache rc, krb5_donot_replay *r)
+{
+ return 0;
+}
+
+static krb5_error_code KRB5_CALLCONV
+krb5_rc_none_get_span(krb5_context ctx, krb5_rcache rc, krb5_deltat *d)
+{
+ return 0;
+}
+
+static char * KRB5_CALLCONV
+krb5_rc_none_get_name(krb5_context ctx, krb5_rcache rc)
+{
+ return "";
+}
+
+static krb5_error_code KRB5_CALLCONV
+krb5_rc_none_resolve(krb5_context ctx, krb5_rcache rc, char *name)
+{
+ rc->data = "none";
+ return 0;
+}
+
+const krb5_rc_ops krb5_rc_none_ops = {
+ 0,
+ "none",
+ krb5_rc_none_init,
+ krb5_rc_none_recover,
+ krb5_rc_none_destroy,
+ krb5_rc_none_close,
+ krb5_rc_none_store,
+ krb5_rc_none_expunge,
+ krb5_rc_none_get_span,
+ krb5_rc_none_get_name,
+ krb5_rc_none_resolve
+};