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.
diff -Nurd linux.orig/drivers/char/keyboard.c linux/drivers/char/keyboard.c --- linux.orig/drivers/char/keyboard.c Mon Oct 16 21:58:51 2000 +++ linux/drivers/char/keyboard.c Fri Sep 21 17:58:10 2001 @@ -151,7 +151,7 @@ /* N.B. drivers/macintosh/mac_keyb.c needs to call put_queue */ void put_queue(int); -static unsigned char handle_diacr(unsigned char); +static ushort handle_diacr(unsigned char); /* kbd_pt_regs - set by keyboard_interrupt(), used by show_ptregs() */ struct pt_regs * kbd_pt_regs; @@ -541,12 +541,24 @@ static void do_self(unsigned char value, char up_flag) { + ushort v; if (up_flag) return; /* no action, if this is a key release */ - if (diacr) - value = handle_diacr(value); - + if (diacr) { + v = handle_diacr(value); + if (kbd->kbdmode == VC_UNICODE) { + to_utf8(v & 0xFFFF); + return; + } + + /* + * this makes at least latin-1 compose chars work + * even when using unicode keymap in non-unicode mode + */ + value = v & 0xFF; + + } if (dead_key_next) { dead_key_next = 0; diacr = value; @@ -582,18 +594,18 @@ if (up_flag) return; - diacr = (diacr ? handle_diacr(value) : value); + diacr = (diacr ? (handle_diacr(value) & 0xFF) : value); } /* * We have a combining character DIACR here, followed by the character CH. - * If the combination occurs in the table, return the corresponding value. + * If the combination occurs in the table, return the corresponding UCS2 value. * Otherwise, if CH is a space or equals DIACR, return DIACR. * Otherwise, conclude that DIACR was not combining after all, * queue it and return CH. */ -unsigned char handle_diacr(unsigned char ch) +ushort handle_diacr(unsigned char ch) { int d = diacr; int i; diff -Nurd linux.orig/include/linux/kd.h linux/include/linux/kd.h --- linux.orig/include/linux/kd.h Sat Jun 24 06:31:24 2000 +++ linux/include/linux/kd.h Fri Sep 21 17:52:54 2001 @@ -115,7 +115,8 @@ #define KDSKBSENT 0x4B49 /* sets one function key string entry */ struct kbdiacr { - unsigned char diacr, base, result; + unsigned char diacr, base; + unsigned short int result; /* holds UCS2 value */ }; struct kbdiacrs { unsigned int kb_cnt; /* number of entries in following array */
Tiskni
Sdílej: