Skip to content

Commit f1b9d6d

Browse files
committed
Merge branch '2.21' into 2.x
2 parents 344a47e + 635adf6 commit f1b9d6d

5 files changed

Lines changed: 21 additions & 5 deletions

File tree

‎release-notes/CREDITS-2.x‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1920,6 +1920,8 @@ Fawzi Essam (@iifawzi)
19201920
Omkhar Arasaratnam (@omkhar)
19211921
* Reported #5950: Improve `UUIDeserializer` error handling
19221922
(2.18.8)
1923+
* Reported #5951: Improve `InetSocketAddress` deserialization
1924+
(2.18.8)
19231925
19241926
Liam Feid (@fxshlein)
19251927
* Contributed #1467: Support `@JsonUnwrapped` with `@JsonCreator`

‎release-notes/VERSION-2.x‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,9 @@ Project: jackson-databind
2424

2525
#5931: Fix `AtomicLongDeserializer` value truncation on coerced values
2626
(fixed by Lee Jiwon)
27-
#5950: Improve `UUIDeserializer` error handling
27+
#5950: Improve `UUIDeserializer` error handling#
28+
(reported by Omkhar A)
29+
#5951: Improve `InetSocketAddress` deserialization
2830
(reported by Omkhar A)
2931

3032
2.21.3 (28-Apr-2026)
@@ -292,6 +294,8 @@ No changes since 2.19.2
292294

293295
#5950: Improve `UUIDeserializer` error handling
294296
(reported by Omkhar A)
297+
#5951: Improve `InetSocketAddress` deserialization
298+
(reported by Omkhar A)
295299

296300
2.18.7 (24-Apr-2026)
297301
2.18.6 (22-Feb-2026)

‎src/main/java/com/fasterxml/jackson/databind/deser/std/FromStringDeserializer.java‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -492,7 +492,8 @@ private Locale _deSerializeBCP47Locale(String value, int ix, String first, Strin
492492
}
493493

494494
protected InetSocketAddress _inetSocketAddress(String host, int port) {
495-
return new InetSocketAddress(host, port);
495+
// 05-May-2026, tatu: [databind#5951] Prevent DNS lookup:
496+
return InetSocketAddress.createUnresolved(host, port);
496497
}
497498
}
498499

‎src/test/java/com/fasterxml/jackson/databind/deser/jdk/JDKStringLikeTypeDeserTest.java‎

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -183,15 +183,15 @@ public void testInetAddress() throws IOException
183183
public void testInetSocketAddress() throws IOException
184184
{
185185
InetSocketAddress address = MAPPER.readValue(q("127.0.0.1"), InetSocketAddress.class);
186-
assertEquals("127.0.0.1", address.getAddress().getHostAddress());
186+
assertEquals("127.0.0.1", address.getHostName());
187187

188188
InetSocketAddress ip6 = MAPPER.readValue(
189189
q("2001:db8:85a3:8d3:1319:8a2e:370:7348"), InetSocketAddress.class);
190-
assertEquals("2001:db8:85a3:8d3:1319:8a2e:370:7348", ip6.getAddress().getHostAddress());
190+
assertEquals("2001:db8:85a3:8d3:1319:8a2e:370:7348", ip6.getHostName());
191191

192192
InetSocketAddress ip6port = MAPPER.readValue(
193193
q("[2001:db8:85a3:8d3:1319:8a2e:370:7348]:443"), InetSocketAddress.class);
194-
assertEquals("2001:db8:85a3:8d3:1319:8a2e:370:7348", ip6port.getAddress().getHostAddress());
194+
assertEquals("[2001:db8:85a3:8d3:1319:8a2e:370:7348]", ip6port.getHostName());
195195
assertEquals(443, ip6port.getPort());
196196

197197
// should we try resolving host names? That requires connectivity...
@@ -203,6 +203,11 @@ public void testInetSocketAddress() throws IOException
203203
address = MAPPER.readValue(q(HOST_AND_PORT), InetSocketAddress.class);
204204
assertEquals(HOST, address.getHostName());
205205
assertEquals(80, address.getPort());
206+
207+
// [databind#5951]: should NOT resolve address
208+
address = MAPPER.readValue(q("localhost:9999"), InetSocketAddress.class);
209+
assertTrue(address.isUnresolved(),
210+
"`InetSocketAddress` resolved localhost during deserialization: "+ address);
206211
}
207212

208213
@Test

‎src/test/java/com/fasterxml/jackson/databind/ser/jdk/JDKTypeSerializationTest.java‎

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,8 +126,12 @@ public void testInetSocketAddress() throws IOException
126126
{
127127
assertEquals(q("127.0.0.1:8080"),
128128
MAPPER.writeValueAsString(new InetSocketAddress("127.0.0.1", 8080)));
129+
assertEquals(q("127.0.0.1:8080"),
130+
MAPPER.writeValueAsString(InetSocketAddress.createUnresolved("127.0.0.1", 8080)));
129131
assertEquals(q("google.com:6667"),
130132
MAPPER.writeValueAsString(new InetSocketAddress("google.com", 6667)));
133+
assertEquals(q("google.com:6667"),
134+
MAPPER.writeValueAsString(InetSocketAddress.createUnresolved("google.com", 6667)));
131135
assertEquals(q("[2001:db8:85a3:8d3:1319:8a2e:370:7348]:443"),
132136
MAPPER.writeValueAsString(new InetSocketAddress("2001:db8:85a3:8d3:1319:8a2e:370:7348", 443)));
133137
}

0 commit comments

Comments
 (0)