Skip to content

Commit 2f6fcf5

Browse files
committed
Merge remote-tracking branch 'upstream/patch/incident-981-serverless-da50e9c11'
Merge patch branch for serverless back into main
2 parents 8845cf7 + cf73860 commit 2f6fcf5

File tree

6 files changed

+447
-88
lines changed

6 files changed

+447
-88
lines changed

server/src/main/java/org/elasticsearch/TransportVersions.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,10 @@ static TransportVersion def(int id) {
5252
@UpdateForV9(owner = UpdateForV9.Owner.CORE_INFRA) // remove the transport versions with which v9 will not need to interact
5353
public static final TransportVersion ZERO = def(0);
5454
public static final TransportVersion V_7_0_0 = def(7_00_00_99);
55+
public static final TransportVersion V_7_1_0 = def(7_01_00_99);
56+
public static final TransportVersion V_7_2_0 = def(7_02_00_99);
5557
public static final TransportVersion V_7_3_0 = def(7_03_00_99);
58+
public static final TransportVersion V_7_3_2 = def(7_03_02_99);
5659
public static final TransportVersion V_7_4_0 = def(7_04_00_99);
5760
public static final TransportVersion V_7_6_0 = def(7_06_00_99);
5861
public static final TransportVersion V_7_8_0 = def(7_08_00_99);

x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/SecurityFeatureSetUsage.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,10 @@ public SecurityFeatureSetUsage(StreamInput in) throws IOException {
5555
realmsUsage = in.readGenericMap();
5656
rolesStoreUsage = in.readGenericMap();
5757
sslUsage = in.readGenericMap();
58-
tokenServiceUsage = in.readGenericMap();
59-
apiKeyServiceUsage = in.readGenericMap();
58+
if (in.getTransportVersion().onOrAfter(TransportVersions.V_7_2_0)) {
59+
tokenServiceUsage = in.readGenericMap();
60+
apiKeyServiceUsage = in.readGenericMap();
61+
}
6062
auditUsage = in.readGenericMap();
6163
ipFilterUsage = in.readGenericMap();
6264
anonymousUsage = in.readGenericMap();
@@ -121,8 +123,10 @@ public void writeTo(StreamOutput out) throws IOException {
121123
out.writeGenericMap(realmsUsage);
122124
out.writeGenericMap(rolesStoreUsage);
123125
out.writeGenericMap(sslUsage);
124-
out.writeGenericMap(tokenServiceUsage);
125-
out.writeGenericMap(apiKeyServiceUsage);
126+
if (out.getTransportVersion().onOrAfter(TransportVersions.V_7_2_0)) {
127+
out.writeGenericMap(tokenServiceUsage);
128+
out.writeGenericMap(apiKeyServiceUsage);
129+
}
126130
out.writeGenericMap(auditUsage);
127131
out.writeGenericMap(ipFilterUsage);
128132
out.writeGenericMap(anonymousUsage);

x-pack/plugin/core/src/main/java/org/elasticsearch/xpack/core/security/authc/support/TokensInvalidationResult.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,9 @@ public TokensInvalidationResult(StreamInput in) throws IOException {
5959
this.invalidatedTokens = in.readStringCollectionAsList();
6060
this.previouslyInvalidatedTokens = in.readStringCollectionAsList();
6161
this.errors = in.readCollectionAsList(StreamInput::readException);
62+
if (in.getTransportVersion().before(TransportVersions.V_7_2_0)) {
63+
in.readVInt();
64+
}
6265
if (in.getTransportVersion().onOrAfter(TransportVersions.V_8_0_0)) {
6366
this.restStatus = RestStatus.readFrom(in);
6467
}
@@ -108,6 +111,9 @@ public void writeTo(StreamOutput out) throws IOException {
108111
out.writeStringCollection(invalidatedTokens);
109112
out.writeStringCollection(previouslyInvalidatedTokens);
110113
out.writeCollection(errors, StreamOutput::writeException);
114+
if (out.getTransportVersion().before(TransportVersions.V_7_2_0)) {
115+
out.writeVInt(5);
116+
}
111117
if (out.getTransportVersion().onOrAfter(TransportVersions.V_8_0_0)) {
112118
RestStatus.writeTo(out, restStatus);
113119
}

x-pack/plugin/security/src/internalClusterTest/java/org/elasticsearch/xpack/security/authc/TokenAuthIntegTests.java

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -327,8 +327,8 @@ public void testInvalidateNotValidAccessTokens() throws Exception {
327327
ResponseException.class,
328328
() -> invalidateAccessToken(
329329
tokenService.prependVersionAndEncodeAccessToken(
330-
TransportVersions.MINIMUM_COMPATIBLE,
331-
tokenService.getRandomTokenBytes(TransportVersions.MINIMUM_COMPATIBLE, randomBoolean()).v1()
330+
TransportVersions.V_7_3_2,
331+
tokenService.getRandomTokenBytes(TransportVersions.V_7_3_2, randomBoolean()).v1()
332332
)
333333
)
334334
);
@@ -347,7 +347,7 @@ public void testInvalidateNotValidAccessTokens() throws Exception {
347347
byte[] longerAccessToken = new byte[randomIntBetween(17, 24)];
348348
random().nextBytes(longerAccessToken);
349349
invalidateResponse = invalidateAccessToken(
350-
tokenService.prependVersionAndEncodeAccessToken(TransportVersions.MINIMUM_COMPATIBLE, longerAccessToken)
350+
tokenService.prependVersionAndEncodeAccessToken(TransportVersions.V_7_3_2, longerAccessToken)
351351
);
352352
assertThat(invalidateResponse.invalidated(), equalTo(0));
353353
assertThat(invalidateResponse.previouslyInvalidated(), equalTo(0));
@@ -365,7 +365,7 @@ public void testInvalidateNotValidAccessTokens() throws Exception {
365365
byte[] shorterAccessToken = new byte[randomIntBetween(12, 15)];
366366
random().nextBytes(shorterAccessToken);
367367
invalidateResponse = invalidateAccessToken(
368-
tokenService.prependVersionAndEncodeAccessToken(TransportVersions.MINIMUM_COMPATIBLE, shorterAccessToken)
368+
tokenService.prependVersionAndEncodeAccessToken(TransportVersions.V_7_3_2, shorterAccessToken)
369369
);
370370
assertThat(invalidateResponse.invalidated(), equalTo(0));
371371
assertThat(invalidateResponse.previouslyInvalidated(), equalTo(0));
@@ -394,8 +394,8 @@ public void testInvalidateNotValidAccessTokens() throws Exception {
394394

395395
invalidateResponse = invalidateAccessToken(
396396
tokenService.prependVersionAndEncodeAccessToken(
397-
TransportVersions.MINIMUM_COMPATIBLE,
398-
tokenService.getRandomTokenBytes(TransportVersions.MINIMUM_COMPATIBLE, randomBoolean()).v1()
397+
TransportVersions.V_7_3_2,
398+
tokenService.getRandomTokenBytes(TransportVersions.V_7_3_2, randomBoolean()).v1()
399399
)
400400
);
401401
assertThat(invalidateResponse.invalidated(), equalTo(0));
@@ -420,8 +420,8 @@ public void testInvalidateNotValidRefreshTokens() throws Exception {
420420
ResponseException.class,
421421
() -> invalidateRefreshToken(
422422
TokenService.prependVersionAndEncodeRefreshToken(
423-
TransportVersions.MINIMUM_COMPATIBLE,
424-
tokenService.getRandomTokenBytes(TransportVersions.MINIMUM_COMPATIBLE, true).v2()
423+
TransportVersions.V_7_3_2,
424+
tokenService.getRandomTokenBytes(TransportVersions.V_7_3_2, true).v2()
425425
)
426426
)
427427
);
@@ -441,7 +441,7 @@ public void testInvalidateNotValidRefreshTokens() throws Exception {
441441
byte[] longerRefreshToken = new byte[randomIntBetween(17, 24)];
442442
random().nextBytes(longerRefreshToken);
443443
invalidateResponse = invalidateRefreshToken(
444-
TokenService.prependVersionAndEncodeRefreshToken(TransportVersions.MINIMUM_COMPATIBLE, longerRefreshToken)
444+
TokenService.prependVersionAndEncodeRefreshToken(TransportVersions.V_7_3_2, longerRefreshToken)
445445
);
446446
assertThat(invalidateResponse.invalidated(), equalTo(0));
447447
assertThat(invalidateResponse.previouslyInvalidated(), equalTo(0));
@@ -459,7 +459,7 @@ public void testInvalidateNotValidRefreshTokens() throws Exception {
459459
byte[] shorterRefreshToken = new byte[randomIntBetween(12, 15)];
460460
random().nextBytes(shorterRefreshToken);
461461
invalidateResponse = invalidateRefreshToken(
462-
TokenService.prependVersionAndEncodeRefreshToken(TransportVersions.MINIMUM_COMPATIBLE, shorterRefreshToken)
462+
TokenService.prependVersionAndEncodeRefreshToken(TransportVersions.V_7_3_2, shorterRefreshToken)
463463
);
464464
assertThat(invalidateResponse.invalidated(), equalTo(0));
465465
assertThat(invalidateResponse.previouslyInvalidated(), equalTo(0));
@@ -488,8 +488,8 @@ public void testInvalidateNotValidRefreshTokens() throws Exception {
488488

489489
invalidateResponse = invalidateRefreshToken(
490490
TokenService.prependVersionAndEncodeRefreshToken(
491-
TransportVersions.MINIMUM_COMPATIBLE,
492-
tokenService.getRandomTokenBytes(TransportVersions.MINIMUM_COMPATIBLE, true).v2()
491+
TransportVersions.V_7_3_2,
492+
tokenService.getRandomTokenBytes(TransportVersions.V_7_3_2, true).v2()
493493
)
494494
);
495495
assertThat(invalidateResponse.invalidated(), equalTo(0));
@@ -758,11 +758,18 @@ public void testAuthenticateWithWrongToken() throws Exception {
758758
assertAuthenticateWithToken(response.accessToken(), TEST_USER_NAME);
759759
// Now attempt to authenticate with an invalid access token string
760760
assertUnauthorizedToken(randomAlphaOfLengthBetween(0, 128));
761-
// Now attempt to authenticate with an invalid access token with valid structure (after 8.0 pre 8.10)
761+
// Now attempt to authenticate with an invalid access token with valid structure (pre 7.2)
762762
assertUnauthorizedToken(
763763
tokenService.prependVersionAndEncodeAccessToken(
764-
TransportVersions.V_8_0_0,
765-
tokenService.getRandomTokenBytes(TransportVersions.V_8_0_0, randomBoolean()).v1()
764+
TransportVersions.V_7_1_0,
765+
tokenService.getRandomTokenBytes(TransportVersions.V_7_1_0, randomBoolean()).v1()
766+
)
767+
);
768+
// Now attempt to authenticate with an invalid access token with valid structure (after 7.2 pre 8.10)
769+
assertUnauthorizedToken(
770+
tokenService.prependVersionAndEncodeAccessToken(
771+
TransportVersions.V_7_4_0,
772+
tokenService.getRandomTokenBytes(TransportVersions.V_7_4_0, randomBoolean()).v1()
766773
)
767774
);
768775
// Now attempt to authenticate with an invalid access token with valid structure (current version)

0 commit comments

Comments
 (0)