=========================================================== .___ __ __ _________________ __ __ __| _/|__|/ |_ / ___\_` __ \__ \ | | \/ __ | | \\_ __\ / /_/ > | \// __ \| | / /_/ | | || | \___ /|__| (____ /____/\____ | |__||__| /_____/ \/ \/ grep rough audit - static analysis tool v2.8 written by @Wireghoul =================================[justanotherhacker.com]=== shadowsocks-libev-3.3.5+ds/CMakeLists.txt-45-# Run platform tests shadowsocks-libev-3.3.5+ds/CMakeLists.txt:46:include(${PROJECT_SOURCE_DIR}/cmake/configure.cmake) shadowsocks-libev-3.3.5+ds/CMakeLists.txt-47-configure_file(${PROJECT_SOURCE_DIR}/cmake/config.h.cmake ${PROJECT_BINARY_DIR}/src/config.h) ############################################## shadowsocks-libev-3.3.5+ds/INSTALL-173-directory configuration variables that were expressed in terms of shadowsocks-libev-3.3.5+ds/INSTALL:174:`${prefix}'. Any directories that were specified during `configure', shadowsocks-libev-3.3.5+ds/INSTALL-175-but not in terms of `${prefix}', must each be overridden at install ############################################## shadowsocks-libev-3.3.5+ds/m4/ax_pthread.m4-296- ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g' shadowsocks-libev-3.3.5+ds/m4/ax_pthread.m4:297: ax_pthread_link_step=`$as_echo "$ac_link" | sed "$ax_pthread_sed"` shadowsocks-libev-3.3.5+ds/m4/ax_pthread.m4-298- ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)" ############################################## shadowsocks-libev-3.3.5+ds/m4/pcre.m4-70- *":"*) shadowsocks-libev-3.3.5+ds/m4/pcre.m4:71: pcre_include="`echo $withval |sed -e 's/:.*$//'`" shadowsocks-libev-3.3.5+ds/m4/pcre.m4:72: pcre_ldflags="`echo $withval |sed -e 's/^.*://'`" shadowsocks-libev-3.3.5+ds/m4/pcre.m4-73- AC_MSG_CHECKING(checking for pcre includes in $pcre_include libs in $pcre_ldflags ) ############################################## shadowsocks-libev-3.3.5+ds/m4/pcre.m4-87- enable_pcre=yes shadowsocks-libev-3.3.5+ds/m4/pcre.m4:88: pcre_base_dir="`$PCRE_CONFIG --prefix`" shadowsocks-libev-3.3.5+ds/m4/pcre.m4:89: pcre_include="`$PCRE_CONFIG --cflags | sed -es/-I//`" shadowsocks-libev-3.3.5+ds/m4/pcre.m4:90: pcre_ldflags="`$PCRE_CONFIG --libs | sed -es/-lpcre// -es/-L//`" shadowsocks-libev-3.3.5+ds/m4/pcre.m4-91- fi ############################################## shadowsocks-libev-3.3.5+ds/src/jconf.c-58-void shadowsocks-libev-3.3.5+ds/src/jconf.c:59:free_addr(ss_addr_t *addr) shadowsocks-libev-3.3.5+ds/src/jconf.c-60-{ ############################################## shadowsocks-libev-3.3.5+ds/src/jconf.c-65-void shadowsocks-libev-3.3.5+ds/src/jconf.c:66:parse_addr(const char *str_in, ss_addr_t *addr) shadowsocks-libev-3.3.5+ds/src/jconf.c-67-{ ############################################## shadowsocks-libev-3.3.5+ds/src/jconf.c-215- char *addr_str = to_string(v); shadowsocks-libev-3.3.5+ds/src/jconf.c:216: parse_addr(addr_str, conf.remote_addr + j); shadowsocks-libev-3.3.5+ds/src/jconf.c-217- ss_free(addr_str); ############################################## shadowsocks-libev-3.3.5+ds/src/jconf.c-221- char* tmp_str = to_string(value); shadowsocks-libev-3.3.5+ds/src/jconf.c:222: parse_addr(tmp_str, conf.remote_addr); shadowsocks-libev-3.3.5+ds/src/jconf.c-223- ss_free(tmp_str); ############################################## shadowsocks-libev-3.3.5+ds/src/jconf.h-91-jconf_t *read_jconf(const char *file); shadowsocks-libev-3.3.5+ds/src/jconf.h:92:void parse_addr(const char *str, ss_addr_t *addr); shadowsocks-libev-3.3.5+ds/src/jconf.h:93:void free_addr(ss_addr_t *addr); shadowsocks-libev-3.3.5+ds/src/jconf.h-94- ############################################## shadowsocks-libev-3.3.5+ds/src/local.c-473- ) { // resolve domain so we can bypass domain with geoip shadowsocks-libev-3.3.5+ds/src/local.c:474: if (get_sockaddr(host, port, &storage, 0, ipv6first)) shadowsocks-libev-3.3.5+ds/src/local.c-475- goto not_bypass; ############################################## shadowsocks-libev-3.3.5+ds/src/local.c-527-#endif shadowsocks-libev-3.3.5+ds/src/local.c:528: err = get_sockaddr(host, port, &storage, 0, ipv6first); shadowsocks-libev-3.3.5+ds/src/local.c-529- else shadowsocks-libev-3.3.5+ds/src/local.c:530: err = get_sockaddr(ip, port, &storage, 0, ipv6first); shadowsocks-libev-3.3.5+ds/src/local.c-531- if (err != -1) { ############################################## shadowsocks-libev-3.3.5+ds/src/local.c-616- struct sockaddr_in *s = (struct sockaddr_in *)&remote->addr; shadowsocks-libev-3.3.5+ds/src/local.c:617: if (s->sin_addr.s_addr == inet_addr("127.0.0.1")) shadowsocks-libev-3.3.5+ds/src/local.c-618- not_protect = 1; ############################################## shadowsocks-libev-3.3.5+ds/src/local.c-1490- if (remote_num < MAX_REMOTE_NUM) { shadowsocks-libev-3.3.5+ds/src/local.c:1491: parse_addr(optarg, &remote_addr[remote_num++]); shadowsocks-libev-3.3.5+ds/src/local.c-1492- } ############################################## shadowsocks-libev-3.3.5+ds/src/local.c-1826- memset(storage, 0, sizeof(struct sockaddr_storage)); shadowsocks-libev-3.3.5+ds/src/local.c:1827: if (get_sockaddr(host, port, storage, 1, ipv6first) == -1) { shadowsocks-libev-3.3.5+ds/src/local.c-1828- FATAL("failed to resolve the provided hostname"); ############################################## shadowsocks-libev-3.3.5+ds/src/local.c-1849- shadowsocks-libev-3.3.5+ds/src/local.c:1850: if (ss_is_ipv6addr(local_addr)) shadowsocks-libev-3.3.5+ds/src/local.c-1851- LOGI("listening at [%s]:%s", local_addr, local_port); ############################################## shadowsocks-libev-3.3.5+ds/src/local.c-1885- memset(storage, 0, sizeof(struct sockaddr_storage)); shadowsocks-libev-3.3.5+ds/src/local.c:1886: if (get_sockaddr(host, port, storage, 1, ipv6first) == -1) { shadowsocks-libev-3.3.5+ds/src/local.c-1887- FATAL("failed to resolve the provided hostname"); ############################################## shadowsocks-libev-3.3.5+ds/src/local.c-2016- memset(&storage, 0, sizeof(struct sockaddr_storage)); shadowsocks-libev-3.3.5+ds/src/local.c:2017: if (get_sockaddr(remote_host, remote_port_str, &storage, 0, ipv6first) == -1) { shadowsocks-libev-3.3.5+ds/src/local.c-2018- return -1; ############################################## shadowsocks-libev-3.3.5+ds/src/local.c-2032- shadowsocks-libev-3.3.5+ds/src/local.c:2033: if (ss_is_ipv6addr(local_addr)) shadowsocks-libev-3.3.5+ds/src/local.c-2034- LOGI("listening at [%s]:%s", local_addr, local_port_str); ############################################## shadowsocks-libev-3.3.5+ds/src/manager.c-1219- ss_addr_t ip_addr = { .host = NULL, .port = NULL }; shadowsocks-libev-3.3.5+ds/src/manager.c:1220: parse_addr(manager_address, &ip_addr); shadowsocks-libev-3.3.5+ds/src/manager.c-1221- ############################################## shadowsocks-libev-3.3.5+ds/src/netutils.c-88-int shadowsocks-libev-3.3.5+ds/src/netutils.c:89:parse_local_addr(struct sockaddr_storage *storage_v4, shadowsocks-libev-3.3.5+ds/src/netutils.c-90- struct sockaddr_storage *storage_v6, ############################################## shadowsocks-libev-3.3.5+ds/src/netutils.c-116-int shadowsocks-libev-3.3.5+ds/src/netutils.c:117:bind_to_addr(struct sockaddr_storage *storage, shadowsocks-libev-3.3.5+ds/src/netutils.c-118- int socket_fd) ############################################## shadowsocks-libev-3.3.5+ds/src/netutils.c-128-ssize_t shadowsocks-libev-3.3.5+ds/src/netutils.c:129:get_sockaddr(char *host, char *port, shadowsocks-libev-3.3.5+ds/src/netutils.c-130- struct sockaddr_storage *storage, int block, ############################################## shadowsocks-libev-3.3.5+ds/src/netutils.c-236-int shadowsocks-libev-3.3.5+ds/src/netutils.c:237:sockaddr_cmp_addr(struct sockaddr_storage *addr1, shadowsocks-libev-3.3.5+ds/src/netutils.c-238- struct sockaddr_storage *addr2, socklen_t len) ############################################## shadowsocks-libev-3.3.5+ds/src/netutils.c-306- memset(&storage, 0, sizeof(struct sockaddr_storage)); shadowsocks-libev-3.3.5+ds/src/netutils.c:307: if (get_sockaddr(servers[i].host, servers[i].port, &storage, 1, ipv6first) == -1) { shadowsocks-libev-3.3.5+ds/src/netutils.c-308- FATAL("failed to resolve the provided hostname"); ############################################## shadowsocks-libev-3.3.5+ds/src/netutils.h-79-size_t get_sockaddr_len(struct sockaddr *addr); shadowsocks-libev-3.3.5+ds/src/netutils.h:80:ssize_t get_sockaddr(char *host, char *port, shadowsocks-libev-3.3.5+ds/src/netutils.h-81- struct sockaddr_storage *storage, int block, ############################################## shadowsocks-libev-3.3.5+ds/src/netutils.h-88- shadowsocks-libev-3.3.5+ds/src/netutils.h:89:int parse_local_addr(struct sockaddr_storage *storage_v4, shadowsocks-libev-3.3.5+ds/src/netutils.h-90- struct sockaddr_storage *storage_v6, ############################################## shadowsocks-libev-3.3.5+ds/src/netutils.h-92- shadowsocks-libev-3.3.5+ds/src/netutils.h:93:int bind_to_addr(struct sockaddr_storage *storage, int socket_fd); shadowsocks-libev-3.3.5+ds/src/netutils.h-94- ############################################## shadowsocks-libev-3.3.5+ds/src/netutils.h-112- */ shadowsocks-libev-3.3.5+ds/src/netutils.h:113:int sockaddr_cmp_addr(struct sockaddr_storage *addr1, shadowsocks-libev-3.3.5+ds/src/netutils.h-114- struct sockaddr_storage *addr2, socklen_t len); ############################################## shadowsocks-libev-3.3.5+ds/src/redir.c-110-static int shadowsocks-libev-3.3.5+ds/src/redir.c:111:getdestaddr(int fd, struct sockaddr_storage *destaddr) shadowsocks-libev-3.3.5+ds/src/redir.c-112-{ ############################################## shadowsocks-libev-3.3.5+ds/src/redir.c-744- shadowsocks-libev-3.3.5+ds/src/redir.c:745: err = getdestaddr(serverfd, &destaddr); shadowsocks-libev-3.3.5+ds/src/redir.c-746- if (err) { ############################################## shadowsocks-libev-3.3.5+ds/src/redir.c-948- if (remote_num < MAX_REMOTE_NUM) { shadowsocks-libev-3.3.5+ds/src/redir.c:949: parse_addr(optarg, &remote_addr[remote_num++]); shadowsocks-libev-3.3.5+ds/src/redir.c-950- } ############################################## shadowsocks-libev-3.3.5+ds/src/redir.c-1219- memset(storage, 0, sizeof(struct sockaddr_storage)); shadowsocks-libev-3.3.5+ds/src/redir.c:1220: if (get_sockaddr(host, port, storage, 1, ipv6first) == -1) { shadowsocks-libev-3.3.5+ds/src/redir.c-1221- FATAL("failed to resolve the provided hostname"); ############################################## shadowsocks-libev-3.3.5+ds/src/redir.c-1265- memset(storage, 0, sizeof(struct sockaddr_storage)); shadowsocks-libev-3.3.5+ds/src/redir.c:1266: if (get_sockaddr(host, port, storage, 1, ipv6first) == -1) { shadowsocks-libev-3.3.5+ds/src/redir.c-1267- FATAL("failed to resolve the provided hostname"); ############################################## shadowsocks-libev-3.3.5+ds/src/server.c-173- ss_addr_t ip_addr = { .host = NULL, .port = NULL }; shadowsocks-libev-3.3.5+ds/src/server.c:174: parse_addr(manager_addr, &ip_addr); shadowsocks-libev-3.3.5+ds/src/server.c-175- ############################################## shadowsocks-libev-3.3.5+ds/src/server.c-209- memset(&storage, 0, sizeof(struct sockaddr_storage)); shadowsocks-libev-3.3.5+ds/src/server.c:210: if (get_sockaddr(ip_addr.host, ip_addr.port, &storage, 0, ipv6first) == -1) { shadowsocks-libev-3.3.5+ds/src/server.c-211- ERROR("failed to parse the manager addr"); ############################################## shadowsocks-libev-3.3.5+ds/src/server.c-277-static void shadowsocks-libev-3.3.5+ds/src/server.c:278:report_addr(int fd, const char *info) shadowsocks-libev-3.3.5+ds/src/server.c-279-{ ############################################## shadowsocks-libev-3.3.5+ds/src/server.c-482- if (res->ai_family == local_addr->ss_family) { shadowsocks-libev-3.3.5+ds/src/server.c:483: if (bind_to_addr(local_addr, sockfd) == -1) { shadowsocks-libev-3.3.5+ds/src/server.c-484- ERROR("bind_to_addr"); ############################################## shadowsocks-libev-3.3.5+ds/src/server.c-745- if (err == CRYPTO_ERROR) { shadowsocks-libev-3.3.5+ds/src/server.c:746: report_addr(server->fd, "authentication error"); shadowsocks-libev-3.3.5+ds/src/server.c-747- stop_server(EV_A_ server); ############################################## shadowsocks-libev-3.3.5+ds/src/server.c-751- if (server->frag > MAX_FRAG) { shadowsocks-libev-3.3.5+ds/src/server.c:752: report_addr(server->fd, "malicious fragmentation"); shadowsocks-libev-3.3.5+ds/src/server.c-753- stop_server(EV_A_ server); ############################################## shadowsocks-libev-3.3.5+ds/src/server.c-815- } else { shadowsocks-libev-3.3.5+ds/src/server.c:816: report_addr(server->fd, "invalid length for ipv4 address"); shadowsocks-libev-3.3.5+ds/src/server.c-817- stop_server(EV_A_ server); ############################################## shadowsocks-libev-3.3.5+ds/src/server.c-832- } else { shadowsocks-libev-3.3.5+ds/src/server.c:833: report_addr(server->fd, "invalid host name length"); shadowsocks-libev-3.3.5+ds/src/server.c-834- stop_server(EV_A_ server); ############################################## shadowsocks-libev-3.3.5+ds/src/server.c-865- if (!validate_hostname(host, name_len)) { shadowsocks-libev-3.3.5+ds/src/server.c:866: report_addr(server->fd, "invalid host name"); shadowsocks-libev-3.3.5+ds/src/server.c-867- stop_server(EV_A_ server); ############################################## shadowsocks-libev-3.3.5+ds/src/server.c-883- LOGE("invalid header with addr type %d", atyp); shadowsocks-libev-3.3.5+ds/src/server.c:884: report_addr(server->fd, "invalid length for ipv6 address"); shadowsocks-libev-3.3.5+ds/src/server.c-885- stop_server(EV_A_ server); ############################################## shadowsocks-libev-3.3.5+ds/src/server.c-896- if (offset == 1) { shadowsocks-libev-3.3.5+ds/src/server.c:897: report_addr(server->fd, "invalid address type"); shadowsocks-libev-3.3.5+ds/src/server.c-898- stop_server(EV_A_ server); ############################################## shadowsocks-libev-3.3.5+ds/src/server.c-906- if (server->buf->len < offset) { shadowsocks-libev-3.3.5+ds/src/server.c:907: report_addr(server->fd, "invalid request length"); shadowsocks-libev-3.3.5+ds/src/server.c-908- stop_server(EV_A_ server); ############################################## shadowsocks-libev-3.3.5+ds/src/server.c-1638- if (server_num < MAX_REMOTE_NUM) { shadowsocks-libev-3.3.5+ds/src/server.c:1639: parse_addr(optarg, &server_addr[server_num++]); shadowsocks-libev-3.3.5+ds/src/server.c-1640- } ############################################## shadowsocks-libev-3.3.5+ds/src/server.c-1642- case 'b': shadowsocks-libev-3.3.5+ds/src/server.c:1643: is_bind_local_addr += parse_local_addr(&local_addr_v4, &local_addr_v6, optarg); shadowsocks-libev-3.3.5+ds/src/server.c-1644- break; ############################################## shadowsocks-libev-3.3.5+ds/src/server.c-1766- if (is_bind_local_addr == 0) { shadowsocks-libev-3.3.5+ds/src/server.c:1767: is_bind_local_addr += parse_local_addr(&local_addr_v4, &local_addr_v6, conf->local_addr); shadowsocks-libev-3.3.5+ds/src/server.c-1768- } shadowsocks-libev-3.3.5+ds/src/server.c-1769- if (is_bind_local_addr == 0) { shadowsocks-libev-3.3.5+ds/src/server.c:1770: is_bind_local_addr += parse_local_addr(&local_addr_v4, &local_addr_v6, conf->local_addr_v4); shadowsocks-libev-3.3.5+ds/src/server.c:1771: is_bind_local_addr += parse_local_addr(&local_addr_v4, &local_addr_v6, conf->local_addr_v6); shadowsocks-libev-3.3.5+ds/src/server.c-1772- } ############################################## shadowsocks-libev-3.3.5+ds/src/server.c-1987- shadowsocks-libev-3.3.5+ds/src/server.c:1988: if (host && ss_is_ipv6addr(host)) shadowsocks-libev-3.3.5+ds/src/server.c-1989- LOGI("tcp server listening at [%s]:%s", host, port); ############################################## shadowsocks-libev-3.3.5+ds/src/server.c-2034- } shadowsocks-libev-3.3.5+ds/src/server.c:2035: if (host && ss_is_ipv6addr(host)) shadowsocks-libev-3.3.5+ds/src/server.c-2036- LOGI("udp server listening at [%s]:%s", host, port); ############################################## shadowsocks-libev-3.3.5+ds/src/ss-nat-96- *) shadowsocks-libev-3.3.5+ds/src/ss-nat:97: loger 3 "Illegal argument \`-a $LAN_AC_IP\`." shadowsocks-libev-3.3.5+ds/src/ss-nat-98- return 2 ############################################## shadowsocks-libev-3.3.5+ds/src/tunnel.c-737- struct sockaddr_in *s = (struct sockaddr_in *)remote_addr; shadowsocks-libev-3.3.5+ds/src/tunnel.c:738: if (s->sin_addr.s_addr == inet_addr("127.0.0.1")) shadowsocks-libev-3.3.5+ds/src/tunnel.c-739- not_protect = 1; ############################################## shadowsocks-libev-3.3.5+ds/src/tunnel.c-947- if (remote_num < MAX_REMOTE_NUM) { shadowsocks-libev-3.3.5+ds/src/tunnel.c:948: parse_addr(optarg, &remote_addr[remote_num++]); shadowsocks-libev-3.3.5+ds/src/tunnel.c-949- } ############################################## shadowsocks-libev-3.3.5+ds/src/tunnel.c-1180- // parse tunnel addr shadowsocks-libev-3.3.5+ds/src/tunnel.c:1181: parse_addr(tunnel_addr_str, &tunnel_addr); shadowsocks-libev-3.3.5+ds/src/tunnel.c-1182- ############################################## shadowsocks-libev-3.3.5+ds/src/tunnel.c-1279- memset(storage, 0, sizeof(struct sockaddr_storage)); shadowsocks-libev-3.3.5+ds/src/tunnel.c:1280: if (get_sockaddr(host, port, storage, 1, ipv6first) == -1) { shadowsocks-libev-3.3.5+ds/src/tunnel.c-1281- FATAL("failed to resolve the provided hostname"); ############################################## shadowsocks-libev-3.3.5+ds/src/tunnel.c-1320- memset(storage, 0, sizeof(struct sockaddr_storage)); shadowsocks-libev-3.3.5+ds/src/tunnel.c:1321: if (get_sockaddr(host, port, storage, 1, ipv6first) == -1) { shadowsocks-libev-3.3.5+ds/src/tunnel.c-1322- FATAL("failed to resolve the provided hostname"); ############################################## shadowsocks-libev-3.3.5+ds/src/udprelay.c-173-static int shadowsocks-libev-3.3.5+ds/src/udprelay.c:174:get_dstaddr(struct msghdr *msg, struct sockaddr_storage *dstaddr) shadowsocks-libev-3.3.5+ds/src/udprelay.c-175-{ ############################################## shadowsocks-libev-3.3.5+ds/src/udprelay.c-387- if (local_addr_v6.ss_family == AF_INET6) { shadowsocks-libev-3.3.5+ds/src/udprelay.c:388: if (bind_to_addr(&local_addr_v6, remote_sock) == -1) { shadowsocks-libev-3.3.5+ds/src/udprelay.c-389- ERROR("bind_to_addr"); ############################################## shadowsocks-libev-3.3.5+ds/src/udprelay.c-417- if (local_addr_v4.ss_family == AF_INET) { shadowsocks-libev-3.3.5+ds/src/udprelay.c:418: if (bind_to_addr(&local_addr_v4, remote_sock) == -1) { shadowsocks-libev-3.3.5+ds/src/udprelay.c-419- ERROR("bind_to_addr"); ############################################## shadowsocks-libev-3.3.5+ds/src/udprelay.c-957- shadowsocks-libev-3.3.5+ds/src/udprelay.c:958: if (get_dstaddr(&msg, &dst_addr)) { shadowsocks-libev-3.3.5+ds/src/udprelay.c-959- LOGE("[udp] unable to get dest addr"); ############################################## shadowsocks-libev-3.3.5+ds/src/utils.c-279-int shadowsocks-libev-3.3.5+ds/src/utils.c:280:ss_is_ipv6addr(const char *addr) shadowsocks-libev-3.3.5+ds/src/utils.c-281-{ ############################################## shadowsocks-libev-3.3.5+ds/src/utils.h-249- shadowsocks-libev-3.3.5+ds/src/utils.h:250:int ss_is_ipv6addr(const char *addr); shadowsocks-libev-3.3.5+ds/src/utils.h-251-char *get_default_conf(void);