lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CACGkJdvEP17+B0-Y42V5Szf_4WF8C2cu11QQU+imy9+0j_Aopg@mail.gmail.com>
Date:   Fri, 17 Sep 2021 09:05:41 +0200
From:   Eugene Syromyatnikov <evgsyr@...il.com>
To:     Alejandro Colomar <colomar.6.4.3@...il.com>
Cc:     "Michael Kerrisk (man-pages)" <mtk.manpages@...il.com>,
        netdev@...r.kernel.org, linux-man <linux-man@...r.kernel.org>
Subject: Re: [BUG?] ipv6.7: SOCK_DGRAM can accept different protocols?

On Fri, Sep 17, 2021 at 8:13 AM Alejandro Colomar
<colomar.6.4.3@...il.com> wrote:
>
> Hi,
>
> Reading a stackoverflow question
> <https://stackoverflow.com/questions/51996808/do-we-need-to-specify-protocol-when-type-is-sock-dgram-or-sock-stream-in-soc>
> it noted that, while ip(7) notes that protocol can be left as 0 for both
> SOCK_STREAM and SOCK_DGRAM, ipv6(7) is misleading and seems to suggest
> that protocol may be significant for SOCK_DGRAM (at least in the SYNOPSIS).

It can be left as 0, but, I think, IPPROTO_UDPLITE (at least) can be
specified in both cases, if the caller wishes so (as well as
IPPROTO_MPTCP/IPPROTO_SCTP for SOCK_STREAM, and some other, more
obscure protocols, like DCCP or L2TP).

> I guess that's not true, and it can be left as 0, but since I don't
> know, I'll ask.
>
> Thanks,
>
> Alex
>
>
> --
>
> IP(7)                Linux Programmer's Manual               IP(7)
>
> NAME
>         ip - Linux IPv4 protocol implementation
>
> SYNOPSIS
>         #include <sys/socket.h>
>         #include <netinet/in.h>
>         #include <netinet/ip.h> /* superset of previous */
>
>         tcp_socket = socket(AF_INET, SOCK_STREAM, 0);
>         udp_socket = socket(AF_INET, SOCK_DGRAM, 0);
>         raw_socket = socket(AF_INET, SOCK_RAW, protocol);
>
>
> --
>
> IPV6(7)              Linux Programmer's Manual             IPV6(7)
>
> NAME
>         ipv6 - Linux IPv6 protocol implementation
>
> SYNOPSIS
>         #include <sys/socket.h>
>         #include <netinet/in.h>
>
>         tcp6_socket = socket(AF_INET6, SOCK_STREAM, 0);
>         raw6_socket = socket(AF_INET6, SOCK_RAW, protocol);
>         udp6_socket = socket(AF_INET6, SOCK_DGRAM, protocol);
>
>
> --
> Alejandro Colomar
> Linux man-pages comaintainer; https://www.kernel.org/doc/man-pages/
> http://www.alejandro-colomar.es/



-- 
Eugene Syromyatnikov
mailto:evgsyr@...il.com
xmpp:esyr@...ber.{ru|org}

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ