diff options
author | Martin Willi <martin@strongswan.org> | 2007-09-26 14:02:21 +0000 |
---|---|---|
committer | Martin Willi <martin@strongswan.org> | 2007-09-26 14:02:21 +0000 |
commit | c295d0eb4b11a024d1607f6a80275f372c345c08 (patch) | |
tree | ec3b578e771898bbf3ca35c1ae43e77ffdcea9d9 /src/manager/controller/auth_controller.c | |
parent | a9522e16003dd9f9fc7dc998a9017dbb41a65273 (diff) | |
download | strongswan-c295d0eb4b11a024d1607f6a80275f372c345c08.tar.bz2 strongswan-c295d0eb4b11a024d1607f6a80275f372c345c08.tar.xz |
refactored strongswan manager
removed buggy request parsing code, use ClearSilvers CGI kit instead
fixed CHILD_SA listing in manager (needs better design)
using secure XML communication through unix sockets
removed images with questionable (non-GPL) license
Diffstat (limited to 'src/manager/controller/auth_controller.c')
-rw-r--r-- | src/manager/controller/auth_controller.c | 41 |
1 files changed, 17 insertions, 24 deletions
diff --git a/src/manager/controller/auth_controller.c b/src/manager/controller/auth_controller.c index 68332da46..fd4a3c7a5 100644 --- a/src/manager/controller/auth_controller.c +++ b/src/manager/controller/auth_controller.c @@ -23,8 +23,6 @@ #include "auth_controller.h" #include "../manager.h" -#include <template.h> - #include <library.h> @@ -46,39 +44,34 @@ struct private_auth_controller_t { manager_t *manager; }; -static void login(private_auth_controller_t *this, - request_t *request, response_t *response) +static void login(private_auth_controller_t *this, request_t *request) { - template_t *t = template_create("templates/auth/login.cs"); - t->set(t, "action", "check"); - t->set(t, "title", "Login"); - t->render(t, response); - t->destroy(t); + request->set(request, "action", "check"); + request->set(request, "title", "Login"); + request->render(request, "templates/auth/login.cs"); } -static void check(private_auth_controller_t *this, - request_t *request, response_t *response) +static void check(private_auth_controller_t *this, request_t *request) { char *username, *password; - username = request->get_post_data(request, "username"); - password = request->get_post_data(request, "password"); + username = request->get_query_data(request, "username"); + password = request->get_query_data(request, "password"); if (username && password && this->manager->login(this->manager, username, password)) { - response->redirect(response, "status/ikesalist"); + request->redirect(request, "status/ikesalist"); } else { - response->redirect(response, "auth/login"); + request->redirect(request, "auth/login"); } } -static void logout(private_auth_controller_t *this, - request_t *request, response_t *response) +static void logout(private_auth_controller_t *this, request_t *request) { this->manager->logout(this->manager); - response->redirect(response, "auth/login"); + request->redirect(request, "auth/login"); } /** @@ -93,24 +86,24 @@ static char* get_name(private_auth_controller_t *this) * Implementation of controller_t.handle */ static void handle(private_auth_controller_t *this, - request_t *request, response_t *response, char *action) + request_t *request, char *action) { if (action) { if (streq(action, "login")) { - return login(this, request, response); + return login(this, request); } else if (streq(action, "check")) { - return check(this, request, response); + return check(this, request); } else if (streq(action, "logout")) { - return logout(this, request, response); + return logout(this, request); } } - response->redirect(response, "auth/login"); + request->redirect(request, "auth/login"); } /** @@ -129,7 +122,7 @@ controller_t *auth_controller_create(context_t *context, void *param) private_auth_controller_t *this = malloc_thing(private_auth_controller_t); this->public.controller.get_name = (char*(*)(controller_t*))get_name; - this->public.controller.handle = (void(*)(controller_t*,request_t*,response_t*,char*,char*,char*,char*,char*))handle; + this->public.controller.handle = (void(*)(controller_t*,request_t*,char*,char*,char*,char*,char*))handle; this->public.controller.destroy = (void(*)(controller_t*))destroy; this->manager = (manager_t*)context; |