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í.
Netwide Assembler (NASM) byl vydán v nové major verzi 3.00. Přehled novinek v poznámkách k vydání v aktualizované dokumentaci.
echo -e "givenName:: THVrYcWh\ngivenName:: VG9tw6HFoQo=\ngivenName:: THVrYcWh\ngivenName: Karel" | awk '{ v = "" } { if ($1 ~ "::") { "echo "$2" | base64 -d" | getline v; gsub (/::/, ":", $1); print $1, v } else { print $0 }}' givenName: Lukaš givenName: Tomáš givenName: givenName: KarelMáte někdo nějaké vysvětlení? Jak upravit skript, aby fungoval i v takovém případě podle očekávání? Díky
Řešení dotazu:
echo -e "givenName:: THVrYcWh\ngivenName:: VG9tw6HFoQo=\ngivenName:: THVrYcWh\ngivenName: Karel"|while read line; do items=(`echo $line`); define=${items[0]}; if [ "${define:10:1}" = ":" ]; then echo "${define:0:10} `echo ${items[1]}|base64 -d`"; else echo $line; fi; done
keys="givenExtra givenName"; echo -e "givenExtra:: THVrYcWh\ngivenName:: VG9tw6HFoQo=\ngivenName:: THVrYcWh\ngivenName: Karel"| while read line; do items=(`echo $line`); define=${items[0]}; for key in $keys; do if [ "$define" = "$key::" ]; then echo "$key: `echo ${items[1]}|base64 -d`"; break; fi if [ "$define" = "$key:" ]; then echo $line; break; fi; done; doneJednoriadková verzia:
keys="givenExtra givenName"; echo -e "givenExtra:: THVrYcWh\ngivenName:: VG9tw6HFoQo=\ngivenName:: THVrYcWh\ngivenName: Karel"| while read line; do items=(`echo $line`); define=${items[0]}; for key in $keys; do if [ "$define" = "$key::" ]; then echo "$key: `echo ${items[1]}|base64 -d`"; break; fi if [ "$define" = "$key:" ]; then echo $line; break; fi; done; done
S awk
:
echo -e 'givenName:: THVrYcWh\ngivenName:: VG9tw6HFoQo=\ngivenName:: THVrYcWh\ngivenName: Karel' \ | awk 'BEGIN { FS = "(\\s|:)+" OFS = ": " b64 = "base64 -d" } /^givenName::/ { print $2 |& b64 close(b64, "to") b64 |& getline $2 close(b64) } 1'
Bez awk
:
echo -e 'givenName:: THVrYcWh\ngivenName:: VG9tw6HFoQo=\ngivenName:: THVrYcWh\ngivenName: Karel' \ | while read gn name; do [[ "$gn" = *'::' ]] && echo "${gn::-1}" "$(base64 -d <<< "$name")" || echo "$gn" "$name" done
/bin/sh: 1: Syntax error: "|" unexpectedTakze zrovna prenositelne to moc neni..
Asi to špatně kopíruješ nebo máš špatný shell nebo obojí. Problém s řádkem začínajícím |
jistě není tak těžké vyřešit.
Druhé řešení (Bash) na givenName nezáleží.
První rešení (AWK) se dá snadno přiohnout, aby se klíč zachoval.
ADST="givenName:: THVrYcWh\ngivenName:: VG9tw6HFoQo=\ngivenName:: THVrYcWh\nsn:: VG9tw6HFoQo=\ngivenName: Karel\nsAMAccountName:: xIxlc8WlbcOtxZkK" echo -e "$ADST" \ | awk 'BEGIN { FS = ": "; OFS = ": "; b64 = "base64 -d" } { if ($1 ~ ":") { print $2 |& b64; close(b64, "to"); b64 |& getline $2; close(b64) }} { gsub (/:/, "", $1); print $1, $2 }'Předpokládám, že by to šlo vyřešit ještě elegantněji, ale na to už nestačí moje současné znalosti AWKu.
Tiskni
Sdílej: