diff options
author | Stephen Gallagher <sgallagh@redhat.com> | 2010-02-18 07:49:04 -0500 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2010-02-18 13:48:45 -0500 |
commit | 1c48b5a62f73234ed26bb20f0ab345ab61cda0ab (patch) | |
tree | 0b6cddd567a862e1a7b5df23764869782a62ca78 /server/providers/data_provider.h | |
parent | 8c56df3176f528fe0260974b3bf934173c4651ea (diff) | |
download | sssd-1c48b5a62f73234ed26bb20f0ab345ab61cda0ab.tar.gz sssd-1c48b5a62f73234ed26bb20f0ab345ab61cda0ab.tar.bz2 sssd-1c48b5a62f73234ed26bb20f0ab345ab61cda0ab.zip |
Rename server/ directory to src/
Also update BUILD.txt
Diffstat (limited to 'server/providers/data_provider.h')
-rw-r--r-- | server/providers/data_provider.h | 219 |
1 files changed, 0 insertions, 219 deletions
diff --git a/server/providers/data_provider.h b/server/providers/data_provider.h deleted file mode 100644 index 76ba4cff..00000000 --- a/server/providers/data_provider.h +++ /dev/null @@ -1,219 +0,0 @@ -/* - SSSD - - Data Provider, private header file - - Copyright (C) Simo Sorce <ssorce@redhat.com> 2008 - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see <http://www.gnu.org/licenses/>. -*/ - -#ifndef __DATA_PROVIDER_H__ -#define __DATA_PROVIDER_H__ - -#include <stdint.h> -#include <sys/un.h> -#include <errno.h> -#include <stdbool.h> -#include "talloc.h" -#include "tevent.h" -#include "ldb.h" -#include "util/util.h" -#include "confdb/confdb.h" -#include "dbus/dbus.h" -#include "sbus/sssd_dbus.h" -#include "sbus/sbus_client.h" -#include "sss_client/sss_cli.h" - -#define DATA_PROVIDER_VERSION 0x0001 -#define DATA_PROVIDER_SERVICE_NAME "dp" -#define DATA_PROVIDER_PIPE "private/sbus-dp" - -#define DATA_PROVIDER_DB_FILE "sssd.ldb" -#define DATA_PROVIDER_DB_CONF_SEC "config/services/nss" - -#define MOD_OFFLINE 0x0000 -#define MOD_ONLINE 0x0001 - -#define DP_INTERFACE "org.freedesktop.sssd.dataprovider" -#define DP_PATH "/org/freedesktop/sssd/dataprovider" - -#define BE_PROVIDE_ACC_INFO (1<<8) -#define BE_PROVIDE_PAM (1<<9) -#define BE_PROVIDE_POLICY (1<<10) - -#define DP_METHOD_REGISTER "RegisterService" -#define DP_METHOD_ONLINE "getOnline" -#define DP_METHOD_GETACCTINFO "getAccountInfo" -#define DP_METHOD_PAMHANDLER "pamHandler" - -#define DP_ERR_OK 0 -#define DP_ERR_OFFLINE 1 -#define DP_ERR_TIMEOUT 2 -#define DP_ERR_FATAL 3 - -#define BE_ATTR_CORE 1 -#define BE_ATTR_MEM 2 -#define BE_ATTR_ALL 3 - -#define BE_FILTER_NAME 1 -#define BE_FILTER_IDNUM 2 - -#define BE_REQ_USER 0x0001 -#define BE_REQ_GROUP 0x0002 -#define BE_REQ_INITGROUPS 0x0003 -#define BE_REQ_FAST 0x1000 - -/* AUTH related common data and functions */ - -#define DEBUG_PAM_DATA(level, pd) do { \ - if (level <= debug_level) pam_print_data(level, pd); \ -} while(0); - - -struct response_data { - int32_t type; - int32_t len; - uint8_t *data; - struct response_data *next; -}; - -struct pam_data { - int cmd; - uint32_t authtok_type; - uint32_t authtok_size; - uint32_t newauthtok_type; - uint32_t newauthtok_size; - char *domain; - char *user; - char *service; - char *tty; - char *ruser; - char *rhost; - uint8_t *authtok; - uint8_t *newauthtok; - uint32_t cli_pid; - - int pam_status; - int response_delay; - struct response_data *resp_list; - - bool offline_auth; - bool last_auth_saved; - int priv; - uid_t pw_uid; - gid_t gr_gid; - - const char *upn; -}; - -/* from dp_auth_util.c */ -void pam_print_data(int l, struct pam_data *pd); -int pam_add_response(struct pam_data *pd, - enum response_type type, - int len, const uint8_t *data); - -bool dp_pack_pam_request(DBusMessage *msg, struct pam_data *pd); -bool dp_unpack_pam_request(DBusMessage *msg, struct pam_data *pd, - DBusError *dbus_error); - -bool dp_pack_pam_response(DBusMessage *msg, struct pam_data *pd); -bool dp_unpack_pam_response(DBusMessage *msg, struct pam_data *pd, - DBusError *dbus_error); - -int dp_common_send_id(struct sbus_connection *conn, uint16_t version, - const char *name, const char *domain); - -/* from dp_sbus.c */ -int dp_get_sbus_address(TALLOC_CTX *mem_ctx, - char **address, const char *domain_name); - - -/* Helpers */ - -#define NULL_STRING { .string = NULL } -#define NULL_BLOB { .blob = { NULL, 0 } } -#define NULL_NUMBER { .number = 0 } -#define BOOL_FALSE { .boolean = false } -#define BOOL_TRUE { .boolean = true } - -enum dp_opt_type { - DP_OPT_STRING, - DP_OPT_BLOB, - DP_OPT_NUMBER, - DP_OPT_BOOL -}; - -struct dp_opt_blob { - uint8_t *data; - size_t length; -}; - -union dp_opt_value { - const char *cstring; - char *string; - struct dp_opt_blob blob; - int number; - bool boolean; -}; - -struct dp_option { - const char *opt_name; - enum dp_opt_type type; - union dp_opt_value def_val; - union dp_opt_value val; -}; - -int dp_get_options(TALLOC_CTX *memctx, - struct confdb_ctx *cdb, - const char *conf_path, - struct dp_option *def_opts, - int num_opts, - struct dp_option **_opts); - -int dp_copy_options(TALLOC_CTX *memctx, - struct dp_option *src_opts, - int num_opts, - struct dp_option **_opts); - -const char *_dp_opt_get_cstring(struct dp_option *opts, - int id, const char *location); -char *_dp_opt_get_string(struct dp_option *opts, - int id, const char *location); -struct dp_opt_blob _dp_opt_get_blob(struct dp_option *opts, - int id, const char *location); -int _dp_opt_get_int(struct dp_option *opts, - int id, const char *location); -bool _dp_opt_get_bool(struct dp_option *opts, - int id, const char *location); -#define dp_opt_get_cstring(o, i) _dp_opt_get_cstring(o, i, __FUNCTION__) -#define dp_opt_get_string(o, i) _dp_opt_get_string(o, i, __FUNCTION__) -#define dp_opt_get_blob(o, i) _dp_opt_get_blob(o, i, __FUNCTION__) -#define dp_opt_get_int(o, i) _dp_opt_get_int(o, i, __FUNCTION__) -#define dp_opt_get_bool(o, i) _dp_opt_get_bool(o, i, __FUNCTION__) - -int _dp_opt_set_string(struct dp_option *opts, int id, - const char *s, const char *location); -int _dp_opt_set_blob(struct dp_option *opts, int id, - struct dp_opt_blob b, const char *location); -int _dp_opt_set_int(struct dp_option *opts, int id, - int i, const char *location); -int _dp_opt_set_bool(struct dp_option *opts, int id, - bool b, const char *location); -#define dp_opt_set_string(o, i, v) _dp_opt_set_string(o, i, v, __FUNCTION__) -#define dp_opt_set_blob(o, i, v) _dp_opt_set_blob(o, i, v, __FUNCTION__) -#define dp_opt_set_int(o, i, v) _dp_opt_set_int(o, i, v, __FUNCTION__) -#define dp_opt_set_bool(o, i, v) _dp_opt_set_bool(o, i, v, __FUNCTION__) - -#endif /* __DATA_PROVIDER_ */ |