Proběhla hackerská soutěž Pwn2Own Ireland 2025. Celkově bylo vyplaceno 1 024 750 dolarů za 73 unikátních zranitelností nultého dne (0-day). Vítězný Summoning Team si odnesl 187 500 dolarů. Shrnutí po jednotlivých dnech na blogu Zero Day Initiative (1. den, 2. den a 3. den) a na YouTube.
Byl publikován říjnový přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Pracuje se na podpoře M3. Zanedlouho vyjde Fedora Asahi Remix 43. Vývojáře lze podpořit na Open Collective a GitHub Sponsors.
Iniciativa Open Device Partnership (ODP) nedávno představila projekt Patina. Jedná se o implementaci UEFI firmwaru v Rustu. Vývoj probíhá na GitHubu. Zdrojové kódy jsou k dispozici pod licencí Apache 2.0. Nejnovější verze Patiny je 13.0.0.
Obrovská poptávka po plynových turbínách zapříčinila, že datová centra začala používat v generátorech dodávajících energii pro provoz AI staré dobré proudové letecké motory, konvertované na plyn. Jejich výhodou je, že jsou menší, lehčí a lépe udržovatelné než jejich průmyslové protějšky. Proto jsou ideální pro dočasné nebo mobilní použití.
Typst byl vydán ve verzi 0.14. Jedná se o rozšiřitelný značkovací jazyk a překladač pro vytváření dokumentů včetně odborných textů s matematickými vzorci, diagramy či bibliografií.
Specialisté společnosti ESET zaznamenali útočnou kampaň, která cílí na uživatele a uživatelky v Česku a na Slovensku. Útočníci po telefonu zmanipulují oběť ke stažení falešné aplikace údajně od České národní banky (ČNB) nebo Národní banky Slovenska (NBS), přiložení platební karty k telefonu a zadání PINu. Malware poté v reálném čase přenese data z karty útočníkovi, který je bezkontaktně zneužije u bankomatu nebo na platebním terminálu.
V Ubuntu 25.10 byl balíček základních nástrojů gnu-coreutils nahrazen balíčkem rust-coreutils se základními nástroji přepsanými do Rustu. Ukázalo se, že nový "date" znefunkčnil automatickou aktualizaci. Pro obnovu je nutno balíček rust-coreutils manuálně aktualizovat.
VST 3 je nově pod licencí MIT. S verzí 3.8.0 proběhlo přelicencování zdrojových kódů z licencí "Proprietary Steinberg VST3 License" a "General Public License (GPL) Version 3". VST (Virtual Studio Technology, Wikipedie) je softwarové rozhraní pro komunikaci mezi hostitelským programem a zásuvnými moduly (pluginy), kde tyto moduly slouží ke generování a úpravě digitálního audio signálu.
Open source 3D herní a simulační engine Open 3D Engine (O3DE) byl vydán v nové verzi 25.10. Podrobný přehled novinek v poznámkách k vydání.
V Londýně probíhá dvoudenní Ubuntu Summit 25.10. Na programu je řada zajímavých přednášek. Zhlédnout je lze také na YouTube (23. 10. a 24. 10.).
WebAppContext metodu addHandler(), takže stačí do příslušného <context>.xml dopsat pár řádků, jak je uvedeno např. na http://docs.codehaus.org/display/JETTY/Logging+Requests dole.
U verze 7 třída WebAppContext metodu addHandler() nemá, takže tento postup nefunguje. Tuto metodu jsem ale našel u třídy HandlerCollection, ovšem nevím, jak to do konfiguračního souboru zakomponovat. Navíc se zdá, že instance HandlerCollection je společná pro třídu Server, takže nevím, zda je vhodné/možné tam přidávat handlery pro jednotlivé webapps. Nebo je třeba založit vlastní instanci?
Jsem zmaten a google nepomáhá. Našel jsem pár podobných otázek, ale bez odpovědi.
Řešení dotazu:
ContextHandler, do něj vložte HandlerCollection, který postupně zavolá všechny vložené handlery bez ohledu na výsledek předchozího handleru, a do něj vložte postupně WebAppContext a po něm RequestLogHandler.
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
<Configure class="org.eclipse.jetty.server.handler.ContextHandler">
<Set name="contextPath">/</Set>
<Set name="resourceBase">
<SystemProperty name="jetty.home" default="."/>/webapps/neco.cz
</Set>
<Set name="virtualHosts">
<Array type="java.lang.String">
<Item>local.neco.cz</Item>
</Array>
</Set>
<New class="org.eclipse.jetty.server.handler.HandlerCollection">
<Call name="addHandler">
<Arg>
<New class="org.eclipse.jetty.server.handler.RequestLogHandler">
<Set name="requestLog">
<New id="RequestLogImpl" class="org.eclipse.jetty.server.NCSARequestLog">
<Arg>
<SystemProperty name="jetty.logs" default="./logs"/>/yyyy_mm_dd-neco.cz-request.log
</Arg>
<Set name="retainDays">90</Set>
<Set name="append">true</Set>
<Set name="extended">true</Set>
<Set name="logCookies">false</Set>
<Set name="LogTimeZone">GMT</Set>
</New>
</Set>
</New>
</Arg>
</Call>
</New>
<New class="org.eclipse.jetty.webapp.WebAppContext">
</New>
</Configure>
Nejen, že to neloguje (resp. ani soubor pro log neotevře), ale navíc místo obsahu patřičného virtualhosta posílá obsah default contextu.
Zkoušel jsem <Set name="virtualHosts"> ... přmístit do WebAppContext, ale výsledek je stejný.
Přiznávám, že některá zákoutí konfigurace jetty jsou pro mne zatím španělská vesnice, hodně tápu. A dokumentace se mi zdá na rozdíl od jiných projektů dost neuchopitelná.
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure.dtd">
<Configure class="org.eclipse.jetty.server.handler.ContextHandler">
<Set name="contextPath">/</Set>
<Set name="virtualHosts">
<Array type="java.lang.String">
<Item>local.neco.cz</Item>
</Array>
</Set>
<Set name="handler">
<New class="org.eclipse.jetty.server.handler.HandlerCollection">
<Call name="addHandler">
<Arg>
<New class="org.eclipse.jetty.webapp.WebAppContext">
<Set name="contextPath">/</Set>
<Set name="resourceBase">
<SystemProperty name="jetty.home" default="."/>/webapps/neco.cz
</Set>
</New>
</Arg>
</Call>
<Call name="addHandler">
<Arg>
<New class="org.eclipse.jetty.server.handler.RequestLogHandler">
<Set name="requestLog">
<New id="RequestLogImpl" class="org.eclipse.jetty.server.NCSARequestLog">
<Arg>
<SystemProperty name="jetty.logs" default="./logs"/>/yyyy_mm_dd-neco.cz-request.log
</Arg>
<Set name="retainDays">90</Set>
<Set name="append">true</Set>
<Set name="extended">true</Set>
<Set name="logCookies">false</Set>
<Set name="LogTimeZone">GMT</Set>
</New>
</Set>
</New>
</Arg>
</Call>
</New>
</set>
</Configure>
index.jsp, ale dostanu java.lang.StackOverflowError. Pokud napíšu úplnou cestu, je to v pořádku. To už je ale jiný problém, mrknu na to zítra (zřejmě chybí nastavení, které jsem předtím odněkud dědil).
... at org.eclipse.jetty.server.Dispatcher$ForwardAttributes.setAttribute(Dispatcher.java:474) at org.eclipse.jetty.server.Dispatcher$ForwardAttributes.removeAttribute(Dispatcher.java:495) at org.eclipse.jetty.server.Dispatcher$ForwardAttributes.setAttribute(Dispatcher.java:474) at org.eclipse.jetty.server.Dispatcher$ForwardAttributes.removeAttribute(Dispatcher.java:495) at org.eclipse.jetty.server.Dispatcher$ForwardAttributes.setAttribute(Dispatcher.java:474) at org.eclipse.jetty.server.Dispatcher$ForwardAttributes.removeAttribute(Dispatcher.java:495) at org.eclipse.jetty.server.Dispatcher$ForwardAttributes.setAttribute(Dispatcher.java:474) at org.eclipse.jetty.server.Dispatcher$ForwardAttributes.removeAttribute(Dispatcher.java:495) at org.eclipse.jetty.server.Request.removeAttribute(Request.java:1371) at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:212) at org.eclipse.jetty.server.Dispatcher.forward(Dispatcher.java:115) ...Metoda
removeAttribute(name) volá setAttribute(name, null) a ta při splnění určitých podmínek (které jsou v tomto případě evidentně splněny) volá opět removeAttribute(name).
Podle dalšího pohledu do zdrojáku se zdá, že pravou příčinou je zajímavě okomentovaný řádek:
request.removeAttribute(__JSP_FILE); // TODO remove when glassfish 1044 is fixed
Takže jsem asi narazil na chybu, která vznikla ja dočasný workaround chyby 1044 v Glassfish.
A teď, babo raď...
__JSP_FILE s tím nesouvisí. Pokud používáte nějakou starší verzi, zkuste nejnovější stabilní, a jinak napište, jakou verzi používáte – protože tohle spíš vypadá na chybu v Jetty (kdyby to byla chyba v konfiguraci, muselo by se to zacyklit už dřív).
Tiskni
Sdílej: