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 02:20 | Zajímavý článek

David Revoy, autor open source webového komiksu Pepper&Carrot nebo portrétu GNU/Linuxu, upozorňuje na svém blogu, že nový Inkscape 0.92 rozbíjí dokumenty vytvořené v předchozích verzích Inkscape. Problém by měl být vyřešen v Inkscape 0.92.2 [reddit].

Ladislav Hagara | Komentářů: 0
dnes 02:02 | Komunita

Øyvind Kolås, hlavní vývojář grafických knihoven GEGL a babl, které využívá grafický program GIMP, žádá o podporu na Patreonu. Díky ní bude moci pracovat na vývoji na plný úvazek. Milník 1000 $, který by stačil na holé přežití, se již téměř podařilo vybrat, dalším cílem je dosažení 2500 $, které mu umožní běžně fungovat ve společnosti.

xkomczax | Komentářů: 5
včera 23:54 | Pozvánky

DevConf.cz 2017, již devátý ročník jedné z největších akcí zaměřených na Linux a open source ve střední Evropě, proběhne od pátku 27. ledna do neděle 29. ledna v prostorách Fakulty informačních technologií Vysokého učení technického v Brně. Na programu je celá řada zajímavých přednášek a workshopů. Letos je povinná registrace.

Ladislav Hagara | Komentářů: 0
včera 22:11 | Nová verze

Byla vydána verze 1.0.0 emulátoru terminálu Terminology postaveného nad EFL (Enlightenment Foundation Libraries). Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
20.1. 17:00 | Nová verze

Byl vydán Docker 1.13. Přehled novinek na YouTube a v poznámkách k vydání na GitHubu. Docker umožňuje běh aplikací v softwarových kontejnerech (Wikipedia).

Ladislav Hagara | Komentářů: 4
20.1. 15:51 | Komunita

Mozilla.cz informuje, že nástroje pro webové vývojáře se možná oddělí od Firefoxu a stanou doplňkem. Nástroje pro webové vývojáře prošly velkým přepisem a tým, který se stará o jejich vývoj, by uvítal možnost jejich častějších aktualizacích nezávisle na vydávání nových verzí Firefoxu.

Ladislav Hagara | Komentářů: 8
20.1. 07:00 | Humor

Čtenářům AbcLinuxu vše nejlepší k dnešnímu Dni zvýšení povědomí o tučňácích (Penguin Awareness Day).

Ladislav Hagara | Komentářů: 0
20.1. 06:00 | Komunita

Bylo spuštěno hlasování o přednáškách a workshopech pro letošní InstallFest, jenž proběhne o víkendu 4. a 5. března v Praze. Současně byla oznámena změna místa. InstallFest se letos vrací zpět na Karlovo náměstí do budovy E.

Ladislav Hagara | Komentářů: 0
20.1. 02:48 | Komunita

Greg Kroah-Hartman potvrdil, že Linux 4.9 je jádrem s prodlouženou upstream podporou (LTS, Long Term Support). Podpora je plánována do ledna 2019. Aktuální jádra s prodlouženou podporou jsou tedy 3.2, 3.4, 3.10, 3.12, 3.16, 3.18, 4.1, 4.4 a 4.9.

Ladislav Hagara | Komentářů: 0
20.1. 00:11 | Zajímavý článek

Výrobce síťových prvků, společnost Netgear, spustila nový program, který slibuje vývojářům, expertům, ale i běžným uživatelům vyplacení finanční odměny za nalezení bezpečnostních chyby v jejich produktech. Za nalezení zranitelnosti v hardware, API nebo mobilní aplikaci nabízí odměnu od 150 do 15 tisíc dolarů (dle závažnosti).

Michal Makovec | Komentářů: 0
Jak se stavíte k trendu ztenčování přenosných zařízení (smartphony, notebooky)?
 (10%)
 (2%)
 (74%)
 (3%)
 (10%)
Celkem 356 hlasů
 Komentářů: 25, poslední včera 13:34
    Rozcestník
    Reklama

    Dotaz: Solaris má (už zase) problém s IPv6

    9.5.2009 16:33 Andrej | skóre: 43 | blog: Republic of Mordor | Zürich
    Solaris má (už zase) problém s IPv6
    Přečteno: 299×

    Ahoj, mám zdroják, který se (velmi zjednodušeně) inicializue nějak takto:

    int sock;
    struct sockaddr_in6 addr;
    
    memcpy( &addr, &in6addr_any, sizeof( addr ) );
    addr.sin6_port = htons( PORT );
    sock = socket( AF_INET6, SOCK_DGRAM, IPPROTO_UDP );
    bind( sock, (const struct sockaddr *) &addr, sizeof( addr ) );
    

    Na Linuxu i na Solarisu se to bez problémů přeloží. Jenže zatímco na Linuxu to taky normálně běží a funguje (tj. tím socketem to komunikuje), na Solarisu hlásí bind() (samozřemě přes perror()) tohle:

    Address family not supported by protocol family
    

    Jak tomu mám rozumět? V souboru /etc/sock2path (mimo jiné) čtu:

            26      1       0       /dev/udp6
            26      1       17      /dev/udp6
    

    To se mi zdá docela v pořádku. Netušíte někdo, čím by to mohlo být? Tohle asi nebude ono. Řešení marně hledám už tři hodiny a začíná mě chytat pořádný rapl.

    Výpis z uname -a

    SunOS prominence 5.11 snv_101b i86pc i386 i86pc Solaris
    
    ǑǦŹǓǕǙǞǺǨȞȬḔḦḰḾṊṎṸẄẌỖ

    Odpovědi

    Fuky avatar 9.5.2009 21:04 Fuky | skóre: 52 | blog: 4u
    Rozbalit Rozbalit vše Re: Solaris má (už zase) problém s IPv6

    Ukázkový server z Migrating to IPv6 on the Solaris OS chodí?
    Jiné IPv6 aplikace fungují?

    10.5.2009 14:06 Andrej | skóre: 43 | blog: Republic of Mordor | Zürich
    Rozbalit Rozbalit vše Re: Solaris má (už zase) problém s IPv6

    Nakonec jsem to vzdal a získávám celou strukturu z getaddrinfo(). Stačí nastavit AI_PASSIVE, jako název stroje dát NULL a adresa, kterou to vrátí, se prostě použije. Blíž jsem to už nezkoumal. Podstatné je, že to funguje i v případech, kdy je IPv6 sice povolený, ale špatně nastavený. Mám takový dojem, že v té konstantě in6addr_any je na Solarisu cosi divného.

    ǑǦŹǓǕǙǞǺǨȞȬḔḦḰḾṊṎṸẄẌỖ
    10.5.2009 01:54 joe
    Rozbalit Rozbalit vše Re: Solaris má (už zase) problém s IPv6

    Mě zase chytá rapl z takových programátorů... ;-)

    memset(&addr, 0, sizeof(addr));
    addr.sin6_family = AF_INET6;
    addr.sin6_port = htons(PORT);
    addr.sin6_addr = in6addr_any;
    

    10.5.2009 15:01 Andrej | skóre: 43 | blog: Republic of Mordor | Zürich
    Rozbalit Rozbalit vše Re: Solaris má (už zase) problém s IPv6

    Mě zase chytá rapl z takových komentářů.

    Hurá! On se spletl! To je sláva. Tak to musí být určitě „takový“ (tj. velmi špatný) programátor. Vlastně ani není třeba vidět nějaký zdroják, neřkuli projekt. To se přece dá snadno posoudit z 10 řádků vytržených z kontextu, uvedených jako příklad, no ne? :-D Někteří mají prostě věštecké nadání. Nepotřebují vědět, zda se náhodou nespecializuji na něco jiného a zda náhodou tohle API nezkoumám do detailu poprvé. Na tom ale nesejde, prostě „takoví“ programátoři a hotovo. Kdybych neměl podezření, že v té inicializaci musí být něco špatně, asi bych sem ten zdroják nedával, že jo. ;-)

    Prostě se stává, že někdy člověk tři hodiny řeší kravinu a nemůže tomu přijít na kloub. Nevšiml jsem si, nejspíš vinou dlouhého (lidského) uptime, že ta konstanta obsahuje pouze část celé struktury. Jasně, v podstatě není důvod, aby obsahovala port, flow info, scope id a další data, ale to mě včera zkrátka nenapadlo. Věř tomu nebo ne, občas se mi stane, že prostě něco přehlédnu. Těm ostatním, „netakovým“ programátorům se to asi nestává, že? No ale mně jo, takže se nedá nic dělat. ;-)

    Největší mojí chybou bylo vinit z toho Solaris, ale vzhledem k dalším drobným potížím (viz níže) byl tak nějak na ráně. Na Linuxu mi to kupodivu prošlo a dokonce to dělalo to, co jsem chtěl, přestože memcpy() inicializovala část té struktury kdovíčím a adresa vůbec neskončila na správném místě. (!!!) To je trochu záhada. Solaris se zachoval korektněji v tom smyslu, že ohlásil chybu. Tu chybu jsem pak naprosto špatně interpretoval.

    Jak už jsem psal výše, až donedávna jsem k získávání všech adres bez rozdílu (včetně loopbacku a any) používal getaddrinfo(). To má tu velkou výhodu, že se snadno vypořádá i s případy, kdy IPv6 buď není k dispozici, nebo je špatně nastavený. Prostě není třeba se starat, odkud se bere ta adresa a jaká vlastně je. Tentokrát jsem ale dělal tak jednoduchý program, že mi getaddrinfo() připadalo jako kanón na vrabce. No a pak jsem si špatně přečetl, co přesně ta konstanta in6addr_any obsahuje. Jsem už „takový“.

    Mimochodem, úplně nakonec jsem stejně musel zůstat u getaddrinfo(). Projekt totiž definuje _POSIX_C_SOURCE ve verzi, která in6addr_any na Solarisu vůbec nezpřístupní. (Na LInuxu sice ano, ale to je potom prd platné.) A bez _POSIX_C_SOURCE zase na Solarisu zmizí několik důležitých maker a funkcí, tuším že z pthread, takže nic naplat, musí to tam být. Naštěstí getaddrinfo() funguje za všech okolností.

    ǑǦŹǓǕǙǞǺǨȞȬḔḦḰḾṊṎṸẄẌỖ
    10.5.2009 17:15 joe
    Rozbalit Rozbalit vše Re: Solaris má (už zase) problém s IPv6
    No, nevím, kdo tady má věštecké schopnosti. Nějak jsi v tom vyčetl víc než jsem napsal :-)
    13.5.2009 02:21 Andrej | skóre: 43 | blog: Republic of Mordor | Zürich
    Rozbalit Rozbalit vše Re: Solaris má (už zase) problém s IPv6

    Jen tak mimochodem, tohhle na Solarisu prostě nefunguje.

    Zaprvé, má zmršené headery, takže vytřískat z nich definici in6addr_any a zároveň tím neztratit spoustu dalších definic vyžaduje ošklivý hack. Ale to je pouze detail.

    Zadruhé, dává to pořád stejnou chybovou hlášku, i když jsem už inicializaci opravil. Pouze getaddrinfo() funguje, tohle ne.

    ǑǦŹǓǕǙǞǺǨȞȬḔḦḰḾṊṎṸẄẌỖ
    13.5.2009 02:34 joe
    Rozbalit Rozbalit vše Re: Solaris má (už zase) problém s IPv6
    Třesky plesky. Funguje to bezvadně.

    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.