diff options
45 files changed, 213 insertions, 323 deletions
diff --git a/server/Makefile.in b/server/Makefile.in index 7acb2764..11542dea 100644 --- a/server/Makefile.in +++ b/server/Makefile.in @@ -28,8 +28,8 @@ TALLOC_CFLAGS = @TALLOC_CFLAGS@ TDB_LIBS = @TDB_LIBS@ TDB_CFLAGS = @TDB_CFLAGS@ -EVENTS_LIBS = @EVENTS_LIBS@ -EVENTS_CFLAGS = @EVENTS_CFLAGS@ +TEVENT_LIBS = @TEVENT_LIBS@ +TEVENT_CFLAGS = @TEVENT_CFLAGS@ POPT_LIBS = @POPT_LIBS@ POPT_CFLAGS = @POPT_CFLAGS@ @@ -63,11 +63,11 @@ SHLD_FLAGS = @SHLD_FLAGS@ SONAMEFLAG = @SONAMEFLAG@ LDFLAGS += @LDFLAGS@ -L$(srcdir)/lib -LIBS = @LIBS@ $(TALLOC_LIBS) $(TDB_LIBS) $(EVENTS_LIBS) $(POPT_LIBS) $(LDB_LIBS) $(DBUS_LIBS) +LIBS = @LIBS@ $(TALLOC_LIBS) $(TDB_LIBS) $(TEVENT_LIBS) $(POPT_LIBS) $(LDB_LIBS) $(DBUS_LIBS) PICFLAG = @PICFLAG@ CFLAGS += -g -I$(srcdir)/include -Iinclude -I$(srcdir) -I$(srcdir)/.. \ - $(POPT_CFLAGS) $(TALLOC_CFLAGS) $(TDB_CFLAGS) $(EVENTS_CFLAGS) $(LDB_CFLAGS) $(DBUS_CFLAGS) $(CHECK_CFLAGS)\ + $(POPT_CFLAGS) $(TALLOC_CFLAGS) $(TDB_CFLAGS) $(TEVENT_CFLAGS) $(LDB_CFLAGS) $(DBUS_CFLAGS) $(CHECK_CFLAGS)\ -DLIBDIR=\"$(libdir)\" -DSHLIBEXT=\"$(SHLIBEXT)\" -DSSSD_LIBEXEC_PATH=\"$(SSSD_LIBEXEC_PATH)\" -DSSSD_INTROSPECT_PATH=\"$(SSSD_INTROSPECT_PATH)\"\ -DUSE_MMAP=1 @CFLAGS@ diff --git a/server/confdb/confdb.c b/server/confdb/confdb.c index 743ce277..0435191b 100644 --- a/server/confdb/confdb.c +++ b/server/confdb/confdb.c @@ -20,9 +20,6 @@ */ #define _GNU_SOURCE -#include "config.h" -#include <string.h> -#include <errno.h> #include "ldb.h" #include "ldb_errors.h" #include "util/util.h" @@ -566,7 +563,7 @@ done: } int confdb_init(TALLOC_CTX *mem_ctx, - struct event_context *ev, + struct tevent_context *ev, struct confdb_ctx **cdb_ctx, char *confdb_location) { diff --git a/server/confdb/confdb.h b/server/confdb/confdb.h index 57da1967..a1d80855 100644 --- a/server/confdb/confdb.h +++ b/server/confdb/confdb.h @@ -19,6 +19,10 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ +#include <stdbool.h> +#include "talloc.h" +#include "tevent.h" + #define CONFDB_FILE "config.ldb" struct confdb_ctx; @@ -49,7 +53,7 @@ int confdb_get_bool(struct confdb_ctx *cdb, TALLOC_CTX *ctx, bool defval, bool *result); int confdb_init(TALLOC_CTX *mem_ctx, - struct event_context *ev, + struct tevent_context *ev, struct confdb_ctx **cdb_ctx, char *confdb_location); diff --git a/server/configure.ac b/server/configure.ac index a06dfdab..8921c787 100644 --- a/server/configure.ac +++ b/server/configure.ac @@ -48,7 +48,7 @@ m4_include(pkg.m4) m4_include(libpopt.m4) m4_include(libtalloc.m4) m4_include(libtdb.m4) -m4_include(libevents.m4) +m4_include(libtevent.m4) m4_include(libldb.m4) m4_include(pam.m4) m4_include(ldap.m4) diff --git a/server/db/sysdb.c b/server/db/sysdb.c index c4b040b6..ddd7fbe4 100644 --- a/server/db/sysdb.c +++ b/server/db/sysdb.c @@ -180,7 +180,7 @@ static int pwd_search(struct sysdb_search_ctx *sctx, } int sysdb_getpwnam(TALLOC_CTX *mem_ctx, - struct event_context *ev, + struct tevent_context *ev, struct sysdb_ctx *ctx, const char *domain, const char *name, @@ -209,7 +209,7 @@ int sysdb_getpwnam(TALLOC_CTX *mem_ctx, } int sysdb_getpwuid(TALLOC_CTX *mem_ctx, - struct event_context *ev, + struct tevent_context *ev, struct sysdb_ctx *ctx, const char *domain, uid_t uid, @@ -239,7 +239,7 @@ int sysdb_getpwuid(TALLOC_CTX *mem_ctx, } int sysdb_enumpwent(TALLOC_CTX *mem_ctx, - struct event_context *ev, + struct tevent_context *ev, struct sysdb_ctx *ctx, const char *domain, bool legacy, @@ -492,7 +492,7 @@ static int grp_search(struct sysdb_search_ctx *sctx, } int sysdb_getgrnam(TALLOC_CTX *mem_ctx, - struct event_context *ev, + struct tevent_context *ev, struct sysdb_ctx *ctx, const char *domain, const char *name, @@ -521,7 +521,7 @@ int sysdb_getgrnam(TALLOC_CTX *mem_ctx, } int sysdb_getgrgid(TALLOC_CTX *mem_ctx, - struct event_context *ev, + struct tevent_context *ev, struct sysdb_ctx *ctx, const char *domain, gid_t gid, @@ -551,7 +551,7 @@ int sysdb_getgrgid(TALLOC_CTX *mem_ctx, } int sysdb_enumgrent(TALLOC_CTX *mem_ctx, - struct event_context *ev, + struct tevent_context *ev, struct sysdb_ctx *ctx, const char *domain, bool legacy, @@ -691,7 +691,7 @@ static void sysdb_initgr_search(void *ptr, int status, } int sysdb_initgroups(TALLOC_CTX *mem_ctx, - struct event_context *ev, + struct tevent_context *ev, struct sysdb_ctx *ctx, const char *domain, const char *name, @@ -893,7 +893,7 @@ done: } int sysdb_init(TALLOC_CTX *mem_ctx, - struct event_context *ev, + struct tevent_context *ev, struct confdb_ctx *cdb, const char *alt_db_path, struct sysdb_ctx **dbctx) diff --git a/server/db/sysdb.h b/server/db/sysdb.h index e0dd3349..c6cc4deb 100644 --- a/server/db/sysdb.h +++ b/server/db/sysdb.h @@ -87,13 +87,13 @@ struct confdb_ctx; typedef void (*sysdb_callback_t)(void *, int, struct ldb_result *); int sysdb_init(TALLOC_CTX *mem_ctx, - struct event_context *ev, + struct tevent_context *ev, struct confdb_ctx *cdb, const char *alt_db_path, struct sysdb_ctx **dbctx); int sysdb_getpwnam(TALLOC_CTX *mem_ctx, - struct event_context *ev, + struct tevent_context *ev, struct sysdb_ctx *ctx, const char *domain, const char *name, @@ -101,7 +101,7 @@ int sysdb_getpwnam(TALLOC_CTX *mem_ctx, sysdb_callback_t fn, void *ptr); int sysdb_getpwuid(TALLOC_CTX *mem_ctx, - struct event_context *ev, + struct tevent_context *ev, struct sysdb_ctx *ctx, const char *domain, uid_t uid, @@ -109,14 +109,14 @@ int sysdb_getpwuid(TALLOC_CTX *mem_ctx, sysdb_callback_t fn, void *ptr); int sysdb_enumpwent(TALLOC_CTX *mem_ctx, - struct event_context *ev, + struct tevent_context *ev, struct sysdb_ctx *ctx, const char *domain, bool legacy, sysdb_callback_t fn, void *ptr); int sysdb_getgrnam(TALLOC_CTX *mem_ctx, - struct event_context *ev, + struct tevent_context *ev, struct sysdb_ctx *ctx, const char *domain, const char *name, @@ -124,7 +124,7 @@ int sysdb_getgrnam(TALLOC_CTX *mem_ctx, sysdb_callback_t fn, void *ptr); int sysdb_getgrgid(TALLOC_CTX *mem_ctx, - struct event_context *ev, + struct tevent_context *ev, struct sysdb_ctx *ctx, const char *domain, gid_t gid, @@ -132,14 +132,14 @@ int sysdb_getgrgid(TALLOC_CTX *mem_ctx, sysdb_callback_t fn, void *ptr); int sysdb_enumgrent(TALLOC_CTX *mem_ctx, - struct event_context *ev, + struct tevent_context *ev, struct sysdb_ctx *ctx, const char *domain, bool legacy, sysdb_callback_t fn, void *ptr); int sysdb_initgroups(TALLOC_CTX *mem_ctx, - struct event_context *ev, + struct tevent_context *ev, struct sysdb_ctx *ctx, const char *domain, const char *name, diff --git a/server/external/libevents.m4 b/server/external/libevents.m4 deleted file mode 100644 index 2aabb06d..00000000 --- a/server/external/libevents.m4 +++ /dev/null @@ -1,7 +0,0 @@ -AC_SUBST(EVENTS_OBJ) -AC_SUBST(EVENTS_CFLAGS) -AC_SUBST(EVENTS_LIBS) - -AC_CHECK_HEADER(tevent.h, - [AC_CHECK_LIB(tevent, event_context_init, [EVENTS_LIBS="-ltevent"]) ], - [PKG_CHECK_MODULES(EVENTS, tevent)]) diff --git a/server/external/libtevent.m4 b/server/external/libtevent.m4 new file mode 100644 index 00000000..6a0e36af --- /dev/null +++ b/server/external/libtevent.m4 @@ -0,0 +1,7 @@ +AC_SUBST(TEVENT_OBJ) +AC_SUBST(TEVENT_CFLAGS) +AC_SUBST(TEVENT_LIBS) + +AC_CHECK_HEADER(tevent.h, + [AC_CHECK_LIB(tevent, tevent_context_init, [TEVENT_LIBS="-ltevent"]) ], + [PKG_CHECK_MODULES(TEVENT, tevent)]) diff --git a/server/infopipe/infopipe.c b/server/infopipe/infopipe.c index fbc03146..4b1eb920 100644 --- a/server/infopipe/infopipe.c +++ b/server/infopipe/infopipe.c @@ -246,7 +246,7 @@ done: } static int infp_process_init(TALLOC_CTX *mem_ctx, - struct event_context *ev, + struct tevent_context *ev, struct confdb_ctx *cdb) { struct infp_ctx *infp_ctx; diff --git a/server/infopipe/infopipe_private.h b/server/infopipe/infopipe_private.h index 1ceb426f..8ea2586b 100644 --- a/server/infopipe/infopipe_private.h +++ b/server/infopipe/infopipe_private.h @@ -23,7 +23,7 @@ #define INFOPIPE_PRIVATE_H_ struct infp_ctx { - struct event_context *ev; + struct tevent_context *ev; struct confdb_ctx *cdb; struct service_sbus_ctx *ss_ctx; struct sysbus_ctx *sysbus; diff --git a/server/infopipe/sysbus.c b/server/infopipe/sysbus.c index 5c272e66..6ba1bb72 100644 --- a/server/infopipe/sysbus.c +++ b/server/infopipe/sysbus.c @@ -88,7 +88,7 @@ done: } int sysbus_init(TALLOC_CTX *mem_ctx, struct sysbus_ctx **sysbus, - struct event_context *ev, const char *dbus_name, + struct tevent_context *ev, const char *dbus_name, const char *interface, const char *path, struct sbus_method *methods, sbus_msg_handler_fn introspect_method) diff --git a/server/infopipe/sysbus.h b/server/infopipe/sysbus.h index f591365e..2bed23a4 100644 --- a/server/infopipe/sysbus.h +++ b/server/infopipe/sysbus.h @@ -25,7 +25,7 @@ struct sysbus_ctx; int sysbus_init(TALLOC_CTX *mem_ctx, struct sysbus_ctx **sysbus, - struct event_context *ev, const char *dbus_name, + struct tevent_context *ev, const char *dbus_name, const char *interface, const char *path, struct sbus_method *methods, sbus_msg_handler_fn introspect_method); diff --git a/server/ldb_modules/ldb_module.h b/server/ldb_modules/ldb_module.h deleted file mode 100644 index f41941da..00000000 --- a/server/ldb_modules/ldb_module.h +++ /dev/null @@ -1,111 +0,0 @@ -/* - ldb database library - - Copyright (C) Simo Sorce 2008 - - ** NOTE! The following LGPL license applies to the ldb - ** library. This does NOT imply that all of Samba is released - ** under the LGPL - - This library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 3 of the License, or (at your option) any later version. - - This library 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 - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, see <http://www.gnu.org/licenses/>. -*/ - -/* - * Name: ldb - * - * Component: ldb module header - * - * Description: defines ldb modules structures and helpers - * - */ - -#ifndef _LDB_MODULE_H_ -#define _LDB_MODULE_H_ - -struct ldb_context; -struct ldb_module; - -/* - these function pointers define the operations that a ldb module can intercept -*/ -struct ldb_module_ops { - const char *name; - int (*init_context) (struct ldb_module *); - int (*search)(struct ldb_module *, struct ldb_request *); /* search */ - int (*add)(struct ldb_module *, struct ldb_request *); /* add */ - int (*modify)(struct ldb_module *, struct ldb_request *); /* modify */ - int (*del)(struct ldb_module *, struct ldb_request *); /* delete */ - int (*rename)(struct ldb_module *, struct ldb_request *); /* rename */ - int (*request)(struct ldb_module *, struct ldb_request *); /* match any other operation */ - int (*extended)(struct ldb_module *, struct ldb_request *); /* extended operations */ - int (*start_transaction)(struct ldb_module *); - int (*end_transaction)(struct ldb_module *); - int (*del_transaction)(struct ldb_module *); - int (*sequence_number)(struct ldb_module *, struct ldb_request *); - void *private_data; -}; - - -/* MODULES specific headers -- SSS */ - -/* The following definitions come from lib/ldb/common/ldb_modules.c */ - -struct ldb_context *ldb_module_get_ctx(struct ldb_module *module); - -int ldb_next_request(struct ldb_module *module, struct ldb_request *request); -int ldb_next_start_trans(struct ldb_module *module); -int ldb_next_end_trans(struct ldb_module *module); -int ldb_next_del_trans(struct ldb_module *module); -int ldb_next_init(struct ldb_module *module); - -void ldb_set_errstring(struct ldb_context *ldb, const char *err_string); -void ldb_asprintf_errstring(struct ldb_context *ldb, const char *format, ...) PRINTF_ATTRIBUTE(2,3); -void ldb_reset_err_string(struct ldb_context *ldb); - -const char *ldb_default_modules_dir(void); - -int ldb_register_module(const struct ldb_module_ops *); - -typedef int (*ldb_connect_fn)(struct ldb_context *ldb, const char *url, - unsigned int flags, const char *options[], - struct ldb_module **module); - -struct ldb_backend_ops { - const char *name; - ldb_connect_fn connect_fn; -}; - -const char *ldb_default_modules_dir(void); - -int ldb_register_backend(const char *url_prefix, ldb_connect_fn); - -void *ldb_dso_load_symbol(struct ldb_context *ldb, const char *name, - const char *symbol); - -struct ldb_handle *ldb_handle_new(TALLOC_CTX *mem_ctx, struct ldb_context *ldb); - -int ldb_module_send_entry(struct ldb_request *req, - struct ldb_message *msg); - -int ldb_module_send_referral(struct ldb_request *req, - char *ref); - -int ldb_module_done(struct ldb_request *req, - struct ldb_control **ctrls, - struct ldb_extended *response, - int error); - -int ldb_mod_register_control(struct ldb_module *module, const char *oid); - -#endif diff --git a/server/ldb_modules/memberof.c b/server/ldb_modules/memberof.c index 956245bd..8b61549a 100644 --- a/server/ldb_modules/memberof.c +++ b/server/ldb_modules/memberof.c @@ -17,11 +17,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#include "replace.h" -#include "talloc.h" -#include "ldb.h" -#include "ldb_errors.h" -#include "ldb_modules/ldb_module.h" +#include <string.h> +#include "ldb_module.h" #ifndef MAX #define MAX(a,b) (((a) > (b)) ? (a) : (b)) diff --git a/server/monitor/monitor.c b/server/monitor/monitor.c index 759a6881..ff88b293 100644 --- a/server/monitor/monitor.c +++ b/server/monitor/monitor.c @@ -20,15 +20,13 @@ */ #define _GNU_SOURCE -#include <stdio.h> -#include <unistd.h> #include <sys/types.h> #include <sys/wait.h> #include <sys/time.h> #include <time.h> +#include "util/util.h" #include "popt.h" #include "tevent.h" -#include "util/util.h" #include "confdb/confdb.h" #include "monitor/monitor.h" #include "dbus/dbus.h" @@ -63,7 +61,7 @@ struct mt_svc { }; struct mt_ctx { - struct event_context *ev; + struct tevent_context *ev; struct confdb_ctx *cdb; char **services; struct mt_svc *svc_list; @@ -199,8 +197,8 @@ static void svc_try_restart(struct mt_svc *svc, time_t now) return; } -static void tasks_check_handler(struct event_context *ev, - struct timed_event *te, +static void tasks_check_handler(struct tevent_context *ev, + struct tevent_timer *te, struct timeval t, void *ptr) { struct mt_svc *svc = talloc_get_type(ptr, struct mt_svc); @@ -269,13 +267,13 @@ static void tasks_check_handler(struct event_context *ev, static void set_tasks_checker(struct mt_svc *svc) { - struct timed_event *te = NULL; + struct tevent_timer *te = NULL; struct timeval tv; gettimeofday(&tv, NULL); tv.tv_sec += svc->ping_time; tv.tv_usec = 0; - te = event_add_timed(svc->mt_ctx->ev, svc, tv, tasks_check_handler, svc); + te = tevent_add_timer(svc->mt_ctx->ev, svc, tv, tasks_check_handler, svc); if (te == NULL) { DEBUG(0, ("failed to add event, monitor offline for [%s]!\n", svc->name)); @@ -283,8 +281,8 @@ static void set_tasks_checker(struct mt_svc *svc) } } -static void global_checks_handler(struct event_context *ev, - struct timed_event *te, +static void global_checks_handler(struct tevent_context *ev, + struct tevent_timer *te, struct timeval t, void *ptr) { struct mt_ctx *ctx = talloc_get_type(ptr, struct mt_ctx); @@ -323,13 +321,13 @@ done: static void set_global_checker(struct mt_ctx *ctx) { - struct timed_event *te = NULL; + struct tevent_timer *te = NULL; struct timeval tv; gettimeofday(&tv, NULL); tv.tv_sec += 1; /* once a second */ tv.tv_usec = 0; - te = event_add_timed(ctx->ev, ctx, tv, global_checks_handler, ctx); + te = tevent_add_timer(ctx->ev, ctx, tv, global_checks_handler, ctx); if (te == NULL) { DEBUG(0, ("failed to add global checker event! PANIC TIME!\n")); /* FIXME: is this right ? shoulkd we try to clean up first ?*/ @@ -361,7 +359,7 @@ int get_monitor_config(struct mt_ctx *ctx) } int monitor_process_init(TALLOC_CTX *mem_ctx, - struct event_context *event_ctx, + struct tevent_context *event_ctx, struct confdb_ctx *cdb) { struct mt_ctx *ctx; @@ -937,13 +935,13 @@ fail: return NULL; } -static void service_startup_handler(struct event_context *ev, - struct timed_event *te, +static void service_startup_handler(struct tevent_context *ev, + struct tevent_timer *te, struct timeval t, void *ptr); static int start_service(struct mt_svc *svc) { - struct timed_event *te; + struct tevent_timer *te; struct timeval tv; DEBUG(4,("Queueing service %s for startup\n", svc->name)); @@ -955,7 +953,7 @@ static int start_service(struct mt_svc *svc) * the monitor is serving it. */ gettimeofday(&tv, NULL); - te = event_add_timed(svc->mt_ctx->ev, svc, tv, + te = tevent_add_timer(svc->mt_ctx->ev, svc, tv, service_startup_handler, svc); if (te == NULL) { DEBUG(0, ("Unable to queue service %s for startup\n", svc->name)); @@ -964,8 +962,8 @@ static int start_service(struct mt_svc *svc) return EOK; } -static void service_startup_handler(struct event_context *ev, - struct timed_event *te, +static void service_startup_handler(struct tevent_context *ev, + struct tevent_timer *te, struct timeval t, void *ptr) { struct mt_svc *mt_svc; diff --git a/server/monitor/monitor.h b/server/monitor/monitor.h index 8899c51a..77b6e781 100644 --- a/server/monitor/monitor.h +++ b/server/monitor/monitor.h @@ -23,7 +23,7 @@ #define _MONITOR_H_ int monitor_process_init(TALLOC_CTX *mem_ctx, - struct event_context *event_ctx, + struct tevent_context *event_ctx, struct confdb_ctx *cdb); #endif /* _MONITOR_H */ diff --git a/server/polkit/sssd_polkit.c b/server/polkit/sssd_polkit.c index 03436472..511a293c 100644 --- a/server/polkit/sssd_polkit.c +++ b/server/polkit/sssd_polkit.c @@ -29,7 +29,7 @@ #include "monitor/monitor_interfaces.h" struct spk_ctx { - struct event_context *ev; + struct tevent_context *ev; struct confdb_ctx *cdb; struct service_sbus_ctx *ss_ctx; struct sbus_srv_ctx *sbus_srv; @@ -141,7 +141,7 @@ static int spk_monitor_init(struct spk_ctx *spk_ctx) } static int spk_process_init(TALLOC_CTX *mem_ctx, - struct event_context *ev, + struct tevent_context *ev, struct confdb_ctx *cdb) { struct spk_ctx *spk_ctx; diff --git a/server/providers/data_provider.c b/server/providers/data_provider.c index a0e3b08d..85a824e4 100644 --- a/server/providers/data_provider.c +++ b/server/providers/data_provider.c @@ -47,7 +47,7 @@ struct dp_backend; struct dp_frontend; struct dp_ctx { - struct event_context *ev; + struct tevent_context *ev; struct confdb_ctx *cdb; struct service_sbus_ctx *ss_ctx; struct sbus_srv_ctx *sbus_srv; @@ -1081,7 +1081,7 @@ done: } static int dp_process_init(TALLOC_CTX *mem_ctx, - struct event_context *ev, + struct tevent_context *ev, struct confdb_ctx *cdb) { struct dp_ctx *dpctx; diff --git a/server/providers/data_provider_be.c b/server/providers/data_provider_be.c index 9ed3d2ce..c9faff95 100644 --- a/server/providers/data_provider_be.c +++ b/server/providers/data_provider_be.c @@ -29,6 +29,7 @@ #include <string.h> #include <sys/time.h> #include <errno.h> +#include <dlfcn.h> #include <security/pam_appl.h> #include <security/pam_modules.h> @@ -168,8 +169,8 @@ struct be_async_req { struct be_req *req; }; -static void be_async_req_handler(struct event_context *ev, - struct timed_event *te, +static void be_async_req_handler(struct tevent_context *ev, + struct tevent_timer *te, struct timeval tv, void *pvt) { struct be_async_req *async_req; @@ -184,7 +185,7 @@ static int be_file_request(struct be_ctx *ctx, struct be_req *req) { struct be_async_req *areq; - struct timed_event *te; + struct tevent_timer *te; struct timeval tv; areq = talloc(req, struct be_async_req); @@ -198,7 +199,7 @@ static int be_file_request(struct be_ctx *ctx, tv.tv_sec = 0; tv.tv_usec = 0; - te = event_add_timed(ctx->ev, req, tv, be_async_req_handler, areq); + te = tevent_add_timer(ctx->ev, req, tv, be_async_req_handler, areq); if (te == NULL) { return EIO; } @@ -769,7 +770,7 @@ done: int be_process_init(TALLOC_CTX *mem_ctx, const char *be_name, const char *be_domain, - struct event_context *ev, + struct tevent_context *ev, struct confdb_ctx *cdb) { struct be_ctx *ctx; diff --git a/server/providers/dp_backend.h b/server/providers/dp_backend.h index cdd2c51b..df09544f 100644 --- a/server/providers/dp_backend.h +++ b/server/providers/dp_backend.h @@ -29,7 +29,7 @@ struct be_mod_ops; struct be_ctx { - struct event_context *ev; + struct tevent_context *ev; struct confdb_ctx *cdb; struct sysdb_ctx *sysdb; struct service_sbus_ctx *ss_ctx; diff --git a/server/providers/dp_sbus.c b/server/providers/dp_sbus.c index f6fc12ff..22be6c84 100644 --- a/server/providers/dp_sbus.c +++ b/server/providers/dp_sbus.c @@ -19,7 +19,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#include "util/util.h" +#include "config.h" +#include "talloc.h" +#include "tevent.h" #include "confdb/confdb.h" #include "sbus/sssd_dbus.h" #include "providers/data_provider.h" diff --git a/server/providers/ldap_be.c b/server/providers/ldap_be.c index b13224c5..e5c31730 100644 --- a/server/providers/ldap_be.c +++ b/server/providers/ldap_be.c @@ -68,16 +68,16 @@ struct ldap_req { LDAP *ldap; struct ldap_ops *ops; char *user_dn; - event_fd_handler_t next_task; + tevent_fd_handler_t next_task; enum ldap_be_ops next_op; int msgid; }; static int schedule_next_task(struct ldap_req *lr, struct timeval tv, - event_timed_handler_t task) + tevent_timer_handler_t task) { int ret; - struct timed_event *te; + struct tevent_timer *te; struct timeval timeout; ret = gettimeofday(&timeout, NULL); @@ -89,7 +89,7 @@ static int schedule_next_task(struct ldap_req *lr, struct timeval tv, timeout.tv_usec += tv.tv_usec; - te = event_add_timed(lr->req->be_ctx->ev, lr, timeout, task, lr); + te = tevent_add_timer(lr->req->be_ctx->ev, lr, timeout, task, lr); if (te == NULL) { return EIO; } @@ -101,7 +101,7 @@ static int wait_for_fd(struct ldap_req *lr) { int ret; int fd; - struct fd_event *fde; + struct tevent_fd *fde; ret = ldap_get_option(lr->ldap, LDAP_OPT_DESC, &fd); if (ret != LDAP_OPT_SUCCESS) { @@ -109,7 +109,7 @@ static int wait_for_fd(struct ldap_req *lr) return ret; } - fde = event_add_fd(lr->req->be_ctx->ev, lr, fd, EVENT_FD_READ, lr->next_task, lr); + fde = tevent_add_fd(lr->req->be_ctx->ev, lr, fd, TEVENT_FD_READ, lr->next_task, lr); if (fde == NULL) { return EIO; } @@ -257,8 +257,8 @@ static int ldap_be_bind(struct ldap_req *lr) return LDAP_SUCCESS; } -static void ldap_be_loop(struct event_context *ev, struct fd_event *te, - uint16_t fd, void *pvt) +static void ldap_be_loop(struct tevent_context *ev, struct tevent_fd *te, + uint16_t fd, void *pvt) { int ret; int pam_status=PAM_SUCCESS; @@ -534,8 +534,8 @@ done: req->fn(req, pam_status, NULL); } -static void ldap_start(struct event_context *ev, struct timed_event *te, - struct timeval tv, void *pvt) +static void ldap_start(struct tevent_context *ev, struct tevent_timer *te, + struct timeval tv, void *pvt) { int ret; int pam_status; diff --git a/server/providers/providers.h b/server/providers/providers.h index 19eab827..44e7028a 100644 --- a/server/providers/providers.h +++ b/server/providers/providers.h @@ -20,5 +20,5 @@ */ int dp_process_init(TALLOC_CTX *mem_ctx, - struct event_context *ev, + struct tevent_context *ev, struct confdb_ctx *cdb); diff --git a/server/providers/proxy.c b/server/providers/proxy.c index e072ec3c..3c39c8f8 100644 --- a/server/providers/proxy.c +++ b/server/providers/proxy.c @@ -23,6 +23,7 @@ #include <errno.h> #include <pwd.h> #include <grp.h> +#include <dlfcn.h> #include <security/pam_appl.h> #include <security/pam_modules.h> diff --git a/server/responder/common/responder_cmd.c b/server/responder/common/responder_cmd.c index 83d55e65..f3fbf479 100644 --- a/server/responder/common/responder_cmd.c +++ b/server/responder/common/responder_cmd.c @@ -28,7 +28,7 @@ void sss_cmd_done(struct sss_cmd_ctx *nctx) { /* now that the packet is in place, unlock queue * making the event writable */ - EVENT_FD_WRITEABLE(nctx->cctx->cfde); + TEVENT_FD_WRITEABLE(nctx->cctx->cfde); /* free all request related data through the talloc hierarchy */ talloc_free(nctx); diff --git a/server/responder/common/responder_cmd.h b/server/responder/common/responder_cmd.h index ee094ad3..98a4b34e 100644 --- a/server/responder/common/responder_cmd.h +++ b/server/responder/common/responder_cmd.h @@ -41,10 +41,10 @@ struct cli_request { }; struct cli_ctx { - struct event_context *ev; + struct tevent_context *ev; struct nss_ctx *nctx; int cfd; - struct fd_event *cfde; + struct tevent_fd *cfde; struct sockaddr_un addr; struct cli_request *creq; struct getent_ctx *gctx; diff --git a/server/responder/common/responder_common.c b/server/responder/common/responder_common.c index b5db7d1e..74e03215 100644 --- a/server/responder/common/responder_common.c +++ b/server/responder/common/responder_common.c @@ -65,7 +65,7 @@ static int client_destructor(struct cli_ctx *ctx) return 0; } -static void client_send(struct event_context *ev, struct cli_ctx *cctx) +static void client_send(struct tevent_context *ev, struct cli_ctx *cctx) { int ret; @@ -81,14 +81,14 @@ static void client_send(struct event_context *ev, struct cli_ctx *cctx) } /* ok all sent */ - EVENT_FD_NOT_WRITEABLE(cctx->cfde); - EVENT_FD_READABLE(cctx->cfde); + TEVENT_FD_NOT_WRITEABLE(cctx->cfde); + TEVENT_FD_READABLE(cctx->cfde); talloc_free(cctx->creq); cctx->creq = NULL; return; } -static void client_recv(struct event_context *ev, struct cli_ctx *cctx) +static void client_recv(struct tevent_context *ev, struct cli_ctx *cctx) { int ret; @@ -115,7 +115,7 @@ static void client_recv(struct event_context *ev, struct cli_ctx *cctx) switch (ret) { case EOK: /* do not read anymore */ - EVENT_FD_NOT_READABLE(cctx->cfde); + TEVENT_FD_NOT_READABLE(cctx->cfde); /* execute command */ ret = sss_cmd_execute(cctx, cctx->nctx->sss_cmds); if (ret != EOK) { @@ -148,24 +148,24 @@ static void client_recv(struct event_context *ev, struct cli_ctx *cctx) return; } -static void client_fd_handler(struct event_context *ev, - struct fd_event *fde, +static void client_fd_handler(struct tevent_context *ev, + struct tevent_fd *fde, uint16_t flags, void *ptr) { struct cli_ctx *cctx = talloc_get_type(ptr, struct cli_ctx); - if (flags & EVENT_FD_READ) { + if (flags & TEVENT_FD_READ) { client_recv(ev, cctx); return; } - if (flags & EVENT_FD_WRITE) { + if (flags & TEVENT_FD_WRITE) { client_send(ev, cctx); return; } } -static void accept_fd_handler(struct event_context *ev, - struct fd_event *fde, +static void accept_fd_handler(struct tevent_context *ev, + struct tevent_fd *fde, uint16_t flags, void *ptr) { /* accept and attach new event handler */ @@ -197,8 +197,8 @@ static void accept_fd_handler(struct event_context *ev, return; } - cctx->cfde = event_add_fd(ev, cctx, cctx->cfd, - EVENT_FD_READ, client_fd_handler, cctx); + cctx->cfde = tevent_add_fd(ev, cctx, cctx->cfd, + TEVENT_FD_READ, client_fd_handler, cctx); if (!cctx->cfde) { close(cctx->cfd); talloc_free(cctx); @@ -303,8 +303,8 @@ static int set_unix_socket(struct nss_ctx *nctx) goto failed; } - nctx->lfde = event_add_fd(nctx->ev, nctx, nctx->lfd, - EVENT_FD_READ, accept_fd_handler, nctx); + nctx->lfde = tevent_add_fd(nctx->ev, nctx, nctx->lfd, + TEVENT_FD_READ, accept_fd_handler, nctx); /* we want default permissions on created files to be very strict, so set our umask to 0177 */ @@ -422,7 +422,7 @@ done: } int sss_process_init(TALLOC_CTX *mem_ctx, - struct event_context *ev, + struct tevent_context *ev, struct confdb_ctx *cdb, struct sbus_method sss_sbus_methods[], struct sss_cmd_table sss_cmds[], diff --git a/server/responder/common/responder_common.h b/server/responder/common/responder_common.h index 433b242e..38180705 100644 --- a/server/responder/common/responder_common.h +++ b/server/responder/common/responder_common.h @@ -1,16 +1,16 @@ +#include "config.h" #include "sbus/sssd_dbus.h" #include "responder/common/responder_cmd.h" #include "util/btreemap.h" /* SSS_DOMAIN_DELIM can be specified in config.h */ -#include "config.h" #ifndef SSS_DOMAIN_DELIM #define SSS_DOMAIN_DELIM '@' #endif int sss_process_init(TALLOC_CTX *mem_ctx, - struct event_context *ev, + struct tevent_context *ev, struct confdb_ctx *cdb, struct sbus_method sss_sbus_methods[], struct sss_cmd_table sss_cmds[], diff --git a/server/responder/common/responder_dp.c b/server/responder/common/responder_dp.c index a024674b..a3dace45 100644 --- a/server/responder/common/responder_dp.c +++ b/server/responder/common/responder_dp.c @@ -17,14 +17,14 @@ struct sss_dp_pvt_ctx { }; static int sss_dp_conn_destructor(void *data); -static void sss_dp_reconnect(struct event_context *ev, - struct timed_event *te, +static void sss_dp_reconnect(struct tevent_context *ev, + struct tevent_timer *te, struct timeval tv, void *data); static void sss_dp_conn_reconnect(struct sss_dp_pvt_ctx *pvt) { struct nss_ctx *nctx; - struct timed_event *te; + struct tevent_timer *te; struct timeval tv; struct sbus_method_ctx *sm_ctx; char *sbus_address; @@ -66,7 +66,7 @@ static void sss_dp_conn_reconnect(struct sss_dp_pvt_ctx *pvt) tv.tv_sec = now +5; tv.tv_usec = 0; - te = event_add_timed(nctx->ev, nctx, tv, sss_dp_reconnect, pvt); + te = tevent_add_timer(nctx->ev, nctx, tv, sss_dp_reconnect, pvt); if (te == NULL) { DEBUG(4, ("Failed to add timed event! Giving up\n")); } else { @@ -75,8 +75,8 @@ static void sss_dp_conn_reconnect(struct sss_dp_pvt_ctx *pvt) } } -static void sss_dp_reconnect(struct event_context *ev, - struct timed_event *te, +static void sss_dp_reconnect(struct tevent_context *ev, + struct tevent_timer *te, struct timeval tv, void *data) { struct sss_dp_pvt_ctx *pvt; diff --git a/server/responder/nss/nsssrv.c b/server/responder/nss/nsssrv.c index 93490c46..0c5fd4cc 100644 --- a/server/responder/nss/nsssrv.c +++ b/server/responder/nss/nsssrv.c @@ -78,7 +78,7 @@ static int client_destructor(struct cli_ctx *ctx) return 0; } -static void client_send(struct event_context *ev, struct cli_ctx *cctx) +static void client_send(struct tevent_context *ev, struct cli_ctx *cctx) { int ret; @@ -94,14 +94,14 @@ static void client_send(struct event_context *ev, struct cli_ctx *cctx) } /* ok all sent */ - EVENT_FD_NOT_WRITEABLE(cctx->cfde); - EVENT_FD_READABLE(cctx->cfde); + TEVENT_FD_NOT_WRITEABLE(cctx->cfde); + TEVENT_FD_READABLE(cctx->cfde); talloc_free(cctx->creq); cctx->creq = NULL; return; } -static void client_recv(struct event_context *ev, struct cli_ctx *cctx) +static void client_recv(struct tevent_context *ev, struct cli_ctx *cctx) { int ret; @@ -128,7 +128,7 @@ static void client_recv(struct event_context *ev, struct cli_ctx *cctx) switch (ret) { case EOK: /* do not read anymore */ - EVENT_FD_NOT_READABLE(cctx->cfde); + TEVENT_FD_NOT_READABLE(cctx->cfde); /* execute command */ ret = nss_cmd_execute(cctx); if (ret != EOK) { @@ -161,24 +161,24 @@ static void client_recv(struct event_context *ev, struct cli_ctx *cctx) return; } -static void client_fd_handler(struct event_context *ev, - struct fd_event *fde, +static void client_fd_handler(struct tevent_context *ev, + struct tevent_fd *fde, uint16_t flags, void *ptr) { struct cli_ctx *cctx = talloc_get_type(ptr, struct cli_ctx); - if (flags & EVENT_FD_READ) { + if (flags & TEVENT_FD_READ) { client_recv(ev, cctx); return; } - if (flags & EVENT_FD_WRITE) { + if (flags & TEVENT_FD_WRITE) { client_send(ev, cctx); return; } } -static void accept_fd_handler(struct event_context *ev, - struct fd_event *fde, +static void accept_fd_handler(struct tevent_context *ev, + struct tevent_fd *fde, uint16_t flags, void *ptr) { /* accept and attach new event handler */ @@ -210,8 +210,8 @@ static void accept_fd_handler(struct event_context *ev, return; } - cctx->cfde = event_add_fd(ev, cctx, cctx->cfd, - EVENT_FD_READ, client_fd_handler, cctx); + cctx->cfde = tevent_add_fd(ev, cctx, cctx->cfd, + TEVENT_FD_READ, client_fd_handler, cctx); if (!cctx->cfde) { close(cctx->cfd); talloc_free(cctx); @@ -376,8 +376,8 @@ static int set_unix_socket(struct nss_ctx *nctx) goto failed; } - nctx->lfde = event_add_fd(nctx->ev, nctx, nctx->lfd, - EVENT_FD_READ, accept_fd_handler, nctx); + nctx->lfde = tevent_add_fd(nctx->ev, nctx, nctx->lfd, + TEVENT_FD_READ, accept_fd_handler, nctx); /* we want default permissions on created files to be very strict, so set our umask to 0177 */ @@ -495,7 +495,7 @@ done: } int nss_process_init(TALLOC_CTX *mem_ctx, - struct event_context *ev, + struct tevent_context *ev, struct confdb_ctx *cdb) { struct nss_ctx *nctx; diff --git a/server/responder/nss/nsssrv.h b/server/responder/nss/nsssrv.h index 03dc35af..333e4281 100644 --- a/server/responder/nss/nsssrv.h +++ b/server/responder/nss/nsssrv.h @@ -24,6 +24,7 @@ #include <stdint.h> #include <sys/un.h> +#include "config.h" #include "talloc.h" #include "tevent.h" #include "ldb.h" @@ -38,7 +39,6 @@ #define NSS_PACKET_MAX_RECV_SIZE 1024 /* NSS_DOMAIN_DELIM can be specified in config.h */ -#include "config.h" #ifndef NSS_DOMAIN_DELIM #define NSS_DOMAIN_DELIM '@' #endif @@ -51,8 +51,8 @@ struct sysdb_ctx; struct getent_ctx; struct nss_ctx { - struct event_context *ev; - struct fd_event *lfde; + struct tevent_context *ev; + struct tevent_fd *lfde; int lfd; struct sysdb_ctx *sysdb; struct confdb_ctx *cdb; @@ -72,10 +72,10 @@ struct nss_ctx { }; struct cli_ctx { - struct event_context *ev; + struct tevent_context *ev; struct nss_ctx *nctx; int cfd; - struct fd_event *cfde; + struct tevent_fd *cfde; struct sockaddr_un addr; struct cli_request *creq; struct getent_ctx *gctx; diff --git a/server/responder/nss/nsssrv_cmd.c b/server/responder/nss/nsssrv_cmd.c index 338de0ea..c61eb4f2 100644 --- a/server/responder/nss/nsssrv_cmd.c +++ b/server/responder/nss/nsssrv_cmd.c @@ -59,7 +59,7 @@ static void nss_cmd_done(struct nss_cmd_ctx *cmdctx) { /* now that the packet is in place, unlock queue * making the event writable */ - EVENT_FD_WRITEABLE(cmdctx->cctx->cfde); + TEVENT_FD_WRITEABLE(cmdctx->cctx->cfde); /* free all request related data through the talloc hierarchy */ talloc_free(cmdctx); diff --git a/server/responder/nss/nsssrv_dp.c b/server/responder/nss/nsssrv_dp.c index 46e21801..d4406e40 100644 --- a/server/responder/nss/nsssrv_dp.c +++ b/server/responder/nss/nsssrv_dp.c @@ -31,7 +31,7 @@ struct nss_dp_req { nss_dp_callback_t callback; void *callback_ctx; - struct timed_event *te; + struct tevent_timer *te; DBusPendingCall *pending_reply; }; @@ -46,8 +46,8 @@ static int nss_dp_req_destructor(void *ptr) return 0; } -static void nss_dp_send_acct_timeout(struct event_context *ev, - struct timed_event *te, +static void nss_dp_send_acct_timeout(struct tevent_context *ev, + struct tevent_timer *te, struct timeval t, void *data) { struct nss_dp_req *ndp_req; @@ -198,7 +198,7 @@ int nss_dp_send_acct_req(struct nss_ctx *nctx, TALLOC_CTX *memctx, gettimeofday(&tv, NULL); tv.tv_sec += timeout/1000; tv.tv_usec += (timeout%1000) * 1000; - ndp_req->te = event_add_timed(nctx->ev, memctx, tv, + ndp_req->te = tevent_add_timer(nctx->ev, memctx, tv, nss_dp_send_acct_timeout, ndp_req); /* Set up the reply handler */ @@ -327,14 +327,14 @@ struct nss_dp_pvt_ctx { }; static int nss_dp_conn_destructor(void *data); -static void nss_dp_reconnect(struct event_context *ev, - struct timed_event *te, +static void nss_dp_reconnect(struct tevent_context *ev, + struct tevent_timer *te, struct timeval tv, void *data); static void nss_dp_conn_reconnect(struct nss_dp_pvt_ctx *pvt) { struct nss_ctx *nctx; - struct timed_event *te; + struct tevent_timer *te; struct timeval tv; struct sbus_method_ctx *sm_ctx; char *sbus_address; @@ -376,7 +376,7 @@ static void nss_dp_conn_reconnect(struct nss_dp_pvt_ctx *pvt) tv.tv_sec = now +5; tv.tv_usec = 0; - te = event_add_timed(nctx->ev, nctx, tv, nss_dp_reconnect, pvt); + te = tevent_add_timer(nctx->ev, nctx, tv, nss_dp_reconnect, pvt); if (te == NULL) { DEBUG(4, ("Failed to add timed event! Giving up\n")); } else { @@ -385,8 +385,8 @@ static void nss_dp_conn_reconnect(struct nss_dp_pvt_ctx *pvt) } } -static void nss_dp_reconnect(struct event_context *ev, - struct timed_event *te, +static void nss_dp_reconnect(struct tevent_context *ev, + struct tevent_timer *te, struct timeval tv, void *data) { struct nss_dp_pvt_ctx *pvt; diff --git a/server/sbus/sbus_client.c b/server/sbus/sbus_client.c index 9b05b22a..25c56d85 100644 --- a/server/sbus/sbus_client.c +++ b/server/sbus/sbus_client.c @@ -24,7 +24,7 @@ #include "sbus_client.h" int sbus_client_init(TALLOC_CTX *mem_ctx, - struct event_context *ev, + struct tevent_context *ev, const char *server_address, struct sbus_method_ctx *sm_ctx, void *conn_pvt_data, diff --git a/server/sbus/sbus_client.h b/server/sbus/sbus_client.h index ec61cb0f..12c70401 100644 --- a/server/sbus/sbus_client.h +++ b/server/sbus/sbus_client.h @@ -26,13 +26,13 @@ #include "sbus/sssd_dbus.h" struct service_sbus_ctx { - struct event_context *ev; + struct tevent_context *ev; struct sbus_conn_ctx *scon_ctx; struct sbus_method_ctx *sm_ctx; }; int sbus_client_init(TALLOC_CTX *mem_ctx, - struct event_context *ev, + struct tevent_context *ev, const char *server_address, struct sbus_method_ctx *sm_ctx, void *conn_pvt_data, diff --git a/server/sbus/sssd_dbus.h b/server/sbus/sssd_dbus.h index a05d229a..43519b3e 100644 --- a/server/sbus/sssd_dbus.h +++ b/server/sbus/sssd_dbus.h @@ -68,7 +68,7 @@ struct sbus_method_ctx { /* Server Functions */ int sbus_new_server(TALLOC_CTX *mem_ctx, - struct event_context *ev, struct sbus_method_ctx *ctx, + struct tevent_context *ev, struct sbus_method_ctx *ctx, struct sbus_srv_ctx **server_ctx, const char *address, sbus_server_conn_init_fn init_fn, void *init_pvt_data); @@ -81,7 +81,7 @@ int sbus_new_server(TALLOC_CTX *mem_ctx, * call sbus_add_connection to integrate with the main * loop. */ -int sbus_new_connection(TALLOC_CTX *ctx, struct event_context *ev, +int sbus_new_connection(TALLOC_CTX *ctx, struct tevent_context *ev, const char *address, struct sbus_conn_ctx **conn_ctx, sbus_conn_destructor_fn destructor); @@ -99,7 +99,7 @@ int sbus_new_connection(TALLOC_CTX *ctx, struct event_context *ev, * dbus_bus_get */ int sbus_add_connection(TALLOC_CTX *ctx, - struct event_context *ev, + struct tevent_context *ev, DBusConnection *dbus_conn, struct sbus_conn_ctx **dct_ctx, int connection_type); diff --git a/server/sbus/sssd_dbus_common.c b/server/sbus/sssd_dbus_common.c index 465e920f..a9e0d816 100644 --- a/server/sbus/sssd_dbus_common.c +++ b/server/sbus/sssd_dbus_common.c @@ -20,10 +20,10 @@ struct timeval _dbus_timeout_get_interval_tv(int interval) { * from the libevents mainloop */ void sbus_remove_watch(DBusWatch *watch, void *data) { - struct fd_event *fde; + struct tevent_fd *fde; DEBUG(5, ("%lX\n", watch)); - fde = talloc_get_type(dbus_watch_get_data(watch), struct fd_event); + fde = talloc_get_type(dbus_watch_get_data(watch), struct tevent_fd); /* Freeing the event object will remove it from the event loop */ talloc_free(fde); @@ -36,8 +36,8 @@ void sbus_remove_watch(DBusWatch *watch, void *data) { * Hook for D-BUS to remove time-based events from the mainloop */ void sbus_remove_timeout(DBusTimeout *timeout, void *data) { - struct timed_event *te; - te = talloc_get_type(dbus_timeout_get_data(timeout), struct timed_event); + struct tevent_timer *te; + te = talloc_get_type(dbus_timeout_get_data(timeout), struct tevent_timer); /* Freeing the event object will remove it from the event loop */ talloc_free(te); diff --git a/server/sbus/sssd_dbus_connection.c b/server/sbus/sssd_dbus_connection.c index 9b3da9cc..51a1f75c 100644 --- a/server/sbus/sssd_dbus_connection.c +++ b/server/sbus/sssd_dbus_connection.c @@ -1,5 +1,4 @@ #include <sys/time.h> -#include "tevent.h" #include "util/util.h" #include "dbus/dbus.h" #include "sbus/sssd_dbus.h" @@ -10,7 +9,7 @@ struct dbus_ctx_list; struct sbus_conn_ctx { DBusConnection *conn; - struct event_context *ev; + struct tevent_context *ev; int connection_type; int disconnect; struct sbus_method_ctx *method_ctx_list; @@ -26,13 +25,13 @@ struct sbus_message_handler_ctx { struct sbus_conn_watch_ctx { DBusWatch *watch; int fd; - struct fd_event *fde; + struct tevent_fd *fde; struct sbus_conn_ctx *top; }; struct sbus_conn_timeout_ctx { DBusTimeout *timeout; - struct timed_event *te; + struct tevent_timer *te; struct sbus_conn_ctx *top; }; @@ -40,11 +39,11 @@ static int _method_list_contains_path(struct sbus_method_ctx *list, struct sbus_method_ctx *method); static void sbus_unreg_object_paths(struct sbus_conn_ctx *dct_ctx); -static void sbus_dispatch(struct event_context *ev, - struct timed_event *te, +static void sbus_dispatch(struct tevent_context *ev, + struct tevent_timer *te, struct timeval tv, void *data) { - struct timed_event *new_event; + struct tevent_timer *new_event; struct sbus_conn_ctx *dct_ctx; DBusConnection *conn; int ret; @@ -81,7 +80,7 @@ static void sbus_dispatch(struct event_context *ev, */ ret = dbus_connection_get_dispatch_status(conn); if (ret != DBUS_DISPATCH_COMPLETE) { - new_event = event_add_timed(ev, dct_ctx, tv, sbus_dispatch, dct_ctx); + new_event = tevent_add_timer(ev, dct_ctx, tv, sbus_dispatch, dct_ctx); if (new_event == NULL) { DEBUG(2,("Could not add dispatch event!\n")); @@ -95,19 +94,19 @@ static void sbus_dispatch(struct event_context *ev, * dbus_connection_read_write_handler * Callback for D-BUS to handle messages on a file-descriptor */ -static void sbus_conn_read_write_handler(struct event_context *ev, - struct fd_event *fde, - uint16_t flags, void *data) +static void sbus_conn_read_write_handler(struct tevent_context *ev, + struct tevent_fd *fde, + uint16_t flags, void *data) { struct sbus_conn_watch_ctx *conn_w_ctx; conn_w_ctx = talloc_get_type(data, struct sbus_conn_watch_ctx); DEBUG(6,("Connection is open for read/write.\n")); dbus_connection_ref(conn_w_ctx->top->conn); - if (flags & EVENT_FD_READ) { + if (flags & TEVENT_FD_READ) { dbus_watch_handle(conn_w_ctx->watch, DBUS_WATCH_READABLE); } - if (flags & EVENT_FD_WRITE) { + if (flags & TEVENT_FD_WRITE) { dbus_watch_handle(conn_w_ctx->watch, DBUS_WATCH_WRITABLE); } dbus_connection_unref(conn_w_ctx->top->conn); @@ -141,20 +140,20 @@ static dbus_bool_t sbus_add_conn_watch(DBusWatch *watch, void *data) event_flags = 0; if (flags & DBUS_WATCH_READABLE) - event_flags |= EVENT_FD_READ; + event_flags |= TEVENT_FD_READ; if (flags & DBUS_WATCH_WRITABLE) - event_flags |= EVENT_FD_WRITE; + event_flags |= TEVENT_FD_WRITE; if (event_flags == 0) return FALSE; DEBUG(5,("%lX: %d, %d=%s\n", watch, conn_w_ctx->fd, event_flags, - event_flags==EVENT_FD_READ?"READ":"WRITE")); + event_flags==TEVENT_FD_READ?"READ":"WRITE")); /* Add the file descriptor to the event loop */ - conn_w_ctx->fde = event_add_fd(conn_w_ctx->top->ev, conn_w_ctx, + conn_w_ctx->fde = tevent_add_fd(conn_w_ctx->top->ev, conn_w_ctx, conn_w_ctx->fd, event_flags, sbus_conn_read_write_handler, conn_w_ctx); @@ -183,8 +182,8 @@ static void sbus_toggle_conn_watch(DBusWatch *watch, void *data) * dbus_connection_timeout_handler * Callback for D-BUS to handle timed events */ -static void sbus_conn_timeout_handler(struct event_context *ev, - struct timed_event *te, +static void sbus_conn_timeout_handler(struct tevent_context *ev, + struct tevent_timer *te, struct timeval t, void *data) { struct sbus_conn_timeout_ctx *conn_t_ctx; @@ -218,7 +217,7 @@ static dbus_bool_t sbus_add_conn_timeout(DBusTimeout *timeout, void *data) struct timeval rightnow; gettimeofday(&rightnow, NULL); - conn_t_ctx->te = event_add_timed(conn_t_ctx->top->ev, conn_t_ctx, tv, + conn_t_ctx->te = tevent_add_timer(conn_t_ctx->top->ev, conn_t_ctx, tv, sbus_conn_timeout_handler, conn_t_ctx); /* Save the event to the watch object so it can be removed later */ @@ -252,13 +251,13 @@ static void sbus_conn_wakeup_main(void *data) { struct sbus_conn_ctx *dct_ctx; struct timeval tv; - struct timed_event *te; + struct tevent_timer *te; dct_ctx = talloc_get_type(data, struct sbus_conn_ctx); gettimeofday(&tv, NULL); /* D-BUS calls this function when it is time to do a dispatch */ - te = event_add_timed(dct_ctx->ev, dct_ctx, + te = tevent_add_timer(dct_ctx->ev, dct_ctx, tv, sbus_dispatch, dct_ctx); if (te == NULL) { DEBUG(2,("Could not add dispatch event!\n")); @@ -273,7 +272,7 @@ static void sbus_conn_wakeup_main(void *data) * for handling file descriptor and timed events */ int sbus_add_connection(TALLOC_CTX *ctx, - struct event_context *ev, + struct tevent_context *ev, DBusConnection *dbus_conn, struct sbus_conn_ctx **dct_ctx, int connection_type) @@ -343,7 +342,7 @@ int sbus_add_connection(TALLOC_CTX *ctx, /*int sbus_new_connection(struct sbus_method_ctx *ctx, const char *address, DBusConnection **connection, sbus_conn_destructor_fn destructor)*/ -int sbus_new_connection(TALLOC_CTX *ctx, struct event_context *ev, +int sbus_new_connection(TALLOC_CTX *ctx, struct tevent_context *ev, const char *address, struct sbus_conn_ctx **dct_ctx, sbus_conn_destructor_fn destructor) diff --git a/server/sbus/sssd_dbus_server.c b/server/sbus/sssd_dbus_server.c index eae1ce67..e30f9abf 100644 --- a/server/sbus/sssd_dbus_server.c +++ b/server/sbus/sssd_dbus_server.c @@ -37,7 +37,7 @@ struct sbus_srv_ctx { * There should only be one global object path (for * simplicity's sake) */ - struct event_context *ev; + struct tevent_context *ev; struct sbus_method_ctx *sd_ctx; sbus_server_conn_init_fn init_fn; void *init_pvt_data; @@ -46,13 +46,13 @@ struct sbus_srv_ctx { struct sbus_srv_watch_ctx { DBusWatch *watch; int fd; - struct fd_event *fde; + struct tevent_fd *fde; struct sbus_srv_ctx *top; }; struct dbus_srv_timeout_ctx { DBusTimeout *timeout; - struct timed_event *te; + struct tevent_timer *te; struct sbus_srv_ctx *top; }; @@ -62,18 +62,18 @@ static int sbus_server_destructor(void *ctx); * dbus_server_read_write_handler * Callback for D-BUS to handle messages on a file-descriptor */ -static void sbus_srv_read_write_handler(struct event_context *ev, - struct fd_event *fde, - uint16_t flags, void *data) +static void sbus_srv_read_write_handler(struct tevent_context *ev, + struct tevent_fd *fde, + uint16_t flags, void *data) { struct sbus_srv_watch_ctx *svw_ctx; svw_ctx = talloc_get_type(data, struct sbus_srv_watch_ctx); dbus_server_ref(svw_ctx->top->server); - if (flags & EVENT_FD_READ) { + if (flags & TEVENT_FD_READ) { dbus_watch_handle(svw_ctx->watch, DBUS_WATCH_READABLE); } - if (flags & EVENT_FD_WRITE) { + if (flags & TEVENT_FD_WRITE) { dbus_watch_handle(svw_ctx->watch, DBUS_WATCH_WRITABLE); } dbus_server_unref(svw_ctx->top->server); @@ -107,15 +107,15 @@ static dbus_bool_t sbus_add_srv_watch(DBusWatch *watch, void *data) event_flags = 0; if (flags & DBUS_WATCH_READABLE) { - event_flags |= EVENT_FD_READ; + event_flags |= TEVENT_FD_READ; } if (flags & DBUS_WATCH_WRITABLE) { - event_flags |= EVENT_FD_WRITE; + event_flags |= TEVENT_FD_WRITE; } - DEBUG(5,("%lX: %d, %d=%s\n", watch, svw_ctx->fd, event_flags, event_flags==EVENT_FD_READ?"READ":"WRITE")); + DEBUG(5,("%lX: %d, %d=%s\n", watch, svw_ctx->fd, event_flags, event_flags==TEVENT_FD_READ?"READ":"WRITE")); - svw_ctx->fde = event_add_fd(dt_ctx->ev, svw_ctx, svw_ctx->fd, + svw_ctx->fde = tevent_add_fd(dt_ctx->ev, svw_ctx, svw_ctx->fd, event_flags, sbus_srv_read_write_handler, svw_ctx); @@ -139,9 +139,9 @@ static void sbus_toggle_srv_watch(DBusWatch *watch, void *data) } } -static void sbus_srv_timeout_handler(struct event_context *ev, - struct timed_event *te, - struct timeval t, void *data) +static void sbus_srv_timeout_handler(struct tevent_context *ev, + struct tevent_timer *te, + struct timeval t, void *data) { struct dbus_srv_timeout_ctx *svt_ctx; svt_ctx = talloc_get_type(data, struct dbus_srv_timeout_ctx); @@ -169,7 +169,7 @@ static dbus_bool_t sbus_add_srv_timeout(DBusTimeout *timeout, void *data) tv = _dbus_timeout_get_interval_tv(dbus_timeout_get_interval(timeout)); - svt_ctx->te = event_add_timed(dt_ctx->ev, svt_ctx, tv, + svt_ctx->te = tevent_add_timer(dt_ctx->ev, svt_ctx, tv, sbus_srv_timeout_handler, svt_ctx); /* Save the event to the watch object so it can be removed later */ @@ -254,7 +254,7 @@ static void sbus_server_init_new_connection(DBusServer *server, * for handling file descriptor and timed events */ int sbus_new_server(TALLOC_CTX *mem_ctx, - struct event_context *ev, struct sbus_method_ctx *ctx, + struct tevent_context *ev, struct sbus_method_ctx *ctx, struct sbus_srv_ctx **server_ctx, const char *address, sbus_server_conn_init_fn init_fn, void *init_pvt_data) { diff --git a/server/tests/sysdb-tests.c b/server/tests/sysdb-tests.c index f809f554..cd357985 100644 --- a/server/tests/sysdb-tests.c +++ b/server/tests/sysdb-tests.c @@ -33,7 +33,7 @@ struct sysdb_test_ctx { struct sysdb_ctx *sysdb; struct confdb_ctx *confdb; - struct event_context *ev; + struct tevent_context *ev; }; static int setup_sysdb_tests(struct sysdb_test_ctx **ctx) @@ -51,7 +51,7 @@ static int setup_sysdb_tests(struct sysdb_test_ctx **ctx) /* Create an event context * It will not be used except in confdb_init and sysdb_init */ - test_ctx->ev = event_context_init(test_ctx); + test_ctx->ev = tevent_context_init(test_ctx); if (test_ctx->ev == NULL) { fail("Could not create event context"); talloc_free(test_ctx); diff --git a/server/util/btreemap.c b/server/util/btreemap.c index 9eed2eb1..c9289f52 100644 --- a/server/util/btreemap.c +++ b/server/util/btreemap.c @@ -19,6 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ +#include <errno.h> #include "talloc.h" #include "util/btreemap.h" #include "util/util.h" diff --git a/server/util/memory.c b/server/util/memory.c index a25aa787..87fefd2f 100644 --- a/server/util/memory.c +++ b/server/util/memory.c @@ -1,4 +1,3 @@ -#include "replace.h" #include "talloc.h" /* diff --git a/server/util/server.c b/server/util/server.c index 35e72fa0..86854cb7 100644 --- a/server/util/server.c +++ b/server/util/server.c @@ -24,16 +24,12 @@ */ #define _GNU_SOURCE -#include <stdio.h> -#include <stdbool.h> -#include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> -#include "tevent.h" +#include "util/util.h" #include "ldb.h" #include "confdb/confdb.h" -#include "util/util.h" /******************************************************************* Close the low 3 fd's and open dev/null in their place. @@ -215,8 +211,9 @@ static void setup_signals(void) /* handle io on stdin */ -static void server_stdin_handler(struct event_context *event_ctx, struct fd_event *fde, - uint16_t flags, void *private) +static void server_stdin_handler(struct tevent_context *event_ctx, + struct tevent_fd *fde, + uint16_t flags, void *private) { const char *binary_name = (const char *)private; uint8_t c; @@ -237,7 +234,7 @@ static void server_stdin_handler(struct event_context *event_ctx, struct fd_even int server_setup(const char *name, int flags, struct main_context **main_ctx) { - struct event_context *event_ctx; + struct tevent_context *event_ctx; struct main_context *ctx; uint16_t stdin_event_flags; char *conf_db; @@ -271,7 +268,7 @@ int server_setup(const char *name, int flags, /* the event context is the top level structure. * Everything else should hang off that */ - event_ctx = event_context_init(talloc_autofree_context()); + event_ctx = tevent_context_init(talloc_autofree_context()); if (event_ctx == NULL) { DEBUG(0,("The event context initialiaziton failed\n")); return 1; @@ -300,7 +297,7 @@ int server_setup(const char *name, int flags, if (flags & FLAGS_INTERACTIVE) { /* terminate when stdin goes away */ - stdin_event_flags = EVENT_FD_READ; + stdin_event_flags = TEVENT_FD_READ; } else { /* stay alive forever */ stdin_event_flags = 0; @@ -310,7 +307,7 @@ int server_setup(const char *name, int flags, #ifdef SIGTTIN signal(SIGTTIN, SIG_IGN); #endif - event_add_fd(event_ctx, event_ctx, 0, stdin_event_flags, + tevent_add_fd(event_ctx, event_ctx, 0, stdin_event_flags, server_stdin_handler, discard_const(name)); *main_ctx = ctx; @@ -321,7 +318,7 @@ void server_loop(struct main_context *main_ctx) { /* wait for events - this is where the server sits for most of its life */ - event_loop_wait(main_ctx->event_ctx); + tevent_loop_wait(main_ctx->event_ctx); /* as everything hangs off this event context, freeing it should initiate a clean shutdown of all services */ diff --git a/server/util/signal.c b/server/util/signal.c index 5d036a37..e4a782da 100644 --- a/server/util/signal.c +++ b/server/util/signal.c @@ -18,7 +18,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#include "config.h" #include "util/util.h" #include <sys/types.h> #include <sys/wait.h> diff --git a/server/util/util.h b/server/util/util.h index 7388febd..c784bf58 100644 --- a/server/util/util.h +++ b/server/util/util.h @@ -2,9 +2,15 @@ #define __SSSD_UTIL_H__ #include <stdio.h> +#include <stdint.h> #include <stdbool.h> -#include "replace.h" +#include <unistd.h> +#include <string.h> +#include <errno.h> +#include <limits.h> +#include "config.h" #include "talloc.h" +#include "tevent.h" extern const char *debug_prg_name; extern int debug_level; @@ -42,7 +48,7 @@ void debug_fn(const char *format, ...); #define FLAGS_PID_FILE 0x0004 struct main_context { - struct event_context *event_ctx; + struct tevent_context *event_ctx; struct confdb_ctx *confdb_ctx; }; |