Byl vydán Debian 13.6, tj. šestá opravná verze Debianu 13 s kódovým názvem Trixie a Debian 12.15, tj. poslední patnáctá opravná verze Debianu 12 s kódovým názvem Bookworm, k dispozici je LTS. Řešeny jsou především bezpečnostní problémy, ale také několik vážných chyb. Instalační média Debianu 13 a Debianu 12 lze samozřejmě nadále k instalaci používat. Po instalaci stačí systém aktualizovat.
V jádře Linux byla nalezena a v upstreamu již byla opravena kritická zranitelnost GhostLock aneb CVE-2026-43499. Lokálnímu uživateli umožňuje získat práva roota a také obejít kontejnerovou izolaci. Zranitelnost existovala v Linuxu 15 let, tj. od roku 2011, od Linuxu verze 2.6.39.
Evropská komise předběžně shledala, že návykový design aplikací Instagram a Facebook od americké společnosti Meta porušuje unijní nařízení o digitálních službách (DSA). Návykový design zahrnuje například takzvané nekonečné posouvání, automatické přehrávání videí, tzv. push notifikace, kdy aplikace uživatele vybízí k návratu do jejího prostředí, či vysoce personalizovaný algoritmus, který rychle pozná, co uživatele baví a snaží
… více »Byla vydána verze 1.97.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.
Švýcarská společnost Punkt. má nově v nabídce telefon Punkt. MC03. Telefon byl navržen ve Švýcarsku s důrazem na soukromí a digitální suverenitu a vyroben v Německu. V telefonu běží operační systém AphyOS (Apostrophy OS) založený na AOSP (Android Open Source Project) 15. Cena telefonu je 745 eur.
TypeScript (Wikipedie), tj. JavaScript rozšířený o statické typování a další atributy, byl vydán v nové verzi 7.0. Kompilátor byl kvůli výkonu přepsán z TypeScriptu do Go.
Europarlament podpořil pozměněnou verzi výjimky známé jako „chat control 1.0“ umožňující firmám skenovat soukromou komunikaci na internetu kvůli ochraně dětí před zneužitím. Pozměňovací návrhy přijaté europoslanci však počítají s tím, že z výjimky bude vyřazena šifrovaná komunikace. Výjimka přestala platit začátkem dubna poté, co se Evropský parlament a Rada EU nedokázaly shodnout na jejím prodloužení. Rada následně přijala
… více »Nejnovější X.Org X server 21.1.24 a Xwayland 24.1.13 řeší 2 bezpečnostní chyby.
Clement "Clem" Lefebvre publikoval souhrn dění v Linux Mintu za červen 2026. Vypíchnuta je vylepšená podpora Waylandu. Už není považována za experimentální. V příští verzi Linux Mintu, plánována je na Vánoce, bude běh Cinnamonu plně podporován na X11 i Waylandu. V květnu na vývoj Linux Mintu přispělo 611 dárců celkovou částkou 19 612 dolarů. Dalších 2 326 patronů přispělo na Patreonu celkovou částkou 5 334 dolarů.
V Linuxu v KVM byla nalezena a v upstreamu již byla opravena kritická zranitelnost Januscape aneb CVE-2026-53359. Root na hostovaném počítači (virtuální stroj) může obejít izolaci a získat plnou kontrolu nad hostitelským systémem (DoS útok nebo vzdálené spuštění kódu s právy roota). Na obou hlavních architekturách – Intel i AMD. Zranitelnost v Linuxu existovala téměř 16 let (od srpna 2010 do června 2026).
pokud neupresnite zadani dotazu (dalsi podrobnosti, zverejneni kodu...), do te doby se neda rozumne odpovedet
predpokladam, ze kod prilis dlouhy nebude - kdyz jsem sveho casu delal neco podobneho (jak klient, tak server) tak jsem se vesel radove do 8kB se serverem a asi 3kB klient (jen uloz stranku na disk)
jinak mne napada... zkousel jste komunikaci i s necim jinym? (jiny web server+Vas klient a vas server+jiny klient)? a podivat se primo na tu komunikaci... treba tcpdumpem
int main(){
int server_sock, client_sock;
int server_len, client_len;
struct sockaddr_in server_addr;
struct sockaddr_in client_addr;
char request[]="HTTP/1.0 200 OK\n\n"
"[html]
"[head]"
"[title]Download[/title]"
"[/head]"
"[body]"
"[table border=\"1\" cellpadding=\"6\" cellspacing=\"0\"]"
"[tr height=\"210\"]"
"[td width=\"210\" rowspan=\"2\"][img src=\"/home/honza/download/pinguin.png\" width=\"210\" height=\"210\" border=\"0\" name=\"Pinguin\"][/td]"
"[td width=\"500\"]"
"[p]zde stahujte..[a href=\"/home/honza/download/obrazek.png\" name=\"Pinguin\"]Pinguin[/a][/p]"
"[/td]"
"[/tr]"
"[/table]"
"[/body]"
"[/html]";
char answer[2000];
int received, sent;
int i=0,c;
FILE *input;
if((server_sock=socket(AF_INET, SOCK_STREAM, 0))==-1)
err_mess("Server soket nebyl spravne vytvoren!");
server_addr.sin_family=AF_INET;
server_addr.sin_addr.s_addr=htonl(INADDR_ANY);
server_addr.sin_port=htons(80); // 80 - http server => nutna prava roota!!!
server_len=sizeof(server_addr);
if((bind(server_sock, (struct sockaddr*) &server_addr, server_len))==-1)
err_mess("Adress not given (bind)");
if((listen(server_sock, 5))==-1) // 5 - delka fronty pozadavku na spojeni
err_mess("(listen)");
while(1){
printf("server waiting..\n");
client_len=sizeof(client_addr);
if((client_sock=accept(server_sock, (struct sockaddr*) &client_addr, &client_len))==-1)
err_mess("Connection not accepted!");
if((received=recv(client_sock, answer, sizeof(answer), 0))==-1)
err_mess("Cannot receive data!");
if((sent=send(client_sock, request, sizeof(request), 0))==-1)
err_mess("Data not sent!");
close(client_sock);
}
close(server_sock);
return (0);
}
posilate VZDY jen Vasi predpripravenou odpoved, bez ohledu na to, co po Vasem serveru chce klient
_uplne minimalni_ reseni je nacist a rozparsovat aspon prvni radek hlavicky (ve tvaru GET /dir1/dir2/soubor.xyz HTTP/1.0)
tim aspon zjistite, CO VLASTNE klient chce (nacist data, ulozit data..; a pak nazev souboru); a odpovedet podle toho. (aspon podporuju/nepodporuju metodu, nenalezl soubor, nalezl soubor, je tahle velky a posilam ho...) - sice to neodpovida RFC, ale jen pro pokusne odeslani souboru to staci.
jako odpoved jsem pro (podle mne platny) pozadavek posilal aspon:
HTTP/1.1 200 OK Server: (nejaky string) Accept-Ranges: bytes Content-Length: (delkasouboru) Connection: close Content-Type: (mime_typ) (a obsah vlastniho souboru)
ikdyz uznavam, sam jsem si take napsal svoji implementaci. a nakonec pouzivam jako server apache a na stahovani wget a curl
Accept-Ranges: bytesTo bych neposílal, tahle implementace nevypadá, že by uměla posílat na vyžádání části souborů
Podle me je to spatna logika. Html server je udelanej tak, ze posila klientovi soubory s tim, ze pres http protokol indikuje jaky. V praxi se to pouziva tak, ze kdyz zadas nejakou stranku, tak prohlizec ji stahne (tj posle serveru prikaz neco jako GET sss.com/stranka.html a ten posle zpatky odpoved Content type: html + nejake dalsi udaje + samotny textovy soubor se strankou) a analyzuje, v pripade ze na te strance nejsou odkazy tak neudela nic dalsiho, pokud tam najde odkazy (a,img,...) tak je postupne stahuje tim, stejnym zpusobem (posle serveru GET sss.com/obr.png a ten posle zpatky Content type: data (?) + delku atd + samotny obrazek) a az to klient obdrzi, tak ten obrazek zobrazi.
HTTP Made Really Easy
Tiskni
Sdílej: