Dnes v 16:00 (14:00 UTC) budou opraveny 2 kritické zranitelnosti s CVSS 9.2 v PHP.
Nizozemská policie 13. října 2026 zabavila v datacentru Amsterdam Science Park server italského poskytovatele internetových služeb Autistici/Inventati (A/I), a to na základě americké žádosti o mezinárodní právní pomoc.… více »
Do 26. října do 18:00 běží na Steamu přehlídka nadcházejících her Festival Steam Next | říjen 2026 (YouTube) doplněná demoverzemi, přenosy a dalšími aktivitami. Demoverze lze hrát zdarma.
Čínská technologická společnost DeepSeek zveřejnila na GitHubu svůj framework DeepInfer, nástroj pro efektivní offline inferenci svého modelu DeepSeek-V4.1-Flash ve velkém měřítku. Software běží na Linuxu a nativně podporuje akcelerátory Nvidia ale i čipy Huawei Ascend 950. Jedná se pouze o samotný inferenční engine, ne kompletní produkční službu. Zdrojový kód je dostupný pod licencí Apache 2.0.
Německo-americká společnost Black Forest Labs představila FLUX 3 Image Klein, otevřený model s 5,6 miliardami parametrů pro tvorbu a úpravu obrázků. Dovede pracovat až s deseti referenčními snímky a zvládá generování v rozlišení až 4K, díky své menší velikosti ('klein' v němčině znamená 'malý') je model vhodný pro používání na běžných grafických kartách. Jedná se bohužel o cenzurovaný generativní model, z korpusu byl před trénováním
… více »Bylo vydáno OpenBSD 8.0. Se songem The Simps on AI.
Byla vydána nová verze 25.12.6 linuxové distribuce primárně určené pro routery a vestavěné systémy OpenWrt (Wikipedie). Opravena je řada zranitelností v základních síťových službách, které jsou ve výchozím nastavení aktivní a které lze zneužít na dálku. Důrazně je doporučena aktualizace.
Český projekt mapSTL.com promění vybrané místo na světě ve 3D mapu pro tisk, včetně měst, kopců a hor. Vytištěnou mapu můžete také pověsit na zeď jako obraz. STL i barevný 3MF stáhnete zdarma a bez registrace. Vyzkoušejte své oblíbené místo a podělte se o zpětnou vazbu.
#include < sys/socket.h >
#include < netinet/in.h >
#include < arpa/inet.h >
#include < stdio.h >
#include < stdlib.h >
int main(int argc, char *argv[])
{
struct in_addr addr;
unsigned char buf[sizeof(struct in6_addr)];
char str[INET6_ADDRSTRLEN];
if (argc<2)
{
fprintf(stderr, "IPv4 address required as an argument.\n");
exit(EXIT_FAILURE);
}
if (inet_aton(argv[1], &addr) == 0)
{
perror("inet_aton");
exit(EXIT_FAILURE);
}
if (inet_pton(AF_INET, argv[1], buf) != 1)
{
perror("inet_pton");
exit(EXIT_FAILURE);
}
if (inet_ntop(AF_INET6, buf, str, INET6_ADDRSTRLEN)==NULL)
{
perror("inet_ntop");
exit(EXIT_FAILURE);
}
printf("%s\n", str);
exit(EXIT_SUCCESS);
}
Řešení dotazu:
#define _GNU_SOURCE
#include < string.h>
#include < sys/socket.h>
#include < netinet/in.h>
#include < arpa/inet.h>
#include < stdio.h>
#include < stdlib.h>
#define IPV6_ADDRESS_SIZE sizeof(struct in6_addr)
int main(int argc, char *argv[])
{
struct in_addr addr;
unsigned char buf_v4[sizeof(struct in_addr)];
unsigned char buf_v6[IPV6_ADDRESS_SIZE] = {0};
unsigned char str[INET6_ADDRSTRLEN];
if (argc<2)
{
fprintf(stderr, "IPv4 address required as an argument.\n");
exit(EXIT_FAILURE);
}
if (inet_aton(argv[1], &addr) == 0)
{
perror("inet_aton");
exit(EXIT_FAILURE);
}
if (inet_pton(AF_INET, argv[1], buf_v4) != 1)
{
perror("inet_pton");
exit(EXIT_FAILURE);
}
*(buf_v6 + IPV6_ADDRESS_SIZE - 5) = 255;
*(buf_v6 + IPV6_ADDRESS_SIZE - 6) = 255;
mempcpy(buf_v6 + IPV6_ADDRESS_SIZE - 4, buf_v4, 4);
if (inet_ntop(AF_INET6, buf_v6, str, INET6_ADDRSTRLEN)==NULL)
{
perror("inet_ntop");
exit(EXIT_FAILURE);
}
printf("%s\n", str);
exit(EXIT_SUCCESS);
}
Tiskni
Sdílej: