|
@@ -44,23 +44,23 @@ discard block |
|
|
block discarded – undo |
|
44
|
44
|
throw new Exception("Error file '/includes/config/tp.config.php' not exists", 1); |
|
45
|
45
|
} |
|
46
|
46
|
|
|
47
|
|
-if (! isset($SETTINGS['cpassman_dir']) || empty($SETTINGS['cpassman_dir']) === true || $SETTINGS['cpassman_dir'] === '.') { |
|
|
47
|
+if (!isset($SETTINGS['cpassman_dir']) || empty($SETTINGS['cpassman_dir']) === true || $SETTINGS['cpassman_dir'] === '.') { |
|
48
|
48
|
$SETTINGS = []; |
|
49
|
49
|
$SETTINGS['cpassman_dir'] = '..'; |
|
50
|
50
|
} |
|
51
|
51
|
|
|
52
|
|
-require_once $SETTINGS['cpassman_dir'] . '/sources/main.functions.php'; |
|
53
|
|
-require_once $SETTINGS['cpassman_dir'] . '/includes/config/include.php'; |
|
54
|
|
-require_once $SETTINGS['cpassman_dir'] . '/includes/config/settings.php'; |
|
|
52
|
+require_once $SETTINGS['cpassman_dir'].'/sources/main.functions.php'; |
|
|
53
|
+require_once $SETTINGS['cpassman_dir'].'/includes/config/include.php'; |
|
|
54
|
+require_once $SETTINGS['cpassman_dir'].'/includes/config/settings.php'; |
|
55
|
55
|
|
|
56
|
56
|
// If Debug then clean the files |
|
57
|
57
|
if (DEBUGLDAP === true) { |
|
58
|
|
- define('DEBUGLDAPFILE', $SETTINGS['path_to_files_folder'] . '/ldap.debug.txt'); |
|
|
58
|
+ define('DEBUGLDAPFILE', $SETTINGS['path_to_files_folder'].'/ldap.debug.txt'); |
|
59
|
59
|
$fp = fopen(DEBUGLDAPFILE, 'w'); |
|
60
|
60
|
fclose($fp); |
|
61
|
61
|
} |
|
62
|
62
|
if (DEBUGDUO === true) { |
|
63
|
|
- define('DEBUGDUOFILE', $SETTINGS['path_to_files_folder'] . '/duo.debug.txt'); |
|
|
63
|
+ define('DEBUGDUOFILE', $SETTINGS['path_to_files_folder'].'/duo.debug.txt'); |
|
64
|
64
|
$fp = fopen(DEBUGDUOFILE, 'w'); |
|
65
|
65
|
fclose($fp); |
|
66
|
66
|
} |
|
@@ -76,7 +76,7 @@ discard block |
|
|
block discarded – undo |
|
76
|
76
|
if (defined('DB_PASSWD_CLEAR') === false) { |
|
77
|
77
|
define('DB_PASSWD_CLEAR', defuseReturnDecrypted(DB_PASSWD, $SETTINGS)); |
|
78
|
78
|
} |
|
79
|
|
-require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Database/Meekrodb/db.class.php'; |
|
|
79
|
+require_once $SETTINGS['cpassman_dir'].'/includes/libraries/Database/Meekrodb/db.class.php'; |
|
80
|
80
|
if (defined('DB_PASSWD_CLEAR') === false) { |
|
81
|
81
|
define('DB_PASSWD_CLEAR', defuseReturnDecrypted(DB_PASSWD, $SETTINGS)); |
|
82
|
82
|
} |
|
@@ -95,7 +95,7 @@ discard block |
|
|
block discarded – undo |
|
95
|
95
|
// Get DUO keys |
|
96
|
96
|
$duoData = DB::query( |
|
97
|
97
|
'SELECT intitule, valeur |
|
98
|
|
- FROM ' . prefixTable('misc') . ' |
|
|
98
|
+ FROM ' . prefixTable('misc').' |
|
99
|
99
|
WHERE type = %s', |
|
100
|
100
|
'duoSecurity' |
|
101
|
101
|
); |
|
@@ -105,7 +105,7 @@ discard block |
|
|
block discarded – undo |
|
105
|
105
|
} |
|
106
|
106
|
|
|
107
|
107
|
// load library |
|
108
|
|
- include_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Authentication/DuoSecurity/Duo.php'; |
|
|
108
|
+ include_once $SETTINGS['cpassman_dir'].'/includes/libraries/Authentication/DuoSecurity/Duo.php'; |
|
109
|
109
|
$sig_request = Duo::signRequest( |
|
110
|
110
|
$_GLOBALS['IKEY'], |
|
111
|
111
|
$_GLOBALS['SKEY'], |
|
@@ -116,16 +116,16 @@ discard block |
|
|
block discarded – undo |
|
116
|
116
|
debugIdentify( |
|
117
|
117
|
DEBUGDUO, |
|
118
|
118
|
DEBUGDUOFILE, |
|
119
|
|
- "\n\n-----\n\n" . |
|
120
|
|
- 'sig request : ' . $post_login . "\n" . |
|
121
|
|
- 'resp : ' . $sig_request . "\n" |
|
|
119
|
+ "\n\n-----\n\n". |
|
|
120
|
+ 'sig request : '.$post_login."\n". |
|
|
121
|
+ 'resp : '.$sig_request."\n" |
|
122
|
122
|
); |
|
123
|
123
|
} |
|
124
|
124
|
|
|
125
|
125
|
// load csrfprotector |
|
126
|
|
- $csrfp_config = include_once $SETTINGS['cpassman_dir'] . '/includes/libraries/csrfp/libs/csrfp.config.php'; |
|
|
126
|
+ $csrfp_config = include_once $SETTINGS['cpassman_dir'].'/includes/libraries/csrfp/libs/csrfp.config.php'; |
|
127
|
127
|
// return result |
|
128
|
|
- echo '[{"sig_request" : "' . $sig_request . '" , "csrfp_token" : "' . $csrfp_config['CSRFP_TOKEN'] . '" , "csrfp_key" : "' . filter_var($_COOKIE[$csrfp_config['CSRFP_TOKEN']], FILTER_SANITIZE_STRING) . '"}]'; |
|
|
128
|
+ echo '[{"sig_request" : "'.$sig_request.'" , "csrfp_token" : "'.$csrfp_config['CSRFP_TOKEN'].'" , "csrfp_key" : "'.filter_var($_COOKIE[$csrfp_config['CSRFP_TOKEN']], FILTER_SANITIZE_STRING).'"}]'; |
|
129
|
129
|
// --- |
|
130
|
130
|
// --- |
|
131
|
131
|
} elseif ($post_type === 'identify_duo_user_check') { |
|
@@ -135,7 +135,7 @@ discard block |
|
|
block discarded – undo |
|
135
|
135
|
//-------- |
|
136
|
136
|
|
|
137
|
137
|
// load library |
|
138
|
|
- include_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Authentication/DuoSecurity/Duo.php'; |
|
|
138
|
+ include_once $SETTINGS['cpassman_dir'].'/includes/libraries/Authentication/DuoSecurity/Duo.php'; |
|
139
|
139
|
$authenticated_username = Duo::verifyResponse( |
|
140
|
140
|
$SETTINGS['duo_ikey'], |
|
141
|
141
|
$SETTINGS['duo_skey'], |
|
@@ -146,9 +146,9 @@ discard block |
|
|
block discarded – undo |
|
146
|
146
|
debugIdentify( |
|
147
|
147
|
DEBUGDUO, |
|
148
|
148
|
DEBUGDUOFILE, |
|
149
|
|
- "\n\n-----\n\n" . |
|
150
|
|
- 'sig response : ' . $post_sig_response . "\n" . |
|
151
|
|
- 'resp : ' . $authenticated_username . "\n" |
|
|
149
|
+ "\n\n-----\n\n". |
|
|
150
|
+ 'sig response : '.$post_sig_response."\n". |
|
|
151
|
+ 'resp : '.$authenticated_username."\n" |
|
152
|
152
|
); |
|
153
|
153
|
} |
|
154
|
154
|
|
|
@@ -159,7 +159,7 @@ discard block |
|
|
block discarded – undo |
|
159
|
159
|
// is user in Teampass? |
|
160
|
160
|
DB::queryfirstrow( |
|
161
|
161
|
'SELECT id |
|
162
|
|
- FROM ' . prefixTable('users') . ' |
|
|
162
|
+ FROM ' . prefixTable('users').' |
|
163
|
163
|
WHERE login = %s', |
|
164
|
164
|
$post_login |
|
165
|
165
|
); |
|
@@ -169,9 +169,9 @@ discard block |
|
|
block discarded – undo |
|
169
|
169
|
} |
|
170
|
170
|
} |
|
171
|
171
|
|
|
172
|
|
- echo '[{"authenticated_username" : "' . $authenticated_username . '"}]'; |
|
|
172
|
+ echo '[{"authenticated_username" : "'.$authenticated_username.'"}]'; |
|
173
|
173
|
} else { |
|
174
|
|
- echo '[{"authenticated_username" : "' . $authenticated_username . '"}]'; |
|
|
174
|
+ echo '[{"authenticated_username" : "'.$authenticated_username.'"}]'; |
|
175
|
175
|
} |
|
176
|
176
|
// --- |
|
177
|
177
|
// --- |
|
@@ -181,7 +181,7 @@ discard block |
|
|
block discarded – undo |
|
181
|
181
|
//-------- |
|
182
|
182
|
|
|
183
|
183
|
// Load superGlobals |
|
184
|
|
- include_once $SETTINGS['cpassman_dir'] . '/includes/libraries/protect/SuperGlobal/SuperGlobal.php'; |
|
|
184
|
+ include_once $SETTINGS['cpassman_dir'].'/includes/libraries/protect/SuperGlobal/SuperGlobal.php'; |
|
185
|
185
|
$superGlobal = new protect\SuperGlobal\SuperGlobal(); |
|
186
|
186
|
// Prepare GET variables |
|
187
|
187
|
$sessionPwdAttempts = $superGlobal->get('pwd_attempts', 'SESSION'); |
|
@@ -268,16 +268,16 @@ discard block |
|
|
block discarded – undo |
|
268
|
268
|
} else { |
|
269
|
269
|
throw new Exception("Error file '/includes/config/tp.config.php' not exists", 1); |
|
270
|
270
|
} |
|
271
|
|
- include_once $SETTINGS['cpassman_dir'] . '/includes/config/settings.php'; |
|
|
271
|
+ include_once $SETTINGS['cpassman_dir'].'/includes/config/settings.php'; |
|
272
|
272
|
header('Content-type: text/html; charset=utf-8'); |
|
273
|
273
|
error_reporting(E_ERROR); |
|
274
|
|
- include_once $SETTINGS['cpassman_dir'] . '/sources/main.functions.php'; |
|
275
|
|
- include_once $SETTINGS['cpassman_dir'] . '/sources/SplClassLoader.php'; |
|
|
274
|
+ include_once $SETTINGS['cpassman_dir'].'/sources/main.functions.php'; |
|
|
275
|
+ include_once $SETTINGS['cpassman_dir'].'/sources/SplClassLoader.php'; |
|
276
|
276
|
// Load AntiXSS |
|
277
|
|
- include_once $SETTINGS['cpassman_dir'] . '/includes/libraries/voku/helper/AntiXSS.php'; |
|
|
277
|
+ include_once $SETTINGS['cpassman_dir'].'/includes/libraries/voku/helper/AntiXSS.php'; |
|
278
|
278
|
$antiXss = new voku\helper\AntiXSS(); |
|
279
|
279
|
// Load superGlobals |
|
280
|
|
- include_once $SETTINGS['cpassman_dir'] . '/includes/libraries/protect/SuperGlobal/SuperGlobal.php'; |
|
|
280
|
+ include_once $SETTINGS['cpassman_dir'].'/includes/libraries/protect/SuperGlobal/SuperGlobal.php'; |
|
281
|
281
|
$superGlobal = new protect\SuperGlobal\SuperGlobal(); |
|
282
|
282
|
// Prepare GET variables |
|
283
|
283
|
$sessionUserLanguage = $superGlobal->get('user_language', 'SESSION'); |
|
@@ -290,7 +290,7 @@ discard block |
|
|
block discarded – undo |
|
290
|
290
|
$server['PHP_AUTH_PW'] = $superGlobal->get('PHP_AUTH_PW', 'SERVER'); |
|
291
|
291
|
|
|
292
|
292
|
// connect to the server |
|
293
|
|
- include_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Database/Meekrodb/db.class.php'; |
|
|
293
|
+ include_once $SETTINGS['cpassman_dir'].'/includes/libraries/Database/Meekrodb/db.class.php'; |
|
294
|
294
|
if (defined('DB_PASSWD_CLEAR') === false) { |
|
295
|
295
|
define('DB_PASSWD_CLEAR', defuseReturnDecrypted(DB_PASSWD, $SETTINGS)); |
|
296
|
296
|
} |
|
@@ -301,7 +301,7 @@ discard block |
|
|
block discarded – undo |
|
301
|
301
|
DB::$port = DB_PORT; |
|
302
|
302
|
DB::$encoding = DB_ENCODING; |
|
303
|
303
|
// User's language loading |
|
304
|
|
- include_once $SETTINGS['cpassman_dir'] . '/includes/language/' . $sessionUserLanguage . '.php'; |
|
|
304
|
+ include_once $SETTINGS['cpassman_dir'].'/includes/language/'.$sessionUserLanguage.'.php'; |
|
305
|
305
|
//echo $dataReceived." -->".empty($sessionKey)."<-- ".$sessionKey." ** " ; |
|
306
|
306
|
// decrypt and retreive data in JSON format |
|
307
|
307
|
if (empty($sessionKey) === true) { |
|
@@ -376,7 +376,7 @@ discard block |
|
|
block discarded – undo |
|
376
|
376
|
// Check if user exists |
|
377
|
377
|
$userInfo = DB::queryFirstRow( |
|
378
|
378
|
'SELECT * |
|
379
|
|
- FROM ' . prefixTable('users') . ' |
|
|
379
|
+ FROM ' . prefixTable('users').' |
|
380
|
380
|
WHERE login=%s', |
|
381
|
381
|
$username |
|
382
|
382
|
); |
|
@@ -580,7 +580,7 @@ discard block |
|
|
block discarded – undo |
|
580
|
580
|
//$arrAttempts = array(); |
|
581
|
581
|
$rows = DB::query( |
|
582
|
582
|
'SELECT date |
|
583
|
|
- FROM ' . prefixTable('log_system') . " |
|
|
583
|
+ FROM ' . prefixTable('log_system')." |
|
584
|
584
|
WHERE field_1 = %s |
|
585
|
585
|
AND type = 'failed_auth' |
|
586
|
586
|
AND label = 'user_password_not_correct' |
|
@@ -596,7 +596,7 @@ discard block |
|
|
block discarded – undo |
|
596
|
596
|
foreach ($rows as $record) { |
|
597
|
597
|
array_push( |
|
598
|
598
|
$arrAttempts, |
|
599
|
|
- date($SETTINGS['date_format'] . ' ' . $SETTINGS['time_format'], $record['date']) |
|
|
599
|
+ date($SETTINGS['date_format'].' '.$SETTINGS['time_format'], $record['date']) |
|
600
|
600
|
); |
|
601
|
601
|
} |
|
602
|
602
|
} |
|
@@ -632,7 +632,7 @@ discard block |
|
|
block discarded – undo |
|
632
|
632
|
$superGlobal->put('user_upgrade_needed', $userInfo['upgrade_needed'], 'SESSION'); |
|
633
|
633
|
$superGlobal->put('user_force_relog', $userInfo['force-relog'], 'SESSION'); |
|
634
|
634
|
// get personal settings |
|
635
|
|
- if (! isset($userInfo['treeloadstrategy']) || empty($userInfo['treeloadstrategy'])) { |
|
|
635
|
+ if (!isset($userInfo['treeloadstrategy']) || empty($userInfo['treeloadstrategy'])) { |
|
636
|
636
|
$userInfo['treeloadstrategy'] = 'full'; |
|
637
|
637
|
} |
|
638
|
638
|
$superGlobal->put('treeloadstrategy', $userInfo['treeloadstrategy'], 'SESSION', 'user'); |
|
@@ -732,7 +732,7 @@ discard block |
|
|
block discarded – undo |
|
732
|
732
|
foreach ($superGlobal->get('user_roles', 'SESSION') as $role) { |
|
733
|
733
|
$resRoles = DB::queryFirstRow( |
|
734
|
734
|
'SELECT title, complexity |
|
735
|
|
- FROM ' . prefixTable('roles_title') . ' |
|
|
735
|
+ FROM ' . prefixTable('roles_title').' |
|
736
|
736
|
WHERE id=%i', |
|
737
|
737
|
$role |
|
738
|
738
|
); |
|
@@ -753,7 +753,7 @@ discard block |
|
|
block discarded – undo |
|
753
|
753
|
|
|
754
|
754
|
// build complete array of roles |
|
755
|
755
|
$superGlobal->put('arr_roles_full', [], 'SESSION'); |
|
756
|
|
- $rows = DB::query('SELECT id, title FROM ' . prefixTable('roles_title') . ' ORDER BY title ASC'); |
|
|
756
|
+ $rows = DB::query('SELECT id, title FROM '.prefixTable('roles_title').' ORDER BY title ASC'); |
|
757
|
757
|
foreach ($rows as $record) { |
|
758
|
758
|
$superGlobal->put( |
|
759
|
759
|
$record['id'], |
|
@@ -842,10 +842,10 @@ discard block |
|
|
block discarded – undo |
|
842
|
842
|
$superGlobal->put('latest_items_tab', [], 'SESSION'); |
|
843
|
843
|
$superGlobal->put('nb_roles', 0, 'SESSION'); |
|
844
|
844
|
foreach ($superGlobal->get('latest_items', 'SESSION') as $item) { |
|
845
|
|
- if (! empty($item)) { |
|
|
845
|
+ if (!empty($item)) { |
|
846
|
846
|
$dataLastItems = DB::queryFirstRow( |
|
847
|
847
|
'SELECT id,label,id_tree |
|
848
|
|
- FROM ' . prefixTable('items') . ' |
|
|
848
|
+ FROM ' . prefixTable('items').' |
|
849
|
849
|
WHERE id=%i', |
|
850
|
850
|
$item |
|
851
|
851
|
); |
|
@@ -854,7 +854,7 @@ discard block |
|
|
block discarded – undo |
|
854
|
854
|
[ |
|
855
|
855
|
'id' => $item, |
|
856
|
856
|
'label' => $dataLastItems['label'], |
|
857
|
|
- 'url' => 'index.php?page=items&group=' . $dataLastItems['id_tree'] . '&id=' . $item, |
|
|
857
|
+ 'url' => 'index.php?page=items&group='.$dataLastItems['id_tree'].'&id='.$item, |
|
858
|
858
|
], |
|
859
|
859
|
'SESSION', |
|
860
|
860
|
'latest_items_tab' |
|
@@ -871,12 +871,12 @@ discard block |
|
|
block discarded – undo |
|
871
|
871
|
) { |
|
872
|
872
|
// get all Admin users |
|
873
|
873
|
$receivers = ''; |
|
874
|
|
- $rows = DB::query('SELECT email FROM ' . prefixTable('users') . " WHERE admin = %i and email != ''", 1); |
|
|
874
|
+ $rows = DB::query('SELECT email FROM '.prefixTable('users')." WHERE admin = %i and email != ''", 1); |
|
875
|
875
|
foreach ($rows as $record) { |
|
876
|
876
|
if (empty($receivers)) { |
|
877
|
877
|
$receivers = $record['email']; |
|
878
|
878
|
} else { |
|
879
|
|
- $receivers = ',' . $record['email']; |
|
|
879
|
+ $receivers = ','.$record['email']; |
|
880
|
880
|
} |
|
881
|
881
|
} |
|
882
|
882
|
// Add email to table |
|
@@ -892,7 +892,7 @@ discard block |
|
|
block discarded – undo |
|
892
|
892
|
'#tp_time#', |
|
893
|
893
|
], |
|
894
|
894
|
[ |
|
895
|
|
- ' ' . $superGlobal->get('login', 'SESSION') . ' (IP: ' . getClientIpServer() . ')', |
|
|
895
|
+ ' '.$superGlobal->get('login', 'SESSION').' (IP: '.getClientIpServer().')', |
|
896
|
896
|
date($SETTINGS['date_format'], $superGlobal->get('last_connection', 'SESSION')), |
|
897
|
897
|
date($SETTINGS['time_format'], $superGlobal->get('last_connection', 'SESSION')), |
|
898
|
898
|
], |
|
@@ -1037,8 +1037,8 @@ discard block |
|
|
block discarded – undo |
|
1037
|
1037
|
debugIdentify( |
|
1038
|
1038
|
DEBUGDUO, |
|
1039
|
1039
|
DEBUGDUOFILE, |
|
1040
|
|
- "\n\n----\n" . |
|
1041
|
|
- 'Identified : ' . filter_var($return, FILTER_SANITIZE_STRING) . "\n\n" |
|
|
1040
|
+ "\n\n----\n". |
|
|
1041
|
+ 'Identified : '.filter_var($return, FILTER_SANITIZE_STRING)."\n\n" |
|
1042
|
1042
|
); |
|
1043
|
1043
|
echo prepareExchangedData( |
|
1044
|
1044
|
[ |
|
@@ -1104,44 +1104,44 @@ discard block |
|
|
block discarded – undo |
|
1104
|
1104
|
], |
|
1105
|
1105
|
]; |
|
1106
|
1106
|
// Load expected libraries |
|
1107
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Illuminate/Contracts/Auth/Authenticatable.php'; |
|
1108
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Tightenco/Collect/Support/Traits/EnumeratesValues.php'; |
|
1109
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Tightenco/Collect/Support/Traits/Macroable.php'; |
|
1110
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Tightenco/Collect/Support/helpers.php'; |
|
1111
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Tightenco/Collect/Support/Arr.php'; |
|
1112
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Tightenco/Collect/Contracts/Support/Jsonable.php'; |
|
1113
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Tightenco/Collect/Contracts/Support/Arrayable.php'; |
|
1114
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Tightenco/Collect/Support/Enumerable.php'; |
|
1115
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Tightenco/Collect/Support/Collection.php'; |
|
1116
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Carbon/CarbonTimeZone.php'; |
|
1117
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Carbon/Traits/Units.php'; |
|
1118
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Carbon/Traits/Week.php'; |
|
1119
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Carbon/Traits/Timestamp.php'; |
|
1120
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Carbon/Traits/Test.php'; |
|
1121
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Carbon/Traits/ObjectInitialisation.php'; |
|
1122
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Carbon/Traits/Serialization.php'; |
|
1123
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Carbon/Traits/IntervalRounding.php'; |
|
1124
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Carbon/Traits/Rounding.php'; |
|
1125
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Carbon/Traits/Localization.php'; |
|
1126
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Carbon/Traits/Options.php'; |
|
1127
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Carbon/Traits/Cast.php'; |
|
1128
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Carbon/Traits/Mutability.php'; |
|
1129
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Carbon/Traits/Modifiers.php'; |
|
1130
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Carbon/Traits/Mixin.php'; |
|
1131
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Carbon/Traits/Macro.php'; |
|
1132
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Carbon/Traits/Difference.php'; |
|
1133
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Carbon/Traits/Creator.php'; |
|
1134
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Carbon/Traits/Converter.php'; |
|
1135
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Carbon/Traits/Comparison.php'; |
|
1136
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Carbon/Traits/Boundaries.php'; |
|
1137
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Carbon/Traits/Date.php'; |
|
1138
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Carbon/CarbonInterface.php'; |
|
1139
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Carbon/Carbon.php'; |
|
1140
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/LdapRecord/DetectsErrors.php'; |
|
1141
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/LdapRecord/Connection.php'; |
|
1142
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/LdapRecord/LdapInterface.php'; |
|
1143
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/LdapRecord/LdapBase.php'; |
|
1144
|
|
- require_once $SETTINGS['cpassman_dir'] . '/includes/libraries/LdapRecord/Ldap.php'; |
|
|
1107
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/Illuminate/Contracts/Auth/Authenticatable.php'; |
|
|
1108
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/Tightenco/Collect/Support/Traits/EnumeratesValues.php'; |
|
|
1109
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/Tightenco/Collect/Support/Traits/Macroable.php'; |
|
|
1110
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/Tightenco/Collect/Support/helpers.php'; |
|
|
1111
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/Tightenco/Collect/Support/Arr.php'; |
|
|
1112
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/Tightenco/Collect/Contracts/Support/Jsonable.php'; |
|
|
1113
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/Tightenco/Collect/Contracts/Support/Arrayable.php'; |
|
|
1114
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/Tightenco/Collect/Support/Enumerable.php'; |
|
|
1115
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/Tightenco/Collect/Support/Collection.php'; |
|
|
1116
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/Carbon/CarbonTimeZone.php'; |
|
|
1117
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/Carbon/Traits/Units.php'; |
|
|
1118
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/Carbon/Traits/Week.php'; |
|
|
1119
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/Carbon/Traits/Timestamp.php'; |
|
|
1120
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/Carbon/Traits/Test.php'; |
|
|
1121
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/Carbon/Traits/ObjectInitialisation.php'; |
|
|
1122
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/Carbon/Traits/Serialization.php'; |
|
|
1123
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/Carbon/Traits/IntervalRounding.php'; |
|
|
1124
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/Carbon/Traits/Rounding.php'; |
|
|
1125
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/Carbon/Traits/Localization.php'; |
|
|
1126
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/Carbon/Traits/Options.php'; |
|
|
1127
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/Carbon/Traits/Cast.php'; |
|
|
1128
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/Carbon/Traits/Mutability.php'; |
|
|
1129
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/Carbon/Traits/Modifiers.php'; |
|
|
1130
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/Carbon/Traits/Mixin.php'; |
|
|
1131
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/Carbon/Traits/Macro.php'; |
|
|
1132
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/Carbon/Traits/Difference.php'; |
|
|
1133
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/Carbon/Traits/Creator.php'; |
|
|
1134
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/Carbon/Traits/Converter.php'; |
|
|
1135
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/Carbon/Traits/Comparison.php'; |
|
|
1136
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/Carbon/Traits/Boundaries.php'; |
|
|
1137
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/Carbon/Traits/Date.php'; |
|
|
1138
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/Carbon/CarbonInterface.php'; |
|
|
1139
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/Carbon/Carbon.php'; |
|
|
1140
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/LdapRecord/DetectsErrors.php'; |
|
|
1141
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/LdapRecord/Connection.php'; |
|
|
1142
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/LdapRecord/LdapInterface.php'; |
|
|
1143
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/LdapRecord/LdapBase.php'; |
|
|
1144
|
+ require_once $SETTINGS['cpassman_dir'].'/includes/libraries/LdapRecord/Ldap.php'; |
|
1145
|
1145
|
$ad = new SplClassLoader('LdapRecord', '../includes/libraries'); |
|
1146
|
1146
|
$ad->register(); |
|
1147
|
1147
|
$connection = new Connection($config); |
|
@@ -1153,7 +1153,7 @@ discard block |
|
|
block discarded – undo |
|
1153
|
1153
|
$error = $e->getDetailedError(); |
|
1154
|
1154
|
return [ |
|
1155
|
1155
|
'error' => true, |
|
1156
|
|
- 'message' => langHdl('error').' : '.$error->getErrorCode().' - '.$error->getErrorMessage(). '<br>'.$error->getDiagnosticMessage().' '.$config['username'], |
|
|
1156
|
+ 'message' => langHdl('error').' : '.$error->getErrorCode().' - '.$error->getErrorMessage().'<br>'.$error->getDiagnosticMessage().' '.$config['username'], |
|
1157
|
1157
|
|
|
1158
|
1158
|
]; |
|
1159
|
1159
|
} |
|
@@ -1181,7 +1181,7 @@ discard block |
|
|
block discarded – undo |
|
1181
|
1181
|
} |
|
1182
|
1182
|
|
|
1183
|
1183
|
// load passwordLib library |
|
1184
|
|
- $pwdlib = new SplClassLoader('PasswordLib', $SETTINGS['cpassman_dir'] . '/includes/libraries'); |
|
|
1184
|
+ $pwdlib = new SplClassLoader('PasswordLib', $SETTINGS['cpassman_dir'].'/includes/libraries'); |
|
1185
|
1185
|
$pwdlib->register(); |
|
1186
|
1186
|
$pwdlib = new PasswordLib\PasswordLib(); |
|
1187
|
1187
|
$hashedPassword = $pwdlib->createPasswordHash($passwordClear); |
|
@@ -1246,7 +1246,7 @@ discard block |
|
|
block discarded – undo |
|
1246
|
1246
|
function yubicoMFACheck($dataReceived, string $userInfo, array $SETTINGS): array |
|
1247
|
1247
|
{ |
|
1248
|
1248
|
// Load superGlobals |
|
1249
|
|
- include_once $SETTINGS['cpassman_dir'] . '/includes/libraries/protect/SuperGlobal/SuperGlobal.php'; |
|
|
1249
|
+ include_once $SETTINGS['cpassman_dir'].'/includes/libraries/protect/SuperGlobal/SuperGlobal.php'; |
|
1250
|
1250
|
$superGlobal = new protect\SuperGlobal\SuperGlobal(); |
|
1251
|
1251
|
$sessionAdmin = $superGlobal->get('user_admin', 'SESSION'); |
|
1252
|
1252
|
$sessionUrl = $superGlobal->get('initial_url', 'SESSION'); |
|
@@ -1285,7 +1285,7 @@ discard block |
|
|
block discarded – undo |
|
1285
|
1285
|
} |
|
1286
|
1286
|
|
|
1287
|
1287
|
// Now check yubico validity |
|
1288
|
|
- include_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Authentication/Yubico/Yubico.php'; |
|
|
1288
|
+ include_once $SETTINGS['cpassman_dir'].'/includes/libraries/Authentication/Yubico/Yubico.php'; |
|
1289
|
1289
|
$yubi = new Auth_Yubico($yubico_user_id, $yubico_user_key); |
|
1290
|
1290
|
$auth = $yubi->verify($yubico_key); |
|
1291
|
1291
|
//, null, null, null, 60 |
|
@@ -1337,7 +1337,7 @@ discard block |
|
|
block discarded – undo |
|
1337
|
1337
|
'gestionnaire' => '0', |
|
1338
|
1338
|
'can_manage_all_users' => '0', |
|
1339
|
1339
|
'personal_folder' => $SETTINGS['enable_pf_feature'] === '1' ? '1' : '0', |
|
1340
|
|
- 'fonction_id' => (empty($retLDAP['user_info_from_ad'][0]['commonGroupsLdapVsTeampass']) === false ? $retLDAP['user_info_from_ad'][0]['commonGroupsLdapVsTeampass'] . ';' : '') . (isset($SETTINGS['ldap_new_user_role']) === true ? $SETTINGS['ldap_new_user_role'] : '0'), |
|
|
1340
|
+ 'fonction_id' => (empty($retLDAP['user_info_from_ad'][0]['commonGroupsLdapVsTeampass']) === false ? $retLDAP['user_info_from_ad'][0]['commonGroupsLdapVsTeampass'].';' : '').(isset($SETTINGS['ldap_new_user_role']) === true ? $SETTINGS['ldap_new_user_role'] : '0'), |
|
1341
|
1341
|
'groupes_interdits' => '', |
|
1342
|
1342
|
'groupes_visibles' => '', |
|
1343
|
1343
|
'last_pw_change' => time(), |
|
@@ -1362,7 +1362,7 @@ discard block |
|
|
block discarded – undo |
|
1362
|
1362
|
] |
|
1363
|
1363
|
); |
|
1364
|
1364
|
// Rebuild tree |
|
1365
|
|
- $tree = new SplClassLoader('Tree\NestedTree', $SETTINGS['cpassman_dir'] . '/includes/libraries'); |
|
|
1365
|
+ $tree = new SplClassLoader('Tree\NestedTree', $SETTINGS['cpassman_dir'].'/includes/libraries'); |
|
1366
|
1366
|
$tree->register(); |
|
1367
|
1367
|
$tree = new Tree\NestedTree\NestedTree(prefixTable('nested_tree'), 'id', 'parent_id', 'title'); |
|
1368
|
1368
|
$tree->rebuild(); |
|
@@ -1393,13 +1393,13 @@ discard block |
|
|
block discarded – undo |
|
1393
|
1393
|
&& empty($dataReceived['GACode']) === false |
|
1394
|
1394
|
) { |
|
1395
|
1395
|
// Load superGlobals |
|
1396
|
|
- include_once $SETTINGS['cpassman_dir'] . '/includes/libraries/protect/SuperGlobal/SuperGlobal.php'; |
|
|
1396
|
+ include_once $SETTINGS['cpassman_dir'].'/includes/libraries/protect/SuperGlobal/SuperGlobal.php'; |
|
1397
|
1397
|
$superGlobal = new protect\SuperGlobal\SuperGlobal(); |
|
1398
|
1398
|
$sessionAdmin = $superGlobal->get('user_admin', 'SESSION'); |
|
1399
|
1399
|
$sessionUrl = $superGlobal->get('initial_url', 'SESSION'); |
|
1400
|
1400
|
$sessionPwdAttempts = $superGlobal->get('pwd_attempts', 'SESSION'); |
|
1401
|
1401
|
// load library |
|
1402
|
|
- include_once $SETTINGS['cpassman_dir'] . '/includes/libraries/Authentication/TwoFactorAuth/TwoFactorAuth.php'; |
|
|
1402
|
+ include_once $SETTINGS['cpassman_dir'].'/includes/libraries/Authentication/TwoFactorAuth/TwoFactorAuth.php'; |
|
1403
|
1403
|
// create new instance |
|
1404
|
1404
|
$tfa = new Authentication\TwoFactorAuth\TwoFactorAuth($SETTINGS['ga_website_name']); |
|
1405
|
1405
|
// Init |
|
@@ -1421,7 +1421,7 @@ discard block |
|
|
block discarded – undo |
|
1421
|
1421
|
$mfaMessage = langHdl('ga_flash_qr_and_login'); |
|
1422
|
1422
|
// generate new QR |
|
1423
|
1423
|
$new_2fa_qr = $tfa->getQRCodeImageAsDataUri( |
|
1424
|
|
- 'Teampass - ' . $username, |
|
|
1424
|
+ 'Teampass - '.$username, |
|
1425
|
1425
|
$userInfo['ga'] |
|
1426
|
1426
|
); |
|
1427
|
1427
|
// clear temporary code from DB |
|
@@ -1434,7 +1434,7 @@ discard block |
|
|
block discarded – undo |
|
1434
|
1434
|
$userInfo['id'] |
|
1435
|
1435
|
); |
|
1436
|
1436
|
$firstTime = [ |
|
1437
|
|
- 'value' => '<img src="' . $new_2fa_qr . '">', |
|
|
1437
|
+ 'value' => '<img src="'.$new_2fa_qr.'">', |
|
1438
|
1438
|
'user_admin' => isset($sessionAdmin) ? (int) $sessionAdmin : '', |
|
1439
|
1439
|
'initial_url' => isset($sessionUrl) === true ? $sessionUrl : '', |
|
1440
|
1440
|
'pwd_attempts' => (int) $sessionPwdAttempts, |
|
@@ -1486,8 +1486,8 @@ discard block |
|
|
block discarded – undo |
|
1486
|
1486
|
// Set to false |
|
1487
|
1487
|
$userPasswordVerified = false; |
|
1488
|
1488
|
// load passwordLib library |
|
1489
|
|
- include_once $SETTINGS['cpassman_dir'] . '/sources/SplClassLoader.php'; |
|
1490
|
|
- $pwdlib = new SplClassLoader('PasswordLib', $SETTINGS['cpassman_dir'] . '/includes/libraries'); |
|
|
1489
|
+ include_once $SETTINGS['cpassman_dir'].'/sources/SplClassLoader.php'; |
|
|
1490
|
+ $pwdlib = new SplClassLoader('PasswordLib', $SETTINGS['cpassman_dir'].'/includes/libraries'); |
|
1491
|
1491
|
$pwdlib->register(); |
|
1492
|
1492
|
$pwdlib = new PasswordLib\PasswordLib(); |
|
1493
|
1493
|
// Check if old encryption used |