]> git.ipfire.org Git - thirdparty/ipset.git/commitdiff
Add compatibility support for strscpy()
authorJozsef Kadlecsik <kadlec@blackhole.kfki.hu>
Mon, 10 Dec 2018 17:29:48 +0000 (18:29 +0100)
committerJozsef Kadlecsik <kadlec@blackhole.kfki.hu>
Mon, 10 Dec 2018 17:29:48 +0000 (18:29 +0100)
configure.ac
kernel/include/linux/netfilter/ipset/ip_set_compat.h.in

index f5705918484a6e614e80388c3d5987662e58b819..f2293613d5a8ecc5515431d0eeaa25ae2c0310c9 100644 (file)
@@ -639,6 +639,16 @@ else
        AC_SUBST(HAVE_LOCKDEP_NFNL_IS_HELD, undef)
 fi
 
+AC_MSG_CHECKING([kernel source for strscpy() in string.h])
+if test -f $ksourcedir/include/linux/timer.h && \
+   $GREP -q ' strscpy' $ksourcedir/include/linux/string.h; then
+       AC_MSG_RESULT(yes)
+       AC_SUBST(HAVE_STRSCPY, define)
+else
+       AC_MSG_RESULT(no)
+       AC_SUBST(HAVE_STRSCPY, undef)
+fi
+
 AC_MSG_CHECKING([kernel source for struct net_generic])
 if test -f $ksourcedir/include/net/netns/generic.h && \
    $GREP -q 'struct net_generic' $ksourcedir/include/net/netns/generic.h; then
index 1d536a3e128fd44a7049fab789b916e197898ae7..c5da39c2825e9d8884fdf612b3b3a533b36eedcc 100644 (file)
@@ -47,6 +47,7 @@
 #@HAVE_PASSING_EXTENDED_ACK_TO_CALLBACKS@ HAVE_PASSING_EXTENDED_ACK_TO_CALLBACKS
 #@HAVE_TYPEDEF_SCTP_SCTPHDR_T@ HAVE_TYPEDEF_SCTP_SCTPHDR_T
 #@HAVE_TIMER_SETUP@ HAVE_TIMER_SETUP
+#@HAVE_STRSCPY@ HAVE_STRSCPY
 #@HAVE_LOCKDEP_NFNL_IS_HELD@ HAVE_LOCKDEP_NFNL_IS_HELD
 
 #ifdef HAVE_EXPORT_SYMBOL_GPL_IN_MODULE_H
@@ -377,6 +378,10 @@ static inline u16 nfnl_msg_type(u8 subsys, u8 msg_type)
        struct type *var = set->data
 #endif
 
+#ifndef HAVE_STRSCPY
+#define        strscpy(dst, src, n)    (strncpy(dst, src, n) == (dst))
+#endif
+
 #ifndef smp_mb__before_atomic
 #define smp_mb__before_atomic()        smp_mb()
 #define smp_mb__after_atomic() smp_mb()