History log of /plugin/pureldap/_test/ (Results 1 – 17 of 17)
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
9bafffea05-Dec-2023 Andreas Gohr <andi@splitbrain.org>

prefer userPrincipalName over samAccountName

This allows for longer usernames than 20 chars.

This assumes that all userPrincipalNames use the same Domain as
configured in the plugin. If that's not

prefer userPrincipalName over samAccountName

This allows for longer usernames than 20 chars.

This assumes that all userPrincipalNames use the same Domain as
configured in the plugin. If that's not the case things will probably
not work or behave strangely.

show more ...

0f498d0603-Aug-2023 Andreas Gohr <andi@splitbrain.org>

implement password expiry warnings. fixes #4

08ace39202-Aug-2023 Andreas Gohr <andi@splitbrain.org>

support password changes

Internally this also changes the behviour to stay authenticated as the
actual user if the user logged in. This is needed to allow self-service
password changes.

This commit

support password changes

Internally this also changes the behviour to stay authenticated as the
actual user if the user logged in. This is needed to allow self-service
password changes.

This commit also contains a few cleanups.

show more ...


ADClientTest.php
/plugin/pureldap/auth.php
/plugin/pureldap/classes/ADClient.php
/plugin/pureldap/classes/Client.php
/plugin/pureldap/composer.json
/plugin/pureldap/composer.lock
/plugin/pureldap/lang/en/settings.php
/plugin/pureldap/vendor/autoload.php
/plugin/pureldap/vendor/composer/ClassLoader.php
/plugin/pureldap/vendor/composer/InstalledVersions.php
/plugin/pureldap/vendor/composer/autoload_classmap.php
/plugin/pureldap/vendor/composer/autoload_namespaces.php
/plugin/pureldap/vendor/composer/autoload_psr4.php
/plugin/pureldap/vendor/composer/autoload_real.php
/plugin/pureldap/vendor/composer/autoload_static.php
/plugin/pureldap/vendor/composer/installed.json
/plugin/pureldap/vendor/composer/installed.php
/plugin/pureldap/vendor/freedsx/asn1/CHANGELOG.md
/plugin/pureldap/vendor/freedsx/asn1/composer.json
/plugin/pureldap/vendor/freedsx/asn1/ecs.php
/plugin/pureldap/vendor/freedsx/asn1/ruleset.xml
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Asn1.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Encoder/BerEncoder.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Encoder/CerDerTrait.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Encoder/DerEncoder.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Encoder/EncoderInterface.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Encoders.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Exception/EncoderException.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/AbstractTimeType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/AbstractType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/BigIntTrait.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/BitStringType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/CharacterStringType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/GeneralizedTimeType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/RealType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/RelativeOidType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/SetTrait.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/SetType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/UtcTimeType.php
/plugin/pureldap/vendor/freedsx/ldap/CHANGELOG.md
/plugin/pureldap/vendor/freedsx/ldap/composer.json
/plugin/pureldap/vendor/freedsx/ldap/ecs.php
/plugin/pureldap/vendor/freedsx/ldap/phpstan.neon
/plugin/pureldap/vendor/freedsx/ldap/ruleset.xml
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Control/Ad/DirSyncRequestControl.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Control/Ad/DirSyncResponseControl.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Control/Ad/ExpectedEntryCountControl.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Control/Ad/ExtendedDnControl.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Control/Ad/PolicyHintsControl.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Control/Ad/SdFlagsControl.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Control/Ad/SetOwnerControl.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Control/Control.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Control/ControlBag.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Control/PagingControl.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Control/PwdPolicyError.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Control/PwdPolicyResponseControl.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Control/Sorting/SortKey.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Control/Sorting/SortingControl.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Control/Sorting/SortingResponseControl.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Control/Vlv/VlvControl.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Control/Vlv/VlvResponseControl.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Control/Vlv/VlvTrait.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Controls.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Entry/Attribute.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Entry/Change.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Entry/Changes.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Entry/Dn.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Entry/Entries.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Entry/Entry.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Entry/EscapeTrait.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Entry/Option.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Entry/Options.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Entry/Rdn.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Exception/BindException.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Exception/ConnectionException.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Exception/FilterParseException.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Exception/InvalidArgumentException.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Exception/OperationException.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Exception/ProtocolException.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Exception/ReferralException.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Exception/RuntimeException.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Exception/SkipReferralException.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Exception/UnexpectedValueException.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Exception/UnsolicitedNotificationException.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Exception/UrlParseException.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/LdapClient.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/LdapServer.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/LdapUrl.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/LdapUrlExtension.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/LdapUrlTrait.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/LoggerTrait.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/LdapResult.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Request/AbandonRequest.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Request/AddRequest.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Request/AnonBindRequest.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Request/BindRequest.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Request/CancelRequest.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Request/CompareRequest.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Request/DeleteRequest.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Request/DnRequestInterface.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Request/ExtendedRequest.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Request/ModifyDnRequest.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Request/ModifyRequest.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Request/PasswordModifyRequest.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Request/RequestInterface.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Request/SaslBindRequest.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Request/SearchRequest.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Request/SimpleBindRequest.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Request/UnbindRequest.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Response/AddResponse.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Response/BindResponse.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Response/CompareResponse.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Response/DeleteResponse.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Response/ExtendedResponse.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Response/IntermediateResponse.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Response/ModifyDnResponse.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Response/ModifyResponse.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Response/PasswordModifyResponse.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Response/ResponseInterface.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Response/SearchResponse.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Response/SearchResultDone.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Response/SearchResultEntry.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Response/SearchResultReference.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/ResultCode.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operations.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ClientProtocolHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ClientProtocolHandler/ClientBasicHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ClientProtocolHandler/ClientExtendedOperationHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ClientProtocolHandler/ClientProtocolContext.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ClientProtocolHandler/ClientReferralHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ClientProtocolHandler/ClientSaslBindHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ClientProtocolHandler/ClientSearchHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ClientProtocolHandler/ClientStartTlsHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ClientProtocolHandler/ClientUnbindHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ClientProtocolHandler/MessageCreationTrait.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ClientProtocolHandler/RequestHandlerInterface.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ClientProtocolHandler/ResponseHandlerInterface.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/Factory/ClientProtocolHandlerFactory.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/Factory/ExtendedResponseFactory.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/Factory/FilterFactory.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/Factory/ResponseFactory.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/Factory/ServerBindHandlerFactory.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/Factory/ServerProtocolHandlerFactory.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/LdapEncoder.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/LdapMessage.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/LdapMessageRequest.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/LdapMessageResponse.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/LdapQueue.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ProtocolElementInterface.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/Queue/ClientQueue.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/Queue/MessageWrapper/SaslMessageWrapper.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/Queue/MessageWrapperInterface.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/Queue/ServerQueue.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ReferralContext.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ServerAuthorization.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ServerProtocolHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ServerProtocolHandler/BaseServerHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ServerProtocolHandler/BindHandlerInterface.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ServerProtocolHandler/ServerAnonBindHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ServerProtocolHandler/ServerBindHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ServerProtocolHandler/ServerDispatchHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ServerProtocolHandler/ServerPagingHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ServerProtocolHandler/ServerPagingUnsupportedHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ServerProtocolHandler/ServerProtocolHandlerInterface.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ServerProtocolHandler/ServerRootDseHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ServerProtocolHandler/ServerSearchHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ServerProtocolHandler/ServerSearchTrait.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ServerProtocolHandler/ServerStartTlsHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ServerProtocolHandler/ServerUnbindHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ServerProtocolHandler/ServerWhoAmIHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/ReferralChaserInterface.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/DirSync.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/Filter/AndFilter.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/Filter/ApproximateFilter.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/Filter/AttributeValueAssertionTrait.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/Filter/EqualityFilter.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/Filter/FilterAttributeTrait.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/Filter/FilterContainerInterface.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/Filter/FilterContainerTrait.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/Filter/FilterInterface.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/Filter/GreaterThanOrEqualFilter.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/Filter/LessThanOrEqualFilter.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/Filter/MatchingRuleFilter.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/Filter/NotFilter.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/Filter/OrFilter.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/Filter/PresentFilter.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/Filter/SubstringFilter.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/FilterParser.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/Filters.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/Paging.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/RangeRetrieval.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/Vlv.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Server/ChildProcess.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Server/HandlerFactoryInterface.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Server/Paging/PagingRequest.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Server/Paging/PagingRequestComparator.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Server/Paging/PagingRequests.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Server/Paging/PagingResponse.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Server/RequestContext.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Server/RequestHandler/GenericRequestHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Server/RequestHandler/HandlerFactory.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Server/RequestHandler/PagingHandlerInterface.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Server/RequestHandler/ProxyHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Server/RequestHandler/ProxyPagingHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Server/RequestHandler/ProxyRequestHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Server/RequestHandler/RequestHandlerInterface.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Server/RequestHandler/RootDseHandlerInterface.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Server/RequestHistory.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Server/ServerRunner/PcntlServerRunner.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Server/ServerRunner/ServerRunnerInterface.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Server/Token/AnonToken.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Server/Token/BindToken.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Server/Token/TokenInterface.php
/plugin/pureldap/vendor/freedsx/socket/CHANGELOG.md
/plugin/pureldap/vendor/freedsx/socket/composer.json
/plugin/pureldap/vendor/freedsx/socket/phpstan.neon
/plugin/pureldap/vendor/freedsx/socket/src/FreeDSx/Socket/Queue/MessageQueue.php
/plugin/pureldap/vendor/freedsx/socket/src/FreeDSx/Socket/Socket.php
/plugin/pureldap/vendor/freedsx/socket/src/FreeDSx/Socket/SocketPool.php
/plugin/pureldap/vendor/freedsx/socket/src/FreeDSx/Socket/SocketServer.php
/plugin/pureldap/vendor/psr/log/LICENSE
/plugin/pureldap/vendor/psr/log/Psr/Log/AbstractLogger.php
/plugin/pureldap/vendor/psr/log/Psr/Log/InvalidArgumentException.php
/plugin/pureldap/vendor/psr/log/Psr/Log/LogLevel.php
/plugin/pureldap/vendor/psr/log/Psr/Log/LoggerAwareInterface.php
/plugin/pureldap/vendor/psr/log/Psr/Log/LoggerAwareTrait.php
/plugin/pureldap/vendor/psr/log/Psr/Log/LoggerInterface.php
/plugin/pureldap/vendor/psr/log/Psr/Log/LoggerTrait.php
/plugin/pureldap/vendor/psr/log/Psr/Log/NullLogger.php
/plugin/pureldap/vendor/psr/log/Psr/Log/Test/DummyTest.php
/plugin/pureldap/vendor/psr/log/Psr/Log/Test/LoggerInterfaceTest.php
/plugin/pureldap/vendor/psr/log/Psr/Log/Test/TestLogger.php
/plugin/pureldap/vendor/psr/log/README.md
/plugin/pureldap/vendor/psr/log/composer.json
e5da8fd901-Aug-2023 Andreas Gohr <andi@splitbrain.org>

minor cleanup

e7339d5a29-Jul-2021 Andreas Gohr <andi@splitbrain.org>

Local handling of nested groups

All previous attempts to handle nested groups in a performant matter
failed. Neither recursive requests nor using the
LDAP_MATCHING_RULE_IN_CHAIN mechanism were suffi

Local handling of nested groups

All previous attempts to handle nested groups in a performant matter
failed. Neither recursive requests nor using the
LDAP_MATCHING_RULE_IN_CHAIN mechanism were sufficently fast enough to do
bulk requests on users.

This now takes a completely different approach. When recursive groups
are enabled, a single (paged) request for all groups is done. The list
of these groups together with their parent info is then used to resolve
any nested group memberships.

The group cache is saved in filesystem for the duration of the security
timeout configuration.

Future enhancements should:

* see if the cache class could also be used for other caches currently
implemented in Client.php
* make the use of filesystem caching configurable

show more ...

7a36c1b428-Jul-2021 Andreas Gohr <andi@splitbrain.org>

add support for nested groups when filtering users by group

And this is where we hit the performance problems. A naive approach is
to simply run a query using LDAP_MATCHING_RULE_IN_CHAIN on the memb

add support for nested groups when filtering users by group

And this is where we hit the performance problems. A naive approach is
to simply run a query using LDAP_MATCHING_RULE_IN_CHAIN on the memberOf
attribute. But this is super slow (thanks Microsoft!)

Instead we first look up the given filter groups (to allow for substring
matching), then resolve them recursively and then build a or filter for
all found groups.

Still takes about 3 to 4 seconds :-/

show more ...

f17bb68b28-Jul-2021 Andreas Gohr <andi@splitbrain.org>

new approach for recursive groups

Instead of implementing the recursion client side, we ask the AD server
to resolve nested group memberships for us. This saves potentially many
network requests but

new approach for recursive groups

Instead of implementing the recursion client side, we ask the AD server
to resolve nested group memberships for us. This saves potentially many
network requests but may have performance penalties on the AD server
side. However it ensures, we can't make a mistake and thus makes our
code safer to run - also turns out my first attempt was checking nested
groups backwards.

See https://stackoverflow.com/q/40024425 for more discussions on
performance for this.

A config option allows to use the former much faster approach for setups
without nested groups.

Still to do: supporting user lookups by group this way.

show more ...

51e9229828-Jul-2021 Andreas Gohr <andi@splitbrain.org>

first go at recursive group memberships

bf69b89c21-Jul-2021 Andreas Gohr <andi@splitbrain.org>

first go at SSO

This basically copies the functionality from authAD

204fba6815-Jul-2021 Andreas Gohr <andi@splitbrain.org>

group handling improvements

* properly handle uppercase group names
* use constants for filter types
* properly handle Domain Users lookups

5b424de315-Jul-2021 Andreas Gohr <andi@splitbrain.org>

test spaced group

a1128cc008-Jul-2021 Andreas Gohr <andi@splitbrain.org>

rework username handling

Background Info
---------------

Active Directory has at least three different way how users are
identified:

1) sAMAccountName: user

The sAMAccountName is what users usual

rework username handling

Background Info
---------------

Active Directory has at least three different way how users are
identified:

1) sAMAccountName: user

The sAMAccountName is what users usually know as their username. It's
what they usually log in with on their workstation. It is however
lacking the actual domain to which to login. Typically it is prefixed by
a netbios domain for login. Eg. DOMAIN\user

Note: The samaccount name is also limited to 20 characters because of
legacy reasons.

2) userPrincipalName: user@domain.something

The userPrincipalName contains something that looks like a domain. But
it may be actually different to the Domain managed by the AD. Because
of... reasons? See https://serverfault.com/a/928116

3) bind ID: user@domain.ext

Now, loggin in (eg. doing a LDAP bind) can use different mechanisms. The
userPrincipalName works, user@domain (different from the UPN) should
work too.

DokuWiki requirements:
----------------------

In DokuWiki we need a unique username, that stays the same on every
login. (logging in with or without the domain part should identify the
same user).

We also need this name to be usable to run additional LDAP queries. Eg.
find groups with this user name.

We also want users to be able to login without having to type the domain
part.

This patch
----------

So with this patch we use the samaccount name to identify a user. For
logging in, we add the configured account suffix (aka the domain). After
that we only use the domainless user name everywhere.

In a future update we may (re)introduce the multidomain support from
authAD. When we do, this will probably force us to use the suffix part
in the usernames to different different domain users (something the
authAD plugin doesn't do which is probably wrong). But for most people
the single suffix approach should be fine.

show more ...

b914569f07-Jul-2021 Andreas Gohr <andi@splitbrain.org>

allow fetching of additional user attributes

Currently we reuqest all attributes from the server and only filter
later. This needs fixing.

6d90d5c807-Jul-2021 Andreas Gohr <andi@splitbrain.org>

some cleanup for the options

8bb750c201-Apr-2020 Andreas Gohr <andi@splitbrain.org>

updated tests for recent changes

3b5700e129-Mar-2020 Andreas Gohr <andi@splitbrain.org>

Added unit tests

We now can test against an AD server based on
https://github.com/splitbrain/vagrant-active-directory unfortunately,
it's not yet possible to do that automated on travis, so the trav

Added unit tests

We now can test against an AD server based on
https://github.com/splitbrain/vagrant-active-directory unfortunately,
it's not yet possible to do that automated on travis, so the travis
config has been removed for now.

show more ...


/plugin/pureldap/.gitignore
ADClient.test.php
/plugin/pureldap/auth.php
/plugin/pureldap/classes/ADClient.php
/plugin/pureldap/classes/Client.php
/plugin/pureldap/composer.json
/plugin/pureldap/composer.lock
/plugin/pureldap/conf/default.php
/plugin/pureldap/conf/metadata.php
/plugin/pureldap/vendor/autoload.php
/plugin/pureldap/vendor/composer/ClassLoader.php
/plugin/pureldap/vendor/composer/LICENSE
/plugin/pureldap/vendor/composer/autoload_classmap.php
/plugin/pureldap/vendor/composer/autoload_namespaces.php
/plugin/pureldap/vendor/composer/autoload_psr4.php
/plugin/pureldap/vendor/composer/autoload_real.php
/plugin/pureldap/vendor/composer/autoload_static.php
/plugin/pureldap/vendor/composer/installed.json
/plugin/pureldap/vendor/freedsx/asn1/.gitignore
/plugin/pureldap/vendor/freedsx/asn1/CHANGELOG.md
/plugin/pureldap/vendor/freedsx/asn1/LICENSE
/plugin/pureldap/vendor/freedsx/asn1/README.md
/plugin/pureldap/vendor/freedsx/asn1/composer.json
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Asn1.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Encoder/BerEncoder.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Encoder/CerDerTrait.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Encoder/DerEncoder.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Encoder/EncoderInterface.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Encoders.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Exception/EncoderException.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Exception/InvalidArgumentException.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Exception/PartialPduException.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/AbstractStringType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/AbstractTimeType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/AbstractType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/BigIntTrait.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/BitStringType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/BmpStringType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/BooleanType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/CharacterStringType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/EnumeratedType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/GeneralStringType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/GeneralizedTimeType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/GraphicStringType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/IA5StringType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/IncompleteType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/IntegerType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/NullType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/NumericStringType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/OctetStringType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/OidType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/PrintableStringType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/RealType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/RelativeOidType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/SequenceOfType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/SequenceType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/SetOfType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/SetTrait.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/SetType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/TeletexStringType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/UniversalStringType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/UtcTimeType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/Utf8StringType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/VideotexStringType.php
/plugin/pureldap/vendor/freedsx/asn1/src/FreeDSx/Asn1/Type/VisibleStringType.php
/plugin/pureldap/vendor/freedsx/ldap/.gitignore
/plugin/pureldap/vendor/freedsx/ldap/CHANGELOG.md
/plugin/pureldap/vendor/freedsx/ldap/LICENSE
/plugin/pureldap/vendor/freedsx/ldap/README.md
/plugin/pureldap/vendor/freedsx/ldap/composer.json
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Control/Ad/DirSyncRequestControl.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Control/Ad/DirSyncResponseControl.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Control/Ad/ExpectedEntryCountControl.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Control/Ad/ExtendedDnControl.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Control/Ad/PolicyHintsControl.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Control/Ad/SdFlagsControl.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Control/Ad/SetOwnerControl.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Control/Control.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Control/ControlBag.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Control/PagingControl.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Control/PwdPolicyError.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Control/PwdPolicyResponseControl.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Control/Sorting/SortKey.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Control/Sorting/SortingControl.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Control/Sorting/SortingResponseControl.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Control/Vlv/VlvControl.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Control/Vlv/VlvResponseControl.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Control/Vlv/VlvTrait.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Controls.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Entry/Attribute.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Entry/Change.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Entry/Changes.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Entry/Dn.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Entry/Entries.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Entry/Entry.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Entry/EscapeTrait.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Entry/Option.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Entry/Options.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Entry/Rdn.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Exception/BindException.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Exception/ConnectionException.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Exception/FilterParseException.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Exception/InvalidArgumentException.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Exception/OperationException.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Exception/ProtocolException.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Exception/ReferralException.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Exception/RuntimeException.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Exception/SkipReferralException.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Exception/UnexpectedValueException.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Exception/UnsolicitedNotificationException.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Exception/UrlParseException.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/LdapClient.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/LdapServer.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/LdapUrl.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/LdapUrlExtension.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/LdapUrlTrait.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/LdapResult.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Request/AbandonRequest.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Request/AddRequest.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Request/AnonBindRequest.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Request/BindRequest.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Request/CancelRequest.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Request/CompareRequest.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Request/DeleteRequest.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Request/DnRequestInterface.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Request/ExtendedRequest.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Request/ModifyDnRequest.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Request/ModifyRequest.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Request/PasswordModifyRequest.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Request/RequestInterface.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Request/SaslBindRequest.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Request/SearchRequest.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Request/SimpleBindRequest.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Request/UnbindRequest.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Response/AddResponse.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Response/BindResponse.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Response/CompareResponse.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Response/DeleteResponse.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Response/ExtendedResponse.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Response/IntermediateResponse.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Response/ModifyDnResponse.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Response/ModifyResponse.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Response/PasswordModifyResponse.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Response/ResponseInterface.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Response/SearchResponse.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Response/SearchResultDone.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Response/SearchResultEntry.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/Response/SearchResultReference.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operation/ResultCode.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Operations.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ClientProtocolHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ClientProtocolHandler/ClientBasicHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ClientProtocolHandler/ClientExtendedOperationHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ClientProtocolHandler/ClientProtocolContext.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ClientProtocolHandler/ClientReferralHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ClientProtocolHandler/ClientSaslBindHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ClientProtocolHandler/ClientSearchHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ClientProtocolHandler/ClientStartTlsHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ClientProtocolHandler/ClientUnbindHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ClientProtocolHandler/MessageCreationTrait.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ClientProtocolHandler/RequestHandlerInterface.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ClientProtocolHandler/ResponseHandlerInterface.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/Factory/ClientProtocolHandlerFactory.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/Factory/ExtendedResponseFactory.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/Factory/FilterFactory.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/Factory/ResponseFactory.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/Factory/ServerBindHandlerFactory.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/Factory/ServerProtocolHandlerFactory.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/LdapEncoder.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/LdapMessage.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/LdapMessageRequest.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/LdapMessageResponse.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/LdapQueue.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ProtocolElementInterface.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/Queue/ClientQueue.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/Queue/MessageWrapper/SaslMessageWrapper.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/Queue/MessageWrapperInterface.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/Queue/ServerQueue.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ReferralContext.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ServerAuthorization.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ServerProtocolHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ServerProtocolHandler/BaseServerHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ServerProtocolHandler/BindHandlerInterface.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ServerProtocolHandler/ServerAnonBindHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ServerProtocolHandler/ServerBindHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ServerProtocolHandler/ServerDispatchHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ServerProtocolHandler/ServerProtocolHandlerInterface.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ServerProtocolHandler/ServerRootDseHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ServerProtocolHandler/ServerSearchHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ServerProtocolHandler/ServerStartTlsHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ServerProtocolHandler/ServerUnbindHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Protocol/ServerProtocolHandler/ServerWhoAmIHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/ReferralChaserInterface.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/DirSync.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/Filter/AndFilter.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/Filter/ApproximateFilter.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/Filter/AttributeValueAssertionTrait.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/Filter/EqualityFilter.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/Filter/FilterAttributeTrait.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/Filter/FilterContainerInterface.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/Filter/FilterContainerTrait.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/Filter/FilterInterface.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/Filter/GreaterThanOrEqualFilter.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/Filter/LessThanOrEqualFilter.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/Filter/MatchingRuleFilter.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/Filter/NotFilter.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/Filter/OrFilter.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/Filter/PresentFilter.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/Filter/SubstringFilter.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/FilterParser.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/Filters.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/Paging.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/RangeRetrieval.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Search/Vlv.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Server/RequestContext.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Server/RequestHandler/GenericRequestHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Server/RequestHandler/ProxyRequestHandler.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Server/RequestHandler/RequestHandlerInterface.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Server/RequestHandler/RootDseHandlerInterface.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Server/ServerRunner/PcntlServerRunner.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Server/ServerRunner/ServerRunnerInterface.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Server/Token/AnonToken.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Server/Token/BindToken.php
/plugin/pureldap/vendor/freedsx/ldap/src/FreeDSx/Ldap/Server/Token/TokenInterface.php
/plugin/pureldap/vendor/freedsx/sasl/.gitignore
/plugin/pureldap/vendor/freedsx/sasl/CHANGELOG.md
/plugin/pureldap/vendor/freedsx/sasl/LICENSE
/plugin/pureldap/vendor/freedsx/sasl/README.md
/plugin/pureldap/vendor/freedsx/sasl/composer.json
/plugin/pureldap/vendor/freedsx/sasl/src/FreeDSx/Sasl/Challenge/AnonymousChallenge.php
/plugin/pureldap/vendor/freedsx/sasl/src/FreeDSx/Sasl/Challenge/ChallengeInterface.php
/plugin/pureldap/vendor/freedsx/sasl/src/FreeDSx/Sasl/Challenge/CramMD5Challenge.php
/plugin/pureldap/vendor/freedsx/sasl/src/FreeDSx/Sasl/Challenge/DigestMD5Challenge.php
/plugin/pureldap/vendor/freedsx/sasl/src/FreeDSx/Sasl/Challenge/PlainChallenge.php
/plugin/pureldap/vendor/freedsx/sasl/src/FreeDSx/Sasl/Encoder/AnonymousEncoder.php
/plugin/pureldap/vendor/freedsx/sasl/src/FreeDSx/Sasl/Encoder/CramMD5Encoder.php
/plugin/pureldap/vendor/freedsx/sasl/src/FreeDSx/Sasl/Encoder/DigestMD5Encoder.php
/plugin/pureldap/vendor/freedsx/sasl/src/FreeDSx/Sasl/Encoder/EncoderInterface.php
/plugin/pureldap/vendor/freedsx/sasl/src/FreeDSx/Sasl/Encoder/PlainEncoder.php
/plugin/pureldap/vendor/freedsx/sasl/src/FreeDSx/Sasl/Exception/SaslBufferException.php
/plugin/pureldap/vendor/freedsx/sasl/src/FreeDSx/Sasl/Exception/SaslEncodingException.php
/plugin/pureldap/vendor/freedsx/sasl/src/FreeDSx/Sasl/Exception/SaslException.php
/plugin/pureldap/vendor/freedsx/sasl/src/FreeDSx/Sasl/Factory/DigestMD5MessageFactory.php
/plugin/pureldap/vendor/freedsx/sasl/src/FreeDSx/Sasl/Factory/MessageFactoryInterface.php
/plugin/pureldap/vendor/freedsx/sasl/src/FreeDSx/Sasl/Factory/NonceTrait.php
/plugin/pureldap/vendor/freedsx/sasl/src/FreeDSx/Sasl/Mechanism/AnonymousMechanism.php
/plugin/pureldap/vendor/freedsx/sasl/src/FreeDSx/Sasl/Mechanism/CramMD5Mechanism.php
/plugin/pureldap/vendor/freedsx/sasl/src/FreeDSx/Sasl/Mechanism/DigestMD5Mechanism.php
/plugin/pureldap/vendor/freedsx/sasl/src/FreeDSx/Sasl/Mechanism/MechanismInterface.php
/plugin/pureldap/vendor/freedsx/sasl/src/FreeDSx/Sasl/Mechanism/PlainMechanism.php
/plugin/pureldap/vendor/freedsx/sasl/src/FreeDSx/Sasl/MechanismSelector.php
/plugin/pureldap/vendor/freedsx/sasl/src/FreeDSx/Sasl/Message.php
/plugin/pureldap/vendor/freedsx/sasl/src/FreeDSx/Sasl/Sasl.php
/plugin/pureldap/vendor/freedsx/sasl/src/FreeDSx/Sasl/SaslBuffer.php
/plugin/pureldap/vendor/freedsx/sasl/src/FreeDSx/Sasl/SaslContext.php
/plugin/pureldap/vendor/freedsx/sasl/src/FreeDSx/Sasl/Security/DigestMD5SecurityLayer.php
/plugin/pureldap/vendor/freedsx/sasl/src/FreeDSx/Sasl/Security/SecurityLayerInterface.php
/plugin/pureldap/vendor/freedsx/sasl/src/FreeDSx/Sasl/SecurityStrength.php
/plugin/pureldap/vendor/freedsx/socket/.gitignore
/plugin/pureldap/vendor/freedsx/socket/CHANGELOG.md
/plugin/pureldap/vendor/freedsx/socket/LICENSE
/plugin/pureldap/vendor/freedsx/socket/README.md
/plugin/pureldap/vendor/freedsx/socket/composer.json
/plugin/pureldap/vendor/freedsx/socket/src/FreeDSx/Socket/Exception/ConnectionException.php
/plugin/pureldap/vendor/freedsx/socket/src/FreeDSx/Socket/Exception/PartialMessageException.php
/plugin/pureldap/vendor/freedsx/socket/src/FreeDSx/Socket/MessageQueue.php
/plugin/pureldap/vendor/freedsx/socket/src/FreeDSx/Socket/PduInterface.php
/plugin/pureldap/vendor/freedsx/socket/src/FreeDSx/Socket/Queue/Asn1MessageQueue.php
/plugin/pureldap/vendor/freedsx/socket/src/FreeDSx/Socket/Queue/Buffer.php
/plugin/pureldap/vendor/freedsx/socket/src/FreeDSx/Socket/Queue/Message.php
/plugin/pureldap/vendor/freedsx/socket/src/FreeDSx/Socket/Queue/MessageQueue.php
/plugin/pureldap/vendor/freedsx/socket/src/FreeDSx/Socket/Socket.php
/plugin/pureldap/vendor/freedsx/socket/src/FreeDSx/Socket/SocketPool.php
/plugin/pureldap/vendor/freedsx/socket/src/FreeDSx/Socket/SocketServer.php
79f3965326-Mar-2020 Andreas Gohr <andi@splitbrain.org>

wizard generated