FreeBSD odstranilo poslední GPL kód ze základního systému. Konkrétně dpv, libdpv, libfigpar a dialog. Instalátor před čtyřmi lety přešel z dialogu na bsddialog.
Sociální síti 𝕏 (dříve Twitter) má dnes 20 let. Pro veřejnost byla zpřístupněna 15. července 2006.
Insula Faktury je open source generátor faktur, který běží přímo ve webovém prohlížeči. Žádná registrace, žádné sledování, žádné omezení. Zdrojové kódy jsou k dispozici na Codebergu.
První Mobile Linux Hackday v Plzni, tj. komunitní setkání věnované Linuxu na mobilních zařízeních, proběhne 24. července od 10:00. Akce je otevřená všem zájemcům – od zvědavců po zkušené vývojáře. Dopoledne proběhnou přednášky Davida Heidelberga a Petra Hodiny o aktuálním stavu mobilního Linuxu: proč vůbec chtít tučňáka v kapse, jaké telefony jsou dnes dobře podporované a co taková podpora obnáší. Po obědě se zaměříme na konkrétní
… více »3D software Blender byl vydán ve verzi 5.2 s prodlouženou podporou. Videopředstavení na YouTube.
SketchForge 3D (GitHub, reddit) je open source 3D editor / CAD běžící ve webovém prohlížeči bez nutnosti účtu nebo cloudového úložiště. Inspirovaný byl Tinkercadem. Doporučena je lokální instalace.
Byla vydána nová verze 11.9 webového prohlížeče Midori (Wikipedie, GitHub). S novým centrem ovládání, pokročilejším blokováním reklam, optimalizací výkonu…
Na Crowd Supply běží kampaň na podporu open source čtečky elektronických knih Open Book Touch. Postavena je na ESP32-S3. Má 4,26palcový dotykový e-papírový displej s rozlišením 480×800 pixelů, podsvícení, slot na microSD kartu. Cena je 149 dolarů a poštovné 12 dolarů. Dodání je plánováno na duben 2027.
Na Humble Bundle běží akce Linux: All the Things by O'Reilly a Picos, HATs, and More by Raspberry Pi Press. Elektronické knihy lze koupit se slevou a současně podpořit organizace Code for America a Raspberry Pi Foundation.
FreeCAD (Wikipedie), tj. svobodný multiplatformní parametrický 3D CAD, má nový vtipný a současně užitečný doplněk Banana For Scale (GitHub). Aktuálně umožňuje do výkresu vložit banán nebo plechovku pro porovnání a určení měřítka.
Skupina zaměřená na koordinaci a shromažďování informací prospěšných projektu Multiplatformní přístup pro datové schránky.
| Založena: | 5. 10. 2009 |
| Členů: | 26 |
| Článků: | 0 |
| Wiki stránek: | 7 |
| Dotazů: | 22 |
| Akcí: | 0 |
| Čtenost: | 27 % |
| Skóre: | 19 |
Dostal jsem se k posílání zpráv do ISDS. Odeslal jsem zprávu s tímto dokumentem:
<dmFile dmMimeType="text/plain" dmFileMetaType="enclosure" dmFileDescr="Standard text">
<dmEncodedContent>SGVsbG8gV29ybGQhAA==
</dmEncodedContent>
</dmFile>
A nedovede si představit, co že mi přišlo za chybu:
Server did not accept message for vqbab52 on CreateMessage request (code=1214, message=Přípona souboru přiloženého k datové zprávě není v seznamu povolených přípon
Co to sakra je? Takhle si představují kontrolu na přípustné formáty? Od čeho máme atribut @dmMimeType? Proč si do @dmFileDescr nemůžu napsat, co chci, když i dokumentace říká:
může obsahovat jméno souboru, příp. jiný popis. Objeví se v seznamu příloh na portále
Tohle mi hlava nebere. Nevíte někdo, jak to tedy je? Znamená to, že si /etc/passwd přes ISDS nepošlu? A to jsem už překousl, že se příjemce nikde nedozví, v jaké znakové sadě je ten text.
code=1214, message=Obsah souboru přiloženého k datové zprávě neodpovídá příponě souboru. Tak buď jsem přehlédl něco fatálního já, nebo to mají nějaké rozbité oni.
To je divný. Kóduji ten text do MIME Base64 správně? Níže je požadavek, který selže. Nevidíte tam nějakou chybu?
SOAP request to sent to https://www.czebox.cz/DS/dz:
<?xml version="1.0" encoding="UTF-8"?>
<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
<Body>
<CreateMessage xmlns="http://isds.czechpoint.cz/v20">
<dmEnvelope>
<dmSenderOrgUnit/>
<dmSenderOrgUnitNum>42</dmSenderOrgUnitNum>
<dbIDRecipient>vqbab52</dbIDRecipient>
<dmRecipientOrgUnit/>
<dmRecipientOrgUnitNum/>
<dmToHands/>
<dmAnnotation>aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa</dmAnnotation>
<dmRecipientRefNumber/>
<dmSenderRefNumber/>
<dmRecipientIdent/>
<dmSenderIdent/>
<dmLegalTitleLaw/>
<dmLegalTitleYear/>
<dmLegalTitleSect/>
<dmLegalTitlePar/>
<dmLegalTitlePoint/>
<dmPersonalDelivery/>
<dmAllowSubstDelivery/>
<dmOVM/>
</dmEnvelope>
<dmFiles>
<dmFile dmMimeType="text/plain" dmFileMetaType="main" dmFileDescr="standard_text.txt">
<dmEncodedContent>SGVsbG8gV29ybGQhAA==
</dmEncodedContent>
</dmFile>
</dmFiles>
</CreateMessage>
</Body>
</Envelope>
$ echo "SGVsbG8gV29ybGQhAA==" | base64 -d | od -c 0000000 H e l l o W o r l d ! \0 0000015
dmFileDescr - název vloženého souboru, povinný údaj, objeví se na Portále v seznamu písemností. Z jeho přípony Portál usuzuje na typ souboru a umožňuje provést další akce, např. umožnit odeslání k autorizované konverzi pro soubor typu PDF.V té dokumentaci je spousta nesrovnalostí, u podepsané přijaté zprávy má být jmenný prostor podle dokumentace "isds.czebox.cz/v20/message", ve skutečnosti je "http://isds.czechpoint.cz/v20/message". Kvalifikovaná časová značka podání zprávy není v dokumentaci nijak specifikována, ale jedná se o RFC 3161. Něco málo o tom jsem napsal na wiki.
No je to naprosté diletanství. To by mohli @dmMimeType rovnou zrušit. Nikde není seznam jediných správných přípon. Zvláštní jmenný prostor pro podepsané obálky je taky hloupost, protože ten podpis je nad obálkou a jmenný prostor identifikuje druh dat (obálka jako obálka), nikoliv jakousi externí vlastnost – být podepsán.
Ale i takový jev, že zpráva má jiný tvar podle toho, jestli se odesílá, přijímá nebo se stahuje doručenka, mi pije krev. Vždyť všechno mohla být formálně stejná zpráva a do ní jen přilepovat nové údaje, podle toho, jak se mění její stav (podaná, doručená, přijatá).
S tím souvisí moje otázka: Jak jste řešil lokální ukládání? Já jsem původně chtěl poskytnout aplikaci syrové SOAP tělo, jenže protože různé požadavky vrací stejnou zprávu jinak, tak jsem to zavrhl. Ve čtvrté příloze je formát ESS. Má smysl se s ním lopotit? Nechce se mi vymýšlet další formát, kterému by rozuměl jen můj program.
Dalším extrabuřtem je jiný formát pro informace o schránce ve zprávě a v informacích o schránce. Opět to jsou stejné údaje, jen pro potěšení spisových služeb, aby se nemuseli s těmito údaji formátovat, jim tyto údaje předžvýká ISDS. Takže z přijaté zprávy nelze strojově zjistit, kdo a komu ji poslal. Přitom stačilo do zprávy nastrkat dbOwnerInfo.
Je-li u písemnosti specifikován mime-type, nesmí být na seznamu zakázaných mime-typů, který v současnosti obsahuje: application/x-zip-compressed a application/x-msdownload.
Přípona jméno souboru tvořícího písemnost, se v této verzi musí vyskytovat na seznamu povolených přípon, který zahrnuje: pdf, xml, fo, zfo, html, htm, odt, ods, odp, txt, rtf, doc, xls, ppt, jpg, jpeg, jfif, png, tiff, gif, mpeg1 mpeg2, wav, mp2, mp3. Nově byly přidány: cer, crt, der, pk7 - formáty certifikátů dle X509; p7b, p7c, p7f, p7m, p7s - formáty certifikátů a elektronických podpisů dle PKCS#7, tst – časové razítko. Skutečná struktura souboru a její shoda se strukturou odpovídající příponě se v současné verzi nekontroluje, ale plánuje se do budoucna.
Ten první odstavec ohledně MIME typů je silně zavádějící, MIME type je povinný, zpráva bez něj neprojde a přijaté zprávy ho nemusí splňovat (třeba odpovědi testovacích schránek mají MIME type "pdf", ne správný "aplication/pdf"). Na tom jejich nepřehledném helpdesku někdo odpovídal, že ta povinost specifikace MIME typů se týká jen testovacích schránek a v produkčním prostředí se zatím ignoruje. Shoda přípon dokumentů s obsahem se již provádí, např. nelze odeslat textový dokument se znaky 0x0.
Také by mně zajímalo, z jakého důvodu nejsou podporované komprimované soubory?Ten odlišný jmenný prostor jsem pochopil jaku hack pro ten jejich XML Form Filler, aby ji mohl otevřít, neboť v dokumentaci se píše:
Obsah zprávy po odstranění podpisu je totožný s popisem u MessageDownload, pouze s odlišným namespace „isds.czebox.cz/v20/message“. Pokud budete validovat výsledné XML proti XSD, musíte řetězec „/message“ odmazat.
Staženou podepsanou zprávu umí 602XMLFiller analyzovat a otevřít (díky namespace). Přitom zobrazí údaje o podpisu a o časovém razítku. Aplikace třetích stran mohou pro totéž použít např. MS Crypto API pro Windows nebo OpenSSL API pro Linux. Stažená zpráva NENÍ ve formátu fo nebo zfo (XML formulář), jedná se pouze o XML data.
Jak budu řešit ukládání zpráv? Dobrý dotaz. Napadají mě dvě řešení, buď ukládat zprávu i s binární obálkou podpisu ve formátu PKCS#7 nebo výsledný XML dokument po odstranění této obálky, ten neobsahuje SOAP tělo. Do obsahu zprávy přitom nebudu nijak zasahovat, jmenné prostory ponechám. Zprávy pro archivaci budu stahovat službou SignedMessageDownload.
U toho SOAPu a služby MessageDownload je problém s tím, že nesmím porušit fyzickou strukturu dokumentu kvůli výpočtu haše zprávy a ověření časového razítka, takže bych tu zprávu musel ukládat i se SOAP tělem, tak jak ji dostanu, což nedává moc smysl nebo tu SOAP tělo odstranit a přitom ponechat fyzickou strukturu zprávy, což je problém.
Protože zbaběle utekly od XMLdsigu, tak se to bohužel jinak udělat nedá. Když aplikace poskytne zprávu, kterou si někdo někde ukuchtil, tak nebude sedět hash. Prostě to bude zodpovědnost aplikace.
„Rozepsanou“ zprávu prostě nebude možné ověřit. Respektive zpráva bude považována za netotožnou. Jinak bych musel simulovat pochody ISDS (a dělat takové úchylárny jako je doplňování nedefinovaného čísla organizační jednotky na nulu) se všemi jeho chybami.
Tiskni
Sdílej: