* added tests for revokeCollection and revokeDatabase
* optimized user permission test
* ui selection bugfix
* fixed ldap ui login
* login view
* Authentication refactoring
* localstorage fallback if user config is not available
* Fixing permission resolution test
* Adding missing import
* local storage queries now supported
* disabled collection task check for ldap
* added internal ldapEnabled function and ldap config to the ui
* more db creation tests
* removed console logs
* render fix
* Various authentication related fixes
* exec ldap test also for cluster
* Adding support to refresh user rights from external auth sources
* ldap test howto comment
* Handling roles more correctly
* jwt
* login view
* First part of rework of LDAP documentation.
* test roles in a ldap environment
* Changing role handling
* Finish revision of the LDAP chapter in the manual.
* Fixing user header
* Fixing some slight issues with LDAP users and roles
* Removing unused code
* Removing unused code
* added ldap test
* fixing a bug in restuserhandler
* more ldap tests
* ldap tests
* ldap tests
* optimized ldap testing, added cluster support, fixed some auth tests
* ldap cleanup test
* ldap tests
* auth tests
* ldap test
* Changing permission defaults
* revert change
* updated user helper test
* rm of try catch block connection
* Removing FeatureCacheFeature
* Changed permission resolution according to discussion
* updated the docs to clarify the permission resolution and the intricacies of LDAP users
* Fixing wrong permissions check in handling of PUT in ResUserHandler
* Using revision ID when replacing users
* Adding basic replace test
* tests
* Fixing some outstanding issues
* Fixing test setup, optimizing some stuff
* Fixing permission resolution rules, testsuite setup, etc
* Fix deadlock
* Adding error message for keyspace, slightly changing test setup
* Removing remaining mentions of FeatureCacheFeature
* Fix jslint
* Fixing some failed tests
* Fixing cluster authentication issue, red tests
* Fixing ldap testsuite, adding trace logging
* Fixint ldap tesuite setup and LDAP recognition
* Fixing an assert
* Cleanup, adding changelog entry
* fix typo
* Fixing dump_authentication test
* improvements found during code review
* oops
* updated CHANGELOG
* Fixing broken handling, disallowing adding of local users when disabled
* added tests for ldap search mode
* Fixing testInvalidGrants
(cherry picked from commit bc7ea2aaa29a9ed0974898f487e8a318f24912f1)
* Removing undefined auth level externally
(cherry picked from commit 70859f43ae6fd694fdbf70f669fbfdafc58e7913)
* Fixing previous commit
(cherry picked from commit 2fbcffd2ed657862ef9fb5e6d45201a6ec8ada69)
* more use of sessionstorage
* intentionally removed `after` methods from tests
because they are executed before the tests start
no cleanup is performed right now after the authentication tests
however, a cleanup is done at start of every test
* ldap tests all modes
* fix LDAP test invocation
* Added roles transformation to ldap test suite
* Fix compilation of community version.
* Imrpved the ldap testsuites by unifying their options
* fix permission problems for system collections
* Improved LDAP configuration documentation.
* Grunt.
* fixed some ro/rw display issues
* fixed some ro/rw display issues part 2
* grunt build
* bump version number
* Fixed typos in LDAP manual
* Changes for libmusl compilation. (#4294)
* Further fixes for libmusl completely static build. (#4474)
* Make crc assembler code position independent.
* Fix PIE compilation for libmusl in alpine linux.
* Use backtrace library if found.
* Switching from ttl to supervision based failover mechanism
* Allowing canceling of ongoing actions
* refactored asyncjobmanager
* refactoring some code
* adding read-only flag
* Fixing some bugs
* Fixing tests
* Canceling ongoing operations
* removing some unused code + some asserts
* catching some exceptions to reduce log pollution, removing unnecessary code, removing tests for _changeMode
* fixing "createsANewDatabaseWithAnInvalidUser"
* Current work
* proper ifs
* Migrate resthandler to c++ and implement mode
* readonly server mode spec test
* Add changelog
* change code so it expects a full object and not just a string
* Fix jslint
* Added a more sophisticated test for shardDistribution format
* Updated shard distribution test to use request instead of download
* Added a cxx reporter for the shard distribuation. WIP
* Added some virtual functions/classes for Mocking
* Added a unittest for the new CXX ShardDistribution Reporter.
* The ShardDsitributionReporter now reports Plan and Current correctly. However it does not dare to find a good total/current value and just returns a default. Hence these tests are still red
* Shard distribution now uses the cxx variant
* The ShardDistribution reporter now tries to execute count on the shards
* Updated changelog
* Added error case tests. If the servers time out the mechanism will stop bothering after two seconds and just report default values.
* remove some non-unused V8 persistents
* do not throw that many bogus assertions
* do not rely on server role being defined
* slightly better debug output for V8 context debugging
* fix collection ids in inventory response
* simplify bootstrap a bit
* slightly better error handling
* make elapsed time a queryable value
* use less memory for stub collections
* added assertions that will always make sense
* added assertions
* do not garbage-collect while waiting
* less copying of parameters
* do not show "load indexes into memory" buttons for mmfiles engine
as all indexes are in memory anyway
* when a collection is truncated via the web interface, flush the WAL and rotate all active journals
this will make close all open journals on leader and followers and make them subject to compaction opportunities
* fix invalid server id values being passed from web interface to backend
* introduce afterTruncate method for indexes
* added test case for issue #3447
* updated CHANGELOG
* don't warn about replicationFactor for system collections
* check that the queries actually use the geo index and not some other index
* properly report error in web interface
* fix some internals checks that made truncate fail for bigger collections in maintainer mode
* also run a compact() operation after a serious truncate
in order to make iteration over the truncated range much faster
when the collection is next accessed
* increase default maximum number of V8 contexts to at least 16
* Switching from ttl to supervision based failover mechanism
* Allowing canceling of ongoing actions
* refactored asyncjobmanager
* refactoring some code
* adding read-only flag
* catching some exceptions to reduce log pollution, removing unnecessary code, removing tests for _changeMode
* fixing "createsANewDatabaseWithAnInvalidUser"
* auth = off does not longer make everyone superuser
* Fixing cluster_sync and maybe resilience
* Send out empty heartbeats regardless of non-empty AppendEntriesRPC.
* Also improve logging:
Note if a log in the empty heartbeat sending takes > 0.01 s.
Clearly mark places where a leader resigns in logging.
Log if no empty heartbeat is sent out.
* Make leader more tolerant w.r.t. incoming AppendEntriesRPC responses.
* Add debug logging for _lastAcked and challengeLeadership.
* Remove some unused code. Do not count ourselves in challengeLeadership.
* Removal of entire activation/deactivation mechanisms in agency
* TRI_microtime up to c++11
* added term to response to sendAppendEntries.
* removed delete call
* cleanup
* lower cpu activity of log thread too
* fix log messages
* do not enter threads into unordered_set, as it is unneeded
* do not compile in calls to disabled plan cache
* moved AQL regex cache from thread local variables to a class of its own
* more sensible thread creation and destruction
* implement transaction handler in c++
* add fake request object
* move general code into extra file
* improve error messages for RestJobHandler
* support cancel operation for async jobs with RestTransactionHandler
* fix integration test and add some optional debugging output
* fix returning of context
* fix error type
* fix code in cluster test
* remove unused variable
* Added a backup test suite. This suite is supposed to entirely drop an ArangoDB _system and restore it into a fresh one. This also includes system collections.
* Added more test cases for backup suite. Now tests several authorization/rights cenarios
* Fixed RestReplication Handlers to restore _user collections Properly.
* Updated Changelog
* Added special handling of _users in Restore for MMFiles as well.
* Added JWT secret for cluster execution of this test, also added JWT secret to shutdown call
* reduce extractions to projections
* recycle string buffers in SocketTask
* micro optimizations for mmfiles indexes
* added special lookup function for _key
* moved function into the correct file
* speed up key buffer allocations a bit
* added noexcept specifier
* correctly name variable
* explicitly move bounds
* fix and speedup from/toPersistent functions
* reuse string from ManagedDocumentResult for multiple lookups
* use move-assign
* a bit less work for single server
* speedup AQL function HASH
* single fetch optimization
* performance optimization for the case when no documents need to be returned
* make reduce-extraction-to-projection a RocksDB-only optimizer rule
* cppcheck
* try to fix compile error on MacOS
* bug fix for MacOSX
* missing namespace (in Windows compile)
* reduce extractions to projections
* recycle string buffers in SocketTask
* micro optimizations for mmfiles indexes
* added special lookup function for _key
* moved function into the correct file
* speed up key buffer allocations a bit
* added noexcept specifier
* correctly name variable
* explicitly move bounds
* fix and speedup from/toPersistent functions
* reuse string from ManagedDocumentResult for multiple lookups
* use move-assign
* a bit less work for single server
* speedup AQL function HASH
* single fetch optimization
* performance optimization for the case when no documents need to be returned
* make reduce-extraction-to-projection a RocksDB-only optimizer rule
* working documents rest handler
* fixed cluster tests
* Consolidating database APIs
* clang-format
* Fixing issue with user creation through db._createDatabase
* replaced and refactored api-index and index api
* fixed cluster
* renaming some files
* added user methods
* removed files intended for later
* Fixed CC build
* Fixed method signature
* Fixing shell_server, shell_client tests