mirror of
https://gitlab.com/openconnect/ocserv.git
synced 2026-08-10 18:31:50 +08:00
pam: removed accounting; it served no purpose
In fact it could even cause issues in the security-module depending on what was configured in PAM.
This commit is contained in:
@@ -48,9 +48,6 @@ auth = "plain[passwd=./sample.passwd]"
|
|||||||
#enable-auth = "gssapi[keytab=/etc/key.tab,require-local-user-map=true,tgt-freshness-time=900]"
|
#enable-auth = "gssapi[keytab=/etc/key.tab,require-local-user-map=true,tgt-freshness-time=900]"
|
||||||
|
|
||||||
# Accounting methods available:
|
# Accounting methods available:
|
||||||
# pam: can only be combined with PAM authentication method, it provides
|
|
||||||
# a session opened using PAM.
|
|
||||||
#
|
|
||||||
# radius: can be combined with any authentication method, it provides
|
# radius: can be combined with any authentication method, it provides
|
||||||
# radius accounting to available users (see also stats-report-time).
|
# radius accounting to available users (see also stats-report-time).
|
||||||
#
|
#
|
||||||
|
|||||||
+1
-1
@@ -67,7 +67,7 @@ AUTH_SOURCES=auth/pam.c auth/pam.h auth/plain.c auth/plain.h auth/radius.c auth/
|
|||||||
auth/common.c auth/common.h auth/gssapi.h auth/gssapi.c auth-unix.c \
|
auth/common.c auth/common.h auth/gssapi.h auth/gssapi.c auth-unix.c \
|
||||||
auth-unix.h
|
auth-unix.h
|
||||||
|
|
||||||
ACCT_SOURCES=acct/pam.c acct/pam.h acct/radius.c acct/radius.h
|
ACCT_SOURCES=acct/radius.c acct/radius.h
|
||||||
|
|
||||||
ocserv_SOURCES = main.c main-auth.c worker-vpn.c worker-auth.c tlslib.c \
|
ocserv_SOURCES = main.c main-auth.c worker-vpn.c worker-auth.c tlslib.c \
|
||||||
cookies.c main-misc.c ip-lease.c ip-lease.h \
|
cookies.c main-misc.c ip-lease.c ip-lease.h \
|
||||||
|
|||||||
@@ -1,83 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2013 Nikos Mavrogiannopoulos
|
|
||||||
*
|
|
||||||
* This file is part of ocserv.
|
|
||||||
*
|
|
||||||
* ocserv is free software: you can redistribute it and/or modify it
|
|
||||||
* under the terms of the GNU General Public License as published by
|
|
||||||
* the Free Software Foundation, either version 2 of the License, or
|
|
||||||
* (at your option) any later version.
|
|
||||||
*
|
|
||||||
* ocserv 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
|
|
||||||
* General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <config.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <syslog.h>
|
|
||||||
#include <vpn.h>
|
|
||||||
#include "pam.h"
|
|
||||||
#include <sec-mod-acct.h>
|
|
||||||
|
|
||||||
#ifdef HAVE_PAM
|
|
||||||
|
|
||||||
#include <security/pam_appl.h>
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <pwd.h>
|
|
||||||
#include <grp.h>
|
|
||||||
#include <pcl.h>
|
|
||||||
#include <str.h>
|
|
||||||
#include "auth/pam.h"
|
|
||||||
|
|
||||||
static int pam_acct_open_session(unsigned auth_method, void *ctx, const struct common_auth_info_st *ai, const void *sid, unsigned sid_size)
|
|
||||||
{
|
|
||||||
struct pam_ctx_st * pctx = ctx;
|
|
||||||
int pret;
|
|
||||||
|
|
||||||
if (auth_method != AUTH_TYPE_PAM) {
|
|
||||||
syslog(LOG_AUTH, "PAM-acct: pam_open_session cannot be combined with this authentication method (%x)", auth_method);
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (pctx->cr != NULL) {
|
|
||||||
co_delete(pctx->cr);
|
|
||||||
pctx->cr = NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
pret = pam_open_session(pctx->ph, PAM_SILENT);
|
|
||||||
if (pret != PAM_SUCCESS) {
|
|
||||||
syslog(LOG_AUTH, "PAM-acct: pam_open_session: %s", pam_strerror(pctx->ph, pret));
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static void pam_acct_close_session(unsigned auth_method, void *ctx, const struct common_auth_info_st *ai, stats_st *stats, unsigned status)
|
|
||||||
{
|
|
||||||
struct pam_ctx_st * pctx = ctx;
|
|
||||||
int pret;
|
|
||||||
|
|
||||||
pret = pam_close_session(pctx->ph, PAM_SILENT);
|
|
||||||
if (pret != PAM_SUCCESS) {
|
|
||||||
syslog(LOG_AUTH, "PAM-acct: pam_close_session: %s", pam_strerror(pctx->ph, pret));
|
|
||||||
}
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const struct acct_mod_st pam_acct_funcs = {
|
|
||||||
.type = ACCT_TYPE_PAM,
|
|
||||||
.auth_types = AUTH_TYPE_PAM & (~VIRTUAL_AUTH_TYPES),
|
|
||||||
.open_session = pam_acct_open_session,
|
|
||||||
.close_session = pam_acct_close_session,
|
|
||||||
};
|
|
||||||
|
|
||||||
#endif
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2015 Red Hat, Inc.
|
|
||||||
*
|
|
||||||
* Author: Nikos Mavrogiannopoulos
|
|
||||||
*
|
|
||||||
* This file is part of ocserv.
|
|
||||||
*
|
|
||||||
* The GnuTLS 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 2.1 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 program. If not, see <http://www.gnu.org/licenses/>
|
|
||||||
*/
|
|
||||||
#ifndef ACCT_PAM_H
|
|
||||||
#define ACCT_PAM_H
|
|
||||||
|
|
||||||
#include <sec-mod-acct.h>
|
|
||||||
|
|
||||||
extern const struct acct_mod_st pam_acct_funcs;
|
|
||||||
|
|
||||||
#endif
|
|
||||||
@@ -33,7 +33,6 @@
|
|||||||
#include <c-ctype.h>
|
#include <c-ctype.h>
|
||||||
#include <auth/pam.h>
|
#include <auth/pam.h>
|
||||||
#include <auth/radius.h>
|
#include <auth/radius.h>
|
||||||
#include <acct/pam.h>
|
|
||||||
#include <acct/radius.h>
|
#include <acct/radius.h>
|
||||||
#include <auth/plain.h>
|
#include <auth/plain.h>
|
||||||
#include <auth/gssapi.h>
|
#include <auth/gssapi.h>
|
||||||
@@ -464,9 +463,6 @@ typedef struct acct_types_st {
|
|||||||
|
|
||||||
static acct_types_st avail_acct_types[] =
|
static acct_types_st avail_acct_types[] =
|
||||||
{
|
{
|
||||||
#ifdef HAVE_PAM
|
|
||||||
{NAME("pam"), &pam_acct_funcs, NULL},
|
|
||||||
#endif
|
|
||||||
#ifdef HAVE_RADIUS
|
#ifdef HAVE_RADIUS
|
||||||
{NAME("radius"), &radius_acct_funcs, radius_get_brackets_string},
|
{NAME("radius"), &radius_acct_funcs, radius_get_brackets_string},
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -130,9 +130,6 @@ An example configuration file follows.
|
|||||||
#enable-auth = "gssapi[keytab=/etc/key.tab,require-local-user-map=true,tgt-freshness-time=900]"
|
#enable-auth = "gssapi[keytab=/etc/key.tab,require-local-user-map=true,tgt-freshness-time=900]"
|
||||||
|
|
||||||
# Accounting methods available:
|
# Accounting methods available:
|
||||||
# pam: can only be combined with PAM authentication method, it provides
|
|
||||||
# a session opened using PAM.
|
|
||||||
#
|
|
||||||
# radius: can be combined with any authentication method, it provides
|
# radius: can be combined with any authentication method, it provides
|
||||||
# radius accounting to available users (see also stats-report-time).
|
# radius accounting to available users (see also stats-report-time).
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -20,8 +20,6 @@ use-occtl = true
|
|||||||
# to generate password entries.
|
# to generate password entries.
|
||||||
#auth = "plain[/etc/ocserv/ocpasswd]"
|
#auth = "plain[/etc/ocserv/ocpasswd]"
|
||||||
|
|
||||||
acct = pam
|
|
||||||
|
|
||||||
# A banner to be displayed on clients
|
# A banner to be displayed on clients
|
||||||
#banner = "Welcome"
|
#banner = "Welcome"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user