abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

    dnes 09:00 | Bezpečnostní upozornění

    Vývojáři C-Kermit oznámili několik dlouhodobě přítomných zranitelností. Patří mezi ně buffer overflow v Telnet/FTP klientovi a command injection v Kermit serveru. Dotčené verze: C-Kermit 11.0.514 a starší. Fix: 11.1.515 [oss-security].

    vencour | Komentářů: 0
    dnes 02:44 | Nová verze

    Byla vydána nová verze 3.2.8 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání a v souboru NEWS na GitLabu. Nový GIMP je již k dispozici také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    včera 16:55 | Nová verze

    Projekt openSUSE dnes, 3. listopadu 2026, oficiálně vydal openSUSE Leap 16.1, novou verzi své stabilní linuxové distribuce. Novinkou je také Immutable Mode, který nahrazuje dosavadní samostatnou distribuci openSUSE Leap Micro. Podrobnosti o novém vydání najdete v oficiálním oznámení nebo v českém překladu oznámení. Instalační obrazy jsou již dostupné na get.opensuse.org. Vydání společně oslavíme v pátek ve virtuálním baru a na … více »

    lkocman | Komentářů: 0
    včera 16:00 | Nová verze

    Bylo oznámeno vydání Fedora Linuxu 45. Ve finální verzi vychází šest oficiálních edic: Fedora Workstation a Fedora KDE Plasma Desktop pro desktopové, Fedora Server pro serverové, Fedora Cloud pro cloudové nasazení, Fedora CoreOS pro ty, kteří preferují neměnné systémy a Fedora IoT pro internet věcí. Vedle nich jsou k dispozici také další atomické desktopy, spiny a laby. Podrobný přehled novinek v samostatných článcích na stránkách

    … více »
    Ladislav Hagara | Komentářů: 1
    včera 15:44 | Zajímavý článek

    Vědci z MIT CSAIL představili koncept 'weight-space programming' a názorně předvedli, že pokročilé jazykové modely SI dokážou přímo číst a upravovat váhy neuronových sítí. Studie ukazuje, že modely nejen dokážou identifikovat účel sítí z pouhého nahlédnutí do jejich číselných vah, ale mohou i cíleně opravovat chyby a nedostatky, například GPT-6 Astra se změnou pouhých 0,016% vah open-weight modelu Qwen3.5-0.8B podařilo odstranit

    … více »
    👻 | Komentářů: 4
    včera 14:00 | Komunita

    Organizátoři komunitního setkání nejen českých a slovenských správců sítí CSNOG 2027, které se uskuteční 20. a 21. ledna na půdě zlínské univerzity Tomáše Bati, oznámili prodloužení termínu pro zasílání abstraktů do programu akce. Zájemci se mohou hlásit prostřednictvím webu setkání do úterý 10. listopadu. Programová komise uvítá příspěvky věnované nejen správě sítí, ale také legislativě a regulaci nebo síťařským aktivitám studentů a pedagogů.

    VSladek | Komentářů: 0
    včera 13:55 | IT novinky

    Bylo spuštěno předobjednávání zařízení Flipper One s Linuxem. Za 20 dolarů si lze koupit kupón a zajistit si tím speciální cenu 379 dolarů po spuštění kampaně na Kickstarteru.

    Ladislav Hagara | Komentářů: 0
    včera 12:44 | Nová verze

    Tor Browser, tj. fork webového prohlížeče Mozilla Firefox s integrovaným klientem sítě Tor přednastavený tak, aby přes tuto síť bezpečně komunikoval, byl vydán ve verzi 16.0. Postaven je na Firefoxu ESR 153. Vydána byla také nová verze 7.16 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. S Tor Browserem 16.0.

    Ladislav Hagara | Komentářů: 0
    včera 04:00 | Nová verze

    FreeTube, desktopový klient pro YouTube využívající lokální API, byl vydán ve verzi 0.26.0. Toto velké opravné vydání mj. vrací částečnou podporu živých přenosů nebo přepracovává zobrazování titulků a obecně nastavení videa v přehrávači – FreeTube umožňuje např. přehrávat video s větším zrychlením.

    ʚĭɞ 🍉 | Komentářů: 1
    včera 03:55 | Humor

    Další vlna kyberútoků zasáhla chladicí zařízení supermarketů v sedmi evropských zemích, Belgii, Lucembursku, Švédsku, Nizozemsku, Irsku, Estonsku a Finsku. Mrazáky se v některých prodejnách opět 'proměnily v trouby' a zahřály až na 50°C, což pochopitelně vedlo ke znehodnocení uskladněných potravin. Útoky navazují na podobný incident ve Francii z první poloviny října letošního roku, pachatel stále není znám.

    👻 | Komentářů: 9
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (30%)
     (9%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2972 hlasů
     Komentářů: 34, poslední 26.10. 08:24
    Rozcestník

    Dotaz: kqueue ve FreeBSD cloexec

    26.12.2015 12:08 Jiří
    kqueue ve FreeBSD cloexec
    Přečteno: 823×
    Nevíte, jestli kqueue() vrací deskriptor, co je automaticky označen close-on-exec? Nikde o tom nemůžu najít žádnou zmíňku a přijde mi divné, kdyby nebylo, znemožňovalo by to použití tohoto volání ve vícevláknovém programu. Děkuji.

    Odpovědi

    27.12.2015 12:47 BS
    Rozbalit Rozbalit vše Re: kqueue ve FreeBSD cloexec
    Zrovna sedím u FreeBSD mašiny, takže není nic snazšího než se zeptat.
    #include <sys/types.h>
    #include <sys/event.h>
    #include <sys/time.h>
    #include <stdio.h>
    #include <fcntl.h>
    
    
    int main(void)
    {
      int kq, flags;
      
      if ((kq = kqueue()) == -1) 
        return -1; 
      if ((flags = fcntl(kq, F_GETFL, NULL)) == -1)
        return -1; 
      printf("FD_CLOEXEC: %s\n", (flags & FD_CLOEXEC) ? "yes" : "no");
      return 0;
    }
    
    Odpověď zní:

    FD_CLOEXEC: no
    27.12.2015 12:57 BS
    Rozbalit Rozbalit vše Re: kqueue ve FreeBSD cloexec
    Pardon,

    musím dementovat sám sebe, takto to nejde. Jsem zblblý z Linuxu, FreeBSD neumí přes fcntl číst CLOEXEC bit.
    27.12.2015 13:07 Jiří
    Rozbalit Rozbalit vše Re: kqueue ve FreeBSD cloexec
    Já jsem si to před chvílí zkusil, fd číslo předám jako argument child procesu a tam to bylo normálně dostupné, takže zůstal otevřený. Našel jsem toto a zdá se, že NetBSD má proto kqueue1() s flagem, ale FreeBSD nic. To je smutné, protože kvůli tomu musím použít obyčejný poll(), nemohu si dovolit v knihovně vytvořit kqueue deskriptor, když nevím, jestli uživatel nemá nějaká vlákna, kde forkuje.
    27.12.2015 13:13 Jiří
    Rozbalit Rozbalit vše Re: kqueue ve FreeBSD cloexec
    Fungovalo by, kdybych vytvořil condition variable s mutexem, zaregistroval pthread_atfork(), a před kqueue() zamknul mutex a v pthread_atfork ho taky zkoušel zamknout? Není to tuším async signal safe, ale vždycky to bude voláno z vlákna, co volá fork a to nebude to moje, o kterém vím, že fork nevolá?
    27.12.2015 13:14 BS
    Rozbalit Rozbalit vše Re: kqueue ve FreeBSD cloexec
    Nicméně s mírnou modifikací, když nechci číst flagy, ale přímo CLOEXEC bit tak to lze, viz z man fcntl. Takže snad finálně.
    #include <sys/types.h>
    #include <sys/event.h>
    #include <sys/time.h>
    #include <stdio.h>
    #include <fcntl.h>
    
    
    int main(void)
    {
      int kq, flags;
      
      if ((kq = kqueue()) == -1) 
        return -1; 
      if ((flags = fcntl(kq, F_GETFD, NULL)) == -1) /* Nikoli GETFL, ale GETFD*/
        return -1; 
      printf("FD_CLOEXEC: %s\n", (flags & FD_CLOEXEC) ? "yes" : "no");
      return 0;
    }
    
    Závěr je ale stejný, COLOEXEC by default není, což je standardní, neznám žádný FD, který by tento bit měl ve výchozím stavu.

    Bit lze pak nastavit pomocí
    fcntl(kq, F_SETFD, FD_CLOEXEC);
    Omlouvám se za počáteční zmatenost. FreeBSD mám na desktopu, ale programuji hlavně pro Linux.
    27.12.2015 16:12 Jiří
    Rozbalit Rozbalit vše Re: kqueue ve FreeBSD cloexec
    COLOEXEC by default není, což je standardní, neznám žádný FD, který by tento bit měl ve výchozím stavu.
    Já taky ne, ale spoustě systémových volání jde nastavit flag, aby to tak bylo.
    Omlouvám se za počáteční zmatenost. FreeBSD mám na desktopu, ale programuji hlavně pro Linux.
    Nic se neděje, alespoň se někdo snaží pomoci. Nastavit potom jde, ale protože se jedná o knihovnu, nemůžu zaručit, jak jsem zmínil výše, že uživatel nemá další vlákno, kde forkuje, a mezi kqueue() a fcntl() pak vzniká race-condition, kdy mi může deskriptor uniknout do uživatelova podprocesu.
    10.2.2016 16:20 Jardík
    Rozbalit Rozbalit vše Re: kqueue ve FreeBSD cloexec
    Z manuálové stránky:
    The kqueue() system call creates a new kernel event queue and returns a descriptor. The queue is not inherited by a child created with fork(2).
    Proces před exec() většinou sebe fork()ne, takže v tomto případě nastavení CLOEXEC není třeba. Problém bude, když nějaké vlákno přímo zavolá exec() bez forknutí.

    Založit nové vlákno • Nahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.