All of lore.kernel.org
 help / color / mirror / Atom feed
From: Patrick McHardy <kaber@trash.net>
To: netfilter-devel@vger.kernel.org, linux-audit@redhat.com,
	Eric Paris <eparis@parisplace.org>,
	Al Viro <viro@ZenIV.linux.org.uk>
Subject: Re: [PATCH] netfilter: audit target to record accepted/dropped packets
Date: Fri, 14 Jan 2011 16:46:03 +0100	[thread overview]
Message-ID: <4D306FBB.8020705@trash.net> (raw)
In-Reply-To: <20110114152024.GA9654@canuck.infradead.org>

On 14.01.2011 16:20, Thomas Graf wrote:
> +static unsigned int
> +audit_tg(struct sk_buff *skb, const struct xt_action_param *par)
> +{
> +	const struct xt_AUDIT_info *info = par->targinfo;
> +	struct audit_buffer *ab;
> +
> +	ab = audit_log_start(NULL, GFP_ATOMIC, AUDIT_NETFILTER_PKT);
> +	if (ab == NULL)
> +		goto errout;
> +
> +	audit_log_format(ab, "action=%u hook=%u len=%u inif=%s outif=%s",
> +			 info->type, par->hooknum, skb->len,
> +			 par->in ? par->in->name : "?",
> +			 par->out ? par->out->name : "?");
> +
> +	if (skb->mark)
> +		audit_log_format(ab, " mark=%#x", skb->mark);
> +
> +	switch (skb->dev->type) {

This won't work in the AF_INET/LOCAL_OUT hook, skb->dev is set just
before the packet is handed to the POST_ROUTING hook. The ethernet
header is also only present on incoming packets.

> +	case ARPHRD_ETHER:
> +		audit_log_format(ab, " smac=%pM dmac=%pM macproto=0x%04x",
> +				 eth_hdr(skb)->h_source, eth_hdr(skb)->h_dest,
> +				 ntohs(eth_hdr(skb)->h_proto));
> +
> +		if (par->family == NFPROTO_BRIDGE) {
> +			switch (eth_hdr(skb)->h_proto) {
> +			case __constant_htons(ETH_P_IP):
> +				audit_ip4(ab, skb);
> +				break;
> +
> +			case __constant_htons(ETH_P_IPV6):
> +				audit_ip6(ab, skb);
> +				break;
> +			}
> +		}
> +		break;
> +	}
> +
> +	switch (par->family) {
> +	case NFPROTO_IPV4:
> +		audit_ip4(ab, skb);
> +		break;
> +
> +	case NFPROTO_IPV6:
> +		audit_ip6(ab, skb);
> +		break;
> +	}
> +
> +	audit_log_end(ab);
> +
> +errout:
> +	return XT_CONTINUE;
> +}
> +

  parent reply	other threads:[~2011-01-14 15:46 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-14 15:20 [PATCH] netfilter: audit target to record accepted/dropped packets Thomas Graf
2011-01-14 15:26 ` Eric Paris
2011-01-14 15:31 ` Jan Engelhardt
2011-01-14 15:37   ` Thomas Graf
2011-01-14 15:46 ` Patrick McHardy [this message]
2011-01-14 16:19   ` Thomas Graf
2011-01-14 16:49     ` Jan Engelhardt
2011-01-14 16:59     ` [PATCHv2] " Thomas Graf
2011-01-14 17:29       ` Jan Engelhardt
2011-01-14 22:22         ` Thomas Graf
2011-01-14 23:10           ` Michał Mirosław
2011-01-14 23:10             ` Michał Mirosław
2011-01-14 23:19             ` Jan Engelhardt
2011-01-14 23:16           ` Jan Engelhardt
2011-01-14 22:24         ` [PATCHv3] " Thomas Graf
2011-01-14 23:48           ` [PATCHv4] " Thomas Graf
2011-01-14 23:48             ` Thomas Graf
2011-01-15 16:07             ` Patrick McHardy
2011-01-16 17:12           ` [PATCHv3] " Patrick McHardy
2011-01-14 18:51       ` [PATCHv2] " Mr Dash Four
2011-01-14 19:18         ` Jan Engelhardt
2011-01-14 19:24           ` Eric Paris

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D306FBB.8020705@trash.net \
    --to=kaber@trash.net \
    --cc=eparis@parisplace.org \
    --cc=linux-audit@redhat.com \
    --cc=netfilter-devel@vger.kernel.org \
    --cc=viro@ZenIV.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.