Společnost Backblaze zveřejnila statistiky spolehlivosti pevných disků používaných ve svých datových centrech za rok 2025. Ke konci roku 2025 vlastnila 349 462 pevných disků. Průměrná AFR (Annualized Failure Rate), tj. pravděpodobnost, že disk během roku selže, byla 1,36 %. V roce 2024 to bylo 1,57 %. V roce 2023 to bylo 1,70 %. V roce 2022 to bylo 1,37 %.
Nástroj sql-tap je proxy mezi aplikací a databází, které zachytává všechny SQL dotazy a zobrazuje je v terminálovém rozhraní. Zde lze téměř v reálném čase zkoumat dotazy, sledovat transakce a spouštět SQL příkaz EXPLAIN. Podporované databázové systémy jsou pouze PostgreSQL a MySQL. Zdrojový kód je dostupný na GitHubu, pod licencí MIT.
Byla vydána nová verze 9.2 textového editoru Vim (Vi IMproved). Přináší vylepšené doplňování, podporu schránky ve Waylandu, podporu XDG Base Directory (konfigurace v $HOME/.config/vim), vylepšené Vim9 skriptování nebo lepší zvýrazňování změn. Vim zůstává charityware. Nadále vybízí k podpoře dětí v Ugandě. Z důvodu úmrtí autora Vimu Brama Moolenaara a ukončení činnosti jím založené charitativní organizace ICCF Holland projekt Vim navázal spolupráci s charitativní organizaci Kuwasha.
Byl představen editor MonoSketch, webová aplikace pro tvorbu diagramů, technických nákresů, flowchartů a různých dalších vizualizací, to vše jenom z ASCII znaků. Všechny operace běží pouze v prohlížeči uživatele a neprobíhá tedy žádné nahrávání dat na server. Zdrojový kód aplikace (drtivá většina Kotlin, žádné C#) je dostupný na GitHubu pod licencí Apache 2.0.
Byla vydána nová verze 3.7.0 multiplatformního svobodného frameworku pro zpracování obrazu G'MIC (GREYC's Magic for Image Computing, Wikipedie). Přehled novinek i s náhledy nových filtrů na PIXLS.US.
Všem na AbcLinuxu vše nejlepší k Valentýnu aneb Dni lásky ke svobodnému softwaru (I love Free Software Day, Mastodon, 𝕏).
Eric Migicovsky představil Pebble Emulator, tj. emulátor hodinek Pebble (PebbleOS) běžící ve webovém prohlížeči. Za 6 hodin jej napsal Claude Code. Zdrojové kódy jsou k dispozici na GitHubu.
Byla vydána nová verze 3.41 frameworku Flutter (Wikipedie) pro vývoj mobilních, webových i desktopových aplikací a nová verze 3.11 souvisejícího programovacího jazyka Dart (Wikipedie).
Rusko zcela zablokovalo komunikační platformu WhatsApp, řekl včera mluvčí Kremlu Dmitrij Peskov. Aplikace, jejímž vlastníkem je americká společnost Meta Platforms a která má v Rusku na 100 milionů uživatelů, podle Peskova nedodržovala ruské zákony. Mluvčí zároveň lidem v Rusku doporučil, aby začali používat domácí aplikaci MAX. Kritici tvrdí, že tato aplikace ruské vládě umožňuje lidi sledovat, což úřady popírají.
Před 34 lety, ve čtvrtek 13. února 1992, se tehdejší Česká a Slovenská Federativní Republika oficiálně (a slavnostně) připojila k Internetu.
ldapsearch -H ldaps://localhost:636 -x -D "uid=webuser,ou=people,dc=domain,dc=tld" -W -b "ou=users,dc=domain,dc=tld" "(uID=1011223)" "URL"PHP funkcia:
ldap_bind($ldap_conn, 'uid=webuser,ou=people,dc=domain,dc=tld', 'heslo')
$ldap_dn = 'ou=users,dc=domain,dc=tld';
$ldap_filter = "(uID=$uid)";
$ldap_attr = array('URL');
$ldap_search_result = ldap_search($ldap_conn, $ldap_dn, $ldap_filter, $ldap_attr);
skončí chybovou hláškou PHP Warning: ldap_search(): Search: No such object.
Pri debugovaní na strane servera som zistil, že PHP ldap_search() sa snaží ísť o úroveň vyššie (dc=domain,dc=tld) a neviem prečo.
Debug konzolového príkazu ldapsearch:
conn=1007 op=1 SRCH base="ou=users,dc=domain,dc=tld" scope=2 deref=0 filter="(uid=1011223)" conn=1007 op=1 SRCH attr=url => access_allowed: search access to "ou=users,dc=domain,dc=tld" "entry" requested => dn: [1] ou=users,dc=domain,dc=tld => acl_get: [1] matched => acl_get: [1] attr entry => acl_mask: access to entry "ou=users,dc=domain,dc=tld", attr "entry" requested => acl_mask: to all values by "uid=webuser,ou=people,dc=domain,dc=tld", (=0) <= check a_dn_pat: uid=webuser,ou=people,dc=domain,dc=tld <= acl_mask: [1] applying read(=rscxd) (stop) <= acl_mask: [1] mask: read(=rscxd) => slap_access_allowed: search access granted by read(=rscxd) => access_allowed: search access granted by read(=rscxd)Debug PHP funkcie ldap_search():
conn=1011 op=1 SRCH base="ou=users,dc=domain,dc=tld" scope=2 deref=0 filter="(uid=1011223)" conn=1011 op=1 SRCH attr=url => access_allowed: disclose access to "dc=domain,dc=tld" "entry" requested => dn: [1] ou=users,dc=domain,dc=tld => acl_get: [3] attr entry => acl_mask: access to entry "dc=domain,dc=tld", attr "entry" requested => acl_mask: to all values by "uid=webuser,ou=people,dc=domain,dc=tld", (=0) <= check a_dn_pat: cn=manager,dc=domain,dc=tld <= acl_mask: no more who clauses, returning =0 (stop) => slap_access_allowed: disclose access denied by =0 => access_allowed: no more rulesSkúšal som pridať oprávnenie disclose a dokonca read pre dc=domain,dc=tld. Výsledok bol, že som už nemal "access denied", ale nemal som ani očakávaný výsledok. Chyba v PHP bola stále tá istá (ldap_search(): Search: No such object). LDAP používateľ webuser má nastavené oprávnenie, že vie čítať iba dva atribúty uID a URL a to len zo stromu "ou=users,dc=domain,dc=tld". Defaultné ACL "access to * by users read" mám zakázané, lebo takto vedel webuser čítať aj iné atribúty. A možno tu je kameň úrazu. Podľa dokumentácie k OpenLDAP-u sa ACL spracúvajú v poradí ako sú napísané a ich spracovávanie končí pri prvej zhode (ak sa nepoužije break). ACL pre webuser-a bol ako prvý a "access to * by users read" ako posledný, ale aj tak vedel webuser vyčítavať atribúty, ktoré nemal. V prípade, že je aktívny "access to * by users read", tak to nemá nijaký vplyv na výsledok ldap_search(), v debug logoch síce nemám "access denied", ale nemám ani výsledok. Neviem ako si mám vysvetlovať slovo "stop" v logoch (napr.: acl_mask: [2] applying read(=rscxd) (stop)), či to znamená chybu alebo niečo iné. ACL z konfiguráku OpenLDAP-u:
access to dn.subtree="ou=users,dc=domain,dc=tld" attrs=uID,URL
by dn.exact="uid=webuser,ou=people,dc=domain,dc=tld" read
by * none
access to attrs=userPassword
by anonymous auth
by * none
access to *
by dn.exact="cn=Manager,dc=domain,dc=tld" write
# by users read
by * none
Skúšal som aj ldap_read() a ldap_list(), ktoré sa líšia v scope.
V oboch prípadoch (ldapsearch a ldap_search()) je bind úspešný, takže tam nie je problém.
Ešte skúsim novšiu verziu PHP (mám 5.3.3-7+squeeze26) napriek tomu privítam rady.
access to *
by dn.exact="cn=Manager,dc=domain,dc=tld" write
by dn.exact="cn=zzz,dc=domain,dc=tld" read
by users read
by * none
a objavilo sa to v debug logoch:
May 21 07:28:03 localhost slapd[11218]: <= check a_dn_pat: cn=manager,dc=domain,dc=tld May 21 07:28:03 localhost slapd[11218]: <= check a_dn_pat: cn=zzz,dc=domain,dc=tld May 21 07:28:03 localhost slapd[11218]: <= check a_dn_pat: usersInak, skúšal som PHP 5.6.9 na Windows s rovnakým neúspešným výsledkom.
Tiskni
Sdílej: