eclipse-paho / eclipse-paho/paho.mqtt.java

IPv6 address literals are not supported

Open
#322 3 comments 0 reactions 0 assignees View on GitHub
triage
Dominant language
Java
Stars
2.3k
Forks
919
PR merge metrics
No merged PRs in 30d

Description

- [x] Bug exists Release Version 1.1.0 ( Master Branch)
- [x] Bug exists in Snapshot Version 1.1.1-SNAPSHOT (Develop Branch)

While IPv4 address literals (such as 10.1.2.3) are supported, IPv6 address literals (such as fe80::f31d:72d1:98e1:9ab5%eth0) are not fully handled. Suggestion: use the java.net.URI class to parse the URL and use getScheme/getHost/getPort to extract the addresses/ports.

Output from 1.1.0:
```
Trying to connect to MQTT broker: tcp://[fe80::f31d:72d1:98e1:9ab5%eth0]
Exception in thread "main" java.lang.NumberFormatException: For input string: "9ab5%eth0]"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:580)
at java.lang.Integer.parseInt(Integer.java:615)
at org.eclipse.paho.client.mqttv3.MqttAsyncClient.getPort(MqttAsyncClient.java:485)
at org.eclipse.paho.client.mqttv3.MqttAsyncClient.createNetworkModule(MqttAsyncClient.java:381)
at org.eclipse.paho.client.mqttv3.MqttAsyncClient.createNetworkModules(MqttAsyncClient.java:349)
at org.eclipse.paho.client.mqttv3.MqttAsyncClient.connect(MqttAsyncClient.java:557)
```
Another one, with port:
```
Trying to connect to MQTT broker: tcp://[fe80::f31d:72d1:98e1:9ab5%eth0]:1883
Cannot connect to MQTT broker
MqttException (0) - java.net.UnknownHostException: [fe80
at org.eclipse.paho.client.mqttv3.internal.ExceptionHelper.createMqttException(ExceptionHelper.java:38)
at org.eclipse.paho.client.mqttv3.internal.ClientComms$ConnectBG.run(ClientComms.java:664)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.UnknownHostException: [fe80
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at org.eclipse.paho.client.mqttv3.internal.TCPNetworkModule.start(TCPNetworkModule.java:70)
at org.eclipse.paho.client.mqttv3.internal.ClientComms$ConnectBG.run(ClientComms.java:650)
... 1 more
```

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.