0001-newer-kernel.patch 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. From 30e24dbfc7a8644e29664070e8c16e5c3997f87e Mon Sep 17 00:00:00 2001
  2. From: Pablo Neira Ayuso <pablo@netfilter.org>
  3. Date: Fri, 7 Nov 2014 18:33:01 +0100
  4. Subject: include: keep a copy of linux/netfilter_ipv4/ipt_ULOG.h
  5. This fixes compilation if you use a Linux kernel >= 3.17. This problem
  6. occurs since ULOG was removed from mainstream:
  7. http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=7200135bc1e61f1437dc326ae2ef2f310c50b4eb
  8. Closes: https://bugzilla.netfilter.org/show_bug.cgi?id=986
  9. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
  10. diff --git a/configure.ac b/configure.ac
  11. index 522c345..c5f573c 100644
  12. --- a/configure.ac
  13. +++ b/configure.ac
  14. @@ -142,7 +142,7 @@ dnl AM_CONDITIONAL(HAVE_PGSQL, test x$pgsqldir != x)
  15. AC_CONFIG_FILES(include/Makefile include/ulogd/Makefile include/libipulog/Makefile \
  16. include/linux/Makefile include/linux/netfilter/Makefile \
  17. - libipulog/Makefile \
  18. + include/linux/netfilter_ipv4/Makefile libipulog/Makefile \
  19. input/Makefile input/packet/Makefile input/flow/Makefile \
  20. input/sum/Makefile \
  21. filter/Makefile filter/raw2packet/Makefile filter/packet2flow/Makefile \
  22. diff --git a/include/linux/Makefile.am b/include/linux/Makefile.am
  23. index ca80d0d..18af1c2 100644
  24. --- a/include/linux/Makefile.am
  25. +++ b/include/linux/Makefile.am
  26. @@ -1,2 +1,2 @@
  27. -
  28. -SUBDIRS = netfilter
  29. +SUBDIRS = netfilter \
  30. + netfilter_ipv4
  31. diff --git a/include/linux/netfilter_ipv4/Makefile.am b/include/linux/netfilter_ipv4/Makefile.am
  32. new file mode 100644
  33. index 0000000..41819a3
  34. --- /dev/null
  35. +++ b/include/linux/netfilter_ipv4/Makefile.am
  36. @@ -0,0 +1 @@
  37. +noinst_HEADERS = ipt_ULOG.h
  38. diff --git a/include/linux/netfilter_ipv4/ipt_ULOG.h b/include/linux/netfilter_ipv4/ipt_ULOG.h
  39. new file mode 100644
  40. index 0000000..417aad2
  41. --- /dev/null
  42. +++ b/include/linux/netfilter_ipv4/ipt_ULOG.h
  43. @@ -0,0 +1,49 @@
  44. +/* Header file for IP tables userspace logging, Version 1.8
  45. + *
  46. + * (C) 2000-2002 by Harald Welte <laforge@gnumonks.org>
  47. + *
  48. + * Distributed under the terms of GNU GPL */
  49. +
  50. +#ifndef _IPT_ULOG_H
  51. +#define _IPT_ULOG_H
  52. +
  53. +#ifndef NETLINK_NFLOG
  54. +#define NETLINK_NFLOG 5
  55. +#endif
  56. +
  57. +#define ULOG_DEFAULT_NLGROUP 1
  58. +#define ULOG_DEFAULT_QTHRESHOLD 1
  59. +
  60. +#define ULOG_MAC_LEN 80
  61. +#define ULOG_PREFIX_LEN 32
  62. +
  63. +#define ULOG_MAX_QLEN 50
  64. +/* Why 50? Well... there is a limit imposed by the slab cache 131000
  65. + * bytes. So the multipart netlink-message has to be < 131000 bytes.
  66. + * Assuming a standard ethernet-mtu of 1500, we could define this up
  67. + * to 80... but even 50 seems to be big enough. */
  68. +
  69. +/* private data structure for each rule with a ULOG target */
  70. +struct ipt_ulog_info {
  71. + unsigned int nl_group;
  72. + size_t copy_range;
  73. + size_t qthreshold;
  74. + char prefix[ULOG_PREFIX_LEN];
  75. +};
  76. +
  77. +/* Format of the ULOG packets passed through netlink */
  78. +typedef struct ulog_packet_msg {
  79. + unsigned long mark;
  80. + long timestamp_sec;
  81. + long timestamp_usec;
  82. + unsigned int hook;
  83. + char indev_name[IFNAMSIZ];
  84. + char outdev_name[IFNAMSIZ];
  85. + size_t data_len;
  86. + char prefix[ULOG_PREFIX_LEN];
  87. + unsigned char mac_len;
  88. + unsigned char mac[ULOG_MAC_LEN];
  89. + unsigned char payload[0];
  90. +} ulog_packet_msg_t;
  91. +
  92. +#endif /*_IPT_ULOG_H*/
  93. --
  94. cgit v0.10.2