Od soboty do úterý probíhá v Hamburku konference 39C3 (Chaos Communication Congress) věnovaná také počítačové bezpečnosti nebo hardwaru. Program (jiná verze) slibuje řadu zajímavých přednášek. Streamy a záznamy budou k dispozici na media.ccc.de.
Byl představen nový Xserver Phoenix, kompletně od nuly vyvíjený v programovacím jazyce Zig. Projekt Phoenix si klade za cíl být moderní alternativou k X.Org serveru.
XLibre Xserver byl 21. prosince vydán ve verzi 25.1.0, 'winter solstice release'. Od založení tohoto forku X.Org serveru se jedná o vůbec první novou minor verzi (inkrementovalo se to druhé číslo v číselném kódu verze).
Wayback byl vydán ve verzi 0.3. Wayback je "tak akorát Waylandu, aby fungoval Xwayland". Jedná se o kompatibilní vrstvu umožňující běh plnohodnotných X11 desktopových prostředí s využitím komponent z Waylandu. Cílem je nakonec nahradit klasický server X.Org, a tím snížit zátěž údržby aplikací X11.
Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.
Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.
Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.
Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.
Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.
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: