RFC Errata


Errata Search

 
Source of RFC  
Summary Table Full Records

Found 14 records.

Status: Verified (6)

RFC 6458, "Sockets API Extensions for the Stream Control Transmission Protocol (SCTP)", December 2011

Source of RFC: tsvwg (wit)

Errata ID: 6111
Status: Verified
Type: Technical
Publication Format(s) : TEXT

Reported By: Michael Tuexen
Date Reported: 2020-04-20
Verifier Name: Martin Duke
Date Verified: 2020-04-27

Throughout the document, when it says:

in Section 5.3.2

         SCTP_EOF:  Setting this flag invokes the SCTP graceful shutdown
            procedure on the specified association.  Graceful shutdown
            assures that all data queued by both endpoints is
            successfully transmitted before closing the association.

         SCTP_SENDALL:  This flag, if set, will cause a one-to-many
            style socket to send the message to all associations that
            are currently established on this socket.  For the one-to-
            one style socket, this flag has no effect.



in Section 5.3.4

      SCTP_EOF:  Setting this flag invokes the SCTP graceful shutdown
         procedures on the specified association.  Graceful shutdown
         assures that all data queued by both endpoints is successfully
         transmitted before closing the association.

      SCTP_SENDALL:  This flag, if set, will cause a one-to-many style
         socket to send the message to all associations that are
         currently established on this socket.  For the one-to-one style
         socket, this flag has no effect.



in Section 8.1.13

The sinfo_flags field is composed of a bitwise OR
of SCTP_UNORDERED, SCTP_EOF, and SCTP_SENDALL.



in Section 8.1.31

The snd_flags parameter is composed of a bitwise OR 
of SCTP_UNORDERED, SCTP_EOF, and SCTP_SENDALL.

It should say:

in Section 5.3.2

         SCTP_EOF:  Setting this flag invokes the SCTP graceful shutdown
            procedure on the specified association.  Graceful shutdown
            assures that all data queued by both endpoints is
            successfully transmitted before closing the association.

         SCTP_EOR: This flag, if set and explicit EOR marking (see
            Section 8.1.26) is enabled , indicates that the user data
            provided is the last part of a user message. If explicit
            EOR marking is disabled, this flag is not relevant, since the
            user data provided is a complete user message.

         SCTP_SENDALL:  This flag, if set, will cause a one-to-many
            style socket to send the message to all associations that
            are currently established on this socket.  For the one-to-
            one style socket, this flag has no effect.



in Section 5.3.4

      SCTP_EOF:  Setting this flag invokes the SCTP graceful shutdown
         procedures on the specified association.  Graceful shutdown
         assures that all data queued by both endpoints is successfully
         transmitted before closing the association.

      SCTP_EOR: This flag, if set and explicit EOR marking (see Section 8.1.26)
         is enabled , indicates that the user data provided is the last part of
         a user message. If explicit EOR marking is disabled, this flag is
         not relevant, since the user data provided is a complete user message.

      SCTP_SENDALL:  This flag, if set, will cause a one-to-many style
         socket to send the message to all associations that are
         currently established on this socket.  For the one-to-one style
         socket, this flag has no effect.



in Section 8.1.13

The sinfo_flags field is composed of a bitwise OR
of SCTP_UNORDERED, SCTP_EOF, SCTP_EOR, and SCTP_SENDALL.



in Section 8.1.31

The snd_flags parameter is composed of a bitwise OR
of SCTP_UNORDERED, SCTP_EOF, SCTP_EOR, and SCTP_SENDALL.

Notes:

The text is missing a description of how to use the SCTP_EOR flag in the Socket API. The problem was initially reported by wanglihe in https://www.rfc-editor.org/errata/eid6081

Errata ID: 6115
Status: Verified
Type: Technical
Publication Format(s) : TEXT

Reported By: Michael Tuexen
Date Reported: 2020-04-20
Verifier Name: Martin Duke
Date Verified: 2020-04-27

Section 8.2.1 says:

sstat_state:  This contains the association's current state, i.e.,
      one of the following values:

      *  SCTP_CLOSED

      *  SCTP_BOUND

      *  SCTP_LISTEN

      *  SCTP_COOKIE_WAIT

      *  SCTP_COOKIE_ECHOED

      *  SCTP_ESTABLISHED

      *  SCTP_SHUTDOWN_PENDING

      *  SCTP_SHUTDOWN_SENT

      *  SCTP_SHUTDOWN_RECEIVED

      *  SCTP_SHUTDOWN_ACK_SENT

It should say:

sstat_state:  This contains the association's current state, i.e.,
      one of the following values:

      *  SCTP_CLOSED

      *  SCTP_LISTEN

      *  SCTP_COOKIE_WAIT

      *  SCTP_COOKIE_ECHOED

      *  SCTP_ESTABLISHED

      *  SCTP_SHUTDOWN_PENDING

      *  SCTP_SHUTDOWN_SENT

      *  SCTP_SHUTDOWN_RECEIVED

      *  SCTP_SHUTDOWN_ACK_SENT

Notes:

SCTP_BOUND is not a state of an SCTP association, so it should not be part of this list.

Errata ID: 6112
Status: Verified
Type: Editorial
Publication Format(s) : TEXT

Reported By: Michael Tuexen
Date Reported: 2020-04-20
Verifier Name: Martin Duke
Date Verified: 2020-04-27

Section 3.2 says:

The success or failure of sending the data message (with
possible SCTP_INITMSG ancillary data) will be signaled by the
SCTP_ASSOC_CHANGE event with SCTP_COMM_UP or SCTP_CANT_START_ASSOC.
If user data could not be sent (due to an SCTP_CANT_START_ASSOC),
the sender will also receive an SCTP_SEND_FAILED_EVENT event.

It should say:

The success or failure of sending the data message (with
possible SCTP_INITMSG ancillary data) will be signaled by the
SCTP_ASSOC_CHANGE event with SCTP_COMM_UP or SCTP_CANT_STR_ASSOC.
If user data could not be sent (due to an SCTP_CANT_STR_ASSOC),
the sender will also receive an SCTP_SEND_FAILED_EVENT event.

Notes:

The constant SCTP_CANT_START_ASSOC is not defined. The correct name is SCTP_CANT_STR_ASSOC.

Errata ID: 6980
Status: Verified
Type: Editorial
Publication Format(s) : TEXT

Reported By: Michael Tüxen
Date Reported: 2022-05-24
Verifier Name: RFC Editor
Date Verified: 2022-05-24

Section 8 says:

The field opt specifies which SCTP socket option to get.  It can get
any socket option currently supported that requests information
(either read/write options or read-only) such as

   SCTP_RTOINFO

   SCTP_ASSOCINFO

   SCTP_PRIMARY_ADDR

   SCTP_PEER_ADDR_PARAMS

   SCTP_DEFAULT_SEND_PARAM

   SCTP_MAX_SEG

   SCTP_AUTH_ACTIVE_KEY

   SCTP_DELAYED_SACK

   SCTP_MAX_BURST

   SCTP_CONTEXT

   SCTP_EVENT

   SCTP_DEFAULT_SNDINFO

   SCTP_DEFAULT_PRINFO

   SCTP_STATUS

   SCTP_GET_PEER_ADDR_INFO

   SCTP_PEER_AUTH_CHUNKS

   SCTP_LOCAL_AUTH_CHUNKS

It should say:

The field opt specifies which SCTP socket option to get.  It can get
any socket option currently supported that requests information
(either read/write options or read-only) such as

   SCTP_RTOINFO

   SCTP_ASSOCINFO

   SCTP_PRIMARY_ADDR

   SCTP_PEER_ADDR_PARAMS

   SCTP_DEFAULT_SEND_PARAM

   SCTP_MAXSEG

   SCTP_AUTH_ACTIVE_KEY

   SCTP_DELAYED_SACK

   SCTP_MAX_BURST

   SCTP_CONTEXT

   SCTP_EVENT

   SCTP_DEFAULT_SNDINFO

   SCTP_DEFAULT_PRINFO

   SCTP_STATUS

   SCTP_GET_PEER_ADDR_INFO

   SCTP_PEER_AUTH_CHUNKS

   SCTP_LOCAL_AUTH_CHUNKS

Notes:

The constant SCTP_MAX_SEG is not defined. It should be SCTP_MAXSEG.

Errata ID: 7547
Status: Verified
Type: Editorial
Publication Format(s) : TEXT

Reported By: Michael Tüxen
Date Reported: 2023-06-22
Verifier Name: RFC Editor
Date Verified: 2023-06-22

Section 9.12 says:

info:  A pointer to the buffer containing the attribute associated
   with the message to be sent.  The type is indicated by the
   info_type parameter.

It should say:

info:  A pointer to the buffer containing the attribute associated
   with the message to be sent.  The type is indicated by the
   infotype parameter.

Notes:

The name of the parameter is infotype, not info_type.
Thanks to Philipp Stanner for making me aware of this issue.

Errata ID: 7548
Status: Verified
Type: Editorial
Publication Format(s) : TEXT

Reported By: Michael Tüxen
Date Reported: 2023-06-22
Verifier Name: RFC Editor
Date Verified: 2023-06-22

Section 9.1 says:

info:  A pointer to the buffer to hold the attributes of the received
    message.  The structure type of info is determined by the
    info_type parameter.

infolen:  An in/out parameter describing the size of the info buffer.

infotype:  On return, *info_type is set to the type of the info
    buffer.  The current defined values are as follows:

    SCTP_RECVV_NOINFO:  If both SCTP_RECVRCVINFO and SCTP_RECVNXTINFO
       options are not enabled, no attribute will be returned.  If
       only the SCTP_RECVNXTINFO option is enabled but there is no
       next message in the buffer, no attribute will be returned.  In
       these cases, *info_type will be set to SCTP_RECVV_NOINFO.

It should say:

info:  A pointer to the buffer to hold the attributes of the received
    message.  The structure type of info is determined by the
    infotype parameter.

infolen:  An in/out parameter describing the size of the info buffer.

infotype:  On return, *infotype is set to the type of the info
    buffer.  The current defined values are as follows:

    SCTP_RECVV_NOINFO:  If both SCTP_RECVRCVINFO and SCTP_RECVNXTINFO
       options are not enabled, no attribute will be returned.  If
       only the SCTP_RECVNXTINFO option is enabled but there is no
       next message in the buffer, no attribute will be returned.  In
       these cases, *infotype will be set to SCTP_RECVV_NOINFO.

Notes:

The name of the parameter is infotype, not info_type.
Thanks to Philipp Stanner for making me aware of this issue.

Status: Held for Document Update (4)

RFC 6458, "Sockets API Extensions for the Stream Control Transmission Protocol (SCTP)", December 2011

Source of RFC: tsvwg (wit)

Errata ID: 4921
Status: Held for Document Update
Type: Technical
Publication Format(s) : TEXT

Reported By: Jonathan Leighton
Date Reported: 2017-02-02
Held for Document Update by: Martin Duke
Date Held: 2020-04-27

Section 9.1 says:

If sd is an IPv4 socket, the addresses passed must be IPv4 addresses.
If the sd is an IPv6 socket, the addresses passed can either be IPv4
or IPv6 addresses.

It should say:

If sd is an IPv4 socket, the passed addresses must be IPv4 addresses.
If sd is an IPv6 socket, the passed addresses must be IPv6 addresses.
Use IPv4-mapped IPv6 addresses to bind an IPv6 socket to an IPv4
address. Note that some implementations optionally allow IPv4 addresses
to be passed in directly.

Notes:

The erratum is a subtle change in meaning that would be a useful clarification.

Errata ID: 6116
Status: Held for Document Update
Type: Technical
Publication Format(s) : TEXT

Reported By: Michael Tuexen
Date Reported: 2020-04-20
Held for Document Update by: Martin Duke
Date Held: 2020-04-27

Section 6.1.2 says:

   spc_state:  This field holds one of a number of values that
      communicate the event that happened to the address.  They include

      SCTP_ADDR_AVAILABLE:  This address is now reachable.  This
         notification is provided whenever an address becomes reachable.

      SCTP_ADDR_UNREACHABLE:  The address specified can no longer be
         reached.  Any data sent to this address is rerouted to an
         alternate until this address becomes reachable.  This
         notification is provided whenever an address becomes
         unreachable.

      SCTP_ADDR_REMOVED:  The address is no longer part of the
         association.

      SCTP_ADDR_ADDED:  The address is now part of the association.

      SCTP_ADDR_MADE_PRIM:  This address has now been made the primary
         destination address.  This notification is provided whenever an
         address is made primary.

It should say:

   spc_state:  This field holds one of a number of values that
      communicate the event that happened to the address.  They include

      SCTP_ADDR_CONFIRMED:  This address is now confirmed.  This
         notification is provided once an address transitions from
         the UNCONFIRMED state to the CONFIRMED state (see
         Section 5.4 of [RFC 4960]).

      SCTP_ADDR_AVAILABLE:  This address is now reachable.  This
         notification is provided whenever an address becomes reachable.

      SCTP_ADDR_UNREACHABLE:  The address specified can no longer be
         reached.  Any data sent to this address is rerouted to an
         alternate until this address becomes reachable.  This
         notification is provided whenever an address becomes
         unreachable.

      SCTP_ADDR_REMOVED:  The address is no longer part of the
         association.

      SCTP_ADDR_ADDED:  The address is now part of the association.

      SCTP_ADDR_MADE_PRIM:  This address has now been made the primary
         destination address.  This notification is provided whenever an
         address is made primary.

Notes:

A description of the handling of the path verification as specified in Section 5.4 of RFC 4960 was missing.

Errata ID: 6113
Status: Held for Document Update
Type: Editorial
Publication Format(s) : TEXT

Reported By: Michael Tuexen
Date Reported: 2020-04-20
Held for Document Update by: Martin Duke
Date Held: 2020-04-27

Section 6.1.1 says:

sac_info:  If sac_state is SCTP_COMM_LOST and an ABORT chunk was
      received for this association, sac_info[] contains the complete
      ABORT chunk as defined in Section 3.3.7 of the SCTP specification
      [RFC4960].

It should say:

sac_info:  If sac_state is SCTP_COMM_LOST or SCTP_CANT_STR_ASSOC and
      an ABORT chunk was received for this association, sac_info[]
      contains the complete ABORT chunk as defined in Section 3.3.7
      of the SCTP specification [RFC4960].

Notes:

During association setup, SCTP_CANT_STR_ASSOC is signalled when an ABORT chunk is received. SCTP_COMM_LOST is used after the association has been established.

Errata ID: 6114
Status: Held for Document Update
Type: Editorial
Publication Format(s) : TEXT

Reported By: Michael Tuexen
Date Reported: 2020-04-20
Held for Document Update by: Martin Duke
Date Held: 2020-04-27

Section 9.5 says:

If the id field is set to the value '0', then the locally bound
addresses are returned without regard to any particular association.

It should say:

If the id field is set to the value SCTP_FUTURE_ASSOC, then the locally bound
addresses are returned without regard to any particular association.

Notes:

Don't use a numeric constant, but the symbolic constant. Its numeric value is implementation specific.

Status: Rejected (4)

RFC 6458, "Sockets API Extensions for the Stream Control Transmission Protocol (SCTP)", December 2011

Source of RFC: tsvwg (wit)

Errata ID: 6081
Status: Rejected
Type: Technical
Publication Format(s) : TEXT

Reported By: wanglihe
Date Reported: 2020-04-09
Rejected by: Martin Duke
Date Rejected: 2020-04-27

Throughout the document, when it says:

8.1.26    must indicate that they are
   finished sending a particular record by including the SCTP_EOR flag.

but I can not find where to use SCTP_EOR flag.

because

5.1  The msg_flags are not used when sending a message with sendmsg().

3.1.4  flags:  No new flags are defined for SCTP at this level.  See
      Section 5 for SCTP-specific flags used in the msghdr structure.

4.1.8 same with 3.1.4

9.10, 9.12    flags:  The same flags as used by the sendmsg() call flags (e.g.,
      MSG_DONTROUTE).

9.7   flags:  The same as sinfo_flags (see Section 5.3.2).

5.3.2 sinfo_flags not mention about it  

It should say:

maybe msg_flags should be used.

Notes:

Another problem is that, I think it should be discuss about debfine a flag like SCTP_BOR for beginning(init chunk) of a Record, because a stream of this socket(assoc) can still be used after send a SCTP_EOR.

And between a init chunk and a STCP_EOR, if I change SCTP_EXPLICIT_EOR status, what the socket will send the message?
--VERIFIER NOTES--
6111 addresses the same problem and has a more actionable recommendation.

Errata ID: 6131
Status: Rejected
Type: Technical
Publication Format(s) : TEXT

Reported By: wanglihe
Date Reported: 2020-04-09
Rejected by: Martin Duke
Date Rejected: 2020-04-27

Throughout the document, when it says:

8.1.26    must indicate that they are
   finished sending a particular record by including the SCTP_EOR flag.

but I can not find where to use SCTP_EOR flag.

because

5.1  The msg_flags are not used when sending a message with sendmsg().

3.1.4  flags:  No new flags are defined for SCTP at this level.  See
      Section 5 for SCTP-specific flags used in the msghdr structure.

4.1.8 same with 3.1.4

9.10, 9.12    flags:  The same flags as used by the sendmsg() call flags (e.g.,
      MSG_DONTROUTE).

9.7   flags:  The same as sinfo_flags (see Section 5.3.2).

5.3.2 sinfo_flags not mention about it  

It should say:

maybe msg_flags should be used.

Notes:

Another problem is that, I think it should be discuss about debfine a flag like SCTP_BOR for beginning(init chunk) of a Record, because a stream of this socket(assoc) can still be used after send a SCTP_EOR.

And between a init chunk and a STCP_EOR, if I change SCTP_EXPLICIT_EOR status, what the socket will send the message?
--VERIFIER NOTES--
This is an accidental duplication; please disregard.

Errata ID: 6132
Status: Rejected
Type: Technical
Publication Format(s) : TEXT

Reported By: wanglihe
Date Reported: 2020-04-09
Rejected by: Martin Duke
Date Rejected: 2020-04-27

Throughout the document, when it says:

8.1.26    must indicate that they are
   finished sending a particular record by including the SCTP_EOR flag.

but I can not find where to use SCTP_EOR flag.

because

5.1  The msg_flags are not used when sending a message with sendmsg().

3.1.4  flags:  No new flags are defined for SCTP at this level.  See
      Section 5 for SCTP-specific flags used in the msghdr structure.

4.1.8 same with 3.1.4

9.10, 9.12    flags:  The same flags as used by the sendmsg() call flags (e.g.,
      MSG_DONTROUTE).

9.7   flags:  The same as sinfo_flags (see Section 5.3.2).

5.3.2 sinfo_flags not mention about it  

It should say:

maybe msg_flags should be used.

Notes:

Another problem is that, I think it should be discuss about debfine a flag like SCTP_BOR for beginning(init chunk) of a Record, because a stream of this socket(assoc) can still be used after send a SCTP_EOR.

And between a init chunk and a STCP_EOR, if I change SCTP_EXPLICIT_EOR status, what the socket will send the message?
--VERIFIER NOTES--
Accidental duplication; please disregard.

Errata ID: 6133
Status: Rejected
Type: Technical
Publication Format(s) : TEXT

Reported By: wanglihe
Date Reported: 2020-04-09
Rejected by: Martin Duke
Date Rejected: 2020-04-27

Throughout the document, when it says:

8.1.26    must indicate that they are
   finished sending a particular record by including the SCTP_EOR flag.

but I can not find where to use SCTP_EOR flag.

because

5.1  The msg_flags are not used when sending a message with sendmsg().

3.1.4  flags:  No new flags are defined for SCTP at this level.  See
      Section 5 for SCTP-specific flags used in the msghdr structure.

4.1.8 same with 3.1.4

9.10, 9.12    flags:  The same flags as used by the sendmsg() call flags (e.g.,
      MSG_DONTROUTE).

9.7   flags:  The same as sinfo_flags (see Section 5.3.2).

5.3.2 sinfo_flags not mention about it  

It should say:

maybe msg_flags should be used.

Notes:

Another problem is that, I think it should be discuss about debfine a flag like SCTP_BOR for beginning(init chunk) of a Record, because a stream of this socket(assoc) can still be used after send a SCTP_EOR.

And between a init chunk and a STCP_EOR, if I change SCTP_EXPLICIT_EOR status, what the socket will send the message?
--VERIFIER NOTES--
Accidental duplicate, please disregard.

Report New Errata



Advanced Search