X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fafb-socket.c;h=63de2cf2d981ee87ee369e8f16b8c74e4b2998d1;hb=8754e33fc9c85ac2175a5c4bd0c874c47eff65df;hp=77b5edf8e33e219162528cccba6ff58bc1b57c66;hpb=e11e8fbe65c6d57716c96bc6dd2b503a310dca67;p=src%2Fapp-framework-binder.git diff --git a/src/afb-socket.c b/src/afb-socket.c index 77b5edf8..63de2cf2 100644 --- a/src/afb-socket.c +++ b/src/afb-socket.c @@ -178,6 +178,11 @@ static int open_tcp(const char *spec, int server) memset(&hint, 0, sizeof hint); hint.ai_family = AF_INET; hint.ai_socktype = SOCK_STREAM; + if (server) { + hint.ai_flags = AI_PASSIVE; + if (host[0] == 0 || (host[0] == '*' && host[1] == 0)) + host = NULL; + } rc = getaddrinfo(host, service, &hint, &rai); if (rc != 0) { errno = EINVAL; @@ -366,9 +371,11 @@ const char *afb_socket_api(const char *uri) { int offset; const char *api; + struct entry *entry; - get_entry(uri, &offset); + entry = get_entry(uri, &offset); uri += offset; + uri += (entry->type == Type_Unix && *uri == '@'); api = strstr(uri, as_api); if (api) api += sizeof as_api - 1;