Open source download manager Fatrat povstal z popela. Autor k dvacetiletému výročí projektu přidal do vínku podporu nejnovější knihovny libtorrent, rozhraní portoval na QT6, došlo k nahrazení podpory java rozšíření pythonem. Webové rozhraní bylo přepsáno s podporou mobilních zařízení. Aplikaci je taktéž možno zkompilovat bez podpory GUI. Více informací v releases.
Zranitelnost Broccoli2Shell (CVE-2026-111497) v kompresní knihovně Brotli se netýká pouze Node.js. Ohroženy jsou také aplikace využívající HTTP. Knihovnu používají webové prohlížeče, servery i řada dalších aplikací a technologií, například také Python nebo Bun. Identifikace všech zranitelných komponent může být obtížná, protože knihovna bývá součástí dalších softwarových balíčků nebo je přímo začleněna do spustitelných souborů aplikací.
Quad9, švýcarský celosvětově působící neziskový poskytovatel DNS, od 24. listopadu 2026 ukončí své služby ve Francii kvůli soudnímu sporu s katarskou televizní stanicí beIN. Ta požadovala blokování domén, které podle ní nelegálně zpřístupňují sportovní přenosy. Francouzský soud Katarům vyhověl a nařídil (🇫🇷, PDF) Quad9 blokaci zavést, pod hrozbou pokuty 1000 eur denně. Provozovatel příkaz odmítá s tím, že blokace
… více »Článek na blogu APNIC vysvětluje, jak správně vytvářet a používat ASPA záznamy — podepsané objekty v RPKI, které uvádějí, kteří poskytovatelé směrování jsou pro dané autonomní číslo (ASN) oprávněni. Síťoví operátoři je mohou využít k ověřování tras BGP a k odhalování úniků tras či podvržených tras.
Byla vydána (𝕏) verze 8.0.0 open source programu pro prolamování hesel hashcat (GitHub, Wikipedie). Přehled novinek v příspěvku v diskusním fóru a pdf.
Byla vydána (𝕏, Bluesky) nová verze 2026.3 linuxové distribuce navržené pro digitální forenzní analýzu a penetrační testování Kali Linux (Wikipedie). Přehled novinek se seznamem 6 nových nástrojů v oficiálním oznámení na blogu.
Výzkumníci ukazují, jak mohou otevřené tunely a IPv6 Extension Headers synchronizovat pakety do krátkých provozních špiček. V kontrolovaném experimentu naměřili přes 180násobnou koncentraci paketového toku vůči průměrné rychlosti odesílání — nikoli 180násobné zvětšení objemu dat. Článek obsahuje metodiku, limity měření i mitigace pro GRE, IPIP a další tunely.
Po velkém úspěchu prvního MobileLinux Hackdaye se vracíme do Českých Budějovic s druhým ročníkem. V pátek 30. října 2026 od 10:00 se v prostorách Jihočeské univerzity uskuteční Embedded & MobileLinux Hackday #2. Těšit se můžete na témata jako Immutable Linux na telefonech (BengalOS), U-Boot a upstream vývoj, AI optimalizace pro embedded systémy nebo otevřený hardware. Nebude chybět praktické hackování, sdílení zkušeností a možnost … více »
Dne 21. října 2026 vydal projekt Node.js bezpečnostní aktualizace opravující deset zranitelností, včetně jedné umožňující potenciální vzdálené spuštění kódu (RCE). Nejzajímavější je CVE-2026-111497, chyba dekodéru Brotli, kterou objevili výzkumníci využívající OpenAI Codex Security. Chyba je v nativním dekodéru Brotli, nikoli v samotném JavaScriptu. Speciálně vytvořený komprimovaný vstup způsobí, že dekodér zamění
… více »Odkazy
NGINX je síce vynikajúci webserver, ale jeho autori akosi nemysleli na možnosť cross kompilácie. V dnešnom blogu sa teda pozrieme na to ako ho skompilovať aj napriek tomu ;)
Na rozdiel od väčšiny softvéru NGINX má vlastný build systém. Configure skript je tak veľmi malý a elegantný (žiaden strojovo generovaný humus). Na druhej strane daňou za to je fakt, že nepodporuje také vymoženosti ako je cross kompilácia.
Funkcionalita configure skriptu je ukrytá v adresári auto. Zisťovanie prítomnosti "fičúr" danej platformy rieši súbor auto/feature. Samotný test spúšťa tento riadok:
if sh -c $NGX_AUTOTEST >> $NGX_AUTOCONF_ERR 2>&1; then
Testy sú väčšinou natívne binárky spúšťané cez shell. Vlastnosti ako veľkosť jednotlivých dátových typov sa zisťuje priamo v C operátorom sizeof. Aby sa tento test vykonal musíme ho teda spustiť na cieľovej platforme. Na začiatok teda prepíšeme niektoré výskyty sh -c za auto/run (kompletný zoznam je v priloženej záplate pre nginx 1.6.0) a vytvoríme súbor auto/run, ktorý je vybrakovaný z tohto tutoriálu.
#!/bin/bash
basedir=$(dirname $(readlink -f $0))
keyfile=${basedir}/remote-ssh-key
logfile=${basedir}/run.txt
verbose=
if [ -f "${basedir}/remote" ] ; then
remote=$(<${basedir}/remote)
else
echo -n "Vzdialeny stroj (username@192.168.1.1): "
read remote
echo "$remote" > ${basedir}/remote
fi
if [ "$1" = "-v" ] ; then
verbose=1
shift
fi
if [ -z "$1" ] ; then
echo "Usage: $0 COMMAND ARG..."
exit 1
fi
set -e -u
if [ ! -f $keyfile ] ; then
echo "Generovanie kluca $keyfile" >> ${logfile}
ssh-keygen -f ${keyfile} -N ""
echo "Prenos kluca na vzdialeny system (zadajte prosim heslo)" >> ${logfile}
scp -q ${keyfile}.pub ${remote}:/tmp
echo "Pridanie kluca do authorized_keys (zadajte prosim heslo)" >> ${logfile}
ssh -q ${remote} "mkdir -p ~/.ssh; chmod 700 ~ ~/.ssh; cat /tmp/remote-ssh-key.pub >> ~/.ssh/authorized_keys;"
fi
if [ -x "$1" ] ; then
if [ -n "$verbose" ] ; then
echo "Copying $1 to $remote" >&2
else
echo "$(date) Copying $1 to $remote" >> ${logfile}
fi
scp -q -i ${keyfile} "$1" ${remote}:/tmp
remotename="/tmp/$(basename $1)"
shift
if [ -n "$verbose" ] ; then
echo "Vzdialene spustenie: ${remotename} $@" >&2
else
echo "$(date) Vzdialene spustenie: ${remotename} $@" >> ${logfile}
fi
ssh -q -i ${keyfile} ${remote} "${remotename} $@"
else
if [ -n "$verbose" ] ; then
echo "Vzdialene spustenie: $@" >&2
else
echo "$(date) Vzdialene spustenie: $@" >> ${logfile}
fi
ssh -q -i ${keyfile} ${remote} "$@"
fi
Po spustení configure (pekne dlhá chvíľa čakania lebo po každom teste sa musí nadviazať spojenie) a make by sme mali mať funkčný nginx skompilovaný cross kompilátorom.
$buildhost = "/home/mirec/buildroot-armhf/output/host" $sysroot = "$buildhost/usr/arm-buildroot-linux-gnueabihf/sysroot" export PKG_CONFIG="$buildhost/usr/bin/pkg-config" export PKG_CONFIG_LIBDIR="$sysroot/usr/lib/pkgconfig" export PKG_CONFIG_SYSROOT_DIR="$sysroot" export MAKEFLAGS=" -j3" export cc=$buildhost/usr/bin/arm-cortex_a8-linux-gnueabi-gcc export cpp=$buildhost/usr/bin/arm-cortex_a8-linux-gnueabi-cpp export cflags="_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -pipe -Os " export ldflags="" ./configure \ --with-cc=$cc \ --with-cpp=$cpp \ --with-cc-opt=$cflags \ --with-ld-opt=$ldflags \ --crossbuild=arm-buildroot-linux-gnueabihf
Tiskni
Sdílej:
pekne dlhá chvíľa čakania lebo po každom teste sa musí nadviazať spojenie
Tady by pomohlo ControlMaster – viz man ssh_config
Pravdu povediac stále si myslím, že je to o niekoľko tried lepšie než autotools.Na jednu stranu určitý odpor k autotools chápu, vzhledem k tomu, jaká je to bestie. Na druhou stranu jsem ještě nenarazil na jediný build systém pro software napsaný v céčku, který by se alespoň vzdáleně autotools vyrovnal a to bych byl moc rád, kdybych čistší náhradu do ruky dostal. Tím méně věřím tomu, že to bude platit pro cokoliv splácaného na koleni pro konkrétní software. Mezi další výhody autotools patří to, že na všechno, co kdy potřebuju najdu někde na webu příklad toho, jak to řešili jiní. A pak historická návaznost a rozšířenost, díky kterým package maintainer zvládá pracovat s libovolným na autotools založeným balíkem, aniž by musel řešit, co všechno je jinak (jako to třeba řeším u softwaru, který se builduje pomocí cmake).
Ak sa niečo pokašle u autotools tak to môžem max tak prepísať do iného build systémuMoje zkušenost je taková, že ač autotools nejsou zrovna hezké nástroje, build na nich založený se poladit dá a především člověk užije zkušenosti z jiných toolů. To, že někdo staví software nad cmake, budiž, ale netriviální buildsystém pro každý jednotlivý balík je podle mého skromného názoru prasárna a přidělává to práci spoustě nevinných lidí. Ale plusem je, že to alespoň používá
./configure a make.
Ja to poznám skôr z pohľadu vývojára. A ako vývojár hovorím že hoc je cmake hnusný aký je (nemám ho rád, dúfam, že som to dostatočne jasne vyjadril ;)) myslím, že je 100x lepší než autotools.
Minule som napr. s autotools riešil pridanie stemmera pre slovenčinu do xapian-u. No človek by si povedal, že holt jednoduchá záležitosť tak som to teda pridal na tých asi 10 miest kde som mal a jeje ono to autogen je trochu sviňa a ak nemá presnú stotinkovú verziu autotools / m4 / milion ďalších závislostí tak sa to rozsype ako čaj. Áno, configure skript funguje, ale vygenerovať nový configure skript je utrpenie. Inak nakoniec som to poriešil tak, že som kompiloval ručne (áno príkaz po príkaze som si pekne písal, skompiloval som to, už na to nechcem šahnuť).
Ja som tých rôznych build systémov (aj na kolene robených) videl dosť. Okrem nginx som naposledy upravoval napr. configure skript QtAV ... Pridával som tam podporu hw dekódera cedar. Vyhľadanie knižníc a hlavičkových súborov (aj so štúdiom ako celý ten ich na kolene zbúchaný systém funguje) mi zabralo 5 minút.
Ja to poznám skôr z pohľadu vývojára.Já to znám jak z pohledu vývojáře, tak z pohledu uživatele.
A ako vývojár hovorím že hoc je cmake hnusný aký je (nemám ho rád, dúfam, že som to dostatočne jasne vyjadril ;)) myslím, že je 100x lepší než autotools.Ani jako vývojář bych si nedovolil říct, že je jednoznačně lepší, natož stokrát, a chvílemi mám pocit, že je cmake nekompatibilní s dosavadní workflow úmyslně, jenom aby si autoři něco dokázali. A na vědomé neodůvodněně nekompatibilní změny jsem docela dost alergický. Při práci s balíky, co používají cmake, mám v jednom kuse pocit, že narážím na věci, které autotools zvládají bez problémů a cmake nikoliv.
vygenerovať nový configure skript je utrpenieVždyť se to dělá samo.
Vždyť se to dělá samo.
Kým nezačne vyhadzovať chyby syntaxe ktoré vznikli ktovie kde ;)