PHP bylo dlouho distribuováno pod vlastní licencí – s výjimkou částí spadajících pod licenci Zend Engine. Po několikaleté práci se povedlo PHP přelicencovat na 3bodovou licenci BSD.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za duben (YouTube). Na Linuxu je vedle Qt frontendu nově k dispozici také GTK4 / libadwaita frontend.
Neziskové průmyslové konsorcium Khronos Group vydalo verzi 3.1 specifikace OpenCL (Open Computing Language). OpenCL je průmyslový standard pro paralelní programování heterogenních počítačových systémů.
Homebridge pro integraci chytrých domácích zařízení byl vydán ve verzi 2.0.0. Nově vedle protokolu HomeKit Accessory Protocol (HAP) podporuje standard chytré domácnosti Matter.
Omarchy je linuxová distribuce s dlaždicovým správcem oken Hyprland. Založena je na Arch Linuxu. Vydána byla v nové verzi 3.7.0 - The Gaming Edition. Z novinek lze vypíchnout příkaz omarchy a celou řadu herních možností.
CyberChef byl vydán v nové major verzi 11. Přehled novinek v Changelogu. CyberChef je webová aplikace pro analýzu dat a jejich kódování a dekódování, šifrování a dešifrování, kompresi a dekompresi, atd. Často je využívaná při kybernetických cvičeních a CTF (Capture the Flag).
Byla vydána nová verze 2.4.67 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 11 zranitelností.
Brush (Bo(u)rn(e) RUsty SHell) je v Rustu napsaný shell kompatibilní s Bash (Bourne Again SHell). Vydána byla verze 0.4.0.
Google zveřejnil seznam 1 141 projektů (vývojářů) od 184 organizací přijatých do letošního, již dvaadvacátého, Google Summer of Code. Přihlášeno bylo celkově 23 371 projektů od 15 245 vývojářů ze 131 zemí.
Na čem pracovali vývojáři GNOME a KDE Plasma minulý týden? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.
Udělal jsem si program v C, který pouští na STDOUT, stejně jako třeba perlový script, Content-type: text/html\n\n a HTML kód. V prohlížeči by se měla zobrazit HTML stránka jako například od cgi scriptu v Perlu. Problém je popsán níže. Problém bych viděl v HTTP hlaviččce, ale nevím, kde přesně.
Pod Windows jsem program zkompiloval pomocí MinGW GCC, jako web server jsem použil balík Xampp (Apache2), zkompilovanou binárku jsem dal do cgi-bin a v IE/Firefoxu jsem zadal adresu na tu binárku. Zobrazila se mi HTML stránka tak, jak měla být z výstupu té binárky.
Pod Debianem jsem program zkompiloval pomocí GCC, HTTP server Apache2, otestoval jsem cgi-bin adresář scriptem v Perlu, který měl zobrazit stejnou stránku jako program. Perlový script i binárka měly koncovku .cgi (na woknech i na debianu). Binárku jsem dal do cgi-bin ke scriptu a pokusil se ji zobrazit pomocí IE a Firefoxu z Woken. Oba prohlížeče nabídly stažení souboru. Když jsem soubor dal stahnout, zjistil jsem, že v souboru je HTML tak, jak má být , ale oba prohlížeče ho považují za binárku. Taktéž se chová Elinks z localhostu toho debianu.
Očividně Apache na Debianu převzal výstup od programu a správně zpracoval, ale nějak špatně seřídil HTTP hlavičku. Jelikož má, nejen pod Debianem, Apache konfiguráky po celém /etc a nemá jich zrovna málo, tak nemám přehled, ve kterém bych mohl tohle chování upravit.
Řešení dotazu:
CGI adresář je nastavený správně... Perlový script pracoval jak má a byl ve stejném adresáři jako binárka, obojí mělo spustitelný příznak, stejná práva, práva v adresáři v pořádku. Obojí spuštěné z terminálu vyhodilo to samé a Apache zpracoval výstup z obou správně, akorát stránka z perlového scriptu se zobrazila jako stránka a stránka od binárky se stahla jako soubor, ve kterém bylo normal html a nic navíc.
a2enmod cgi ?NN
radius:/etc/apache2# a2enmod cgi Module cgi already enabledMám ho vypnout?
#!/usr/bin/perl
print "Content-type: text/plain\n\nHello!\n";
<stdio.h> nebyla zakázána
< za < a > za >. Ale pro kód delší než pár řádků je lepší příloha komentáře.
wget --save-headers http://url... a pozri aky Content-Type skutocne server posiela.
Tak na Debianu jsem to nevyřešil, ale na Archu stačilo udělat čistou instalaci, nastavit cgi-bin, přidat addhandler cgi-script, nastavit práva souboru a běhalo to, takže "chyba" byla asi někde ve změně konfigurace Apache pro Debian, nebo bylo potřeba přidat mime-type do mime.conf, což jsem nestihl zkontrolovat.
<řešení>Jsem blbec a neměl bych dělat s něčím, co neumím konfigurovat</řešení>
Tiskni
Sdílej: