diff options
Diffstat (limited to 'plugin/eurephia.c')
| -rw-r--r-- | plugin/eurephia.c | 34 |
1 files changed, 11 insertions, 23 deletions
diff --git a/plugin/eurephia.c b/plugin/eurephia.c index c419c78..fadce39 100644 --- a/plugin/eurephia.c +++ b/plugin/eurephia.c @@ -1,7 +1,7 @@ /* eurephia.c -- Main functions for the eurephia authentication module * - * GPLv2 only - Copyright (C) 2008 - 2013 - * David Sommerseth <dazo@users.sourceforge.net> + * GPLv2 only - Copyright (C) 2008 - 2015 + * David Sommerseth <dazo@eurephia.org> * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -155,7 +155,7 @@ eurephiaCTX *eurephiaInit(const char const **argv, const char const **envp, eurephia_log_init(ctx, "eurephia-auth", logfile, loglvl, NULL); } eurephia_log(ctx, LOG_INFO, 0, "Initialising eurephia v" EUREPHIAVERSION - " (David Sommerseth (C) 2008-2012 GPLv2)"); + " (David Sommerseth (C) 2008-2015 GPLv2)"); // Load the database driver if( (error == 0) && eDBlink_init(ctx, dbi, 4) ) { @@ -438,8 +438,7 @@ int eurephia_userauth(eurephiaCTX *ctx, const char **env, certinfo *ci) // an authentication session do not use assigned VPN address authsess = eDBopen_session_seed(ctx, ci->digest, ci->common_name, username, - NULL, NULL, - ipaddr, remport); + NULL, ipaddr, remport); if( authsess == NULL ) { // No session found goto chk_pwd; @@ -613,7 +612,7 @@ int eurephia_userauth(eurephiaCTX *ctx, const char **env, certinfo *ci) */ int eurephia_connect(eurephiaCTX *ctx, const char **env, certinfo *ci) { eurephiaSESSION *session = NULL; - char *uname, *vpnipaddr, *vpnipmask, *remipaddr, *remport, *proto; + char *uname, *vpnipaddr, *remipaddr, *remport, *proto; int certid = 0, uid = 0, accprofile = -1, ret = 0; DEBUG(ctx, 10, "** Function call: eurephia_connect(...)"); @@ -621,21 +620,18 @@ int eurephia_connect(eurephiaCTX *ctx, const char **env, certinfo *ci) { // Fetch needed info uname = GETENV_USERNAME(ctx, env); vpnipaddr = GETENV_POOLIPADDR(ctx, env); - vpnipmask = GETENV_POOLNETMASK(ctx, env); remipaddr = GETENV_TRUSTEDIP(ctx, env); remport = GETENV_TRUSTEDPORT(ctx, env); proto = GETENV_PROTO1(ctx, env); // Get a session ticket session = eDBopen_session_seed(ctx, ci->digest, ci->common_name, - uname, vpnipaddr, vpnipmask, - remipaddr, remport); + uname, vpnipaddr, remipaddr, remport); if( session == NULL ) { free_nullsafe(ctx, proto); free_nullsafe(ctx, remport); free_nullsafe(ctx, remipaddr); free_nullsafe(ctx, vpnipaddr); - free_nullsafe(ctx, vpnipmask); free_nullsafe(ctx, uname); return 0; } @@ -659,7 +655,6 @@ int eurephia_connect(eurephiaCTX *ctx, const char **env, certinfo *ci) { free_nullsafe(ctx, remport); free_nullsafe(ctx, remipaddr); free_nullsafe(ctx, vpnipaddr); - free_nullsafe(ctx, vpnipmask); free_nullsafe(ctx, uname); DEBUG(ctx, 10, "** Function result: eurephia_connect(...) = %i", ret); @@ -676,7 +671,7 @@ int eurephia_connect(eurephiaCTX *ctx, const char **env, certinfo *ci) { */ int eurephia_disconnect(eurephiaCTX *ctx, const char **env, certinfo *ci) { eurephiaSESSION *session = NULL; - char *uname, *vpnipaddr, *vpnipmask, *remipaddr, *remport; + char *uname, *vpnipaddr, *remipaddr, *remport; char *bytes_sent, *bytes_rec, *duration; int ret = 0; @@ -685,7 +680,6 @@ int eurephia_disconnect(eurephiaCTX *ctx, const char **env, certinfo *ci) { // Fetch needed info uname = GETENV_USERNAME(ctx, env); vpnipaddr = GETENV_POOLIPADDR(ctx, env); - vpnipmask = GETENV_POOLNETMASK(ctx, env); remipaddr = GETENV_TRUSTEDIP(ctx, env); remport = GETENV_TRUSTEDPORT(ctx, env); bytes_sent= GETENV_BYTESSENT(ctx, env); @@ -694,8 +688,7 @@ int eurephia_disconnect(eurephiaCTX *ctx, const char **env, certinfo *ci) { // Get a session ticket session = eDBopen_session_seed(ctx, ci->digest, ci->common_name, uname, - vpnipaddr, vpnipmask, - remipaddr, remport); + vpnipaddr, remipaddr, remport); if( session == NULL ) { free_nullsafe(ctx, duration); free_nullsafe(ctx, bytes_rec); @@ -703,7 +696,6 @@ int eurephia_disconnect(eurephiaCTX *ctx, const char **env, certinfo *ci) { free_nullsafe(ctx, remport); free_nullsafe(ctx, remipaddr); free_nullsafe(ctx, vpnipaddr); - free_nullsafe(ctx, vpnipmask); free_nullsafe(ctx, uname); return 0; } @@ -720,7 +712,7 @@ int eurephia_disconnect(eurephiaCTX *ctx, const char **env, certinfo *ci) { // Get the authentication session and destroy it session = eDBopen_session_seed(ctx, ci->digest, ci->common_name, uname, - NULL, NULL, remipaddr, remport); + NULL, remipaddr, remport); if( !eDBdestroy_session(ctx, session) ) { eurephia_log(ctx, LOG_WARNING, 0, "Could not destroy authentication session (%s/%s/%s)", @@ -733,7 +725,6 @@ int eurephia_disconnect(eurephiaCTX *ctx, const char **env, certinfo *ci) { free_nullsafe(ctx, remport); free_nullsafe(ctx, remipaddr); free_nullsafe(ctx, vpnipaddr); - free_nullsafe(ctx, vpnipmask); free_nullsafe(ctx, uname); DEBUG(ctx, 10, "** Function result: eurephia_disconnect(...) = %i", ret); @@ -756,7 +747,7 @@ int eurephia_disconnect(eurephiaCTX *ctx, const char **env, certinfo *ci) { int eurephia_learn_address(eurephiaCTX *ctx, const char *mode, const char *clientaddr, const char **env, certinfo *ci) { eurephiaSESSION *session = NULL; - char *uname = NULL, *vpnipaddr = NULL, *vpnipmask = NULL, + char *uname = NULL, *vpnipaddr = NULL, *remipaddr = NULL, *remport = NULL; char *fwprofile = NULL, *fwdest = NULL; int ret = 0, fw_enabled = 0; @@ -787,14 +778,12 @@ int eurephia_learn_address(eurephiaCTX *ctx, const char *mode, const char *clien // Fetch needed info uname = GETENV_USERNAME(ctx, env); vpnipaddr = GETENV_POOLIPADDR(ctx, env); - vpnipmask = GETENV_POOLNETMASK(ctx, env); remipaddr = GETENV_TRUSTEDIP(ctx, env); remport = GETENV_TRUSTEDPORT(ctx, env); // Get a session ticket session = eDBopen_session_seed(ctx, ci->digest, ci->common_name, uname, - vpnipaddr, vpnipmask, - remipaddr, remport); + vpnipaddr, remipaddr, remport); if( session == NULL ) { ret = 0; goto exit; @@ -871,7 +860,6 @@ int eurephia_learn_address(eurephiaCTX *ctx, const char *mode, const char *clien free_nullsafe(ctx, remport); free_nullsafe(ctx, remipaddr); free_nullsafe(ctx, vpnipaddr); - free_nullsafe(ctx, vpnipmask); free_nullsafe(ctx, uname); DEBUG(ctx, 10, "** Function result: eurephia_learn_address(ctx, '%s', '%.18s', ...) = %i", mode, clientaddr, ret); |
