summaryrefslogtreecommitdiffstats
path: root/src/extra
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2017-04-14 03:29:22 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2017-04-14 03:29:50 +0200
commite84b55978504a05c687dd636c1c526a99a34019e (patch)
treebddcfb84ab813255abe5dd9c187d234900da883c /src/extra
parent58cb0668dc15c78cd3af9eeaedf29386e86ecac1 (diff)
Revert "src: Declare the define visibility attribute together"
This reverts commit 58cb0668dc15c78cd3af9eeaedf29386e86ecac1. Prepare a new patch to keep this update consistent with libmnl. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/extra')
-rw-r--r--src/extra/ipv4.c15
-rw-r--r--src/extra/ipv6.c9
-rw-r--r--src/extra/pktbuff.c42
-rw-r--r--src/extra/tcp.c21
-rw-r--r--src/extra/udp.c21
5 files changed, 72 insertions, 36 deletions
diff --git a/src/extra/ipv4.c b/src/extra/ipv4.c
index 56d5dc7..a93d113 100644
--- a/src/extra/ipv4.c
+++ b/src/extra/ipv4.c
@@ -32,7 +32,7 @@
* This funcion returns NULL if the IPv4 is malformed or the protocol version
* is not 4. On success, it returns a valid pointer to the IPv4 header.
*/
-struct iphdr __EXPORTED *nfq_ip_get_hdr(struct pkt_buff *pktb)
+struct iphdr *nfq_ip_get_hdr(struct pkt_buff *pktb)
{
struct iphdr *iph;
unsigned int pktlen = pktb->tail - pktb->network_header;
@@ -53,13 +53,14 @@ struct iphdr __EXPORTED *nfq_ip_get_hdr(struct pkt_buff *pktb)
return iph;
}
+EXPORT_SYMBOL(nfq_ip_get_hdr);
/**
* nfq_ip_set_transport_header - set transport header
* \param pktb: pointer to network packet buffer
* \param iph: pointer to the IPv4 header
*/
-int __EXPORTED nfq_ip_set_transport_header(struct pkt_buff *pktb, struct iphdr *iph)
+int nfq_ip_set_transport_header(struct pkt_buff *pktb, struct iphdr *iph)
{
int doff = iph->ihl * 4;
@@ -70,6 +71,7 @@ int __EXPORTED nfq_ip_set_transport_header(struct pkt_buff *pktb, struct iphdr *
pktb->transport_header = pktb->network_header + doff;
return 0;
}
+EXPORT_SYMBOL(nfq_ip_set_transport_header);
/**
* nfq_ip_set_checksum - set IPv4 checksum
@@ -78,13 +80,14 @@ int __EXPORTED nfq_ip_set_transport_header(struct pkt_buff *pktb, struct iphdr *
* \note Call to this function if you modified the IPv4 header to update the
* checksum.
*/
-void __EXPORTED nfq_ip_set_checksum(struct iphdr *iph)
+void nfq_ip_set_checksum(struct iphdr *iph)
{
uint32_t iph_len = iph->ihl * 4;
iph->check = 0;
iph->check = nfq_checksum(0, (uint16_t *)iph, iph_len);
}
+EXPORT_SYMBOL(nfq_ip_set_checksum);
/**
* nfq_ip_mangle - mangle IPv4 packet buffer
@@ -97,7 +100,7 @@ void __EXPORTED nfq_ip_set_checksum(struct iphdr *iph)
*
* \note This function recalculates the IPv4 checksum (if needed).
*/
-int __EXPORTED nfq_ip_mangle(struct pkt_buff *pkt, unsigned int dataoff,
+int nfq_ip_mangle(struct pkt_buff *pkt, unsigned int dataoff,
unsigned int match_offset, unsigned int match_len,
const char *rep_buffer, unsigned int rep_len)
{
@@ -113,6 +116,7 @@ int __EXPORTED nfq_ip_mangle(struct pkt_buff *pkt, unsigned int dataoff,
return 1;
}
+EXPORT_SYMBOL(nfq_ip_mangle);
/**
* nfq_pkt_snprintf_ip - print IPv4 header into buffer in iptables LOG format
@@ -124,7 +128,7 @@ int __EXPORTED nfq_ip_mangle(struct pkt_buff *pkt, unsigned int dataoff,
* case that there is enough room in the buffer. Read snprintf manpage for more
* information to know more about this strange behaviour.
*/
-int __EXPORTED nfq_ip_snprintf(char *buf, size_t size, const struct iphdr *iph)
+int nfq_ip_snprintf(char *buf, size_t size, const struct iphdr *iph)
{
int ret;
struct in_addr src = { iph->saddr };
@@ -143,6 +147,7 @@ int __EXPORTED nfq_ip_snprintf(char *buf, size_t size, const struct iphdr *iph)
return ret;
}
+EXPORT_SYMBOL(nfq_ip_snprintf);
/**
* @}
diff --git a/src/extra/ipv6.c b/src/extra/ipv6.c
index 6641c6b..7c5dc9b 100644
--- a/src/extra/ipv6.c
+++ b/src/extra/ipv6.c
@@ -33,7 +33,7 @@
* This funcion returns NULL if an invalid header is found. On sucess, it
* returns a valid pointer to the header.
*/
-struct ip6_hdr __EXPORTED *nfq_ip6_get_hdr(struct pkt_buff *pktb)
+struct ip6_hdr *nfq_ip6_get_hdr(struct pkt_buff *pktb)
{
struct ip6_hdr *ip6h;
unsigned int pktlen = pktb->tail - pktb->network_header;
@@ -50,6 +50,7 @@ struct ip6_hdr __EXPORTED *nfq_ip6_get_hdr(struct pkt_buff *pktb)
return ip6h;
}
+EXPORT_SYMBOL(nfq_ip6_get_hdr);
/**
* nfq_ip6_set_transport_header - set transport header pointer for IPv6 packet
@@ -60,7 +61,7 @@ struct ip6_hdr __EXPORTED *nfq_ip6_get_hdr(struct pkt_buff *pktb)
* This function returns 1 if the protocol has been found and the transport
* header has been set. Otherwise, it returns 0.
*/
-int __EXPORTED nfq_ip6_set_transport_header(struct pkt_buff *pktb, struct ip6_hdr *ip6h,
+int nfq_ip6_set_transport_header(struct pkt_buff *pktb, struct ip6_hdr *ip6h,
uint8_t target)
{
uint8_t nexthdr = ip6h->ip6_nxt;
@@ -114,6 +115,7 @@ int __EXPORTED nfq_ip6_set_transport_header(struct pkt_buff *pktb, struct ip6_hd
pktb->transport_header = cur;
return cur ? 1 : 0;
}
+EXPORT_SYMBOL(nfq_ip6_set_transport_header);
/**
* nfq_ip6_snprintf - print IPv6 header into one buffer in iptables LOG format
@@ -122,7 +124,7 @@ int __EXPORTED nfq_ip6_set_transport_header(struct pkt_buff *pktb, struct ip6_hd
* \param ip6_hdr: pointer to a valid IPv6 header.
*
*/
-int __EXPORTED nfq_ip6_snprintf(char *buf, size_t size, const struct ip6_hdr *ip6h)
+int nfq_ip6_snprintf(char *buf, size_t size, const struct ip6_hdr *ip6h)
{
int ret;
char src[INET6_ADDRSTRLEN];
@@ -141,6 +143,7 @@ int __EXPORTED nfq_ip6_snprintf(char *buf, size_t size, const struct ip6_hdr *ip
return ret;
}
+EXPORT_SYMBOL(nfq_ip6_snprintf);
/**
* @}
diff --git a/src/extra/pktbuff.c b/src/extra/pktbuff.c
index 54d8244..1c15a00 100644
--- a/src/extra/pktbuff.c
+++ b/src/extra/pktbuff.c
@@ -40,7 +40,7 @@
*
* \return a pointer to a new queue handle or NULL on failure.
*/
-struct pkt_buff __EXPORTED *
+struct pkt_buff *
pktb_alloc(int family, void *data, size_t len, size_t extra)
{
struct pkt_buff *pktb;
@@ -84,108 +84,120 @@ pktb_alloc(int family, void *data, size_t len, size_t extra)
}
return pktb;
}
+EXPORT_SYMBOL(pktb_alloc);
/**
* pktb_data - return pointer to the beginning of the packet buffer
* \param pktb Pointer to packet buffer
*/
-uint8_t __EXPORTED *pktb_data(struct pkt_buff *pktb)
+uint8_t *pktb_data(struct pkt_buff *pktb)
{
return pktb->data;
}
+EXPORT_SYMBOL(pktb_data);
/**
* pktb_len - return length of the packet buffer
* \param pktb Pointer to packet buffer
*/
-uint32_t __EXPORTED pktb_len(struct pkt_buff *pktb)
+uint32_t pktb_len(struct pkt_buff *pktb)
{
return pktb->len;
}
+EXPORT_SYMBOL(pktb_len);
/**
* pktb_free - release packet buffer
* \param pktb Pointer to packet buffer
*/
-void __EXPORTED pktb_free(struct pkt_buff *pktb)
+void pktb_free(struct pkt_buff *pktb)
{
free(pktb);
}
+EXPORT_SYMBOL(pktb_free);
/**
* pktb_push - update pointer to the beginning of the packet buffer
* \param pktb Pointer to packet buffer
*/
-void __EXPORTED pktb_push(struct pkt_buff *pktb, unsigned int len)
+void pktb_push(struct pkt_buff *pktb, unsigned int len)
{
pktb->data -= len;
pktb->len += len;
}
+EXPORT_SYMBOL(pktb_push);
/**
* pktb_pull - update pointer to the beginning of the packet buffer
* \param pktb Pointer to packet buffer
*/
-void __EXPORTED pktb_pull(struct pkt_buff *pktb, unsigned int len)
+void pktb_pull(struct pkt_buff *pktb, unsigned int len)
{
pktb->data += len;
pktb->len -= len;
}
+EXPORT_SYMBOL(pktb_pull);
/**
* pktb_put - add extra bytes to the tail of the packet buffer
* \param pktb Pointer to packet buffer
*/
-void __EXPORTED pktb_put(struct pkt_buff *pktb, unsigned int len)
+void pktb_put(struct pkt_buff *pktb, unsigned int len)
{
pktb->tail += len;
pktb->len += len;
}
+EXPORT_SYMBOL(pktb_put);
/**
* pktb_trim - set new length for this packet buffer
* \param pktb Pointer to packet buffer
*/
-void __EXPORTED pktb_trim(struct pkt_buff *pktb, unsigned int len)
+void pktb_trim(struct pkt_buff *pktb, unsigned int len)
{
pktb->len = len;
}
+EXPORT_SYMBOL(pktb_trim);
/**
* pktb_tailroom - get room in bytes in the tail of the packet buffer
* \param pktb Pointer to packet buffer
*/
-unsigned int __EXPORTED pktb_tailroom(struct pkt_buff *pktb)
+unsigned int pktb_tailroom(struct pkt_buff *pktb)
{
return pktb->data_len - pktb->len;
}
+EXPORT_SYMBOL(pktb_tailroom);
/**
* pktb_mac_header - return pointer to layer 2 header (if any)
* \param pktb Pointer to packet buffer
*/
-uint8_t __EXPORTED *pktb_mac_header(struct pkt_buff *pktb)
+uint8_t *pktb_mac_header(struct pkt_buff *pktb)
{
return pktb->mac_header;
}
+EXPORT_SYMBOL(pktb_mac_header);
/**
* pktb_network_header - return pointer to layer 3 header
* \param pktb Pointer to packet buffer
*/
-uint8_t __EXPORTED *pktb_network_header(struct pkt_buff *pktb)
+uint8_t *pktb_network_header(struct pkt_buff *pktb)
{
return pktb->network_header;
}
+EXPORT_SYMBOL(pktb_network_header);
/**
* pktb_transport_header - return pointer to layer 4 header (if any)
* \param pktb Pointer to packet buffer
*/
-uint8_t __EXPORTED *pktb_transport_header(struct pkt_buff *pktb)
+uint8_t *pktb_transport_header(struct pkt_buff *pktb)
{
return pktb->transport_header;
}
+EXPORT_SYMBOL(pktb_transport_header);
static int pktb_expand_tail(struct pkt_buff *pkt, int extra)
{
@@ -212,7 +224,7 @@ static int enlarge_pkt(struct pkt_buff *pkt, unsigned int extra)
return 1;
}
-int __EXPORTED pktb_mangle(struct pkt_buff *pkt,
+int pktb_mangle(struct pkt_buff *pkt,
unsigned int dataoff,
unsigned int match_offset,
unsigned int match_len,
@@ -246,15 +258,17 @@ int __EXPORTED pktb_mangle(struct pkt_buff *pkt,
pkt->mangled = true;
return 1;
}
+EXPORT_SYMBOL(pktb_mangle);
/**
* pktb_mangled - return true if packet has been mangled
* \param pktb Pointer to packet buffer
*/
-bool __EXPORTED pktb_mangled(const struct pkt_buff *pkt)
+bool pktb_mangled(const struct pkt_buff *pkt)
{
return pkt->mangled;
}
+EXPORT_SYMBOL(pktb_mangled);
/**
* @}
diff --git a/src/extra/tcp.c b/src/extra/tcp.c
index 8038ce5..d1cd79d 100644
--- a/src/extra/tcp.c
+++ b/src/extra/tcp.c
@@ -40,7 +40,7 @@
* \note You have to call nfq_ip_set_transport_header or
* nfq_ip6_set_transport_header first to access the TCP header.
*/
-struct tcphdr __EXPORTED *nfq_tcp_get_hdr(struct pkt_buff *pktb)
+struct tcphdr *nfq_tcp_get_hdr(struct pkt_buff *pktb)
{
if (pktb->transport_header == NULL)
return NULL;
@@ -51,13 +51,14 @@ struct tcphdr __EXPORTED *nfq_tcp_get_hdr(struct pkt_buff *pktb)
return (struct tcphdr *)pktb->transport_header;
}
+EXPORT_SYMBOL(nfq_tcp_get_hdr);
/**
* nfq_tcp_get_payload - get the TCP packet payload
* \param tcph: pointer to the TCP header
* \param pktb: pointer to user-space network packet buffer
*/
-void __EXPORTED *nfq_tcp_get_payload(struct tcphdr *tcph, struct pkt_buff *pktb)
+void *nfq_tcp_get_payload(struct tcphdr *tcph, struct pkt_buff *pktb)
{
unsigned int len = tcph->doff * 4;
@@ -71,43 +72,47 @@ void __EXPORTED *nfq_tcp_get_payload(struct tcphdr *tcph, struct pkt_buff *pktb)
return pktb->transport_header + len;
}
+EXPORT_SYMBOL(nfq_tcp_get_payload);
/**
* nfq_tcp_get_payload_len - get the tcp packet payload
* \param tcph: pointer to the TCP header
* \param pktb: pointer to user-space network packet buffer
*/
-unsigned int __EXPORTED
+unsigned int
nfq_tcp_get_payload_len(struct tcphdr *tcph, struct pkt_buff *pktb)
{
return pktb->tail - pktb->transport_header;
}
+EXPORT_SYMBOL(nfq_tcp_get_payload_len);
/**
* nfq_tcp_set_checksum_ipv4 - computes IPv4/TCP packet checksum
* \param tcph: pointer to the TCP header
* \param iph: pointer to the IPv4 header
*/
-void __EXPORTED
+void
nfq_tcp_compute_checksum_ipv4(struct tcphdr *tcph, struct iphdr *iph)
{
/* checksum field in header needs to be zero for calculation. */
tcph->check = 0;
tcph->check = nfq_checksum_tcpudp_ipv4(iph);
}
+EXPORT_SYMBOL(nfq_tcp_compute_checksum_ipv4);
/**
* nfq_tcp_set_checksum_ipv6 - computes IPv6/TCP packet checksum
* \param tcph: pointer to the TCP header
* \param iph: pointer to the IPv6 header
*/
-void __EXPORTED
+void
nfq_tcp_compute_checksum_ipv6(struct tcphdr *tcph, struct ip6_hdr *ip6h)
{
/* checksum field in header needs to be zero for calculation. */
tcph->check = 0;
tcph->check = nfq_checksum_tcpudp_ipv6(ip6h, tcph);
}
+EXPORT_SYMBOL(nfq_tcp_compute_checksum_ipv6);
/*
* The union cast uses a gcc extension to avoid aliasing problems
@@ -129,7 +134,7 @@ union tcp_word_hdr {
* \param tcp: pointer to a valid tcp header.
*
*/
-int __EXPORTED nfq_tcp_snprintf(char *buf, size_t size, const struct tcphdr *tcph)
+int nfq_tcp_snprintf(char *buf, size_t size, const struct tcphdr *tcph)
{
int ret, len = 0;
@@ -172,6 +177,7 @@ int __EXPORTED nfq_tcp_snprintf(char *buf, size_t size, const struct tcphdr *tcp
return ret;
}
+EXPORT_SYMBOL(nfq_tcp_snprintf);
/**
* nfq_tcp_mangle_ipv4 - mangle TCP/IPv4 packet buffer
@@ -183,7 +189,7 @@ int __EXPORTED nfq_tcp_snprintf(char *buf, size_t size, const struct tcphdr *tcp
*
* \note This function recalculates the IPv4 and TCP checksums for you.
*/
-int __EXPORTED
+int
nfq_tcp_mangle_ipv4(struct pkt_buff *pkt,
unsigned int match_offset, unsigned int match_len,
const char *rep_buffer, unsigned int rep_len)
@@ -202,6 +208,7 @@ nfq_tcp_mangle_ipv4(struct pkt_buff *pkt,
return 1;
}
+EXPORT_SYMBOL(nfq_tcp_mangle_ipv4);
/**
* @}
diff --git a/src/extra/udp.c b/src/extra/udp.c
index 99c8faa..8c44a66 100644
--- a/src/extra/udp.c
+++ b/src/extra/udp.c
@@ -37,7 +37,7 @@
* This function returns NULL if invalid UDP header is found. On success,
* it returns the UDP header.
*/
-struct udphdr __EXPORTED *nfq_udp_get_hdr(struct pkt_buff *pktb)
+struct udphdr *nfq_udp_get_hdr(struct pkt_buff *pktb)
{
if (pktb->transport_header == NULL)
return NULL;
@@ -48,13 +48,14 @@ struct udphdr __EXPORTED *nfq_udp_get_hdr(struct pkt_buff *pktb)
return (struct udphdr *)pktb->transport_header;
}
+EXPORT_SYMBOL(nfq_udp_get_hdr);
/**
* nfq_udp_get_payload - get the UDP packet payload.
* \param udph: the pointer to the UDP header.
* \param tail: pointer to the tail of the packet
*/
-void __EXPORTED *nfq_udp_get_payload(struct udphdr *udph, struct pkt_buff *pktb)
+void *nfq_udp_get_payload(struct udphdr *udph, struct pkt_buff *pktb)
{
uint16_t len = ntohs(udph->len);
@@ -68,15 +69,17 @@ void __EXPORTED *nfq_udp_get_payload(struct udphdr *udph, struct pkt_buff *pktb)
return pktb->transport_header + sizeof(struct udphdr);
}
+EXPORT_SYMBOL(nfq_udp_get_payload);
/**
* nfq_udp_get_payload_len - get the udp packet payload.
* \param udp: the pointer to the udp header.
*/
-unsigned int __EXPORTED nfq_udp_get_payload_len(struct udphdr *udph, struct pkt_buff *pktb)
+unsigned int nfq_udp_get_payload_len(struct udphdr *udph, struct pkt_buff *pktb)
{
return pktb->tail - pktb->transport_header;
}
+EXPORT_SYMBOL(nfq_udp_get_payload_len);
/**
* nfq_udp_set_checksum_ipv4 - computes a IPv4/TCP packet's segment
@@ -88,13 +91,14 @@ unsigned int __EXPORTED nfq_udp_get_payload_len(struct udphdr *udph, struct pkt_
* \see nfq_pkt_compute_ip_checksum
* \see nfq_pkt_compute_udp_checksum
*/
-void __EXPORTED
+void
nfq_udp_compute_checksum_ipv4(struct udphdr *udph, struct iphdr *iph)
{
/* checksum field in header needs to be zero for calculation. */
udph->check = 0;
udph->check = nfq_checksum_tcpudp_ipv4(iph);
}
+EXPORT_SYMBOL(nfq_udp_compute_checksum_ipv4);
/**
* nfq_udp_set_checksum_ipv6 - computes a IPv6/TCP packet's segment
@@ -106,13 +110,14 @@ nfq_udp_compute_checksum_ipv4(struct udphdr *udph, struct iphdr *iph)
* \see nfq_pkt_compute_ip_checksum
* \see nfq_pkt_compute_udp_checksum
*/
-void __EXPORTED
+void
nfq_udp_compute_checksum_ipv6(struct udphdr *udph, struct ip6_hdr *ip6h)
{
/* checksum field in header needs to be zero for calculation. */
udph->check = 0;
udph->check = nfq_checksum_tcpudp_ipv6(ip6h, udph);
}
+EXPORT_SYMBOL(nfq_udp_compute_checksum_ipv6);
/**
* nfq_tcp_mangle_ipv4 - mangle TCP/IPv4 packet buffer
@@ -124,7 +129,7 @@ nfq_udp_compute_checksum_ipv6(struct udphdr *udph, struct ip6_hdr *ip6h)
*
* \note This function recalculates the IPv4 and TCP checksums for you.
*/
-int __EXPORTED
+int
nfq_udp_mangle_ipv4(struct pkt_buff *pkt,
unsigned int match_offset, unsigned int match_len,
const char *rep_buffer, unsigned int rep_len)
@@ -143,6 +148,7 @@ nfq_udp_mangle_ipv4(struct pkt_buff *pkt,
return 1;
}
+EXPORT_SYMBOL(nfq_udp_mangle_ipv4);
/**
* nfq_pkt_snprintf_udp_hdr - print udp header into one buffer in a humnan
@@ -152,11 +158,12 @@ nfq_udp_mangle_ipv4(struct pkt_buff *pkt,
* \param udp: pointer to a valid udp header.
*
*/
-int __EXPORTED nfq_udp_snprintf(char *buf, size_t size, const struct udphdr *udph)
+int nfq_udp_snprintf(char *buf, size_t size, const struct udphdr *udph)
{
return snprintf(buf, size, "SPT=%u DPT=%u ",
htons(udph->source), htons(udph->dest));
}
+EXPORT_SYMBOL(nfq_udp_snprintf);
/**
* @}