Commit graph

135 commits

Author SHA1 Message Date
Morris Jobke
62a59854f0
Fix LDAP race conditions
* getFromCache is wrapped in isCached
* inbetween the two calls the cache entry hits it's TTL
* getFromCache returns null
* this fix only checkes if the returned value is null and
  return only non-null values
2016-04-20 21:50:28 +02:00
Arthur Schiwon
5d3183afcd improve log output when no LDAP user was found on login attempt 2016-03-05 00:18:34 +01:00
Arthur Schiwon
c1871f5787 Port of test_ldap_2nddispname to master 2016-02-03 13:55:39 +01:00
Thomas Müller
dd733d8925 Merge pull request #20804 from owncloud/fix-ldap-process-user-wo-displayname
LDAP: do not attempt to process user records without display name, fi…
2016-01-20 11:33:26 +01:00
Scrutinizer Auto-Fixer
83a8e75614 Scrutinizer Auto-Fixes
This commit consists of patches automatically generated for this project on https://scrutinizer-ci.com
2016-01-15 12:54:26 +00:00
Thomas Müller
682821c71e Happy new year! 2016-01-12 15:02:18 +01:00
Arthur Schiwon
1ed6132899 LDAP: do not attempt to process user records without display name, fixes fatal error 2016-01-11 11:21:02 +01:00
Morris Jobke
553a981980 Make LDAP more robust to exceptions and log them properly 2016-01-06 13:46:55 +01:00
Arthur Schiwon
4020d5b77a look for DN changes before marking a user as deleted 2015-12-11 01:56:53 +01:00
Arthur Schiwon
8c79300156 throw NoUserException in getHome when the requested user does not exist anymore 2015-12-11 00:12:41 +01:00
Thomas Müller
000523a7fe Merge pull request #18212 from ryno83/treat_LDAP_users_not_available_by_user_filter_as_deleted
treat LDAP users not available by user filter as deleted
2015-12-07 17:47:10 +01:00
Renaud Fortier
f864b55323 Remove of useless code 2015-11-26 10:00:15 -05:00
Arthur Schiwon
a876efda50 treat dn as any other attribute when building the search() return array 2015-10-08 21:18:34 +02:00
Morris Jobke
b945d71384 update licence headers via script 2015-10-05 21:15:52 +02:00
Arthur Schiwon
9d03b7c6b7 read all relevant user attributes on login and user search, in one query. saves us some. 2015-09-23 16:38:39 +02:00
Thomas Müller
d9172a1907 Merge pull request #14401 from owncloud/ux-s2s-ldap
allow login names to be used for s2s with LDAP users
2015-08-19 08:31:27 +02:00
Renaud Fortier
3c53a0da27 if define, check the userfilter if the user is still allowed 2015-08-11 11:55:38 -04:00
Morris Jobke
0e922b1841 Only throw exception if on new LDAP setups
* this is done by setting enforce_home_folder_naming_rule for the user_ldap
  app in the app settings
2015-07-29 20:25:05 +02:00
Morris Jobke
3fa6f6f77c Hardening home folder retrieval in user_ldap
* if the home folder naming rule is specified it should not fallback
  to the "use owncloud username as home folder" scenario
* this does not allow the mixed setup of users with the attribute
  and some users without the attribute (which then would fallback to
  "use owncloud username as home folder" rule) anymore
2015-07-29 20:25:05 +02:00
Lukas Reschke
af01958f3e Add missing annotations for parameters 2015-06-27 20:35:47 +02:00
Arthur Schiwon
97127cd971 the user is gone, userExists will not bring him back. But the user's folder needs to be deleted anyway 2015-06-11 18:24:45 +02:00
Morris Jobke
58e5878b4d LDAP - move from constants to class member constants
* fixes scrutinizer warnings
* drops the usage of deprecated code usage
2015-04-18 15:29:08 +02:00
Arthur Schiwon
41ad4f46c8 adjust to current master 2015-04-13 12:04:51 +02:00
Arthur Schiwon
a418150470 fix and more robustness thx to scrutinizer 2015-04-13 11:50:09 +02:00
Arthur Schiwon
66bc8145a9 allow login names to be used for s2s with LDAP users 2015-04-13 11:50:09 +02:00
Jörn Friedrich Dreyer
488405d1ec do not hide exception when ldap server has a hiccup 2015-04-10 09:12:37 +02:00
Arthur Schiwon
5355c285fc LDAP Wizard Overhaul
wizard refactor

reimplement save spinners and cursor

implement Port detector

introduced detector queue, added base dn detector

disable input fields when detectors are running

introduce spinners for fields that are being updated by detector

cache jq element objects

consolidate processing of detector results in generic / abstract base class

display notification if a detector discovered a problem

don't run base dn detector if a base is configured

reset detector queue on configuration switch

implement functionality check and update of status indicator

document ConfigModel

jsdoc for controller and main view

more documentation

implement the user filter tab view

so far the multiselects get initialized (not filled yet) and the mode can be switched.

mode is also restored.

reintroduce filter switch confirmation in admin XP mode

new detector for user object classes. so we also load user object classes if necessary and are able to save and show the setting.

multiselect trigger save actions now on close only

show spinners automatically, when a detector is running

20k limit for object classes preselection test

adjust wordings, fix grammar

add group (for users tab) detector

also includes wording fixes

error presentation moved from detectors to view, where it belongs

add info label to users page

missing wording changes

show effective LDAP filter in Assisted Mode

add user filter detector

implement count button for users and limit all count actions to 1001 for performance reasons

make port field a bit bigger. not perfect though.

do not detect port automatically

implement login filter tab view

only load features in assisted mode and don't enable assisted fields while in raw mode

add tooltips on login filter checkbox options for better understanding

permanently show filter on login tab

and also compile login filter in assisted mode

test/verify button on login attributes tab, with backend changes.

only run wizard requests if your an active tab. also run compile filter requests when switching to assisted mode

underline toggle filter links to stress that they are clickable

unity user and group tab functionality in common abstract class, add group filter tab view. only detectors and template adjustments left to have group tab implementation complete

add object class and group detector for groups as well as filter composer

show ldap filter permanently on groups tab

introduce input element that can deal better with many groups, will be used with > 40

fix disabling complex group chooser while detection is running

hide complex group chooser on config switch

fix few more issues with complex chooser

make complex group chooser available on Users tab as well

detect base dn improvements/changes:

- do not look for Base DN automatically, offer a button instead
- fix for alternative way to detect a base dn (if agent dn is not given)
- do not trigger filter composers on config switch

Changes with configuration chooser controls

- "New" was removed out of the configuration list
- and split into buttons "add" and "copy"
- delete button is also now an icon

add test button for Base DN

reimplement advanced tab. The save button is gone.

reimplement expert tab

remove unused methods

implement mail attribute detector

implement user display name attribute detection

implement member group association detector

replace text input with textarea for raw filter input

finish functionality check

auto-enable good configurations, as it was before

cleanup

move save confirmation handling to base class, reduces code duplication

enable tabs only if no running save processes are left.

move onConfigLoaded to base class, avoids code duplication

simplify, save LOCs

Test Configuration button to be dealt with in main view as it is a cross-tab element

require detectorQueue in constructor

cleanup

put bootstrap into a function and thus make it testable

get rid of old stuff
2015-04-09 09:47:49 +02:00
Jenkins for ownCloud
b585d87d9d Update license headers 2015-03-26 11:44:36 +01:00
Morris Jobke
06aef4e8b1 Revert "Updating license headers"
This reverts commit 6a1a4880f0.
2015-02-26 11:37:37 +01:00
Jenkins for ownCloud
6a1a4880f0 Updating license headers 2015-02-23 12:13:59 +01:00
Robin McCorkell
2b99fc76ec Cleanup of PHPDoc return types 2015-01-16 20:30:43 +00:00
Arthur Schiwon
9668405ec7 doc fixes and removal of unnecessary use statements 2015-01-07 13:28:56 +01:00
Arthur Schiwon
40ecd30fba inject oc config to User_LDAP 2015-01-06 23:28:49 +01:00
Arthur Schiwon
144d95de7d basic adjustments for OC 8. I.e. no visible issues, LDAP tests pass. 2014-12-20 16:09:04 +01:00
Arthur Schiwon
4fa39250e7 LDAP User Cleanup: Port from stable7 without further adjustements
LDAP User Cleanup

background job for user clean up

adjust user backend for clean up

register background job

remove dead code

dependency injection

make Helper non-static for proper testing

check whether it is OK to run clean up job. Do not forget to pass arguments.

use correct method to get the config from server

methods can be private, proper indirect testing is given

no automatic user deletion

make limit readable for test purposes

make method less complex

add first tests

let preferences accept limit and offset for getUsersForValue

DI via constructor does not work for background jobs

after detecting, now we have retrieving deleted users and their details

we need this method to be public for now

finalize export method, add missing getter

clean up namespaces and get rid of unnecessary files

helper is not static anymore

cleanup according to scrutinizer

add cli tool to show deleted users

uses are necessary after recent namespace change

also remove user from mappings table on deletion

add occ command to delete users

fix use statement

improve output

big fixes / improvements

PHP doc

return true in userExists early for cleaning up deleted users

bump version

control state and interval with one config.php setting, now ldapUserCleanupInterval. 0 will disable it. enabled by default.

improve doc

rename cli method to be consistent with  others

introduce ldapUserCleanupInterval in sample config

don't show last login as unix epoche start when no  login happend

less log output

consistent namespace for OfflineUser

rename GarbageCollector to DeletedUsersIndex and move it to user subdir

fix unit tests

add tests for deleteUser

more test adjustements

Conflicts:
	apps/user_ldap/ajax/clearMappings.php
	apps/user_ldap/appinfo/app.php
	apps/user_ldap/lib/access.php
	apps/user_ldap/lib/helper.php
	apps/user_ldap/tests/helper.php
	core/register_command.php
	lib/private/preferences.php
	lib/private/user.php

add ldap:check-user to check user existance on the fly

Conflicts:
	apps/user_ldap/lib/helper.php

forgotten file

PHPdoc fixes, no code change

and don't forget to adjust tests
2014-12-19 19:47:54 +01:00
Thomas Müller
2d64797320 Merge pull request #12956 from owncloud/jenkins-user-backend-names
[jenkins only] introduce names for user backends - IUserBackend
2014-12-19 13:15:50 +01:00
Morris Jobke
6da33e1ea7 introduce names for user backends - IUserBackend
* LDAP with multiple servers also proved backendName
2014-12-19 10:17:17 +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
45443ee28c preserve an asterisk at the start when escaping a search term 2014-12-08 17:19:57 +01:00
Arthur Schiwon
1c369093e5 cache total user count
Conflicts:
	apps/user_ldap/user_ldap.php
2014-12-04 19:09:13 +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
05b2a037f2 dont fail with 500 if configured display name attribute is not set 2014-10-27 15:58:23 +01:00
Arthur Schiwon
3338a0f236 port of #9500
don't trigger update from checkPassword, it is already  called by userExists, this is enough.

do not write to database when the value is the same

add test cases. also split test classes in a file each, looks like only the first class is being executed

also appconfig shall not write to database if the value is unchanged
2014-07-08 16:32:01 +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
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
Andreas Fischer
5b1ffd7611 Reduce double-space with single-space. 2014-05-16 22:21:57 +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
Arthur Schiwon
c0328b4f0f LDAP: improve compilation of filters 2014-02-19 13:13:01 +01:00