]> git.puffer.fish Git - mirror/frr.git/commitdiff
lib: use platform-neutral value for TCP MD5 signature len 8427/head
authorMark Stapp <mjs@voltanet.io>
Thu, 8 Apr 2021 12:56:32 +0000 (08:56 -0400)
committerMark Stapp <mjs@voltanet.io>
Fri, 9 Apr 2021 12:13:58 +0000 (08:13 -0400)
Use a pcep-specific value for MD5SIG_MAXLEN, use the OS value if
present.

Signed-off-by: Mark Stapp <mjs@voltanet.io>
pathd/path_pcep.h
pceplib/pcep.h
pceplib/pcep_pcc.c
pceplib/pcep_session_logic.h
pceplib/pcep_socket_comm.h

index 654d089cbc01bb2559e0be121af78885b1ef669a..d0af674ff9036c3e2fe4153121d6c7b12e793b51 100644 (file)
@@ -84,7 +84,7 @@ DECLARE_MTYPE(PCEP);
 
 struct pcep_config_group_opts {
        char name[64];
-       char tcp_md5_auth[TCP_MD5SIG_MAXKEYLEN];
+       char tcp_md5_auth[PCEP_MD5SIG_MAXKEYLEN];
        struct ipaddr source_ip;
        short source_port;
        bool draft07;
index 278ab9d5dcba4d30cc46ed6f3a9d1efe05985e8b..b5d02c7e628265b3c895b62223e694f7ef65ed08 100644 (file)
 #endif
 
 #if defined(linux) || defined(GNU_LINUX)
-//#include <netinet/in.h>
+
 #define ipv6_u __in6_u
 #else
-// bsd family
-#define TCP_MD5SIG_MAXKEYLEN 80
-//#include <netinet/in.h>
+/* bsd family */
 #define ipv6_u __u6_addr
 #ifdef __FreeBSD__
 #include <sys/endian.h>
 #include <sys/socket.h>
 #include <netinet/in.h>
 #include <pthread.h>
+
+/* Cross-compilation seems to have trouble finding this */
+#if defined(TCP_MD5SIG_MAXKEYLEN)
+#define PCEP_MD5SIG_MAXKEYLEN TCP_MD5SIG_MAXKEYLEN
+#else
+#define PCEP_MD5SIG_MAXKEYLEN 80
+#endif
+
 #endif
index 1a702a8b63761e607109d376eff6b17f95915a34..d263f64f39b8628ac0ad207225293143d5c21ee1 100644 (file)
@@ -53,7 +53,7 @@ struct cmd_line_args {
        char dest_ip_str[MAX_DST_IP_STR];
        short src_tcp_port;
        short dest_tcp_port;
-       char tcp_md5_str[TCP_MD5SIG_MAXKEYLEN]; /* RFC 2385 */
+       char tcp_md5_str[PCEP_MD5SIG_MAXKEYLEN]; /* RFC 2385 */
        bool is_ipv6;
        bool eventpoll; /* poll for pcep_event's, or use callback (default) */
 };
index a082ec66dad1384798b57e6b8b805abda8ca3b40..9cdec5250f037319af779ec9371ec8f0011bf58a 100644 (file)
@@ -122,7 +122,7 @@ typedef struct pcep_configuration_ {
 
        struct pcep_versioning *pcep_msg_versioning;
 
-       char tcp_authentication_str[TCP_MD5SIG_MAXKEYLEN];
+       char tcp_authentication_str[PCEP_MD5SIG_MAXKEYLEN];
        bool is_tcp_auth_md5; /* true: RFC 2385, false: RFC 5925 */
 
 } pcep_configuration;
index 797ffda86080a81037a276da7cdf38bdc81e3e46..89d249291432abe18ff557bdba21dd0567e7195b 100644 (file)
@@ -91,9 +91,9 @@ typedef struct pcep_socket_comm_session_ {
        int received_bytes;
        bool close_after_write;
        void *external_socket_data; /* used for external socket infra */
-       char tcp_authentication_str[TCP_MD5SIG_MAXKEYLEN
-                                   + 1]; /* should be used with is_tcp_auth_md5
-                                            flag */
+       /* should be used with is_tcp_auth_md5 flag */
+       char tcp_authentication_str[PCEP_MD5SIG_MAXKEYLEN + 1];
+
        bool is_tcp_auth_md5; /* flag to distinguish between rfc 2385 (md5) and
                                 rfc 5925 (tcp-ao) */