Boudhayan "bbhtt" Bhattcharya v článku Uzavření kapitoly o OpenH264 vysvětluje, proč bylo OpenH264 odstraněno z Freedesktop SDK.
Představeny byly nové verze AI modelů: DeepSeek V3-0324, Google Gemini 2.5 a OpenAI 4o Image Generation.
XZ Utils (Wikipedie) byly vydány ve verzi 5.8.0. Jedná se o první větší vydání od backdooru v XZ v loňském roce.
Byla vydána nová verze 0.40.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.
Byla vydána nová verze 2.20 svobodného video editoru Flowblade (GitHub, Wikipedie). Přehled novinek v poznámkách k vydání. Videoukázky funkcí Flowblade na Vimeu. Instalovat lze také z Flathubu.
LibrePCB, tj. svobodný multiplatformní softwarový nástroj pro návrh desek plošných spojů (PCB), byl vydán ve verzi 1.3.0. Přehled novinek v příspěvku na blogu a v aktualizované dokumentaci. Vypíchnut je interaktivní HTML BOM (Bill of Materials) a počáteční podpora Rustu. Zdrojové kódy LibrePCB jsou k dispozici na GitHubu pod licencí GPLv3.
Minulý měsíc Hector "marcan" Martin skončil jako upstream vývojář linuxového jádra i jako vedoucí projektu Asahi Linux. Vývoj Asahi Linuxu, tj. Linuxu pro Apple Silicon, ale pokračuje dál. Byl publikován březnový přehled dění a novinek z vývoje. Vývojáře lze podpořit na Open Collective.
Ruská firma Operation Zero nabízí až $4 miliony za funkčí exploit komunikační platformy Telegram. Nabídku učinila na platformě X. Firma je známá prodejem exploitů ruské vládě a soukromým společnostem. Další informace na securityweek.com.
Po 9 týdnech vývoje od vydání Linuxu 6.13 oznámil Linus Torvalds vydání Linuxu 6.14. Proč až v pondělí? V neděli prostě zapomněl :-). Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a Linux Kernel Newbies.
Konference LinuxDays 2025 proběhne o víkendu 4. a 5. října v Praze v areálu ČVUT v Dejvicích na FIT.
#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: