#MiniUPnPC 2.2.8 zmieniło niekompatybilnie API: funkcja `UPNP_GetValidIGD()` teraz automatycznie pobiera zewnętrzny adres IP i kopiuje go do nowych parametrów funkcji (czyniąc wołanie `UPNP_GetExternalIPAddress()` zbędnym). Przesunęły się też zwracane wartości (wzdych).
Przyszło więc mi trochę ożywić projekt #PSHS. Właśnie do #Gentoo trafiła wersja 0.4.3 z kilkoma istotnymi zmianami: zmianą licencji na GPL-2+, i przesunięciem zakresu wspieranych wersji MiniUPnPC, OpenSSL i libevent (usunięta wersja 0.4.2 przypadkiem zepsuła zgodność z libevent-2.1).
Przy okazji aktualizacji kodu do API #OpenSSL 3 (by pozbyć się nieaktualnych funkcji), odkryłem, że zatoczyło ono koło. OpenSSL 1.0 miało prostą funkcję `RSA_generate_key()`. Dla wersji 1.1, zastąpiłem ją złożoną, wręcz "surową" w użyciu `RSA_generate_key_ex()`. A w 3.0 dostajemy jeszcze prostsze `EVP_RSA_gen()`.
https://github.com/projg2/pshs/compare/v0.4.2...v0.4.3