summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--server/Makefile.in2
-rw-r--r--server/sbus/tests/test_client.c214
-rw-r--r--server/server.mk6
3 files changed, 2 insertions, 220 deletions
diff --git a/server/Makefile.in b/server/Makefile.in
index dcab55fe..da220ddc 100644
--- a/server/Makefile.in
+++ b/server/Makefile.in
@@ -59,7 +59,7 @@ OBJS = $(SERVER_OBJ) @LIBREPLACEOBJ@ $(EXTRA_OBJ)
headers = .h
-BINS = sbin/sssd sbin/sssd-dbus-client
+BINS = sbin/sssd
DIRS = sbin
diff --git a/server/sbus/tests/test_client.c b/server/sbus/tests/test_client.c
deleted file mode 100644
index b2dce426..00000000
--- a/server/sbus/tests/test_client.c
+++ /dev/null
@@ -1,214 +0,0 @@
-#include <stdlib.h>
-#include <stdio.h>
-#include <sys/time.h>
-#include "events.h"
-#include "util/util.h"
-#include "dbus/dbus.h"
-#include "sbus/sssd_dbus.h"
-#include "sbus_interfaces.h"
-
-/* Identity */
-#define TEST_CLIENT_NAME "testclient"
-#define TEST_CLIENT_VERSION 1
-
-struct test_cli_ctx {
- struct sbus_method_ctx *sd_ctx;
- /*DBusConnection *conn;*/
- struct event_context *ev;
- struct sbus_conn_ctx *dct_ctx;
-};
-
-static int provide_identity(DBusMessage *message, void *data, DBusMessage **r);
-
-struct sbus_method monitor_service_methods [] = {
- {SERVICE_METHOD_IDENTITY, provide_identity},
- {NULL, NULL}
-};
-
-static void request_version_timed(struct test_cli_ctx *ctx);
-
-static void print_version(DBusPendingCall *pending, void *data)
-{
- DBusMessage *reply;
- DBusError error;
- const char *version_string;
- int type;
-
- dbus_error_init(&error);
-
- reply = dbus_pending_call_steal_reply(pending);
- if (!reply) {
- /* reply should never be null. This function shouldn't be called
- * until reply is valid. If reply is NULL here, something is seriously
- * wrong and we should bail out.
- */
- DEBUG(0, ("Serious error. A reply callback was called but no reply was received"));
- exit(3);
- }
-
- type = dbus_message_get_type(reply);
-
- switch (type) {
- case DBUS_MESSAGE_TYPE_METHOD_RETURN:
- if (dbus_message_get_args(reply, &error,
- DBUS_TYPE_STRING,
- &version_string,
- DBUS_TYPE_INVALID)) {
- fprintf(stdout, "Version: %s\n", version_string);
- fflush(stdout);
- } else {
- DEBUG(0, ("Error getting arguments in print_version"));
- }
- break;
- case DBUS_MESSAGE_TYPE_ERROR:
-
- if (strcmp(DBUS_ERROR_NO_REPLY, dbus_message_get_error_name(reply))==0) {
- DEBUG(0, ("Received error. Timeout"));
- }
- else {
- DEBUG(0, ("Received error. Not a timeout: %s", dbus_message_get_error_name(reply)));
- }
- break;
- default:
- DEBUG(0, ("Received unexpected message\n"));
- exit(4);
- }
-}
-
-static void test_timed_handler(struct event_context *ev,
- struct timed_event *te,
- struct timeval tv, void *data)
-{
- struct test_cli_ctx *test_ctx;
- struct sbus_method_ctx *ctx;
- DBusPendingCall *pending_reply;
- DBusMessage *vmsg;
- DBusError error;
- dbus_bool_t dbret;
-
- test_ctx = talloc_get_type(data, struct test_cli_ctx);
- ctx = test_ctx->sd_ctx;
-
- fprintf(stdout, ".");
- fflush(stdout);
-
- dbus_error_init(&error);
- vmsg = dbus_message_new_method_call(NULL,
- ctx->path, ctx->interface,
- MONITOR_METHOD_VERSION);
-
- dbret = dbus_connection_send_with_reply(sbus_get_connection(test_ctx->dct_ctx), vmsg,
- &pending_reply, -1);
- if (!dbret) {
- /* Critical failure */
- DEBUG(0,("Failed to send version_request"));
- exit(2);
- }
-
- dbus_pending_call_set_notify(pending_reply, print_version, NULL, NULL);
-
- dbus_message_unref(vmsg);
-
- request_version_timed(test_ctx);
-}
-
-static void request_version_timed(struct test_cli_ctx *ctx)
-{
- struct timed_event *te = NULL;
- struct timeval tv;
-
- gettimeofday(&tv, NULL);
- tv.tv_sec += 5;
- tv.tv_usec = 0;
- te = event_add_timed(ctx->ev, ctx, tv, test_timed_handler, ctx);
- if (te == NULL) {
- DEBUG(0, ("failed to add event!\n"));
- exit(1);
- }
-}
-
-int main (int argc, const char *argv[])
-{
- struct event_context *event_ctx;
- struct sbus_method_ctx *ctx;
- struct test_cli_ctx *test_ctx;
- struct sbus_method_ctx *service_methods;
- int ret;
-
- event_ctx = event_context_init(talloc_autofree_context());
- if (!event_ctx) {
- printf("Out of memory!?\n");
- exit(1);
- }
-
- ctx = talloc_zero(event_ctx, struct sbus_method_ctx);
- if (!ctx) {
- printf("Out of memory!?\n");
- exit(1);
- }
-
- test_ctx = talloc(event_ctx, struct test_cli_ctx);
- if (!test_ctx) {
- printf("Out of memory!?\n");
- exit(1);
- }
-
- test_ctx->ev = event_ctx;
- ctx->interface = talloc_strdup(ctx, MONITOR_DBUS_INTERFACE);
- ctx->path = talloc_strdup(ctx, MONITOR_DBUS_PATH);
- if (!ctx->interface || !ctx->path) {
- printf("Out of memory!?\n");
- exit(1);
- }
-
- ret = sbus_new_connection(test_ctx, test_ctx->ev,
- DEFAULT_SBUS_ADDRESS,
- &test_ctx->dct_ctx, NULL);
- if (ret != EOK) {
- exit(1);
- }
-
- test_ctx->sd_ctx = ctx;
-
- dbus_connection_set_exit_on_disconnect(sbus_get_connection(test_ctx->dct_ctx), TRUE);
-
- /* Set up a timed event to request the server version every
- * five seconds and print it to the screen.
- */
- request_version_timed(test_ctx);
-
- /* Set up handler for service methods */
- service_methods = talloc_zero(test_ctx, struct sbus_method_ctx);
- service_methods->interface = talloc_strdup(service_methods, SERVICE_INTERFACE);
- service_methods->path = talloc_strdup(service_methods, SERVICE_PATH);
- service_methods->methods = monitor_service_methods;
- service_methods->message_handler = sbus_message_handler;
- sbus_conn_add_method_ctx(test_ctx->dct_ctx, service_methods);
-
- /* Enter the main loop (and hopefully never return) */
- event_loop_wait(event_ctx);
-
- talloc_free(event_ctx);
- return EXIT_SUCCESS;
-}
-
-static int provide_identity(DBusMessage *message, void *data, DBusMessage **r) {
- const char *name = TEST_CLIENT_NAME;
- dbus_uint16_t version = TEST_CLIENT_VERSION;
-
- DBusMessage *reply;
- dbus_bool_t ret;
-
- reply = dbus_message_new_method_return(message);
- ret = dbus_message_append_args(reply,
- DBUS_TYPE_STRING, &name,
- DBUS_TYPE_UINT16, &version,
- DBUS_TYPE_INVALID);
-
- if (!ret) {
- return EIO;
- }
-
- *r = reply;
- return EOK;
-}
diff --git a/server/server.mk b/server/server.mk
index b8cf51d4..65559436 100644
--- a/server/server.mk
+++ b/server/server.mk
@@ -21,8 +21,7 @@ SERVER_OBJ = \
CLIENT_OBJ = \
sbus/sssd_dbus_common.o \
sbus/sssd_dbus_connection.o \
- util/debug.o \
- sbus/tests/test_client.o
+ util/debug.o
install:: all
${INSTALLCMD} -d $(DESTDIR)$(sbindir)
@@ -30,6 +29,3 @@ install:: all
sbin/sssd: $(SERVER_OBJ)
$(CC) -o sbin/sssd $(SERVER_OBJ) $(LDFLAGS) $(LIBS)
-
-sbin/sssd-dbus-client: $(CLIENT_OBJ)
- $(CC) -o sbin/sssd-dbus-client $(CLIENT_OBJ) $(LDFLAGS) $(LIBS)