mirror of https://github.com/eclipse/paho.mqtt.c
Merge branch 'fixes' into develop
Conflicts: src/Socket.c
This commit is contained in:
commit
ad943e4c0f
|
|
@ -0,0 +1,12 @@
|
|||
language: c
|
||||
|
||||
compiler:
|
||||
- gcc
|
||||
- clang
|
||||
|
||||
os:
|
||||
- linux
|
||||
- osx
|
||||
|
||||
script:
|
||||
- make
|
||||
|
|
@ -31,6 +31,7 @@
|
|||
<property name="libname.async" value="mqttv3a" />
|
||||
<property name="libname.async.ssl" value="mqttv3as" />
|
||||
<property name="ssl" value="yes" />
|
||||
<property name="windows.openssl.folder" value="c:\openssl\bin" />
|
||||
<property name="test.hostname" value="iot.eclipse.org"/>
|
||||
<property name="test.port" value="18883"/>
|
||||
<if>
|
||||
|
|
@ -127,7 +128,7 @@
|
|||
<arg value="${aTest}.exe" />
|
||||
<arg value="--hostname" />
|
||||
<arg value="${test.hostname}" />
|
||||
<env key="PATH" path="${output.folder}" />
|
||||
<env key="PATH" path="${output.folder};${windows.openssl.folder}" />
|
||||
</exec>
|
||||
</then>
|
||||
<else>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2009, 2014 IBM Corp.
|
||||
* Copyright (c) 2009, 2016 IBM Corp.
|
||||
*
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License v1.0
|
||||
|
|
@ -13,6 +13,7 @@
|
|||
* Contributors:
|
||||
* Ian Craggs - initial API and implementation and/or initial documentation
|
||||
* Ian Craggs - async client updates
|
||||
* Ian Craggs - fix for bug 484496
|
||||
*******************************************************************************/
|
||||
|
||||
/**
|
||||
|
|
@ -73,8 +74,8 @@ int pstopen(void **handle, const char* clientID, const char* serverURI, void* co
|
|||
/* Note that serverURI=address:port, but ":" not allowed in Windows directories */
|
||||
perserverURI = malloc(strlen(serverURI) + 1);
|
||||
strcpy(perserverURI, serverURI);
|
||||
ptraux = strstr(perserverURI, ":");
|
||||
*ptraux = '-' ;
|
||||
while ((ptraux = strstr(perserverURI, ":")) != NULL)
|
||||
*ptraux = '-' ;
|
||||
|
||||
/* consider '/' + '-' + '\0' */
|
||||
clientDir = malloc(strlen(dataDir) + strlen(clientID) + strlen(perserverURI) + 3);
|
||||
|
|
|
|||
13
src/Socket.c
13
src/Socket.c
|
|
@ -1,5 +1,5 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2009, 2014 IBM Corp.
|
||||
* Copyright (c) 2009, 2016 IBM Corp.
|
||||
*
|
||||
* All rights reserved. This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License v1.0
|
||||
|
|
@ -13,6 +13,7 @@
|
|||
* Contributors:
|
||||
* Ian Craggs - initial implementation and documentation
|
||||
* Ian Craggs - async client updates
|
||||
* Ian Craggs - fix for bug 484496
|
||||
*******************************************************************************/
|
||||
|
||||
/**
|
||||
|
|
@ -601,6 +602,7 @@ int Socket_new(char* addr, int port, int* sock)
|
|||
|
||||
FUNC_ENTRY;
|
||||
*sock = -1;
|
||||
memset(&address6, '\0', sizeof(address6));
|
||||
|
||||
if (addr[0] == '[')
|
||||
++addr;
|
||||
|
|
@ -609,13 +611,10 @@ int Socket_new(char* addr, int port, int* sock)
|
|||
{
|
||||
struct addrinfo* res = result;
|
||||
|
||||
/* prefer ip4 addresses */
|
||||
while (res)
|
||||
{
|
||||
if (res->ai_family == AF_INET)
|
||||
{
|
||||
{ /* prefer ip4 addresses */
|
||||
if (res->ai_family == AF_INET || res->ai_next == NULL)
|
||||
break;
|
||||
}
|
||||
res = res->ai_next;
|
||||
}
|
||||
|
||||
|
|
@ -627,7 +626,7 @@ int Socket_new(char* addr, int port, int* sock)
|
|||
{
|
||||
address6.sin6_port = htons(port);
|
||||
address6.sin6_family = family = AF_INET6;
|
||||
address6.sin6_addr = ((struct sockaddr_in6*)(res->ai_addr))->sin6_addr;
|
||||
memcpy(&address6.sin6_addr, &((struct sockaddr_in6*)(res->ai_addr))->sin6_addr, sizeof(address6.sin6_addr));
|
||||
}
|
||||
else
|
||||
#endif
|
||||
|
|
|
|||
Loading…
Reference in New Issue