From d527a0b7b63e43263384540b5525714484bb089f Mon Sep 17 00:00:00 2001
From: Mingli Yu <Mingli.Yu@windriver.com>
Date: Mon, 3 Sep 2018 14:40:56 +0800
Subject: [PATCH] libfdcore/sctp.c: update the old sctp api check

The initial sctp api check for freediameter as below:
 ===
 commit d3c5e991cb532ea09684d69fb4d0d58e9bc39a0c
  Author: Sebastien Decugis <sdecugis@freediameter.net>
  Date:   Mon Jun 3 12:05:37 2013 +0800
    
    Add some compliancy to RFC6458. Not tested however as Ubuntu does not support this yet
    
    [snip]
    +/* Use old draft-ietf-tsvwg-sctpsocket-17 API ? If not defined, RFC6458 API will be used */
    +/* #define OLD_SCTP_SOCKET_API */
    +
    +/* Automatically fallback to old API if some of the new symbols are not defined */
    +#if (!defined(SCTP_CONNECTX_4_ARGS) || (!defined(SCTP_RECVRCVINFO)) || (!defined(SCTP_SNDINFO)))
    +# define OLD_SCTP_SOCKET_API
    +#endif
 ===

SCTP_RECVRCVINFO is defined in <linux/sctp.h>,
but <linux/sctp.h> is't included in the source code
previouly. So defined(SCTP_RECVRCVINFO) can be 0 
and it make old sctp socket api definiton in effect 
as below:
 # define OLD_SCTP_SOCKET_API

After lksctp-tools upgrade to 1.0.18, there is below
commit introduced:
===
commit 3c8bd0d26b64611c690f33f5802c734b0642c1d8
Author: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Date:   Tue Apr 17 20:17:14 2018 -0300

    sctp.h: make use kernel UAPI header

    and with that, remove tons of duplicated declarations. These were
    lagging behind the kernel header, which is always the most updated one,
    and as the library is intended to be run only on Linux, there is no
    reason that we cannot re-use what is in there.

    That said, this patch drops all duplicated declarations and includes
    linux/sctp.h to bring them into lksctp-tools.

    Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>

 [snip]
 #include <stdint.h>
 #include <linux/types.h>
 #include <sys/socket.h>
+#include <linux/sctp.h>
 [snip]
===

And above logic make defined(SCTP_RECVRCVINFO) to
be 1 and the old sctp socket api macro as below
won't be defined.
 # define OLD_SCTP_SOCKET_API

And it encouters below build error:
| /build/freediameter/1.2.1-r0/freeDiameter-1.2.1/libfdcore/sctp.c:1262:9: error: 'SCTP_SEND_FAILED_EVENT' undeclared (first use in this function); did you mean 'SCTP_SEND_FAILED'?
    case SCTP_SEND_FAILED_EVENT:
         ^~~~~~~~~~~~~~~~~~~~~~
         SCTP_SEND_FAILED
| /build/freediameter/1.2.1-r0/freeDiameter-1.2.1/libfdcore/sctp.c:1262:9: note: each undeclared identifier is reported only once for each function it appears in
| /build/freediameter/1.2.1-r0/freeDiameter-1.2.1/libfdcore/sctp.c:1274:9: error: 'SCTP_NOTIFICATIONS_STOPPED_EVENT' undeclared (first use in this function); did you mean 'SCTP_AUTHENTICATION_EVENT'?
    case SCTP_NOTIFICATIONS_STOPPED_EVENT:

Update the old sctp socket api check to fix
the above build error.

Upstream-Status: Pending

Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
---
 libfdcore/sctp.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libfdcore/sctp.c b/libfdcore/sctp.c
index c80a497..83440c7 100644
--- a/libfdcore/sctp.c
+++ b/libfdcore/sctp.c
@@ -48,7 +48,7 @@
 /* #define OLD_SCTP_SOCKET_API */
 
 /* Automatically fallback to old API if some of the new symbols are not defined */
-#if (!defined(SCTP_CONNECTX_4_ARGS) || (!defined(SCTP_RECVRCVINFO)) || (!defined(SCTP_SNDINFO))) 
+#if (!defined(SCTP_CONNECTX_4_ARGS) || (!defined(SCTP_NOTIFICATIONS_STOPPED_EVENT)) || (!defined(SCTP_SNDINFO)))
 # define OLD_SCTP_SOCKET_API
 #endif
 
-- 
2.7.4

