Commit Graph

391 Commits

Author SHA1 Message Date
Arthur Schiwon ec0f80fee9 Split mapping from Access and Helper classes into it's own. Fully test them, too.
remove unused methods

split mapping methods off from Access class

fix DB query handling

move 'clear mapping' methods from static helper to new mapping class

add tests

test directly with DB

finishing tests and fix return value from setDNbyUUID

add corresponding class for groups and make abstract test class neutral. helper tests is now obsolete as the tested functions were moved to the new mapper class.

add missing info to PHPDoc

add unmap method

fix namespaces

fix test inheritance

PHPDoc and a small code restructure for scrutinizer, no effective changes

PostgreSQL does not accept LIMIT in DELETE queries

phpdoc fixes, no code changes
2014-12-19 18:26:12 +01:00
Morris Jobke d41082f4d6 first step to drop \OCP\Config:: in favour of IConfig 2014-12-17 11:12:37 +01:00
Arthur Schiwon 0577bb569a add doc 2014-12-08 17:22:52 +01:00
Arthur Schiwon 45443ee28c preserve an asterisk at the start when escaping a search term 2014-12-08 17:19:57 +01:00
Arthur Schiwon ee168a121d Forward port of #12493
add ldap-search command to occ

Conflicts:
	apps/user_ldap/appinfo/register_command.php

LDAP search filter creation changes:

1. do not prepend * wildcard to search terms. Will result in faster search, but
you don't find "foobar"  when looking for "bar"
2. advanced behaviour when search string contains a space and multiple search
attributes are present. The search string is split into single words. The
resulting filter requires that each word at least appears once in any search
attribute. This is supposed to return better results in big LDAPs.

trim search string before passing it on
2014-12-04 19:02:09 +01:00
Arthur Schiwon c07c338c90 fix counting when ldapPagingSize is 0 2014-11-21 14:51:20 +01:00
Arthur Schiwon 6b6147dafd phpdoc and mixed up letters 2014-11-20 18:31:40 +01:00
Arthur Schiwon 4a3fe42b16 a corrected email attribute needs to be saved, not only returned 2014-11-20 18:31:39 +01:00
Arthur Schiwon f9b4f5f4e5 to reassure that selected attributes still work, do not count all matching entries but limit it to 1 in order to make it faster 2014-11-20 18:31:39 +01:00
Arthur Schiwon 71944a59a5 detectors (email, displayname..) are now started in one place, triggered from only 2 places. more reliable structure and flow, saves requests 2014-11-20 18:31:39 +01:00
Arthur Schiwon f725cc66a3 consolidate user count filter in wizard and user back end 2014-11-20 18:31:39 +01:00
Arthur Schiwon cb3af1dce2 detect user display name attribute and return user count depending on its presence 2014-11-20 18:31:39 +01:00
Morris Jobke 081787d6ae Fix infinite loop if count and limit is 0
* otherwise it will always think it hits the limit and need another round to fetch additional results
2014-11-11 12:15:30 +01:00
blizzz b26f11c16f Merge pull request #11362 from mark0n/rm_ldap_conf_cli
Add a CLI command that deletes an LDAP config
2014-11-04 13:19:45 +01:00
blizzz dc9ea893fd Merge pull request #11172 from owncloud/user-ldap-no-bcmath
Fix ldap convertSID2Str() / Remove BCMath dependency
2014-11-03 14:03:26 +01:00
Andreas Fischer d1410b46a9 user_ldap: Reimplement convertSID2Str() without BCMath dependency.
Also explicitly format sub-id integers as unsigned, which is required for
32-bit systems.
2014-11-03 12:07:53 +01:00
Lukas Reschke d060180140 Use function outside of loop
Otherwise the function is executed n times which is a lot of overhead
2014-10-24 12:27:53 +02:00
Arthur Schiwon 4e8c7570d4 make performance less bad. Still far from good, but at least it works 2014-10-17 20:16:04 +02:00
blizzz 8553e04a78 Merge pull request #11478 from owncloud/fix-11448
LDAP: add setting to wizard that disables auto-detection and enables raw mode
2014-10-16 15:35:30 +02:00
Arthur Schiwon ab3535855f more beautiful white spaces 2014-10-08 15:04:29 +02:00
Arthur Schiwon 67292a5345 add checkbox for experienced users to server tab 2014-10-07 16:43:58 +02:00
Arthur Schiwon 6c502e11f8 make scrutinizer happy, very minor changes 2014-10-01 11:55:53 +02:00
Arthur Schiwon f9e085b020 init a new paged search on read operations to satisfy OpenLDAP 2014-09-30 17:00:25 +02:00
Arthur Schiwon 2b9696efae abandond paged search only if PHP supports them 2014-09-30 13:13:52 +02:00
Arthur Schiwon 53ec32807a abandon ongoing paged search before starting a new one 2014-09-30 12:42:37 +02:00
Arthur Schiwon 9a63693227 properly cancel a Paginated Results operation in order to avoid protocol errors, fixes #10526 2014-09-30 12:42:37 +02:00
Martin Konrad fd9b79b218 Add a CLI command that deletes an LDAP config
With this change LDAP configurations can be managed completely from
the command line.
2014-09-30 03:23:00 +02:00
Arthur Schiwon 6041ae6224 dn needs to be fetched to be able to detect memberOf support 2014-09-26 15:36:49 +02:00
Lukas Reschke 45b17207cc Merge pull request #10745 from owncloud/fix-10708-doctrine
Use Doctrine Platform to generate SQL query for table truncation.
2014-09-16 23:56:20 +02:00
Thomas Müller 7e2bff8545 adding unit test to truncate the table 2014-09-16 16:17:25 +02:00
Arthur Schiwon 3c9668f605 if only one attribute is requested, the returned array has 0 as key instead of attribute name. fixes #10888 2014-09-05 14:05:37 +02:00
Robin Appelman d0266c0bf8 Use public api for getting l10n 2014-08-31 10:08:22 +02:00
Andreas Fischer 7458e21f2c Use Doctrine Platform to generate SQL query for table truncation. 2014-08-29 20:53:51 +02:00
Arthur Schiwon 371cab367d trigger email detection by Wizard upon any user filter filter change. before it happenend only upon user automatic list filter creation, but not on manual editing 2014-08-29 11:14:36 +02:00
Arthur Schiwon 34761dabb1 write log message, if original value was changed 2014-08-29 11:14:36 +02:00
Arthur Schiwon f47a4a8c15 add unit test for mail detection 2014-08-29 11:14:35 +02:00
Arthur Schiwon 441c600c90 remove Access as hard dependency, inject it instead 2014-08-29 11:14:16 +02:00
Arthur Schiwon baa49cd58a Wizad: email attribute detection 2014-08-29 11:14:16 +02:00
Arthur Schiwon dbd51d15e1 Port of #8623
set result entry identifier earlier, i.e. before a continue for the same level can happen. otherwise  will always get the same value and we end up in an infinite loop

add unit test to make sure the infinite loop never comes back

Conflicts:
	apps/user_ldap/tests/wizard.php
2014-08-28 11:52:33 +02:00
blizzz 8f7676c762 Merge pull request #10340 from owncloud/fix-9887
better check whether string resembles a DN, fixes #9887
2014-08-18 19:24:41 +02:00
blizzz c46b60e822 Merge pull request #9848 from dupondje/master
Fix memberOf detection. Fixes: #9835
2014-08-11 16:58:30 +02:00
Arthur Schiwon fc6793f2ae better check whether string resembles a DN, fixes #9887 2014-08-11 16:40:41 +02:00
Jean-Louis Dupond e46fc7a18a Fix initializing in #9848 2014-08-11 13:50:13 +02:00
Jean-Louis Dupond fc662917e7 Fix remarks in #9848 2014-08-11 09:15:56 +02:00
Arthur Schiwon 2676e681e9 ldap_ prefix will be added in invokeLDAPMethod(), having it would lead to a unexisting function, fixes #9829 2014-08-07 17:15:36 +02:00
Jean-Louis Dupond 71f3326035 Fix memberOf detection. Fixes: #9835 2014-07-24 14:18:41 +02:00
blizzz 1d520108c5 Merge pull request #9576 from owncloud/bcmath-check
LDAP Active Directory Primary Groups support depends on bcmath module
2014-07-18 19:15:36 +02:00
Arthur Schiwon 537468f4c4 make tests deal with missing bcmath 2014-07-11 14:08:19 +02:00
Arthur Schiwon ebee3543ce warn and continue gracefully if bcmath is not installed 2014-07-10 21:26:31 +02:00
Philippe Jung 79a108c116 [Issue #9559] identifiers uid=xxx must be considered as user DN and not as owncloud users 2014-07-10 14:27:31 +02:00
Arthur Schiwon da490bdbbe support for AD primary groups
support for primary groups

actually the problem is only known on AD, it is only needed to take care of their attributes

adjust to ADs special behaviour

this change was not intended

cache the SID value so it is not requested over and over again

theres only one, use singular

we are access

add tests for new Access methods

add tests for new Group methods

address scrutinizer findings, mostly doc

call ldap_explode_dn from ldap wrapper, enables tests without php5-ldap

PHP Doc

yo dawg, i heard you like backslashes … php doc fix

PHPDoc updated and typos fixed while reviewing
2014-07-08 21:32:21 +02:00
Arthur Schiwon ef7ab856f6 fix instantiation of Access class 2014-06-27 18:49:11 +02:00
Arthur Schiwon 89f2691515 adjust access constructor to master 2014-06-25 11:46:21 +02:00
Arthur Schiwon 452efa5fab Port of LDAP Wizard: get correct total no of users, groups and complete list of groups on big setups #9002
fix PHPdoc

Conflicts:
	apps/user_ldap/lib/connection.php

add method to count groups on LDAP

Conflicts:
	apps/user_ldap/lib/access.php

LDAP Wizard: count users and groups with the power of paged search

Conflicts:
	apps/user_ldap/lib/wizard.php

consolidate requirement check

fix PHPdoc

Conflicts:
	apps/user_ldap/lib/access.php

Wizard: get really all groups from LDAP by power of Paged Search

Conflicts:
	apps/user_ldap/lib/wizard.php

make all this work in an early configuration state in the wizard by marking  the config active and ignoring the validation state.

Conflicts:
	apps/user_ldap/lib/connection.php

simplify two methods a bit, because they are not used for group search anymore

Conflicts:
	apps/user_ldap/lib/wizard.php

remove unused vars; increase scrutinizer happiness
2014-06-25 11:45:55 +02:00
Arthur Schiwon 93edacb357 Backport subset of #4179, re-established Oracle compatibility for LDAP
Conflicts:
	apps/user_ldap/lib/access.php
2014-06-20 20:49:34 +02:00
Arthur Schiwon 928945ec7e fix typo in var name 2014-06-05 16:16:08 +02:00
Thomas Müller 9e31118675 Merge pull request #8842 from owncloud/ldap_cli_methods
command line tools to see, modify and test existing LDAP configurations
2014-06-04 09:37:04 +02:00
Arthur Schiwon e962999896 get rid of @read in PHP doc after rebase 2014-06-03 13:01:14 +02:00
Arthur Schiwon f9a9085faf class descriptions 2014-06-03 12:59:10 +02:00
Arthur Schiwon 5336e9a156 newlines 2014-06-03 12:59:10 +02:00
Arthur Schiwon 342e1fd3bf port of PR #8038 2014-06-03 12:59:10 +02:00
Arthur Schiwon 11f7823e1b precaution: lowercase string for comparison 2014-06-03 12:59:10 +02:00
Arthur Schiwon 6d64d7ec3f LDAP: put out fetching of user meta data into a fully tested class of its own and update them (mail, quota, etc.) directly after mapping. Fixes #7785 properly on master 2014-06-03 12:59:09 +02:00
Arthur Schiwon 4bfb162558 command line tools to see, modify and test existing LDAP configurations 2014-06-03 12:35:18 +02:00
Morris Jobke dc36d30953 Remove all occurences of @brief and @returns from PHPDoc
* test case added to avoid adding them later
2014-05-19 17:50:53 +02:00
Robin McCorkell e7aebc5c32 Fix whitespace issues 2014-05-16 22:23:36 +01:00
Robin McCorkell a17f9111a0 PHPDoc fixes for user_ldap 2014-05-16 22:21:57 +01:00
Robin McCorkell c4f1de63a8 Fix PHPDoc in /apps 2014-05-16 22:21:57 +01:00
Thomas Müller 408189b7e4 Merge pull request #8556 from owncloud/kill-legacy-code-master
Kill legacy code master
2014-05-12 20:55:24 +02:00
Lukas Reschke cd7fc5cb80 Use array as type 2014-05-12 19:31:21 +02:00
Thomas Müller 33987eea83 remove legacy aka deprecated code: OC_Cache 2014-05-12 16:23:33 +02:00
Lukas Reschke 2ae1be762c That's bool and not always true 2014-05-11 16:29:59 +02:00
Lukas Reschke 57640742af Use WizardResult|false instead of mixed 2014-05-11 16:28:50 +02:00
Lukas Reschke 416f8b186d Use @return instead of @returns 2014-05-11 16:27:18 +02:00
Lukas Reschke fc8be5abc3 Use proper PHPDoc and variable names in the LDAP lib
My IDE was so sad about this that it marked the whole file in red and yellow and forced me to fix this.
2014-05-11 15:17:27 +02:00
blizzz 645ecb7644 Merge pull request #6297 from leo-b/fix_ldap_errors
only check ldap_errno if an ldap_* function actually fails
2014-04-23 16:26:43 +02:00
Arthur Schiwon c1c2f2c49e add additional comments, PHPdoc and check whether it's really applicable 2014-04-22 18:36:43 +02:00
Arthur Schiwon 1c71d5c444 LDAP: cache display names immediately on retrieval, saves tens of unecessary queries to LDAP server in the share dialog for example 2014-04-22 18:36:37 +02:00
blizzz 36c8dec10a Merge pull request #8220 from owncloud/type-hinting-ldap
Fix PHPdoc in user_ldap
2014-04-17 18:15:40 +02:00
Bart Visscher 81751cb616 Add missing param hint 2014-04-16 17:54:10 +02:00
blizzz f6551d214f Merge pull request #7815 from owncloud/ldap_fix_usercount_master
correct LDAP user count on setup with many users (occ user:report)
2014-04-16 10:36:19 +02:00
Bart Visscher bad41c05b8 Fix PHPdoc in user_ldap
using scrutinizer patch
2014-04-15 21:05:49 +02:00
blizzz 9feebeaf40 Merge pull request #7837 from owncloud/fix_7530
LDAP: fix determining objectclasses takes long
2014-04-09 12:27:17 +02:00
Arthur Schiwon dbebf6bb5e add comment to clearify when a skip in the foreach happens 2014-04-09 12:25:48 +02:00
Arthur Schiwon ee3368d2ad replace hardcoded limit of 400 with user controlled ldapPagingSize value 2014-04-09 11:38:51 +02:00
Arthur Schiwon 2e5adadad7 Put inner loop into own method, let's see whether it makes scrutinizer happier 2014-04-09 11:31:56 +02:00
Arthur Schiwon bdc418d1f9 var count is assigned in the inner loop so it must be checked inside there to be properly used as part of the exit condition of the outer loop 2014-04-09 11:31:56 +02:00
Arthur Schiwon 43402c56dd initialize variable 2014-04-09 11:31:56 +02:00
Arthur Schiwon 40f9875f11 LDAP: fix user report i.e. count for LDAP servers with really many users 2014-04-09 11:31:56 +02:00
Arthur Schiwon 8bb27551bd LDAP: make sure cache key for paged result cookie matches when limit or offset is null or 0 2014-04-09 11:31:56 +02:00
blizzz 3c9f588449 Merge pull request #6221 from leo-b/ldap_get_all_groups
fix updateGroups background job for ldap servers with > 1000 groups
2014-04-07 13:00:32 +02:00
Alexander Bergolth 0d9d70b51c change default ldap paging size to 500 2014-03-28 14:02:19 +01:00
Arthur Schiwon 86d479cb28 Use array_key_exists instead of isset, because the latter returns false if the assigned value is null 2014-03-21 15:29:49 +01:00
Arthur Schiwon 055a09e487 On clone create a new instance of the Configuration
To avide effects on the original instance of Connection when the clone
is modified, for instance on authentication checks.
2014-03-21 15:27:51 +01:00
Arthur Schiwon 4230983e69 define var 2014-03-21 10:10:49 +01:00
Arthur Schiwon a085d7715f fix potential infinite loop when the DN of the first entry was already read. 2014-03-20 22:59:41 +01:00
Arthur Schiwon 561d699ca6 Use the LDAP wrapper for checking resources, needs for proper testing 2014-03-20 22:58:57 +01:00
Arthur Schiwon bd881348e8 Fix wildcard handling and check even less DNs per filter, enough will be looked at anyway 2014-03-20 22:57:50 +01:00
Robin McCorkell 7c3da27bf6 Fix duplicate ipauniqueid 2014-03-20 20:38:06 +00:00
Arthur Schiwon 057c2638e4 LDAP Wizard: when determining objectclasses, we realy do not need to look at every entry. Fixes #7530 2014-03-20 13:58:08 +01:00