Firma X zaslala předžalobní výzvu vývojáři projektu Nitter (Wikipedia), open-source alternativního frontendu k sociální síti X (ex-Twitter), a provozovatelům instancí jako XCancel, které umožňovaly číst příspěvky bez přihlášení, reklam a javascriptu. Údajně se dopouštějí „sběru dat“. Zdrojový kód Nitteru vývojář archivoval. Vývoj již dříve přerušil v roce 2024 po tehdejším omezení API X. X je dceřiná společnost SpaceXAI Elona Muska, provozující mj. kontroverzního chatbota Grok.
Bylo vydáno Ubuntu 26.04.1 LTS, tj. první opravné vydání Ubuntu 26.04 LTS s kódovým názvem Resolute Raccoon. Přehled novinek a oprav na Discourse.
Národní úřad pro kybernetickou a informační bezpečnost (NÚKIB) vydal Zprávu o stavu kybernetické bezpečnosti ČR za rok 2025 (pdf). Incidentů ubylo, sofistikovanost útočníků roste.
Open source softwarový stack AMD ROCm (Wikipedie) pro vývoj AI a HPC na GPU od AMD byl vydán v nové major verzi 10.0. S ROCm.AI. Přehled novinek v aktualizované dokumentaci.
Finanční skupina Partners se stala minulou neděli obětí kybernetického útoku, při kterém se útočníci dostali k některým osobním údajům klientů. Společnost o tom informovala ve čtvrtek. Ujišťuje, že peníze klientů nejsou v ohrožení. „Kybernetický útok zasáhl část IT infrastruktury naší společnosti. Ihned po zjištění útoku jsme s pomocí externích bezpečnostních odborníků začali intenzivně pracovat na minimalizaci škod. Útočníci se
… více »Americká technologická společnost Meta Platforms se dohodla, že zaplatí až zhruba 18 miliard dolarů (asi 373 miliard Kč) za mimosoudní urovnání sporu o závislosti dětí na sociálních sítích a provede významné změny pro jejich používání mladistvými. Téměř tři desítky států USA firmu v roce 2023 obvinily z toho, že sítě Facebook a Instagram vědomě navrhla tak, aby u dětí vyvolávaly závislost, a zatajovala tyto dopady před veřejností. Firma se
… více »Byl publikován aktuální přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Blíží se vydání podporující čipy M3. Vývojáře lze podpořit na GitHub Sponsors a Open Collective.
Kancelářský balík LibreOffice byl vydán ve verzi 26.8. Mimo jiné vylepšuje typografii a kompatibilitu s formáty MS Office, více v poznámkách k vydání.
Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 26.8. Přehled novinek v poznámkách k vydání.
Byla vydána nová verze 23.1.0, tj. první stabilní verze z nové řady 23.1.x, překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools, Libc++, Polly a Flang.
cat binc_ldapauth/src/binc_ldapauth.py
#!/usr/bin/python
'''
Created on Feb 12, 2010
@author: bartmann
'''
import os;
import string;
import sys;
import ldap;
import ldap.sasl;
class binc_ldapauth:
def __init__(self):
self.gssapi_auth=True;
def get_creds(self):
fd=os.fdopen(3,"r");
ncreds=os.read(3, 128);
creds=ncreds;
while(ncreds!=""):
ncreds=os.read(3, 128);
creds+=ncreds;
creds=creds.split("\0");
self.username=creds[0];
self.password=creds[1];
def auth(self):
ds = ldap.initialize("ldap://joomladev.dyndns.org");
ds.protocol_version=3;
if self.gssapi_auth==False:
try:
ds.simple_bind_s("uid="+self.username+",ou=people,dc=joomladev.dyndns,dc=org",self.password);
dn=string.replace(ds.whoami_s(),"dn:","");
except ldap.INVALID_CREDENTIALS:
return 1;
else:
try:
auth=ldap.sasl.gssapi();
ds.sasl_interactive_bind_s("",auth);
dn=string.replace(ds.whoami_s(),"dn:","");
if(ds.compare_s(dn,'uid',self.username)):
pass;
else:
return 1;
except ldap.INVALID_CREDENTIALS:
return 1;
os.environ["USER"]=self.username;
home=ds.search_s(dn,ldap.SCOPE_BASE,'(objectclass=person)',['homeDirectory']);
os.environ["HOME"]=home[0][1]["homeDirectory"][0];
shell=home=ds.search_s(dn,ldap.SCOPE_BASE,'(objectclass=person)',['loginShell']);
os.environ["SHELL"]=shell[0][1]["loginShell"][0];
gid=home=ds.search_s(dn,ldap.SCOPE_BASE,'(objectclass=person)',['gidNumber']);
os.setgid(int(gid[0][1]["gidNumber"][0]));
uid=home=ds.search_s(dn,ldap.SCOPE_BASE,'(objectclass=person)',['uidNumber']);
os.setuid(int(uid[0][1]["uidNumber"][0]));
os.chdir(os.environ["HOME"]);
os.execlp(sys.argv[1],sys.argv[1]);
if __name__ == '__main__':
lauth=binc_ldapauth();
lauth.get_creds();
lauth.auth();
a ten druhý autentifikuje přes PAM - k jeho funkci je nutné mít nainstalovaný PyPAM:
cat binc_pamauth/src/binc_pamauth.py
#!/usr/bin/python
'''
Created on Feb 12, 2010
@author: bartmann
'''
import os;
import sys;
import PAM;
import pwd;
class binc_pamauth:
def __init__(self):
self.gssapi_auth=True;
def get_creds(self):
fd=os.fdopen(3,"r");
ncreds=os.read(3, 128);
creds=ncreds;
while(ncreds!=""):
ncreds=os.read(3, 128);
creds+=ncreds;
creds=creds.split("\0");
self.username=creds[0];
self.password=creds[1];
def pam_conv(self,auth, query_list):
resp=[];
for (q, qtype) in query_list:
if qtype==PAM.PAM_PROMPT_ECHO_OFF :
resp.append((self.password,0));
else:
resp.append(('',0));
return resp;
def auth(self):
pam_auth = PAM.pam();
pam_auth.start("imap");
pam_auth.set_item(PAM.PAM_USER,self.username);
pam_auth.set_item(PAM.PAM_CONV,self.pam_conv);
try:
pam_auth.authenticate();
pam_auth.acct_mgmt();
except PAM.error:
return 1;
pw=pwd.getpwnam(self.username);
os.environ["USER"]=self.username;
os.environ["HOME"]=pw[5];
os.environ["SHELL"]=pw[6];
os.setgid(int(pw[3]));
os.setuid(int(pw[2]));
os.chdir(os.environ["HOME"]);
os.execlp(sys.argv[1],sys.argv[1]);
if __name__ == '__main__':
pauth=binc_pamauth();
pauth.get_creds();
pauth.auth();
Tiskni
Sdílej: