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 04:00 | Bezpečnostní upozornění

    Byly publikovány informace (technické detaily) o bezpečnostním problému Snapu. Jedná se o CVE-2026-3888. Neprivilegovaný lokální uživatel může s využitím snap-confine a systemd-tmpfiles získat práva roota.

    Ladislav Hagara | Komentářů: 4
    dnes 03:33 | Zajímavý software

    Nightingale je open-source karaoke aplikace, která z jakékoliv písničky lokálního alba (včetně videí) dokáže oddělit vokály, získat text a vše přehrát se synchronizací na úrovni jednotlivých slov a hodnocením intonace. Pro separaci vokálů využívá UVR Karaoke model s Demucs od Mety, texty písní stahuje z lrclib.net (LRCLIB), případně extrahuje pomocí whisperX, který rovněž využívá k načasování slov. V případě audiosouborů aplikace na

    … více »
    NUKE GAZA! 🎆 | Komentářů: 1
    včera 18:22 | Nová verze

    Po půl roce vývoje od vydání verze 49 bylo vydáno GNOME 50 s kódovým názvem Tokyo (Mastodon). Podrobný přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře.

    Ladislav Hagara | Komentářů: 12
    včera 17:22 | Nová verze

    Článek na stránkách Fedora Magazinu informuje o vydání Fedora Asahi Remixu 43, tj. linuxové distribuce pro Apple Silicon vycházející z Fedora Linuxu 43.

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | Pozvánky

    Byl zveřejněn program konference Installfest 2026. Konference proběhne o víkendu 28. a 29. března v Praze na Karlově náměstí 13. Vstup zdarma.

    Ladislav Hagara | Komentářů: 3
    včera 03:55 | Nová verze

    Byla vydána Java 26 / JDK 26. Nových vlastností (JEP - JDK Enhancement Proposal) je 10. Odstraněno bylo Applet API.

    Ladislav Hagara | Komentářů: 10
    17.3. 23:55 | Nová verze

    Byla vydána nová verze 260 správce systému a služeb systemd (Wikipedie, GitHub). Odstraněna byla podpora skriptů System V. Aktualizovány byly závislosti. Minimální verze Linuxu z 5.4 na 5.10, OpenSSL z 1.1.0 na 3.0.0, Pythonu z 3.7.0 na 3.9.0…

    Ladislav Hagara | Komentářů: 23
    17.3. 18:11 | Nová verze

    Byla vydána nová verze 5.1 svobodného 3D softwaru Blender. Přehled novinek i s náhledy a videi v poznámkách k vydání. Videopředstavení na YouTube.

    Ladislav Hagara | Komentářů: 0
    17.3. 04:55 | Nová verze

    Bylo oznámeno vydání nové verze 8.1 "Hoare" kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie). Doprovodný příspěvek na blogu Khronosu rozebírá kódování a dekódování videa pomocí Vulkan Compute Shaders v FFmpeg.

    Ladislav Hagara | Komentářů: 12
    17.3. 04:33 | Zajímavý projekt

    Byl představen open-source a open-hardware prototyp nízkonákladového raketometu kategorie MANPADS, který byl sestaven z běžně dostupné elektroniky a komponent vytištěných na 3D tiskárně. Raketa využívá skládací stabilizační křidélka a canardovou stabilizaci aktivně řízenou palubním letovým počítačem ESP32, vybaveným inerciální měřicí jednotkou MPU6050 (gyroskop a akcelerometr). Přenosné odpalovací zařízení obsahuje GPS,

    … více »
    NUKE GAZA! 🎆 | Komentářů: 49
    Které desktopové prostředí na Linuxu používáte?
     (16%)
     (7%)
     (1%)
     (11%)
     (29%)
     (2%)
     (5%)
     (1%)
     (13%)
     (24%)
    Celkem 1110 hlasů
     Komentářů: 27, poslední 17.3. 19:26
    Rozcestník

    Dotaz: inet_pton IPv4/IPv6

    9.2.2012 10:16 miso | skóre: 36 | blog: iSCSI_initiator_howto | Praha
    inet_pton IPv4/IPv6
    Přečteno: 249×
    Zdravim,

    rad by som dosiahol nasledovne:

    vstup: IPv4 adresa (10.20.30.40)

    vystup: IPv4 adresa v tvare IPv6 (::ffff:10.20.30.40) tak, ako je uvedene v priklade napr. tu

    Je to vobec mozne pomocou funkcie inet_pton? Zaujima ma to ciste zo zvedavosti, pokial to nejde, workaround nepotrebujem.

    Nasledujuci kod vypise IPv4 adresu v "klasickom" IPv6 tvare (xxxx:xxxx:xxxx:xxxx:xxxx:xxxx), teda nezmyselnu adresu:
    #include < sys/socket.h >
    #include < netinet/in.h >
    #include < arpa/inet.h >
    #include < stdio.h >
    #include < stdlib.h >
    
    int main(int argc, char *argv[])
    {
        struct in_addr addr;
        unsigned char buf[sizeof(struct in6_addr)];
        char str[INET6_ADDRSTRLEN];
    
        if (argc<2)
        {
            fprintf(stderr, "IPv4 address required as an argument.\n");
            exit(EXIT_FAILURE);
        }
        if (inet_aton(argv[1], &addr) == 0)
        {
            perror("inet_aton");
            exit(EXIT_FAILURE);
        }
        if (inet_pton(AF_INET, argv[1], buf) != 1)
        {
            perror("inet_pton");
            exit(EXIT_FAILURE);
        }
        if (inet_ntop(AF_INET6, buf, str, INET6_ADDRSTRLEN)==NULL)
        {
            perror("inet_ntop");
            exit(EXIT_FAILURE);
        }
        printf("%s\n", str);
        exit(EXIT_SUCCESS);
    }
    
    Project Satan infects Calculon with Werecar virus

    Řešení dotazu:


    Odpovědi

    Řešení 1× (miso (tazatel))
    9.2.2012 14:08 miso | skóre: 36 | blog: iSCSI_initiator_howto | Praha
    Rozbalit Rozbalit vše Re: inet_pton IPv4/IPv6
    Vyriesil som to nasledovne:
    #define _GNU_SOURCE
    #include < string.h>
    #include < sys/socket.h>
    #include < netinet/in.h>
    #include < arpa/inet.h>
    #include < stdio.h>
    #include < stdlib.h>
    
    #define IPV6_ADDRESS_SIZE sizeof(struct in6_addr)
    
    int main(int argc, char *argv[])
    {
        struct in_addr addr;
        unsigned char buf_v4[sizeof(struct in_addr)];
        unsigned char buf_v6[IPV6_ADDRESS_SIZE] = {0};
        unsigned char str[INET6_ADDRSTRLEN];
    
        if (argc<2)
        {
            fprintf(stderr, "IPv4 address required as an argument.\n");
            exit(EXIT_FAILURE);
        }
    
        if (inet_aton(argv[1], &addr) == 0)
        {
            perror("inet_aton");
            exit(EXIT_FAILURE);
        }
    
        if (inet_pton(AF_INET, argv[1], buf_v4) != 1)
        {
            perror("inet_pton");
            exit(EXIT_FAILURE);
        }
    
        *(buf_v6 + IPV6_ADDRESS_SIZE - 5) = 255;
        *(buf_v6 + IPV6_ADDRESS_SIZE - 6) = 255;
        mempcpy(buf_v6 + IPV6_ADDRESS_SIZE - 4, buf_v4, 4);
    
        if (inet_ntop(AF_INET6, buf_v6, str, INET6_ADDRSTRLEN)==NULL)
        {
            perror("inet_ntop");
            exit(EXIT_FAILURE);
        }
    
        printf("%s\n", str);
        exit(EXIT_SUCCESS);
    }
    
    Project Satan infects Calculon with Werecar virus

    Založit nové vláknoNahoru

    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.