Commit Graph

133 Commits

Author SHA1 Message Date
Jason Tedor c91b5d9a5a Replace Integers.checkedCast with built-in method
Original commit: elastic/x-pack-elasticsearch@6c69849863
2015-09-18 08:55:08 -04:00
Jason Tedor 517b9eaa91 Remove use of com.google.common.primitives.Ints
This commit removes all uses of com.google.common.primitives.Ints
across the codebase.

Relates elastic/elasticsearchelastic/elasticsearch#13224

Original commit: elastic/x-pack-elasticsearch@9500282387
2015-09-18 08:55:08 -04:00
jaymode ba13e3bf1c test: add the index audit trail template to the excluded list when it is used
Closes elastic/elasticsearch#639

Original commit: elastic/x-pack-elasticsearch@111231b3b5
2015-09-17 09:21:58 -04:00
jaymode 04178cbc30 fix compilation errors caused by changes to wipe method
This commit keeps the behavior the same and does not exclude the index audit trail template from
being wiped, that will be done in a future commit.

Original commit: elastic/x-pack-elasticsearch@1ac9e22923
2015-09-17 08:02:45 -04:00
Jason Tedor 8942e1e559 Merge pull request elastic/elasticsearch#650 from jasontedor/joiner-be-gone
Remove use of com.google.common.base.Joiner

Original commit: elastic/x-pack-elasticsearch@fad27ff46b
2015-09-15 10:29:34 -04:00
Simon Willnauer d1c2698595 Fix forbidden API usage from upstream
Original commit: elastic/x-pack-elasticsearch@2bfcc83477
2015-09-15 15:51:22 +02:00
Jason Tedor f650e18045 Remove use of com.google.common.base.Joiner
This commit removes all uses of com.google.common.base.Joiner across
the codebase.

Relates elastic/elasticsearchelastic/elasticsearch#13224

Original commit: elastic/x-pack-elasticsearch@f69b2addca
2015-09-15 09:44:41 -04:00
jaymode a3ae0827fa fix the indexing of the request class for the IndexAuditTrail
The IndexAuditTrail was checking the logger level of the class before adding the request
class to the message, which was an error. The logger level should not control anything
about the IndexAuditTrail.

Closes elastic/elasticsearch#546

Original commit: elastic/x-pack-elasticsearch@35ee8ab453
2015-09-15 07:54:15 -04:00
Jason Tedor 52e58b8de0 Merge pull request elastic/elasticsearch#644 from jasontedor/iterables-be-gone
Remove use of com.google.common.collect.Iterables

Original commit: elastic/x-pack-elasticsearch@e24afb5c45
2015-09-15 07:52:37 -04:00
jaymode 8860364f72 update settings for tribes to fail if shield is not enabled or mandatory
In 2.0, plugins cannot specify mandatory settings, they can only specify a default additional
set of settings. For tribe nodes, we require shield to be enabled and be a mandatory plugin.
If the settings specified by the user conflict with this, we now throw an exception and fail
startup.

Closes elastic/elasticsearch#426

Original commit: elastic/x-pack-elasticsearch@db4d6d7923
2015-09-15 06:44:35 -04:00
Jason Tedor 08de4a4ab1 Remove use of com.google.common.collect.Iterables
This commit removes all uses of com.google.common.collect.Iterables
across the codebase.

Relates elastic/elasticsearchelastic/elasticsearch#13224

Original commit: elastic/x-pack-elasticsearch@ca517de412
2015-09-14 13:26:04 -04:00
jaymode d5a44a6496 test: use test cluster scope for remote index audit trail tests
The SSL randomization can cause issues when running this test multiple times to look for an issue
since the suite cluster may have a different SSL value than the remote cluster during subsequent
runs.

Closes elastic/elasticsearch#607

Original commit: elastic/x-pack-elasticsearch@8ba3140c52
2015-09-14 09:34:19 -04:00
Simon Willnauer 2032c93da1 Catch up with core changes
This commit cuts over to StandardCharset vs. guavas Charsets, removes
obsolete uses of Collections2 / Function and replaces all LoadingCaches
with simple CHM#loadIfAbsent

Original commit: elastic/x-pack-elasticsearch@7d1d607e9e
2015-09-14 13:48:50 +02:00
Simon Willnauer 6fb4f7817c Use method references rather than Class instances to register transport handler.
This is caused by upstream changes in core.

Original commit: elastic/x-pack-elasticsearch@67f602abd1
2015-09-14 10:07:35 +02:00
Robert Muir 53cd14deda Remove remaining uses of setAccessible
This corresponds with https://github.com/elastic/elasticsearch/pull/13539

Original commit: elastic/x-pack-elasticsearch@29d235b8ed
2015-09-12 21:11:10 -04:00
Robert Muir 61c47634bd Fix wrong access modifiers for injected ctors, setAccessible is no longer used.
See https://github.com/elastic/elasticsearch/pull/13531

Original commit: elastic/x-pack-elasticsearch@658672b5fb
2015-09-12 03:30:33 -04:00
jaymode 29aac1c617 add missing PutMapping privilege for index audit trail user
Original commit: elastic/x-pack-elasticsearch@a2a107313d
2015-09-11 14:47:48 -04:00
jaymode ae66d4794a fix compile errors caused by cleanups in core
Original commit: elastic/x-pack-elasticsearch@a28d4b5ba0
2015-09-11 14:44:30 -04:00
jaymode d3ee002180 set the user header on new requests in IndexAuditTrail
The IndexAuditTrail was not setting the appropriate user header on requests to see if the index exists and
the mapping is updated. This did not fail in tests because we set shield.user, but fails during a normal
installation.

Closes elastic/elasticsearch#626

Original commit: elastic/x-pack-elasticsearch@3771612b20
2015-09-11 08:29:48 -04:00
Jason Tedor 6b0bbd4c60 Remove use of com.google.common.collect.Sets
Remove use of com.google.common.collect.Sets.

This commit removes all uses of com.google.common.collect.Sets. This is
one of many steps in the eventual removal of Guava as a dependency.

Relates elastic/elasticsearchelastic/elasticsearch#13224

Original commit: elastic/x-pack-elasticsearch@5276ed9723
2015-09-10 10:30:38 -04:00
Martijn van Groningen 23c482ee80 test: enforce that no merging happens the test relies on document being in docid order.
Closes elastic/elasticsearch#619

Original commit: elastic/x-pack-elasticsearch@a85390430b
2015-09-10 14:43:10 +02:00
Martijn van Groningen 0ef1bfb9a2 test: use exist query directly, filtered query has been removed
Original commit: elastic/x-pack-elasticsearch@1c374adb97
2015-09-10 12:07:44 +02:00
Martijn van Groningen 427891191f test: fixed compile error due to https://github.com/elastic/elasticsearch/pull/13418
Original commit: elastic/x-pack-elasticsearch@24d22f2309
2015-09-10 11:23:47 +02:00
uboness 2004cb6ad8 fixed build - cleaned up the use of guava Maps
Original commit: elastic/x-pack-elasticsearch@05b2dc4c57
2015-09-09 16:35:51 -07:00
Jason Tedor 916ae387ac Merge pull request elastic/elasticsearch#616 from jasontedor/maps-be-gone
Remove use of com.google.common.collect.Maps

Original commit: elastic/x-pack-elasticsearch@75e5291a78
2015-09-09 17:58:35 -04:00
Jason Tedor 8d5a1bae58 Remove use of com.google.common.collect.Maps
This commit removes all uses of com.google.common.collect.Maps. This is
one of many steps in the eventual removal of Guava as a dependency.

Relates elastic/elasticsearchelastic/elasticsearch#13224

Original commit: elastic/x-pack-elasticsearch@3708fc0c60
2015-09-09 16:48:41 -04:00
Ryan Ernst 7aa612b62e Merge pull request elastic/elasticsearch#615 from rjernst/warnings_cleanup2
Add warning suppressions

Original commit: elastic/x-pack-elasticsearch@a787f9c2a4
2015-09-09 12:51:51 -07:00
Ryan Ernst fbbd3f6c2d Add warning suppressions
I fixed a couple more warnings and added suppressions, so that when
 elastic/elasticsearchelastic/elasticsearch#13410 lands, x-plugins will not break.

Original commit: elastic/x-pack-elasticsearch@8a19b2b71b
2015-09-09 12:45:20 -07:00
jaymode 714460c2f0 remove path.home from TransportClients in code and docs
After changes in core and elastic/elasticsearch#578, we do not need to set path.home in the settings for a
TransportClient anymore. This cleans up the usages of it in our tests and in our documentation.

Closes elastic/elasticsearch#605

Original commit: elastic/x-pack-elasticsearch@d70875fe2b
2015-09-09 15:16:30 -04:00
jaymode 52c31d8c08 alway return reserved roles when parsing roles file
Today, if the roles.yml file does not exist the roles that are defined programmatically are not
available. This is incorrect because the reserved roles should always be available and not depend
on the parsing of the file. This change ensures that the reserved roles are made available even
when the roles.yml file is missing.

Closes elastic/elasticsearch#602

Original commit: elastic/x-pack-elasticsearch@ee2fd2ddbf
2015-09-09 14:11:04 -04:00
jaymode a5d9c45dd3 remove the override of finalize in SecuredString
This change removes the override of finalize in SecuredString to resolve a issue where
the char[] can be cleared by the call in the finalize method but the char array is still being used.

The specific issue that occurs is in the BCrypt usage of the SecuredString. A character is concatenated
and then the utf8Bytes method is called. In most cases, the proper bytes are returned but occasionally
the byte array is returned with only zeroes. This occurs under load and/or memory pressure and can be
provoked by running BCryptTests with a small heap (12 - 16 megabytes) and the SecuredString
implementation with the overridden finalize method.

Closes elastic/elasticsearch#589

Original commit: elastic/x-pack-elasticsearch@fb6430ea9d
2015-09-09 12:42:49 -04:00
Martijn van Groningen 8511d56a83 test: Remove version randomization from the parent child test. The <= 1.x impl has been removed, so no need to test it any more in master.
Original commit: elastic/x-pack-elasticsearch@2633349d02
2015-09-09 17:50:54 +02:00
jaymode 154b10e901 add the ability to run as another user
This change adds a new permission that allows authorized users to execute a request as
another user. The flow is as follows:

1. The user making the request is authenticated
2. The user that is being impersonated is looked up
3. The requesting user is authorized for the privilege to run as the specified user
4. The impersonated user is then authorized for the given request

Additionally, the auditing has been updated to support this capability and indicates when a
user has been granted the ability to run as another user and then also indicates both the user
who is being impersonated and the requesting user when actions are granted/denied.

Closes elastic/elasticsearch#17

Original commit: elastic/x-pack-elasticsearch@00e5a6169b
2015-09-09 11:25:02 -04:00
jaymode 14c21786ee Test: add back the stop of the local audit trails
If also indexing locally, we need to stop the audit trail indexing otherwise the test cluster checks
will fail. See elastic/elasticsearch#598

Original commit: elastic/x-pack-elasticsearch@6767ab2edb
2015-09-09 08:39:51 -04:00
jaymode 0de73ec330 Test: don't check shard counters for RemoteIndexAuditTrailStartingTests
For the RemoteIndexAuditTrailStartingTests we start a remote cluster and index into the test cluster and after
the test we stop the remote cluster but indexing operations can still be ongoing in the test cluster and thus cause
locked shards causing lots of noise in CI. We simply skip this check for these tests.

Closes elastic/elasticsearch#598

Original commit: elastic/x-pack-elasticsearch@e678f82f29
2015-09-09 07:51:38 -04:00
jaymode 94dbf3f2a7 allow for the Environment to be optional in the ClientSSLService
This change makes the environment optional for the ClientSSLService, which is used for
Transport Clients and also used for LDAP client connections. Since we use the ClientSSLService
for LDAP connections, we still need the environment when running as a node under the
security manager to resolve paths from the configuration directory.

Closes elastic/elasticsearch#573

Original commit: elastic/x-pack-elasticsearch@862fafffe3
2015-09-09 06:43:34 -04:00
Ryan Ernst 5dd5f525b5 Remove some warnings caught by -Xlint
Original commit: elastic/x-pack-elasticsearch@50bea927cf
2015-09-09 00:16:13 -07:00
Ryan Ernst 2ab0db4373 Fix compile issues after removal of loadConfigSettings from transport
client

Original commit: elastic/x-pack-elasticsearch@2efe4f2980
2015-09-08 17:22:54 -07:00
Martijn van Groningen e7b338a077 test: added smoke test for the shield tribe node integration
Original commit: elastic/x-pack-elasticsearch@f7ab8b9044
2015-09-08 12:37:36 +02:00
Martijn van Groningen 547b6346f6 Changed the underlying DLS implementation
Instead of wrapping the IndexSearcher and applying the role query during the rewrite, the role query gets applied in a custom filtered reader that applies the query via the live docs.

The big advantage is that DLS is being applied in all document based APIs instead of just the _search and _percolate APIs.

In order to better deal with the cost of converting the role query to a bitset, the bitsets are cached in the bitset filter cache
and if the role query bitset is sparse the role query and main query will execute in a leapfrog manner to make executing queries faster.
 If the role query bitset isn't sparse, we fallback to livedocs.

Closes elastic/elasticsearch#537

Original commit: elastic/x-pack-elasticsearch@330b96e1f2
2015-09-08 11:04:10 +02:00
Adrien Grand 06ec935a08 Fix x-plugins following count/scan removal from elasticsearch-core.
Original commit: elastic/x-pack-elasticsearch@ee43991a0a
2015-09-07 17:44:01 +02:00
Jason Tedor 9a729638da Remove and forbid use of com.google.common.base.Strings
This commit removes and now forbids all uses of
com.google.common.base.Strings across the codebase.

For uses of com.google.common.base.Strings.isNullOrEmpty, use
org.elasticsearch.common.Strings.isNullOrEmpty.

For uses of com.google.common.base.Strings.padStart use
org.elasticsearch.common.Strings.padStart.

For uses of com.google.common.base.Strings.nullToEmpty use
org.elasticsearch.common.Strings.coalesceToEmpty.

Relates elastic/elasticsearchelastic/elasticsearch#13224

Original commit: elastic/x-pack-elasticsearch@d6e349e654
2015-09-07 09:37:30 -04:00
Jason Tedor 74cdc2f4ce Remove and forbid the use of com.google.common.base.Predicate(s)?
This commit removes and now forbids all uses of
com.google.common.base.Predicate and com.google.common.base.Predicates
across the codebase. This is one of the many steps in the eventual
removal of Guava as a dependency. This was enabled by
elastic/elasticsearchelastic/elasticsearch#13314.

Relates elastic/elasticsearchelastic/elasticsearch#13224, elastic/elasticsearchelastic/elasticsearch#13349

Original commit: elastic/x-pack-elasticsearch@968b81849f
2015-09-04 13:33:31 -04:00
uboness 533c14242f Bumped the version to 3.0.0-SNAPSHOT
Original commit: elastic/x-pack-elasticsearch@0771b3e589
2015-09-04 16:30:11 +02:00
jaymode 2f93428f22 test: poll for the index audit trail template
The template may not get recreated immediately due to other pending cluster state updates.

Original commit: elastic/x-pack-elasticsearch@810d77b397
2015-09-03 17:43:14 -04:00
jaymode 480406ebc7 Test: stop the IndexAuditTrail if running to prevent locked shards
The InternalTestCluster checks after the tests run if there are any locked shards, which is still
possible because the IndexAuditTrail is running and auditing events. This change makes the
test stop the IndexAuditTrail if they are running in the local cluster.

Original commit: elastic/x-pack-elasticsearch@f7fb564525
2015-09-03 13:00:42 -04:00
jaymode afacb47828 make IndexAuditTrail recreate template and remove ShieldWrappingCluster
The ShieldWrappingCluster was added to prevent deletion of the IndexAuditTrail template when
running tests since the wipe() method will delete all templates. However, the cluster wrapping
is problematic with indexRandom() and causes noise in CI. This change removes the
ShieldWrappingCluster and changes the IndexAuditTrail to recreate the index template if it is
removed.

Closes elastic/elasticsearch#562

Original commit: elastic/x-pack-elasticsearch@0403ea7cef
2015-09-03 11:32:24 -04:00
Adrien Grand b4d5ef5904 Fix query rewriting for document-level security to be stable.
Original commit: elastic/x-pack-elasticsearch@3ad7eb4ded
2015-09-03 12:46:20 +02:00
Martijn van Groningen f270e585f4 dls: compare the rewritten query
Original commit: elastic/x-pack-elasticsearch@b84d661f33
2015-09-03 10:57:24 +02:00
Martijn van Groningen 99d91b7a9c Added wildcard support to the FLS `fields` option.
Closes elastic/elasticsearch#452

Original commit: elastic/x-pack-elasticsearch@4e82ce0472
2015-09-03 10:37:34 +02:00