Mercurial > hg > freeDiameter
comparison libfdcore/fdcore-internal.h @ 1540:407e0a889c7e
SCTP ConnectPeer: sctp_bindx() to local endpoints
When connecting to an SCTP peer using sctp_connectx() with local
addresses configured with ListenOn, bind to the ListenOn addresses
using sctp_bindx() so that the SCTP INIT only contains the
configured local addresses, matching what is advertised in the CER,
and disable SCTP_AUTO_ASCONF.
If no local addresses are configured with ListenOn, the previous
behaviour of sctp_connectx() and enable SCTP_AUTO_ASCONF is used.
author | Luke Mewburn <luke@mewburn.net> |
---|---|
date | Fri, 01 May 2020 18:20:33 +1000 |
parents | 239ba25870d8 |
children | 566bb46cc73f |
comparison
equal
deleted
inserted
replaced
1539:d25ce064c667 | 1540:407e0a889c7e |
---|---|
340 struct cnxctx * fd_cnx_serv_tcp(uint16_t port, int family, struct fd_endpoint * ep); | 340 struct cnxctx * fd_cnx_serv_tcp(uint16_t port, int family, struct fd_endpoint * ep); |
341 struct cnxctx * fd_cnx_serv_sctp(uint16_t port, struct fd_list * ep_list); | 341 struct cnxctx * fd_cnx_serv_sctp(uint16_t port, struct fd_list * ep_list); |
342 int fd_cnx_serv_listen(struct cnxctx * conn); | 342 int fd_cnx_serv_listen(struct cnxctx * conn); |
343 struct cnxctx * fd_cnx_serv_accept(struct cnxctx * serv); | 343 struct cnxctx * fd_cnx_serv_accept(struct cnxctx * serv); |
344 struct cnxctx * fd_cnx_cli_connect_tcp(sSA * sa, socklen_t addrlen); | 344 struct cnxctx * fd_cnx_cli_connect_tcp(sSA * sa, socklen_t addrlen); |
345 struct cnxctx * fd_cnx_cli_connect_sctp(int no_ip6, uint16_t port, struct fd_list * list); | 345 struct cnxctx * fd_cnx_cli_connect_sctp(int no_ip6, uint16_t port, struct fd_list * list, struct fd_list * src_list); |
346 int fd_cnx_start_clear(struct cnxctx * conn, int loop); | 346 int fd_cnx_start_clear(struct cnxctx * conn, int loop); |
347 void fd_cnx_sethostname(struct cnxctx * conn, DiamId_t hn); | 347 void fd_cnx_sethostname(struct cnxctx * conn, DiamId_t hn); |
348 int fd_cnx_proto_info(struct cnxctx * conn, char * buf, size_t len); | 348 int fd_cnx_proto_info(struct cnxctx * conn, char * buf, size_t len); |
349 #define ALGO_HANDSHAKE_DEFAULT 0 /* TLS for TCP, DTLS for SCTP */ | 349 #define ALGO_HANDSHAKE_DEFAULT 0 /* TLS for TCP, DTLS for SCTP */ |
350 #define ALGO_HANDSHAKE_3436 1 /* For TLS for SCTP also */ | 350 #define ALGO_HANDSHAKE_3436 1 /* For TLS for SCTP also */ |