summaryrefslogtreecommitdiff
path: root/accel-pptpd/pwdb.h
diff options
context:
space:
mode:
authorKozlov Dmitry <dima@server>2010-09-04 16:20:11 +0400
committerKozlov Dmitry <dima@server>2010-09-04 16:20:11 +0400
commitaf5a96e2d04056b065a36ecbd140a16d0685c7e6 (patch)
treef873b3c5c68a72d2df1785fdd0931bc57c91fd35 /accel-pptpd/pwdb.h
parente8aa3a1457295f70f8ccc9cd7f2f9073f01a5e2e (diff)
downloadaccel-ppp-af5a96e2d04056b065a36ecbd140a16d0685c7e6.tar.gz
accel-ppp-af5a96e2d04056b065a36ecbd140a16d0685c7e6.zip
started work on radius module
Diffstat (limited to 'accel-pptpd/pwdb.h')
-rw-r--r--accel-pptpd/pwdb.h23
1 files changed, 21 insertions, 2 deletions
diff --git a/accel-pptpd/pwdb.h b/accel-pptpd/pwdb.h
index 07c45b09..42f9133c 100644
--- a/accel-pptpd/pwdb.h
+++ b/accel-pptpd/pwdb.h
@@ -1,10 +1,29 @@
#ifndef PWDB_H
#define PWDB_H
+#include <stdarg.h>
+#include "list.h"
+
struct ppp_t;
-int pwdb_check(struct ppp_t*,const char *username,const char *password);
-char *pwdb_get_passwd(struct ppp_t*, const char *username);
+#define PWDB_SUCCESS 0
+#define PWDB_DENIED 1
+#define PWDB_NO_IMPL 2
+
+struct pwdb_t
+{
+ struct list_head entry;
+ int (*cleartext_check)(struct pwdb_t *, struct ppp_t *, const char *username, const char *password);
+ int (*encrypted_check)(struct pwdb_t *, struct ppp_t *, const char *username, int type, va_list args);
+ const char* (*get_passwd)(struct pwdb_t *, struct ppp_t *, const char *username);
+};
+
+int pwdb_cleartext_check(struct ppp_t *, const char *username,const char *password);
+int pwdb_encrypted_check(struct ppp_t *, const char *username, int type, ...);
+const char *pwdb_get_passwd(struct ppp_t *, const char *username);
+
+void pwdb_register(struct pwdb_t *);
+void pwdb_unregister(struct pwdb_t *);
#endif