Byla vydána (𝕏) nová verze 24.7 open source firewallové a routovací platformy OPNsense (Wikipedie). Jedná se o fork pfSense postavený na FreeBSD. Kódový název OPNsense 24.7 je Thriving Tiger. Přehled novinek v příspěvku na fóru.
Binarly REsearch upozorňuje na bezpečnostní problém PKFail (YouTube) v ekosystému UEFI. Stovky modelů zařízení používají pro Secure Boot testovací Platform Key vygenerovaný American Megatrends International (AMI) a jeho privátní část byla při úniku dat prozrazena. Do milionů zařízení (seznam v pdf) po celém světě tak útočníci mohou do Secure Bootu vložit podepsaný malware. Otestovat firmware si lze na stránce pk.fail. Ukázka PoC na Linuxu na Windows na YouTube.
Mobilní operační systém /e/OS (Wikipedie) založený na Androidu / LineageOS, ale bez aplikací a služeb od Googlu, byl vydán ve verzi 2.2 (Mastodon, 𝕏). Přehled novinek na GitLabu. Vypíchnuta je rodičovská kontrola.
Společnost OpenAI představila vyhledávač SearchGPT propojující OpenAI modely umělé inteligence a informace z webů v reálném čase. Zatím jako prototyp pro vybrané uživatele. Zapsat se lze do pořadníku čekatelů.
Distribuce Linux Mint 22 „Wilma“ byla vydána. Je založená na Ubuntu 24.04 LTS, ale s desktopovým prostředím Cinnamon (aktuálně verze 6.2), příp. MATE nebo Xfce, balíkem aplikací XApp, integrací balíčků Flatpak a dalšími změnami. Více v přehledu novinek a poznámkách k vydání.
Příspěvek na blogu Truffle Security: Kdokoli může přistupovat ke smazaným a privátním repozitářům na GitHubu.
Byla vydána nová verze 14 integrovaného vývojového prostředí (IDE) Qt Creator. Podrobný přehled novinek v cgitu. Vypíchnout lze podporu rozšíření v Lua.
Byla vydána verze 1.80.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
Apple oznámil, že v beta verzi spustil své Apple Maps na webu. Podporován je také webový prohlížeč Chrome. Ne však na Linuxu.
Portál Stack Overflow po roce opět vyzpovídal své uživatele, jedná se především o vývojáře softwaru, a zveřejnil detailní výsledky průzkumu. Průzkumu se letos zúčastnilo více než 65 tisíc vývojářů. Z Česka jich bylo 710. Ze Slovenska 246.
count_patch=1 for i in $patch/*.patch do if [ -f "$i" ]; then patch[$count_patch]=$(basename "$i" .patch) echo ${patch[$count_patch]} ((count_patch+=1)) amount_patch=$count_patch fi done echo $amount_patch count_source2=1 for i in $po_kde4_new/*.1 do if [ -f "$i" ]; then source2[$count_source2]=$(basename "$i" .1) echo ${source2[$count_source2]} ((count_source2+=1)) amount_source2=$count_source2 fi done echo $amount_source2 count_source1=1 for i in $po_kde3_new/*.1 do if [ -f "$i" ]; then source1[$count_source1]=$(basename "$i" .1) echo ${source1[$count_source1]} ((count_source1+=1)) amount_source1=$count_source1 fi done while [ $amount_patch -gt 0 ] do amount_source1=$count_source1 echo $amount_source1 while [ $amount_source1 -gt 0 ] do amount_source1=$count_source1 if [[ $(echo ${patch[$count_patch]}) = $(echo ${source1[$count_source1]}) ]]; then amount_source2=$count_source2 while [ $amount_source2 -gt 0 ] do if [[ $(echo ${source1[$count_source1]}) != $(echo ${source2[$count_source2]}) ]]; then cp ${source1[$count_source1]}.1 ${patch[$count_patch]}.patch $skladiste fi ((amount_source2-=1)) done fi ((amount_source1-=1)) done ((amount_patch-=1)) doneJe tam dost chyb. Mimo jine nevim, jak zajistit aby byla dodrzena podminka, ze soubor o stejnem nazvu nesmi byt v "source2". To co tam mam je vylozene blbe. Navic mi pri porovnani tech array vraci obe polozky prazdny retezec. Nemuzete mi poradit, jak to zprovoznit? Pres array to byt nemusi. Jde mi spis o funkcnost a nic lepsiho me nenapadlo. Dekuju za jakoukoliv radu.
#!/bin/sh PATCH=./patch SRC1=./src1 SRC2=./src2 IFS=$'\n' patchs=( $(find "$PATCH" -type f -name "*.patch" -print0 | xargs -0 -n 1 -i basename '{}' .patch ) ) srcs1=( $(find "$SRC1" -type f -name "*.c" -print0 | xargs -0 -n 1 -i basename '{}' .c ) ) srcs2=( $(find "$SRC2" -type f -name "*.c" -print0 | xargs -0 -n 1 -i basename '{}' .c ) ) # echo "${#srcs1[*]}" # echo "${srcs1[*]}" # subory, ktore su v SRC1 a aj v SRC2 tmp1=( $(echo -e "${srcs1[*]}\n${srcs2[*]}" | sort | uniq -d) ) # echo "${#tmp1[*]}" # echo "${tmp1[*]}" # subory, ktore su v SRC1, ale nie su v SRC2 tmp2=( $(echo -e "${srcs1[*]}\n${tmp1[*]}\n${tmp1[*]}" | sort | uniq -u) ) # echo "${#tmp2[*]}" # echo "${tmp2[*]}" # subory, ktore su v PATCH a SRC1 tmp3=( $(echo -e "${patchs[*]}\n${tmp2[*]}" | sort | uniq -d) ) echo "${#tmp3[*]}" echo "${tmp3[*]}"
echo "${tmp3[*]}"
(teda len názov súboru, ale nie je problém tomu pridať adresár a príponu).
Ja som mal skôr na mysli to, že ak tie názvy súborov budú obsahovať znak "\n", tak to nebude fungovať (a asi si to neporadí ani s veľmi veľkým počtom súborov).
for i in ${tmp3[*]} do echo "$PATCH/$i.patch" echo "$SRC1/$i.c" done
Tiskni
Sdílej: