Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/haad/proxychains.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAdam Hamsik <adam.hamsik@chilisys.com>2012-08-05 17:07:37 +0400
committerAdam Hamsik <adam.hamsik@chilisys.com>2012-08-05 17:07:37 +0400
commit361889a2d29414a0277bc2f606e29d9a2067066a (patch)
tree5804ac202b780b6fbf7fa36cd614a67e66d9e7a3 /src
parent025840930b0e02b5fd0c71a117c2725715632d02 (diff)
Add option to do a development build with --devel configure flag. Rename proxy_getserverbyname to proxy_getservbyname.
Diffstat (limited to 'src')
-rw-r--r--src/core.c15
-rw-r--r--src/core.h2
2 files changed, 8 insertions, 9 deletions
diff --git a/src/core.c b/src/core.c
index 052f429..c248f4e 100644
--- a/src/core.c
+++ b/src/core.c
@@ -15,6 +15,7 @@
* *
***************************************************************************/
#include <sys/types.h>
+#include <sys/cdefs.h>
#include <stdio.h>
#include <unistd.h>
@@ -400,11 +401,11 @@ static int tunnel_to(int sock, ip_type ip, unsigned short port, proxy_type pt, c
*cur++ = 1; // version
c = ulen & 0xFF;
*cur++ = (char)c;
- memcpy(cur, user, c);
+ memcpy(cur, user, (size_t)c);
cur += c;
c = passlen & 0xFF;
*cur++ = (char)c;
- memcpy(cur, pass, c);
+ memcpy(cur, pass, (size_t)c);
cur += c;
if((size_t)(cur - out) != write_n_bytes(sock, out, (size_t) (cur - out)))
@@ -825,8 +826,8 @@ void proxy_freeaddrinfo(struct addrinfo *res) {
free(res);
}
-void proxy_getserverbyname(const char * service, struct servent *se_buf,
- __unused char * buf, size_t buf_len, struct servent **se_result)
+void proxy_getservbyname(const char * service, struct servent *se_buf,
+ char * buf, size_t buf_len, struct servent **se_result)
{
#ifdef __linux__
@@ -836,9 +837,7 @@ void proxy_getserverbyname(const char * service, struct servent *se_buf,
#ifdef __APPLE__
struct servent *se;
-#ifdef THREAD_SAFE
MUTEX_LOCK(&internal_getsrvbyname_lock);
-#endif
if(service) {
se = getservbyname(service, NULL);
@@ -849,9 +848,7 @@ void proxy_getserverbyname(const char * service, struct servent *se_buf,
*se_result = NULL;
}
}
-#ifdef THREAD_SAFE
MUTEX_UNLOCK(&internal_getsrvbyname_lock);
-#endif
#endif /* __APPLE__ */
}
@@ -878,7 +875,7 @@ int proxy_getaddrinfo(const char *node, const char *service, const struct addrin
goto err2;
}
if(service)
- proxy_getserverbyname(service, &se_buf, buf, sizeof(buf), &se);
+ proxy_getservbyname(service, &se_buf, buf, sizeof(buf), &se);
port = se ? se->s_port : htons(atoi(service ? service : "0"));
((struct sockaddr_in *) &space->sockaddr_space)->sin_port = (in_port_t)port;
diff --git a/src/core.h b/src/core.h
index 46a162e..60e14b0 100644
--- a/src/core.h
+++ b/src/core.h
@@ -135,6 +135,8 @@ struct gethostbyname_data {
};
struct hostent* proxy_gethostbyname(const char *name, struct gethostbyname_data *data);
+void proxy_getservbyname(const char * service, struct servent *se_buf,
+ char * buf, size_t buf_len, struct servent **se_result);
int proxy_getaddrinfo(const char *node, const char *service,
const struct addrinfo *hints, struct addrinfo **res);