Richard Hughes oznámil, že po společnostech Red Hat a Framework a organizacích OSFF a Linux Foundation, službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzorují také společnosti Dell a Lenovo. Do dnešního dne bylo díky LVFS provedeno více než 145 milionů aktualizací firmwarů od více než 100 různých výrobců na milionech linuxových zařízení.
Americké technologické společnosti Microsoft, Google a xAI souhlasily, že vládě Spojených států poskytnou přístup k novým modelům umělé inteligence (AI) před jejich uvedením na trh. Oznámila to americká vláda, která tak bude moci prověřit, zda modely nepředstavují hrozbu pro národní bezpečnost. Oznámení podtrhuje rostoucí obavy Washingtonu z rizik spojených s výkonnými AI systémy. Americké úřady chtějí v rámci předběžného přístupu
… více »Společnost Valve zveřejnila (GitLab) nákresy ovladače Steam Controller a puku. Pro všechny, kdo by jej chtěli hacknout nebo modifikovat, případně pro ně navrhnout nějaké příslušenství. Pod licencí Creative Commons (CC BY-NC-SA 4.0).
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í.
cat | reformime .... 4x se stejným souborem kvůli čtyřem hlavičkám mi přijde neefektivní ( emailů je kolem 180 GB ). Navíc jsem musel hlavičky stejně ošetřit pythonem (dekódovat).
Zkusil jsem tedy načtení hlaviček napsat kompletně v Pythonu. Python má nějaké rozšíření mail, ale nepřišel jsem mu na kloub, a způsoben, jakým jsem s ho snažil použít mi stále vyhazoval exceptions u dekódování "To :" ( tak jeden z 50-ti emailů mu neseděl .. ono to zlobilo i s tím reformime a následným dekódováním) ..
Tady chci představit mou práci (jsem pořád začátečník) požádat o korekce příp navrhnout jinou cestu.
předem díky.
Toto je jen funkce, která vytáhne hlavičky. na vzorku emailů se to chovalo korektně, ale možná narazím na nějaké exotické emaily, kde bude výsledek horší.
Funkce je lehce přizpůsobená z mail.headers (kde problém dělal použitý regulární výraz, jak jsem zjistil ) - regulární výraz je hahrazen otrockou smyčkou ..
def getheaders ( file_handler ):
headers={}
needed_headers = ["From: ", "To: ", "Subject: ", "Date: "]
we_read = False
for mail_line in file_handler:
if ( we_read == True ):
if( mail_line.startswith(' ') ):
cur_header += " "+mail_line.strip();
else:
headers[h] = cur_header[len(h):]
needed_headers.remove(h)
we_read = False
if ( we_read == False ):
for h in needed_headers:
if( mail_line.startswith( h ) ):
cur_header=mail_line.strip()
we_read = True
break
if( len(needed_headers) == 0 ):
break
#print "headers - TO: "
#print headers["To: "]
return headers
def get_headers2( file_handler ):
headers={}
needed_headers = ["From", "To", "Subject", "Date"]
msg = email.message_from_file( file_handler )
for h in needed_headers:
curr_header = email.header.decode_header( msg.get( h ) )
header_sections = [unicode(text, charset or 'ASCII', "ignore") for text, charset in curr_header ]
headers[ h ] = u"".join(header_sections)
mail_date = msg.get( "Date" )
if ( mail_date ):
tup_date = email.utils.parsedate_tz( mail_date )
if ( tup_date ):
ts_date = email.utils.mktime_tz( tup_date )
if ( ts_date ):
mail_date = datetime.datetime.fromtimestamp( ts_date ).strftime( '%Y-%m-%d %H:%M:%S' )
headers[ 'Date' ] = mail_date
return headers
Zpracování datumu je tam odbyté, ale nepotřebuji na sekundu přesně čas, tak jsem to víc neřešil..
Tiskni
Sdílej: