===========================================================
                                      .___ __  __   
          _________________  __ __  __| _/|__|/  |_ 
         / ___\_` __ \__  \ |  |  \/ __ | | \\_  __\
        / /_/  >  | \// __ \|  |  / /_/ | |  ||  |  
        \___  /|__|  (____  /____/\____ | |__||__|  
       /_____/            \/           \/           
              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);