aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJose Bollo <jose.bollo@iot.bzh>2020-01-07 10:28:27 +0100
committerJose Bollo <jose.bollo@iot.bzh>2020-01-07 14:25:23 +0100
commit164f14144f2d2339db023abfc899e034c24958cc (patch)
tree2a9aca29f134db10ce171ce7e28a98fe93adc032
parent36ed9d2eb93f135ff293df5716f8232c664d32f4 (diff)
afb-ws-client: Improve direct URI
The direct connection URI was expecting a slash after the port for "tcp:" URI. This slash is not needed because it does not carry any meaning. This change implements the ability to set or not the path of URI. Bug-AGL: SPEC-3094 Change-Id: I3d4c350f4e917759cbf82ccc0d261aa420f6f88a Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
-rw-r--r--src/afb-ws-client.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/afb-ws-client.c b/src/afb-ws-client.c
index 04458e7a..fba85ff3 100644
--- a/src/afb-ws-client.c
+++ b/src/afb-ws-client.c
@@ -443,12 +443,12 @@ static int get_socket_inet(const char *uri)
struct addrinfo hint, *rai, *iai;
/* scan the uri */
- api = strrchr(uri, '/');
service = strrchr(uri, ':');
- if (api == NULL || service == NULL || api < service) {
+ if (service == NULL) {
errno = EINVAL;
return -1;
}
+ api = strchrnul(service, '/');
host = strndupa(uri, service++ - uri);
service = strndupa(service, api - service);
@@ -488,6 +488,9 @@ static int get_socket(const char *uri)
if (0 == strncmp(uri, "unix:", 5))
/* unix socket */
fd = get_socket_unix(uri + 5);
+ else if (0 == strncmp(uri, "tcp:", 4))
+ /* unix socket */
+ fd = get_socket_inet(uri + 4);
else
/* inet socket */
fd = get_socket_inet(uri);