Loading mdig/mdig.c +1 −1 Original line number Diff line number Diff line Loading @@ -87,7 +87,7 @@ static bool dom_valid(char *dom) static void invalid_domain_beautify(char *dom) { for (int i = 0; *dom && i < 64; i++, dom++) if (*dom < 0x20 || *dom>0x7F) *dom = '?'; if (*dom < 0x20 || *dom<0) *dom = '?'; if (*dom) *dom = 0; } Loading nfq/helpers.c +2 −32 Original line number Diff line number Diff line Loading @@ -13,7 +13,7 @@ int unique_size_t(size_t *pu, int ct) { int i, j, u; size_t i, j, u; for (i = j = 0; j < ct; i++) { u = pu[j++]; Loading Loading @@ -477,43 +477,13 @@ bool set_env_exedir(const char *argv0) if ((s = strdup(argv0))) { if ((d = dirname(s))) setenv("EXEDIR",s,1); bOK = !setenv("EXEDIR",d,1); free(s); } return bOK; } static void mask_from_preflen6_make(uint8_t plen, struct in6_addr *a) { if (plen >= 128) memset(a->s6_addr,0xFF,16); else { uint8_t n = plen >> 3; memset(a->s6_addr,0xFF,n); memset(a->s6_addr+n,0x00,16-n); a->s6_addr[n] = (uint8_t)(0xFF00 >> (plen & 7)); } } struct in6_addr ip6_mask[129]; void mask_from_preflen6_prepare(void) { for (int plen=0;plen<=128;plen++) mask_from_preflen6_make(plen, ip6_mask+plen); } #if defined(__GNUC__) && !defined(__llvm__) __attribute__((optimize ("no-strict-aliasing"))) #endif void ip6_and(const struct in6_addr * restrict a, const struct in6_addr * restrict b, struct in6_addr * restrict result) { // int128 requires 16-bit alignment. in struct sockaddr_in6.sin6_addr is 8-byte aligned. // it causes segfault on x64 arch with latest compiler. it can cause misalign slowdown on other archs // use 64-bit AND ((uint64_t*)result->s6_addr)[0] = ((uint64_t*)a->s6_addr)[0] & ((uint64_t*)b->s6_addr)[0]; ((uint64_t*)result->s6_addr)[1] = ((uint64_t*)a->s6_addr)[1] & ((uint64_t*)b->s6_addr)[1]; } void str_cidr4(char *s, size_t s_len, const struct cidr4 *cidr) { char s_ip[16]; Loading nfq/helpers.h +0 −12 Original line number Diff line number Diff line Loading @@ -118,15 +118,3 @@ void str_cidr6(char *s, size_t s_len, const struct cidr6 *cidr); void print_cidr6(const struct cidr6 *cidr); bool parse_cidr4(char *s, struct cidr4 *cidr); bool parse_cidr6(char *s, struct cidr6 *cidr); static inline uint32_t mask_from_preflen(uint32_t preflen) { return preflen ? preflen<32 ? ~((1 << (32-preflen)) - 1) : 0xFFFFFFFF : 0; } void ip6_and(const struct in6_addr * restrict a, const struct in6_addr * restrict b, struct in6_addr * restrict result); extern struct in6_addr ip6_mask[129]; void mask_from_preflen6_prepare(void); static inline const struct in6_addr *mask_from_preflen6(uint8_t preflen) { return ip6_mask+preflen; } nfq/nfqws.c +0 −1 Original line number Diff line number Diff line Loading @@ -2304,7 +2304,6 @@ int main(int argc, char **argv) #endif srandom(time(NULL)); mask_from_preflen6_prepare(); PRINT_VER; Loading nfq/params.c +2 −2 Original line number Diff line number Diff line Loading @@ -289,14 +289,14 @@ struct desync_profile_list *dp_list_add(struct desync_profile_list_head *head) dp_init(&entry->dp); // add to the tail struct desync_profile_list *dpn,*dpl=LIST_FIRST(¶ms.desync_profiles); struct desync_profile_list *dpn,*dpl=LIST_FIRST(head); if (dpl) { while ((dpn=LIST_NEXT(dpl,next))) dpl = dpn; LIST_INSERT_AFTER(dpl, entry, next); } else LIST_INSERT_HEAD(¶ms.desync_profiles, entry, next); LIST_INSERT_HEAD(head, entry, next); return entry; } Loading Loading
mdig/mdig.c +1 −1 Original line number Diff line number Diff line Loading @@ -87,7 +87,7 @@ static bool dom_valid(char *dom) static void invalid_domain_beautify(char *dom) { for (int i = 0; *dom && i < 64; i++, dom++) if (*dom < 0x20 || *dom>0x7F) *dom = '?'; if (*dom < 0x20 || *dom<0) *dom = '?'; if (*dom) *dom = 0; } Loading
nfq/helpers.c +2 −32 Original line number Diff line number Diff line Loading @@ -13,7 +13,7 @@ int unique_size_t(size_t *pu, int ct) { int i, j, u; size_t i, j, u; for (i = j = 0; j < ct; i++) { u = pu[j++]; Loading Loading @@ -477,43 +477,13 @@ bool set_env_exedir(const char *argv0) if ((s = strdup(argv0))) { if ((d = dirname(s))) setenv("EXEDIR",s,1); bOK = !setenv("EXEDIR",d,1); free(s); } return bOK; } static void mask_from_preflen6_make(uint8_t plen, struct in6_addr *a) { if (plen >= 128) memset(a->s6_addr,0xFF,16); else { uint8_t n = plen >> 3; memset(a->s6_addr,0xFF,n); memset(a->s6_addr+n,0x00,16-n); a->s6_addr[n] = (uint8_t)(0xFF00 >> (plen & 7)); } } struct in6_addr ip6_mask[129]; void mask_from_preflen6_prepare(void) { for (int plen=0;plen<=128;plen++) mask_from_preflen6_make(plen, ip6_mask+plen); } #if defined(__GNUC__) && !defined(__llvm__) __attribute__((optimize ("no-strict-aliasing"))) #endif void ip6_and(const struct in6_addr * restrict a, const struct in6_addr * restrict b, struct in6_addr * restrict result) { // int128 requires 16-bit alignment. in struct sockaddr_in6.sin6_addr is 8-byte aligned. // it causes segfault on x64 arch with latest compiler. it can cause misalign slowdown on other archs // use 64-bit AND ((uint64_t*)result->s6_addr)[0] = ((uint64_t*)a->s6_addr)[0] & ((uint64_t*)b->s6_addr)[0]; ((uint64_t*)result->s6_addr)[1] = ((uint64_t*)a->s6_addr)[1] & ((uint64_t*)b->s6_addr)[1]; } void str_cidr4(char *s, size_t s_len, const struct cidr4 *cidr) { char s_ip[16]; Loading
nfq/helpers.h +0 −12 Original line number Diff line number Diff line Loading @@ -118,15 +118,3 @@ void str_cidr6(char *s, size_t s_len, const struct cidr6 *cidr); void print_cidr6(const struct cidr6 *cidr); bool parse_cidr4(char *s, struct cidr4 *cidr); bool parse_cidr6(char *s, struct cidr6 *cidr); static inline uint32_t mask_from_preflen(uint32_t preflen) { return preflen ? preflen<32 ? ~((1 << (32-preflen)) - 1) : 0xFFFFFFFF : 0; } void ip6_and(const struct in6_addr * restrict a, const struct in6_addr * restrict b, struct in6_addr * restrict result); extern struct in6_addr ip6_mask[129]; void mask_from_preflen6_prepare(void); static inline const struct in6_addr *mask_from_preflen6(uint8_t preflen) { return ip6_mask+preflen; }
nfq/nfqws.c +0 −1 Original line number Diff line number Diff line Loading @@ -2304,7 +2304,6 @@ int main(int argc, char **argv) #endif srandom(time(NULL)); mask_from_preflen6_prepare(); PRINT_VER; Loading
nfq/params.c +2 −2 Original line number Diff line number Diff line Loading @@ -289,14 +289,14 @@ struct desync_profile_list *dp_list_add(struct desync_profile_list_head *head) dp_init(&entry->dp); // add to the tail struct desync_profile_list *dpn,*dpl=LIST_FIRST(¶ms.desync_profiles); struct desync_profile_list *dpn,*dpl=LIST_FIRST(head); if (dpl) { while ((dpn=LIST_NEXT(dpl,next))) dpl = dpn; LIST_INSERT_AFTER(dpl, entry, next); } else LIST_INSERT_HEAD(¶ms.desync_profiles, entry, next); LIST_INSERT_HEAD(head, entry, next); return entry; } Loading