2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
<?php
|
2023-06-08 13:19:01 +02:00
|
|
|
// Pandora FMS - https://pandorafms.com
|
2009-06-08 20:26:14 +02:00
|
|
|
// ==================================================
|
2023-06-08 11:53:13 +02:00
|
|
|
// Copyright (c) 2005-2023 Pandora FMS
|
2023-06-08 13:19:01 +02:00
|
|
|
// Please see https://pandorafms.com/community/ for full contribution list
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
// This program is free software; you can redistribute it and/or
|
2009-06-08 20:26:14 +02:00
|
|
|
// modify it under the terms of the GNU Lesser General Public License
|
|
|
|
// as published by the Free Software Foundation; version 2
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
// This program 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.
|
2009-06-08 20:26:14 +02:00
|
|
|
|
2009-08-24 Miguel de Dios <miguel.dedios@artica.es>
* include/functions_menu.php, include/functions_html.php,
include/functions_events.php, include/functions_messages.php,
include/functions_modules.php, include/functions_exportserver.php,
include/functions_reporting.php, include/functions_filemanager.php,
include/pchart_graph.php, include/pandora_graph.php, include/auth/dev.php,
include/auth/ldap.php, include/auth/mysql.php, include/config.inc.php,
include/functions_networkmap.php, include/functions_servers.php,
include/FusionCharts/FusionCharts_Gen.php,
include/FusionCharts/FusionCharts.php,
include/functions_network_profiles.php, include/gettext.php,
include/functions_network_components.php, include/functions_visual_map.php,
include/fgraph2.php, include/Image/image_functions.php,
include/functions_config.php, include/help/en/help_plugin_parameters.php,
include/help/en/help_snmpcommunity.php, include/help/en/help_wmiquery.php,
include/help/en/help_postprocess.php,
include/help/en/help_prediction_source_module.php,
include/help/en/help_date_format.php, include/help/en/help_recontask.php,
include/help/en/help_alert-matches.php, include/help/en/help_tcp_send.php,
include/help/en/help_wmifield.php, include/help/en/help_duplicateconfig.php,
include/help/en/help_agent_status.php,
include/help/en/help_manage_alerts.php, include/help/en/help_wmikey.php,
include/help/en/help_alert_type.php,
include/help/en/help_network_component.php,
include/help/en/help_time_stamp-comparation.php,
include/help/en/help_eventview.php, include/help/en/help_timesource.php,
include/help/en/help_alert_validation.php,
include/help/en/help_map_builder.php,
include/help/en/help_alert_recovery.php,
include/help/en/help_module_type.php,
include/help/en/help_planned_downtime.php,
include/help/en/help_serverlag.php, include/help/en/help_alerts.php,
include/help/en/help_snmpwalk.php,
include/help/en/help_module_definition.php,
include/help/en/help_plugin_definition.php,
include/help/en/help_wminamespace.php, include/help/en/help_snmpoid.php
include/help/en/help_manageconfig.php,
include/help/es/help_alert_validation.php,
include/help/es/help_plugin_parameters.php,
include/help/es/help_snmpcommunity.php, include/help/es/help_wmiquery.php,
include/help/es/help_map_builder.php, include/help/es/help_postprocess.php,
include/help/es/help_date_format.php,
include/help/es/help_alert_recovery.php,
include/help/es/help_prediction_source_module.php,
include/help/es/help_module_type.php,
include/help/es/help_planned_downtime.php,
include/help/es/help_alert-matches.php, include/help/es/help_recontask.php,
include/help/es/help_alerts.php, include/help/es/help_serverlag.php,
include/help/es/help_snmpwalk.php,
include/help/es/help_module_definition.php,
include/help/es/help_tcp_send.php, include/help/es/help_duplicateconfig.php,
include/help/es/help_wmifield.php, include/help/es/help_manage_alerts.php,
include/help/es/help_wmikey.php, include/help/es/help_plugin_definition.php,
include/help/es/help_alert_type.php, include/help/es/help_snmpoid.php,
include/help/es/help_wminamespace.php,
include/help/es/help_network_component.php,
include/help/es/help_time_stamp-comparation.php,
include/help/es/help_manageconfig.php, include/help/es/help_timesource.php,
include/config_process.php, include/functions_ui.php, include/htmlawed.php,
include/functions_custom_graphs.php, include/fgraph.php,
include/functions_incidents.php, include/functions.php,
include/functions_agents.php, include/functions_db.php,
include/functions_themes.php, include/streams.php,
include/functions_fsgraph.php, include/functions_alerts.php,
include/functions_reports.php, include/functions_extensions.php,
include/functions_ui_renders.php: change comments blocks for delete the
warnings to construct phpDoc Files, give a struct and order in the
phpDoc files.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1881 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-08-25 19:39:28 +02:00
|
|
|
|
|
|
|
/**
|
|
|
|
* @package Include/auth
|
|
|
|
*/
|
2019-01-30 16:18:44 +01:00
|
|
|
|
|
|
|
if (!isset($config)) {
|
|
|
|
die(
|
|
|
|
'
|
2009-12-08 15:48:59 +01:00
|
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
|
|
<html>
|
2012-07-24 Miguel de Dios <miguel.dedios@artica.es>
* godmode/servers/manage_recontask_form.php,
godmode/alerts/configure_alert_compound.php,
godmode/modules/manage_network_components.php,
include/functions_ui.php, include/functions_incidents.php,
include/functions_agents.php, include/functions_alerts.php,
include/functions_messages.php, include/db/mysql.php,
include/functions_reporting.php, include/functions_filemanager.php,
include/auth/ldap.php, operation/events/events.php,
operation/incidents/incident_detail.php, operation/tree.php,
operation/agentes/estado_agente.php, operation/agentes/sla_view.php,
operation/users/user_edit.php: cleaned source code style.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@6798 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2012-07-24 10:54:40 +02:00
|
|
|
<head>
|
2021-11-04 16:28:15 +01:00
|
|
|
<title>Pandora FMS - The Flexible Monitoring System - Console error</title>
|
2012-07-24 Miguel de Dios <miguel.dedios@artica.es>
* godmode/servers/manage_recontask_form.php,
godmode/alerts/configure_alert_compound.php,
godmode/modules/manage_network_components.php,
include/functions_ui.php, include/functions_incidents.php,
include/functions_agents.php, include/functions_alerts.php,
include/functions_messages.php, include/db/mysql.php,
include/functions_reporting.php, include/functions_filemanager.php,
include/auth/ldap.php, operation/events/events.php,
operation/incidents/incident_detail.php, operation/tree.php,
operation/agentes/estado_agente.php, operation/agentes/sla_view.php,
operation/users/user_edit.php: cleaned source code style.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@6798 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2012-07-24 10:54:40 +02:00
|
|
|
<meta http-equiv="expires" content="0">
|
|
|
|
<meta http-equiv="content-type" content="text/html; charset=utf8">
|
|
|
|
<meta name="resource-type" content="document">
|
|
|
|
<meta name="distribution" content="global">
|
2023-06-23 23:37:27 +02:00
|
|
|
<meta name="author" content="Pandora FMS">
|
|
|
|
<meta name="copyright" content="(c) Pandora FMS">
|
2012-07-24 Miguel de Dios <miguel.dedios@artica.es>
* godmode/servers/manage_recontask_form.php,
godmode/alerts/configure_alert_compound.php,
godmode/modules/manage_network_components.php,
include/functions_ui.php, include/functions_incidents.php,
include/functions_agents.php, include/functions_alerts.php,
include/functions_messages.php, include/db/mysql.php,
include/functions_reporting.php, include/functions_filemanager.php,
include/auth/ldap.php, operation/events/events.php,
operation/incidents/incident_detail.php, operation/tree.php,
operation/agentes/estado_agente.php, operation/agentes/sla_view.php,
operation/users/user_edit.php: cleaned source code style.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@6798 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2012-07-24 10:54:40 +02:00
|
|
|
<meta name="robots" content="index, follow">
|
|
|
|
<link rel="icon" href="../../images/pandora.ico" type="image/ico">
|
2021-11-04 16:28:15 +01:00
|
|
|
<link rel="stylesheet" href="../styles/pandora.css" type="text/css">
|
2012-07-24 Miguel de Dios <miguel.dedios@artica.es>
* godmode/servers/manage_recontask_form.php,
godmode/alerts/configure_alert_compound.php,
godmode/modules/manage_network_components.php,
include/functions_ui.php, include/functions_incidents.php,
include/functions_agents.php, include/functions_alerts.php,
include/functions_messages.php, include/db/mysql.php,
include/functions_reporting.php, include/functions_filemanager.php,
include/auth/ldap.php, operation/events/events.php,
operation/incidents/incident_detail.php, operation/tree.php,
operation/agentes/estado_agente.php, operation/agentes/sla_view.php,
operation/users/user_edit.php: cleaned source code style.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@6798 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2012-07-24 10:54:40 +02:00
|
|
|
</head>
|
|
|
|
<body>
|
2021-03-11 15:40:23 +01:00
|
|
|
<div id="main" class="float-left mrgn_lft_100px">
|
2012-07-24 Miguel de Dios <miguel.dedios@artica.es>
* godmode/servers/manage_recontask_form.php,
godmode/alerts/configure_alert_compound.php,
godmode/modules/manage_network_components.php,
include/functions_ui.php, include/functions_incidents.php,
include/functions_agents.php, include/functions_alerts.php,
include/functions_messages.php, include/db/mysql.php,
include/functions_reporting.php, include/functions_filemanager.php,
include/auth/ldap.php, operation/events/events.php,
operation/incidents/incident_detail.php, operation/tree.php,
operation/agentes/estado_agente.php, operation/agentes/sla_view.php,
operation/users/user_edit.php: cleaned source code style.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@6798 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2012-07-24 10:54:40 +02:00
|
|
|
<div align="center">
|
|
|
|
<div id="login_f">
|
|
|
|
<h1 id="log_f" class="error">You cannot access this file</h1>
|
|
|
|
<div>
|
|
|
|
<img src="../../images/pandora_logo.png" border="0"></a>
|
|
|
|
</div>
|
|
|
|
<div class="msg">
|
|
|
|
<span class="error"><b>ERROR:</b>
|
|
|
|
You can\'t access this file directly!</span>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</body>
|
2009-12-08 15:48:59 +01:00
|
|
|
</html>
|
2019-01-30 16:18:44 +01:00
|
|
|
'
|
|
|
|
);
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
}
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
require_once $config['homedir'].'/include/functions_profile.php';
|
|
|
|
|
|
|
|
$config['user_can_update_info'] = false;
|
|
|
|
$config['user_can_update_password'] = false;
|
|
|
|
$config['admin_can_add_user'] = false;
|
|
|
|
$config['admin_can_delete_user'] = false;
|
|
|
|
$config['admin_can_disable_user'] = false;
|
|
|
|
// Not implemented
|
|
|
|
$config['admin_can_make_admin'] = false;
|
|
|
|
|
|
|
|
// Required and optional keys for this function to work
|
|
|
|
$req_keys = [
|
|
|
|
'ldap_server',
|
|
|
|
'ldap_base_dn',
|
|
|
|
'ldap_login_attr',
|
|
|
|
'ldap_admin_group_name',
|
|
|
|
'ldap_admin_group_attr',
|
|
|
|
'ldap_admin_group_type',
|
|
|
|
'ldap_user_filter',
|
|
|
|
'ldap_user_attr',
|
|
|
|
];
|
|
|
|
$opt_keys = [
|
|
|
|
'ldap_port',
|
|
|
|
'ldap_start_tls',
|
|
|
|
'ldap_version',
|
|
|
|
'ldap_admin_dn',
|
|
|
|
'ldap_admin_pwd',
|
|
|
|
];
|
|
|
|
|
|
|
|
global $ldap_cache;
|
|
|
|
// Needs to be globalized because config_process_config () function calls this file first and the variable would be local and subsequently lost
|
|
|
|
$ldap_cache = [];
|
|
|
|
$ldap_cache['error'] = '';
|
|
|
|
$ldap_cache['ds'] = '';
|
|
|
|
|
|
|
|
// Put each required key in a variable.
|
2009-03-06 18:30:23 +01:00
|
|
|
foreach ($req_keys as $key) {
|
2019-01-30 16:18:44 +01:00
|
|
|
if (!isset($config['auth'][$key])) {
|
|
|
|
user_error('Required key '.$key.' not set', E_USER_ERROR);
|
|
|
|
}
|
2009-03-06 18:30:23 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
// Convert group name to lower case to prevent problems
|
2019-01-30 16:18:44 +01:00
|
|
|
$config['auth']['ldap_admin_group_attr'] = strtolower($config['auth']['ldap_admin_group_attr']);
|
|
|
|
$config['auth']['ldap_admin_group_type'] = strtolower($config['auth']['ldap_admin_group_type']);
|
2009-03-06 18:30:23 +01:00
|
|
|
|
|
|
|
foreach ($opt_keys as $key) {
|
2019-01-30 16:18:44 +01:00
|
|
|
if (!isset($config['auth'][$key])) {
|
|
|
|
switch ($key) {
|
|
|
|
case 'ldap_start_tls':
|
|
|
|
$config['auth'][$key] = false;
|
|
|
|
continue;
|
|
|
|
|
|
|
|
case 'ldap_version':
|
|
|
|
$config['auth'][$key] = 0;
|
|
|
|
continue;
|
|
|
|
|
|
|
|
case 'ldap_admin_dn':
|
|
|
|
case 'ldap_admin_pwd':
|
|
|
|
$config['auth'][$key] = '';
|
|
|
|
continue;
|
|
|
|
|
|
|
|
default:
|
|
|
|
// Key not implemented
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
}
|
2009-03-06 18:30:23 +01:00
|
|
|
}
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
// Reference the global use authorization error to last ldap error.
|
|
|
|
$config['auth_error'] = &$ldap_cache['error'];
|
|
|
|
|
|
|
|
unset($req_keys, $opt_keys);
|
2009-03-06 18:30:23 +01:00
|
|
|
|
|
|
|
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
/**
|
|
|
|
* process_user_login accepts $login and $pass and handles it according to current authentication scheme
|
|
|
|
*
|
2019-01-30 16:18:44 +01:00
|
|
|
* @param string $login
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
* @param string $pass
|
|
|
|
*
|
|
|
|
* @return mixed False in case of error or invalid credentials, the username in case it's correct.
|
|
|
|
*/
|
2019-01-30 16:18:44 +01:00
|
|
|
function process_user_login($login, $pass)
|
|
|
|
{
|
|
|
|
if (!ldap_valid_login($login, $pass)) {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
global $config;
|
|
|
|
|
|
|
|
$profile = db_get_value('id_usuario', 'tusuario_perfil', 'id_usuario', $login);
|
|
|
|
|
|
|
|
if ($profile === false && empty($config['auth']['create_user_undefined'])) {
|
|
|
|
$config['auth_error'] = 'No profile';
|
|
|
|
// Error message, don't translate
|
|
|
|
return false;
|
|
|
|
// User doesn't have a profile so doesn't have access
|
|
|
|
} else if ($profile === false && !empty($config['auth']['create_user_undefined'])) {
|
|
|
|
$ret = profile_create_user_profile($login);
|
|
|
|
// User doesn't have a profile but we are asked to create one
|
|
|
|
if ($ret === false) {
|
|
|
|
$config['auth_error'] = 'Profile creation failed';
|
|
|
|
// Error message, don't translate
|
|
|
|
return false;
|
|
|
|
// We couldn't create the profile for some or another reason
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return $login;
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
}
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
|
|
|
/**
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
* Checks if a user is administrator.
|
2019-01-30 16:18:44 +01:00
|
|
|
*
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
* @param string User id.
|
2019-01-30 16:18:44 +01:00
|
|
|
*
|
|
|
|
* @return boolean True is the user is admin
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
*/
|
2019-01-30 16:18:44 +01:00
|
|
|
function is_user_admin($user_id)
|
|
|
|
{
|
|
|
|
$admins = get_user_admins();
|
|
|
|
|
|
|
|
if (in_array($user_id, $admins)) {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
return false;
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
}
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
/**
|
|
|
|
* Checks if a user exists
|
|
|
|
*
|
|
|
|
* @param string User id.
|
|
|
|
*
|
2019-01-30 16:18:44 +01:00
|
|
|
* @return boolean True if the user exists
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
*/
|
2019-01-30 16:18:44 +01:00
|
|
|
function is_user($id_user)
|
|
|
|
{
|
|
|
|
$user = get_user_info($id_user);
|
|
|
|
|
|
|
|
if (empty($user)) {
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
|
|
|
|
return true;
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
}
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
|
|
|
/**
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
* Gets the users real name
|
2019-01-30 16:18:44 +01:00
|
|
|
*
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
* @param string User id.
|
2019-01-30 16:18:44 +01:00
|
|
|
*
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
* @return string The users full name
|
|
|
|
*/
|
2019-01-30 16:18:44 +01:00
|
|
|
function get_user_fullname($id_user)
|
|
|
|
{
|
|
|
|
$info = get_user_info($id_user);
|
|
|
|
if (empty($info)) {
|
|
|
|
// User doesn't exist
|
|
|
|
return '';
|
|
|
|
}
|
|
|
|
|
|
|
|
return (string) $info['fullname'];
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
}
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
|
|
|
/**
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
* Gets the users email
|
2019-01-30 16:18:44 +01:00
|
|
|
*
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
* @param string User id.
|
2019-01-30 16:18:44 +01:00
|
|
|
*
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
* @return string The users email address
|
|
|
|
*/
|
2019-01-30 16:18:44 +01:00
|
|
|
function get_user_email($id_user)
|
|
|
|
{
|
|
|
|
$info = get_user_info($id_user);
|
|
|
|
|
|
|
|
return (string) $info['email'];
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
}
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
|
|
|
/**
|
2009-02-24 12:20:34 +01:00
|
|
|
* Get the user id field on a mixed structure.
|
|
|
|
*
|
|
|
|
* This function is needed to make auth system more compatible and independant.
|
|
|
|
*
|
|
|
|
* @param mixed User structure to get id. It might be a row returned from
|
|
|
|
* tusuario or tusuario_perfil. If it's not a row, the int value is returned.
|
|
|
|
*/
|
2019-01-30 16:18:44 +01:00
|
|
|
function get_user_id($user)
|
|
|
|
{
|
|
|
|
if (is_array($user)) {
|
|
|
|
// FIXME: Is this right?
|
|
|
|
return $user['id_user'];
|
|
|
|
}
|
|
|
|
|
|
|
|
return (int) $user;
|
2009-02-24 12:20:34 +01:00
|
|
|
}
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
|
|
|
/**
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
* Gets the users info
|
2019-01-30 16:18:44 +01:00
|
|
|
*
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
* @param string User id.
|
2019-01-30 16:18:44 +01:00
|
|
|
*
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
* @return array User info
|
|
|
|
*/
|
2019-01-30 16:18:44 +01:00
|
|
|
function get_user_info($id_user)
|
|
|
|
{
|
|
|
|
global $ldap_cache;
|
|
|
|
|
|
|
|
if (!empty($ldap_cache[$id_user])) {
|
|
|
|
return $ldap_cache[$id_user];
|
|
|
|
}
|
|
|
|
|
|
|
|
$ldap_cache[$id_user] = ldap_load_user($id_user);
|
|
|
|
|
|
|
|
if ($ldap_cache[$id_user] === false) {
|
|
|
|
return [];
|
|
|
|
}
|
|
|
|
|
|
|
|
return $ldap_cache[$id_user];
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
}
|
2012-07-24 Miguel de Dios <miguel.dedios@artica.es>
* godmode/servers/manage_recontask_form.php,
godmode/alerts/configure_alert_compound.php,
godmode/modules/manage_network_components.php,
include/functions_ui.php, include/functions_incidents.php,
include/functions_agents.php, include/functions_alerts.php,
include/functions_messages.php, include/db/mysql.php,
include/functions_reporting.php, include/functions_filemanager.php,
include/auth/ldap.php, operation/events/events.php,
operation/incidents/incident_detail.php, operation/tree.php,
operation/agentes/estado_agente.php, operation/agentes/sla_view.php,
operation/users/user_edit.php: cleaned source code style.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@6798 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2012-07-24 10:54:40 +02:00
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
/**
|
|
|
|
* Get all users that are defined in the admin group in LDAP
|
|
|
|
*
|
|
|
|
* @return array Array of users or empty array
|
|
|
|
*/
|
2019-01-30 16:18:44 +01:00
|
|
|
function get_user_admins()
|
|
|
|
{
|
|
|
|
global $ldap_cache, $config;
|
|
|
|
|
|
|
|
if (! empty($ldap_cache['cached_admins'])) {
|
|
|
|
return $ldap_cache['cached_admins'];
|
|
|
|
} else {
|
|
|
|
$ldap_cache['cached_admins'] = [];
|
|
|
|
}
|
|
|
|
|
|
|
|
if (ldap_connect_bind()) {
|
|
|
|
$search_filter = '('.$config['auth']['ldap_admin_group_attr'].'=*)';
|
|
|
|
$sr = ldap_search($ldap_cache['ds'], $config['auth']['ldap_admin_group_name'], $search_filter, [$config['auth']['ldap_admin_group_attr']]);
|
|
|
|
if (!$sr) {
|
|
|
|
$ldap_cache['error'] .= 'Error searching LDAP server (get_user_admins): '.ldap_error($ldap_cache['ds']);
|
|
|
|
} else {
|
|
|
|
$admins = ldap_get_entries($ldap_cache['ds'], $sr);
|
|
|
|
for ($x = 0; $x < $admins[0][$config['auth']['ldap_admin_group_attr']]['count']; $x++) {
|
|
|
|
if ($config['auth']['ldap_admin_group_type'] != 'posixgroup') {
|
|
|
|
$ldap_cache['cached_admins'][] = stripdn($admins[0][$config['auth']['ldap_admin_group_attr']][$x]);
|
|
|
|
} else {
|
|
|
|
$ldap_cache['cached_admins'][] = $admins[0][$config['auth']['ldap_admin_group_attr']][$x];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@ldap_free_result($sr);
|
|
|
|
}
|
|
|
|
|
|
|
|
@ldap_close($ldap_cache['ds']);
|
|
|
|
}
|
|
|
|
|
|
|
|
return $ldap_cache['cached_admins'];
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
}
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
/**
|
|
|
|
* Sets the last login for a user. LDAP doesn't have this (or it's inherent to the login process)
|
|
|
|
*
|
|
|
|
* @param string User id
|
|
|
|
*/
|
2019-01-30 16:18:44 +01:00
|
|
|
function process_user_contact($id_user)
|
|
|
|
{
|
|
|
|
// Empty function
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
}
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
/**
|
|
|
|
* LDAP user functions based on webcalendar's implementation
|
|
|
|
*
|
|
|
|
* File from webcalendar (GPL) project:
|
|
|
|
* $Id: user-ldap.php,v 1.42.2.1 2007/08/17 14:39:00 umcesrjones Exp $
|
|
|
|
*
|
|
|
|
* Note: this application assumes that usernames (logins) are unique.
|
|
|
|
*/
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
/**
|
|
|
|
* Function to search the dn for a given user. Error messages in $ldap_cache["error"];
|
|
|
|
*
|
|
|
|
* @param string User login
|
|
|
|
*
|
|
|
|
* @return mixed The DN if the user is found, false in other case
|
|
|
|
*/
|
2019-01-30 16:18:44 +01:00
|
|
|
function ldap_search_user($login)
|
|
|
|
{
|
|
|
|
global $ldap_cache, $config;
|
|
|
|
|
|
|
|
$nick = false;
|
|
|
|
if (ldap_connect_bind()) {
|
|
|
|
$sr = @ldap_search(
|
|
|
|
$ldap_cache['ds'],
|
|
|
|
io_safe_output($config['auth']['ldap_base_dn']),
|
|
|
|
'(&('.io_safe_output($config['auth']['ldap_login_attr']).'='.$login.')'.io_safe_output($config['auth']['ldap_user_filter']).')',
|
|
|
|
array_values($config['auth']['ldap_user_attr'])
|
|
|
|
);
|
|
|
|
|
|
|
|
if (!$sr) {
|
|
|
|
$ldap_cache['error'] .= 'Error searching LDAP server: '.ldap_error($ldap_cache['ds']);
|
|
|
|
} else {
|
|
|
|
$info = @ldap_get_entries($ldap_cache['ds'], $sr);
|
|
|
|
if ($info['count'] != 1) {
|
|
|
|
$ldap_cache['error'] .= 'Invalid user';
|
|
|
|
} else {
|
|
|
|
$nick = $info[0]['dn'];
|
|
|
|
}
|
|
|
|
|
|
|
|
@ldap_free_result($sr);
|
|
|
|
}
|
|
|
|
|
|
|
|
@ldap_close($ldap_cache['ds']);
|
|
|
|
}
|
|
|
|
|
|
|
|
return $nick;
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
}
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
/**
|
|
|
|
* Function to validate the user and password for a given login. Error messages in $ldap_cache["error"];
|
|
|
|
*
|
|
|
|
* @param string User login
|
|
|
|
* @param string User password (plain text)
|
|
|
|
*
|
2019-01-30 16:18:44 +01:00
|
|
|
* @return boolean True if the login is correct, false in other case
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
*/
|
2019-01-30 16:18:44 +01:00
|
|
|
function ldap_valid_login($login, $password)
|
|
|
|
{
|
|
|
|
global $ldap_cache, $config;
|
|
|
|
|
|
|
|
if (! function_exists('ldap_connect')) {
|
|
|
|
die('Your installation of PHP does not support LDAP');
|
|
|
|
}
|
|
|
|
|
|
|
|
$ret = false;
|
|
|
|
if (!empty($config['auth']['ldap_port'])) {
|
|
|
|
$ds = @ldap_connect($config['auth']['ldap_server'], $config['auth']['ldap_port']);
|
|
|
|
// Since this is a separate bind, we don't store it global
|
|
|
|
} else {
|
|
|
|
$ds = @ldap_connect($config['auth']['ldap_server']);
|
|
|
|
// Since this is a separate bind we don't store it global
|
|
|
|
}
|
|
|
|
|
|
|
|
if ($ds) {
|
|
|
|
if ($config['auth']['ldap_version'] > 0) {
|
|
|
|
ldap_set_option($ds, LDAP_OPT_PROTOCOL_VERSION, $config['auth']['ldap_version']);
|
|
|
|
}
|
|
|
|
|
|
|
|
if ($config['auth']['ldap_start_tls'] && !@ldap_start_tls($ds)) {
|
|
|
|
$ldap_cache['error'] .= 'Could not start TLS for LDAP connection';
|
|
|
|
return $ret;
|
|
|
|
}
|
|
|
|
|
|
|
|
$r = @ldap_bind($ds, io_safe_output($config['auth']['ldap_login_attr']).'='.$login.','.io_safe_output($config['auth']['ldap_base_dn']), $password);
|
|
|
|
if (!$r) {
|
|
|
|
$ldap_cache['error'] .= 'Invalid login';
|
|
|
|
} else {
|
|
|
|
$ret = true;
|
|
|
|
}
|
|
|
|
|
|
|
|
@ldap_close($ds);
|
|
|
|
} else {
|
|
|
|
$ldap_cache['error'] .= 'Error connecting to LDAP server';
|
|
|
|
}
|
|
|
|
|
|
|
|
return $ret;
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
}
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
/**
|
|
|
|
* Function to load user information according to PandoraFMS structure. Error messages in $ldap_cache["error"];
|
|
|
|
*
|
|
|
|
* @param string User login
|
|
|
|
*
|
|
|
|
* @return mixed Array with the information, false in other case
|
|
|
|
*/
|
2019-01-30 16:18:44 +01:00
|
|
|
function ldap_load_user($login)
|
|
|
|
{
|
|
|
|
global $ldap_cache, $config;
|
|
|
|
|
|
|
|
$ret = false;
|
|
|
|
$time = get_system_time();
|
|
|
|
if (ldap_connect_bind()) {
|
|
|
|
$sr = ldap_search(
|
|
|
|
$ldap_cache['ds'],
|
|
|
|
io_safe_output($config['auth']['ldap_base_dn']),
|
|
|
|
'(&('.io_safe_output($config['auth']['ldap_login_attr']).'='.$login.')'.io_safe_output($config['auth']['ldap_user_filter']).')',
|
|
|
|
array_values($config['auth']['ldap_user_attr'])
|
|
|
|
);
|
|
|
|
|
|
|
|
if (!$sr) {
|
|
|
|
$ldap_cache['error'] .= 'Error searching LDAP server (load_user): '.ldap_error($ldap_cache['ds']);
|
|
|
|
} else {
|
|
|
|
$info = @ldap_get_entries($ldap_cache['ds'], $sr);
|
|
|
|
if ($info['count'] != 1) {
|
|
|
|
$ldap_cache['error'] .= 'Invalid login';
|
|
|
|
// $ldap_cache["error"] .= ', could not load user'; //Uncomment for debugging
|
|
|
|
} else {
|
|
|
|
$ret = [];
|
|
|
|
foreach ($config['auth']['ldap_user_attr'] as $internal_key => $ldap_key) {
|
|
|
|
$ret['last_connect'] = $time;
|
|
|
|
$ret['registered'] = $time;
|
|
|
|
$ret['is_admin'] = is_user_admin($info[0][$config['auth']['ldap_user_attr']['id_user']][0]);
|
|
|
|
if (isset($info[0][$ldap_key])) {
|
|
|
|
$ret[$internal_key] = $info[0][$ldap_key][0];
|
|
|
|
} else {
|
|
|
|
$ret[$internal_key] = '';
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@ldap_free_result($sr);
|
|
|
|
}
|
|
|
|
|
|
|
|
@ldap_close($ldap_cache['ds']);
|
|
|
|
} else {
|
|
|
|
$ldap_cache['error'] .= 'Could not connect to LDAP server';
|
|
|
|
}
|
|
|
|
|
|
|
|
return $ret;
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
}
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
/**
|
|
|
|
* Function to create a new user. We don't do LDAP admin in Pandora, so not implemented.
|
|
|
|
*
|
2019-01-30 16:18:44 +01:00
|
|
|
* @return boolean false
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
*/
|
2019-01-30 16:18:44 +01:00
|
|
|
function create_user()
|
|
|
|
{
|
|
|
|
global $ldap_cache;
|
|
|
|
|
|
|
|
$ldap_cache['error'] .= 'Creating users not supported.';
|
|
|
|
return false;
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
}
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
/**
|
|
|
|
* Function to update a user. We don't do LDAP admin in Pandora, so not implemented.
|
|
|
|
*
|
2019-01-30 16:18:44 +01:00
|
|
|
* @return boolean false
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
*/
|
2019-01-30 16:18:44 +01:00
|
|
|
function process_user()
|
|
|
|
{
|
|
|
|
global $ldap_cache;
|
|
|
|
|
|
|
|
$ldap_cache['error'] .= 'Updating users not supported.';
|
|
|
|
return false;
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
}
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
/**
|
|
|
|
* Function to update a user password. We don't do LDAP admin in Pandora, so not implemented.
|
|
|
|
*
|
2019-01-30 16:18:44 +01:00
|
|
|
* @return boolean false
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
*/
|
2019-01-30 16:18:44 +01:00
|
|
|
function update_user_password($user, $password_old, $password_new)
|
|
|
|
{
|
|
|
|
global $ldap_cache;
|
|
|
|
|
|
|
|
$ldap_cache['error'] = 'Changing passwords not supported';
|
|
|
|
return false;
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
}
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
/**
|
|
|
|
* Delete a user (preferences etc.) from the pandora database (NOT from LDAP)
|
|
|
|
*
|
|
|
|
* @param string $user User to delete
|
|
|
|
*
|
2019-01-30 16:18:44 +01:00
|
|
|
* @return boolean True if successfully deleted, false otherwise
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
*/
|
2019-01-30 16:18:44 +01:00
|
|
|
function delete_user($user)
|
|
|
|
{
|
|
|
|
global $ldap_cache;
|
|
|
|
|
|
|
|
$ldap_cache['error'] = 'Deleting users not supported';
|
|
|
|
return false;
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
}
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
/**
|
|
|
|
* Function to get all users (for LDAP this also includes the admin users which you have to get separate)
|
|
|
|
*
|
|
|
|
* @param string Order currently not done for LDAP
|
|
|
|
*
|
|
|
|
* @return array List if successful, empty array otherwise
|
|
|
|
*/
|
2019-01-30 16:18:44 +01:00
|
|
|
function get_users($order=false)
|
|
|
|
{
|
|
|
|
global $ldap_cache, $config;
|
|
|
|
|
|
|
|
if (!empty($ldap_cache['cached_users'])) {
|
|
|
|
return $ldap_cache['cached_users'];
|
|
|
|
}
|
|
|
|
|
|
|
|
$ldap_cache['cached_users'] = [];
|
|
|
|
$time = get_system_time();
|
|
|
|
|
|
|
|
if (ldap_connect_bind()) {
|
|
|
|
$sr = @ldap_search($ldap_cache['ds'], io_safe_output($config['auth']['ldap_base_dn']), io_safe_output($config['auth']['ldap_user_filter']), array_values($config['auth']['ldap_user_attr']));
|
|
|
|
if (!$sr) {
|
|
|
|
$ldap_cache['error'] .= 'Error searching LDAP server (get_users): '.ldap_error($ldap_cache['ds']);
|
|
|
|
} else {
|
|
|
|
ldap_sort($ldap_cache['ds'], $sr, $config['auth']['ldap_user_attr']['fullname']);
|
|
|
|
$info = @ldap_get_entries($ldap_cache['ds'], $sr);
|
|
|
|
for ($i = 0; $i < $info['count']; $i++) {
|
|
|
|
foreach ($config['auth']['ldap_user_attr'] as $internal_key => $ldap_key) {
|
|
|
|
$ret[$info[$i][$config['auth']['ldap_user_attr']['id_user']][0]]['last_connect'] = $time;
|
|
|
|
if (isset($info[$i][$ldap_key])) {
|
|
|
|
$ret[$info[$i][$config['auth']['ldap_user_attr']['id_user']][0]][$internal_key] = $info[$i][$ldap_key][0];
|
|
|
|
} else {
|
|
|
|
$ret[$info[$i][$config['auth']['ldap_user_attr']['id_user']][0]][$internal_key] = '';
|
|
|
|
}
|
|
|
|
|
|
|
|
$ret[$info[$i][$config['auth']['ldap_user_attr']['id_user']][0]]['is_admin'] = is_user_admin($info[$i][$config['auth']['ldap_user_attr']['id_user']][0]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@ldap_free_result($sr);
|
|
|
|
}
|
|
|
|
|
|
|
|
@ldap_close($ldap_cache['ds']);
|
|
|
|
}
|
|
|
|
|
|
|
|
// Admins are also users and since they can be in separate channels in LDAP, we merge them
|
|
|
|
$ldap_cache['cached_users'] = $ret;
|
|
|
|
|
|
|
|
return $ldap_cache['cached_users'];
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
}
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
2009-08-24 Miguel de Dios <miguel.dedios@artica.es>
* include/functions_menu.php, include/functions_html.php,
include/functions_events.php, include/functions_messages.php,
include/functions_modules.php, include/functions_exportserver.php,
include/functions_reporting.php, include/functions_filemanager.php,
include/pchart_graph.php, include/pandora_graph.php, include/auth/ldap.php,
include/auth/mysql.php, include/config.inc.php,
include/functions_networkmap.php, include/functions_servers.php,
include/functions_network_profiles.php, include/gettext.php,
include/functions_network_components.php, include/functions_visual_map.php,
include/fgraph2.php, include/Image/image_functions.php,
include/functions_config.php, include/config_process.php,
include/functions_ui.php, include/htmlawed.php,
include/functions_custom_graphs.php, include/fgraph.php,
include/functions_incidents.php, include/functions.php,
include/functions_agents.php, include/functions_db.php,
include/functions_themes.php, include/streams.php,
include/functions_fsgraph.php, include/functions_alerts.php,
include/functions_reports.php, include/functions_extensions.php,
include/functions_ui_renders.php: change or add the subpackage in phpdoc
comment blocks for to organize more the result phpdoc files. Start to
document undocument functions.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1882 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-08-26 17:37:47 +02:00
|
|
|
/**
|
|
|
|
* Strip everything but the username (uid) from a dn.
|
|
|
|
* Example: path description
|
|
|
|
* stripdn(uid=jeffh,ou=people,dc=example,dc=com) returns jeffh
|
2019-01-30 16:18:44 +01:00
|
|
|
*
|
|
|
|
* @param string dn the dn you want to strip the uid from.
|
2009-08-24 Miguel de Dios <miguel.dedios@artica.es>
* include/functions_menu.php, include/functions_html.php,
include/functions_events.php, include/functions_messages.php,
include/functions_modules.php, include/functions_exportserver.php,
include/functions_reporting.php, include/functions_filemanager.php,
include/pchart_graph.php, include/pandora_graph.php, include/auth/ldap.php,
include/auth/mysql.php, include/config.inc.php,
include/functions_networkmap.php, include/functions_servers.php,
include/functions_network_profiles.php, include/gettext.php,
include/functions_network_components.php, include/functions_visual_map.php,
include/fgraph2.php, include/Image/image_functions.php,
include/functions_config.php, include/config_process.php,
include/functions_ui.php, include/htmlawed.php,
include/functions_custom_graphs.php, include/fgraph.php,
include/functions_incidents.php, include/functions.php,
include/functions_agents.php, include/functions_db.php,
include/functions_themes.php, include/streams.php,
include/functions_fsgraph.php, include/functions_alerts.php,
include/functions_reports.php, include/functions_extensions.php,
include/functions_ui_renders.php: change or add the subpackage in phpdoc
comment blocks for to organize more the result phpdoc files. Start to
document undocument functions.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1882 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-08-26 17:37:47 +02:00
|
|
|
* @return string userid
|
|
|
|
*/
|
2019-01-30 16:18:44 +01:00
|
|
|
function stripdn($dn)
|
|
|
|
{
|
|
|
|
$array_explode = explode(',', $dn, 2);
|
|
|
|
$array_explode2 = explode('=', $array_explode[0]);
|
|
|
|
return ($$array_explode2[1]);
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
}
|
|
|
|
|
2019-01-30 16:18:44 +01:00
|
|
|
|
2009-08-24 Miguel de Dios <miguel.dedios@artica.es>
* include/functions_menu.php, include/functions_html.php,
include/functions_events.php, include/functions_messages.php,
include/functions_modules.php, include/functions_exportserver.php,
include/functions_reporting.php, include/functions_filemanager.php,
include/pchart_graph.php, include/pandora_graph.php, include/auth/ldap.php,
include/auth/mysql.php, include/config.inc.php,
include/functions_networkmap.php, include/functions_servers.php,
include/functions_network_profiles.php, include/gettext.php,
include/functions_network_components.php, include/functions_visual_map.php,
include/fgraph2.php, include/Image/image_functions.php,
include/functions_config.php, include/config_process.php,
include/functions_ui.php, include/htmlawed.php,
include/functions_custom_graphs.php, include/fgraph.php,
include/functions_incidents.php, include/functions.php,
include/functions_agents.php, include/functions_db.php,
include/functions_themes.php, include/streams.php,
include/functions_fsgraph.php, include/functions_alerts.php,
include/functions_reports.php, include/functions_extensions.php,
include/functions_ui_renders.php: change or add the subpackage in phpdoc
comment blocks for to organize more the result phpdoc files. Start to
document undocument functions.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1882 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-08-26 17:37:47 +02:00
|
|
|
/**
|
|
|
|
* Connects and binds to the LDAP server
|
|
|
|
* Tries to connect as $config["auth"]["ldap_admin_dn"] if we set it.
|
2019-01-30 16:18:44 +01:00
|
|
|
*
|
2009-08-24 Miguel de Dios <miguel.dedios@artica.es>
* include/functions_menu.php, include/functions_html.php,
include/functions_events.php, include/functions_messages.php,
include/functions_modules.php, include/functions_exportserver.php,
include/functions_reporting.php, include/functions_filemanager.php,
include/pchart_graph.php, include/pandora_graph.php, include/auth/ldap.php,
include/auth/mysql.php, include/config.inc.php,
include/functions_networkmap.php, include/functions_servers.php,
include/functions_network_profiles.php, include/gettext.php,
include/functions_network_components.php, include/functions_visual_map.php,
include/fgraph2.php, include/Image/image_functions.php,
include/functions_config.php, include/config_process.php,
include/functions_ui.php, include/htmlawed.php,
include/functions_custom_graphs.php, include/fgraph.php,
include/functions_incidents.php, include/functions.php,
include/functions_agents.php, include/functions_db.php,
include/functions_themes.php, include/streams.php,
include/functions_fsgraph.php, include/functions_alerts.php,
include/functions_reports.php, include/functions_extensions.php,
include/functions_ui_renders.php: change or add the subpackage in phpdoc
comment blocks for to organize more the result phpdoc files. Start to
document undocument functions.
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1882 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-08-26 17:37:47 +02:00
|
|
|
* @return boolean Bind result or false
|
|
|
|
*/
|
2019-01-30 16:18:44 +01:00
|
|
|
function ldap_connect_bind()
|
|
|
|
{
|
|
|
|
global $ldap_cache, $config;
|
|
|
|
|
|
|
|
if (! function_exists('ldap_connect')) {
|
|
|
|
die('Your installation of PHP does not support LDAP');
|
|
|
|
}
|
|
|
|
|
|
|
|
$ret = false;
|
|
|
|
|
|
|
|
if (!empty($config['auth']['ldap_port']) && !is_resource($ldap_cache['ds'])) {
|
|
|
|
$ldap_cache['ds'] = @ldap_connect($config['auth']['ldap_server'], $config['auth']['ldap_port']);
|
|
|
|
} else if (!is_resource($ldap_cache['ds'])) {
|
|
|
|
$ldap_cache['ds'] = @ldap_connect($config['auth']['ldap_server']);
|
|
|
|
} else {
|
|
|
|
return true;
|
|
|
|
}
|
|
|
|
|
|
|
|
if ($ldap_cache['ds']) {
|
|
|
|
if (!empty($config['auth']['ldap_version'])) {
|
|
|
|
ldap_set_option($ldap_cache['ds'], LDAP_OPT_PROTOCOL_VERSION, $config['auth']['ldap_version']);
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!empty($config['auth']['ldap_start_tls'])) {
|
|
|
|
if (!ldap_start_tls($ldap_cache['ds'])) {
|
|
|
|
$ldap_cache['error'] .= 'Could not start TLS for LDAP connection';
|
|
|
|
return $ret;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!empty($config['auth']['ldap_admin_dn'])) {
|
|
|
|
$r = @ldap_bind($ldap_cache['ds'], $config['auth']['ldap_admin_dn'], $config['auth']['ldap_admin_pwd']);
|
|
|
|
} else {
|
|
|
|
$r = @ldap_bind($ldap_cache['ds']);
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!$r) {
|
|
|
|
$ldap_cache['error'] .= 'Invalid bind login for LDAP Server or (in case of OpenLDAP 2.x) could not connect';
|
|
|
|
return $ret;
|
|
|
|
}
|
|
|
|
|
|
|
|
return true;
|
|
|
|
} else {
|
|
|
|
$ldap_cache['error'] .= 'Error connecting to LDAP server';
|
|
|
|
return $ret;
|
|
|
|
}
|
2009-01-20 Evi Vanoost <vanooste@rcbi.rochester.edu>
* ajax.php, include/config.inc.php, include/config_process.php,
include/functions.php, include/functions_db.php,
include/functions_ui.php, index.php, install.php,
operation/users/user.php, operation/users/user_edit.php,
reporting/fgraph.php: Added pluggable authentication and moved functions
* general/login_page.php, general/logon_ok.php,
godmode/agentes/modificar_agente.php,
godmode/users/configure_users.php, godmode/users/user_list.php,
operation/agentes/estado_agente.php, operation/incidents/incident.php,
operation/incidents/incident_search.php: Updated functions
git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1366 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
2009-01-20 19:21:20 +01:00
|
|
|
}
|