libhttp
libhttp copied to clipboard
IPv6 doesn't do throttling
The throttle functionality is triggered based on a uint32_t variable. Therefore it doesn't work with IPv6.
I am in the process of merging in one of my existing IPv6 libraries which I used for properiatary projects. and relicense it to MIT This library allows for conversions between IPv6 and a struct of two uint64_t values which together represent an 128 bit IPv6 address. Unfortunately uint128_t support is not universal yet which would make it a lot easier. The library also supports transparant IPv4 use in the ::FFFF:0:0/96 range and several compressed and uncompressed string notations of IPv6 addresses. All IP address level functionality in LibHTTP should be converted to using the two uint64_t struct to use it to manage throttling and access control.