mirror of
https://github.com/shadowsocks/shadowsocks-libev.git
synced 2026-10-26 18:53:41 +00:00
use ntop instead
This commit is contained in:
+2
-3
@@ -22,9 +22,8 @@ m4_include([libev/libev.m4])
|
||||
dnl Checks for openssl
|
||||
ss_OPENSSL
|
||||
|
||||
dnl Checks for inet_aton and inet_ntoa
|
||||
ss_FUNC_INET_ATON
|
||||
ss_FUNC_INET_NTOA
|
||||
dnl Checks for inet_ntop
|
||||
ss_FUNC_INET_NTOP
|
||||
|
||||
dnl Checks for host.
|
||||
AC_MSG_CHECKING(for what kind of host)
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
# inet_aton.m4 serial 19
|
||||
dnl Copyright (C) 2005-2006, 2008-2013 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
AC_DEFUN([ss_FUNC_INET_ATON],
|
||||
[
|
||||
AC_REQUIRE([AC_C_RESTRICT])
|
||||
|
||||
dnl Most platforms that provide inet_aton define it in libc.
|
||||
dnl Solaris 8..10 provide inet_aton in libnsl instead.
|
||||
dnl Solaris 2.6..7 provide inet_aton in libresolv instead.
|
||||
HAVE_INET_ATON=1
|
||||
INET_ATON_LIB=
|
||||
ss_save_LIBS=$LIBS
|
||||
AC_SEARCH_LIBS([inet_aton], [nsl resolv], [],
|
||||
[AC_CHECK_FUNCS([inet_aton])
|
||||
if test $ac_cv_func_inet_aton = no; then
|
||||
HAVE_INET_ATON=0
|
||||
fi
|
||||
])
|
||||
LIBS=$ss_save_LIBS
|
||||
|
||||
if test "$ac_cv_search_inet_aton" != "no" \
|
||||
&& test "$ac_cv_search_inet_aton" != "none required"; then
|
||||
INET_ATON_LIB="$ac_cv_search_inet_aton"
|
||||
fi
|
||||
|
||||
AC_CHECK_HEADERS_ONCE([netdb.h])
|
||||
AC_CHECK_DECLS([inet_aton],,,
|
||||
[[#include <arpa/inet.h>
|
||||
#if HAVE_NETDB_H
|
||||
# include <netdb.h>
|
||||
#endif
|
||||
]])
|
||||
if test $ac_cv_have_decl_inet_aton = no; then
|
||||
HAVE_DECL_INET_ATON=0
|
||||
fi
|
||||
AC_SUBST([INET_ATON_LIB])
|
||||
])
|
||||
@@ -1,41 +0,0 @@
|
||||
# inet_ntoa.m4 serial 19
|
||||
dnl Copyright (C) 2005-2006, 2008-2013 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
AC_DEFUN([ss_FUNC_INET_NTOA],
|
||||
[
|
||||
AC_REQUIRE([AC_C_RESTRICT])
|
||||
|
||||
dnl Most platforms that provide inet_ntoa define it in libc.
|
||||
dnl Solaris 8..10 provide inet_ntoa in libnsl instead.
|
||||
dnl Solaris 2.6..7 provide inet_ntoa in libresolv instead.
|
||||
HAVE_INET_NTOA=1
|
||||
INET_NTOA_LIB=
|
||||
ss_save_LIBS=$LIBS
|
||||
AC_SEARCH_LIBS([inet_ntoa], [nsl resolv], [],
|
||||
[AC_CHECK_FUNCS([inet_ntoa])
|
||||
if test $ac_cv_func_inet_ntoa = no; then
|
||||
HAVE_INET_NTOA=0
|
||||
fi
|
||||
])
|
||||
LIBS=$ss_save_LIBS
|
||||
|
||||
if test "$ac_cv_search_inet_ntoa" != "no" \
|
||||
&& test "$ac_cv_search_inet_ntoa" != "none required"; then
|
||||
INET_NTOA_LIB="$ac_cv_search_inet_ntoa"
|
||||
fi
|
||||
|
||||
AC_CHECK_HEADERS_ONCE([netdb.h])
|
||||
AC_CHECK_DECLS([inet_ntoa],,,
|
||||
[[#include <arpa/inet.h>
|
||||
#if HAVE_NETDB_H
|
||||
# include <netdb.h>
|
||||
#endif
|
||||
]])
|
||||
if test $ac_cv_have_decl_inet_ntoa = no; then
|
||||
HAVE_DECL_INET_NTOA=0
|
||||
fi
|
||||
AC_SUBST([INET_NTOA_LIB])
|
||||
])
|
||||
@@ -0,0 +1,41 @@
|
||||
# inet_ntop.m4 serial 19
|
||||
dnl Copyright (C) 2005-2006, 2008-2013 Free Software Foundation, Inc.
|
||||
dnl This file is free software; the Free Software Foundation
|
||||
dnl gives unlimited permission to copy and/or distribute it,
|
||||
dnl with or without modifications, as long as this notice is preserved.
|
||||
|
||||
AC_DEFUN([ss_FUNC_INET_NTOP],
|
||||
[
|
||||
AC_REQUIRE([AC_C_RESTRICT])
|
||||
|
||||
dnl Most platforms that provide inet_ntop define it in libc.
|
||||
dnl Solaris 8..10 provide inet_ntop in libnsl instead.
|
||||
dnl Solaris 2.6..7 provide inet_ntop in libresolv instead.
|
||||
HAVE_INET_NTOP=1
|
||||
INET_NTOP_LIB=
|
||||
ss_save_LIBS=$LIBS
|
||||
AC_SEARCH_LIBS([inet_ntop], [nsl resolv], [],
|
||||
[AC_CHECK_FUNCS([inet_ntop])
|
||||
if test $ac_cv_func_inet_ntop = no; then
|
||||
HAVE_INET_NTOP=0
|
||||
fi
|
||||
])
|
||||
LIBS=$ss_save_LIBS
|
||||
|
||||
if test "$ac_cv_search_inet_ntop" != "no" \
|
||||
&& test "$ac_cv_search_inet_ntop" != "none required"; then
|
||||
INET_NTOP_LIB="$ac_cv_search_inet_ntop"
|
||||
fi
|
||||
|
||||
AC_CHECK_HEADERS_ONCE([netdb.h])
|
||||
AC_CHECK_DECLS([inet_ntop],,,
|
||||
[[#include <arpa/inet.h>
|
||||
#if HAVE_NETDB_H
|
||||
# include <netdb.h>
|
||||
#endif
|
||||
]])
|
||||
if test $ac_cv_have_decl_inet_ntop = no; then
|
||||
HAVE_DECL_INET_NTOP=0
|
||||
fi
|
||||
AC_SUBST([INET_NTOP_LIB])
|
||||
])
|
||||
+1
-1
@@ -240,7 +240,7 @@ static void server_recv_cb (EV_P_ ev_io *w, int revents) {
|
||||
response.atyp = 1;
|
||||
|
||||
struct in_addr sin_addr;
|
||||
inet_aton("0.0.0.0", &sin_addr);
|
||||
memset(&sin_addr, 0, sizeof(struct in_addr));
|
||||
|
||||
memcpy(server->buf, &response, sizeof(struct socks5_response));
|
||||
memset(server->buf + sizeof(struct socks5_response), 0, sizeof(struct in_addr) + sizeof(uint16_t));
|
||||
|
||||
+2
-2
@@ -220,8 +220,8 @@ static void server_recv_cb (EV_P_ ev_io *w, int revents) {
|
||||
// IP V4
|
||||
size_t in_addr_len = sizeof(struct in_addr);
|
||||
if (r > in_addr_len) {
|
||||
char *a = inet_ntoa(*(struct in_addr*)(server->buf + offset));
|
||||
memcpy(host, a, strlen(a));
|
||||
inet_ntop(AF_INET, (void *)server->buf[offset],
|
||||
host, in_addr_len);
|
||||
offset += in_addr_len;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user