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
This commit is contained in:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user