Annotation of embedaddon/lighttpd/src/http_auth.h, revision 1.1
1.1 ! misho 1: #ifndef _HTTP_AUTH_H_
! 2: #define _HTTP_AUTH_H_
! 3:
! 4: #include "server.h"
! 5: #include "plugin.h"
! 6:
! 7: #if defined(HAVE_LDAP_H) && defined(HAVE_LBER_H) && defined(HAVE_LIBLDAP) && defined(HAVE_LIBLBER)
! 8: # define USE_LDAP
! 9: # include <ldap.h>
! 10: #endif
! 11:
! 12: typedef enum {
! 13: AUTH_BACKEND_UNSET,
! 14: AUTH_BACKEND_PLAIN,
! 15: AUTH_BACKEND_LDAP,
! 16: AUTH_BACKEND_HTPASSWD,
! 17: AUTH_BACKEND_HTDIGEST
! 18: } auth_backend_t;
! 19:
! 20: typedef struct {
! 21: /* auth */
! 22: array *auth_require;
! 23:
! 24: buffer *auth_plain_groupfile;
! 25: buffer *auth_plain_userfile;
! 26:
! 27: buffer *auth_htdigest_userfile;
! 28: buffer *auth_htpasswd_userfile;
! 29:
! 30: buffer *auth_backend_conf;
! 31:
! 32: buffer *auth_ldap_hostname;
! 33: buffer *auth_ldap_basedn;
! 34: buffer *auth_ldap_binddn;
! 35: buffer *auth_ldap_bindpw;
! 36: buffer *auth_ldap_filter;
! 37: buffer *auth_ldap_cafile;
! 38: unsigned short auth_ldap_starttls;
! 39: unsigned short auth_ldap_allow_empty_pw;
! 40:
! 41: unsigned short auth_debug;
! 42:
! 43: /* generated */
! 44: auth_backend_t auth_backend;
! 45:
! 46: #ifdef USE_LDAP
! 47: LDAP *ldap;
! 48:
! 49: buffer *ldap_filter_pre;
! 50: buffer *ldap_filter_post;
! 51: #endif
! 52: } mod_auth_plugin_config;
! 53:
! 54: typedef struct {
! 55: PLUGIN_DATA;
! 56: buffer *tmp_buf;
! 57:
! 58: buffer *auth_user;
! 59:
! 60: #ifdef USE_LDAP
! 61: buffer *ldap_filter;
! 62: #endif
! 63:
! 64: mod_auth_plugin_config **config_storage;
! 65:
! 66: mod_auth_plugin_config conf, *anon_conf; /* this is only used as long as no handler_ctx is setup */
! 67: } mod_auth_plugin_data;
! 68:
! 69: int http_auth_basic_check(server *srv, connection *con, mod_auth_plugin_data *p, array *req, const char *realm_str);
! 70: int http_auth_digest_check(server *srv, connection *con, mod_auth_plugin_data *p, array *req, const char *realm_str);
! 71: int http_auth_digest_generate_nonce(server *srv, mod_auth_plugin_data *p, buffer *fn, char hh[33]);
! 72: int http_auth_match_rules(server *srv, array *req, const char *username, const char *group, const char *host);
! 73:
! 74: #endif
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>