Byla vydána nová verze 1.12.0 dynamického programovacího jazyka Julia (Wikipedie) určeného zejména pro vědecké výpočty. Přehled novinek v příspěvku na blogu a v poznámkách k vydání. Aktualizována byla také dokumentace.
V Redisu byla nalezena a v upstreamu již opravena kritická zranitelnost CVE-2025-49844 s CVSS 10.0 (RCE, vzdálené spouštění kódu).
Ministr a vicepremiér pro digitalizaci Marian Jurečka dnes oznámil, že přijme rezignaci ředitele Digitální a informační agentury Martina Mesršmída, a to k 23. říjnu 2025. Mesršmíd nabídl svou funkci během minulého víkendu, kdy se DIA potýkala s problémy eDokladů, které některým občanům znepříjemnily využití možnosti prokázat se digitální občankou u volebních komisí při volbách do Poslanecké sněmovny.
Společnost Meta představila OpenZL. Jedná se o open source framework pro kompresi dat s ohledem na jejich formát. Zdrojové kódy jsou k dispozici na GitHubu.
Google postupně zpřístupňuje českým uživatelům Režim AI (AI Mode), tj. nový režim vyhledávání založený na umělé inteligenci. Režim AI nabízí pokročilé uvažování, multimodalitu a možnost prozkoumat jakékoliv téma do hloubky pomocí dodatečných dotazů a užitečných odkazů na weby.
Programovací jazyk Python byl vydán v nové major verzi 3.14.0. Podrobný přehled novinek v aktualizované dokumentaci.
Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.
Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.14.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.
Byla vydána nová stabilní verze 6.10 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.
Ahoj, napadá vás, jak přepsat tohle pravidlo pro ip6tables?
iptables -t nat -A OUTPUT --destination localhost -p tcp --dport 80 -j REDIRECT --to-ports 8080 iptables -t nat -A OUTPUT --destination 10.0.0.1 -p tcp --dport 80 -j REDIRECT --to-ports 8080 iptables -t nat -A PREROUTING --destination 10.0.0.1 -p tcp --dport 80 -j REDIRECT --to-ports 8080
Cílem je přesměrování portů v rámci jednoho stroje (10.0.0.1) tak, aby služba mohla běžet na neprivilegovaném portu 8080 a klienti se mohli zvenku připojovat na standardní port 80.
Řešení dotazu:
Nebo tomu procesu nastavit capability CAP_NET_BIND_SERVICE, potom se bude moci povesit na privilegovany port i bez roota. Viz. man 7 capabilities
Zkoušel jsem tohle (jako root):
execcap cap_net_bind_service=eip /sbin/sucap franta franta /bin/nc6 -l -p80 Caps: =ep cap_net_bind_service+i Caps: = cap_net_bind_service+i [debug] uid:1000, real uid:1000 sucaps: capsetp: Operation not permitted sucap: child did not exit cleanly.
Což mi nefungovalo. A taky nevím, jak to bude, když budu tímhle způsobem potřebovat spustit bashový skript – tam bude potřeba, aby se práva dědila přes několik úrovní až k procesu, který má naslouchat na daném portu.
Na to by se mohlo víc hodit použití authbindu, ale ten zase neumí IPv6. Stáhnul jsem si jeho zdrojáky a pokoušel jsem se upravit libauthbind.c
, ale moc daleko jsem se nedostal. Buď se mi povedl segfault nebo jsem dostal:
$ authbind --deep nc6 -l -p80 nc6: bind to source :: 80 failed: No child processes
BTW: není tu nějaký znuděný céčkař, který nemá co na práci?
Já bych se vydal cestou kvalifikací – zjistit, proč to nefunguje.
Díval jsem se do odkazované dynamické knihovny a řádná úprava není záležitost pár řádků (řeší se tam přístupová pravidla na základě IP aritmetiky).
Zatím jsem přišel na náhradní řešení pomocí xinetd:
# default: on service http { flags = REUSE socket_type = stream wait = no user = root redirect = 127.0.0.1 8080 log_on_failure += USERID } # default: on service https { flags = REUSE socket_type = stream wait = no user = root redirect = 127.0.0.1 8181 log_on_failure += USERID }
ale to se mi nelíbí, protože webový server neví, jaká skutečná IP adresa se k němu připojuje (vidí jen 127.0.0.1).
Našel jsem řešení pomocí authbind, které by údajně mělo fungovat: How-to set up Glassfish 2 on Debian or Ubuntu, ale nefunguje. Viz Glassfish v3, port 80, & Authbind. Prý za to může Java, ale podle mého pozorování je to spíš chyba authbindu a jeho nespolupráce s IPv6.
authbind nc6 -l -p23 nc6: bind to source :: 23 failed: Permission denied
Ani netcatu se totiž nedaří naslouchat na privilegovaném portu, pokud se používá IPv6 (po zadání přízaku výše naslouchá jen na IPv4) – netcat umí naslouchat na privilegovaném portu na IPv4, nebo na neprivilegovaném na IPv4 i IPv6, ale kombinace privilegovaný port + IPv6 se zdá být smrtící.
ip6tables -t mangle -A PREROUTING -p tcp --dport 80 -j TPROXY --on-port 8080zdroj
Tiskni
Sdílej: