: Add --log-uid option to ipt_LOG/ip6t_LOG
Subsystems (2)
PATCH 3/6 : Add --log-uid option to ipt_LOG/ip6t_LOG
# This is a BitKeeper generated diff -Nru style patch. #
# ChangeSet
# 2005/01/11 03:43:46+01:00 [email protected]
# [NETFILTER]: Add --log-uid option to ipt_LOG/ip6t_LOG
#
# Signed-off-by: Patrick McHardy <[email protected]>
#
# net/ipv6/netfilter/ip6t_LOG.c
# 2005/01/11 03:43:38+01:00 [email protected] +8 -0
# [NETFILTER]: Add --log-uid option to ipt_LOG/ip6t_LOG
#
# Signed-off-by: Patrick McHardy <[email protected]>
#
# net/ipv4/netfilter/ipt_LOG.c
# 2005/01/11 03:43:38+01:00 [email protected] +8 -0
# [NETFILTER]: Add --log-uid option to ipt_LOG/ip6t_LOG
#
# Signed-off-by: Patrick McHardy <[email protected]>
#
# include/linux/netfilter_ipv6/ip6t_LOG.h
# 2005/01/11 03:43:38+01:00 [email protected] +2 -1
# [NETFILTER]: Add --log-uid option to ipt_LOG/ip6t_LOG
#
# Signed-off-by: Patrick McHardy <[email protected]>
#
# include/linux/netfilter_ipv4/ipt_LOG.h
# 2005/01/11 03:43:38+01:00 [email protected] +2 -1
# [NETFILTER]: Add --log-uid option to ipt_LOG/ip6t_LOG
#
# Signed-off-by: Patrick McHardy <[email protected]>
#
include/linux/netfilter_ipv4/ipt_LOG.h +2 -1
@@ -4,7 +4,8 @@#define IPT_LOG_TCPSEQ 0x01/* Log TCP sequence numbers */ #define IPT_LOG_TCPOPT 0x02/* Log TCP options */ #define IPT_LOG_IPOPT 0x04/* Log IP options */ -#define IPT_LOG_MASK 0x07 +#define IPT_LOG_UID 0x08/* Log UID owning local socket */ +#define IPT_LOG_MASK 0x0fstruct ipt_log_info {unsigned char level;
include/linux/netfilter_ipv6/ip6t_LOG.h +2 -1
@@ -4,7 +4,8 @@#define IP6T_LOG_TCPSEQ 0x01/* Log TCP sequence numbers */ #define IP6T_LOG_TCPOPT 0x02/* Log TCP options */ #define IP6T_LOG_IPOPT 0x04/* Log IP options */ -#define IP6T_LOG_MASK 0x07 +#define IP6T_LOG_UID 0x08/* Log UID owning local socket */ +#define IP6T_LOG_MASK 0x0fstruct ip6t_log_info {unsigned char level;
net/ipv4/netfilter/ipt_LOG.c +8 -0
@@ -327,6 +327,14 @@printk ("PROTO=%u " , ih->protocol); } +/* Max length: 15 "UID=4294967295 " */ +if ((info->logflags &IPT_LOG_UID ) && !iphoff && skb->sk) { +read_lock_bh (&skb->sk->sk_callback_lock); +if (skb->sk->sk_socket && skb->sk->sk_socket->file) +printk ("UID=%u " , skb->sk->sk_socket->file->f_uid); +read_unlock_bh (&skb->sk->sk_callback_lock); + } +/* Proto Max log string length */ /* IP: 40+46+6+11+127 = 230 */ /* TCP: 10+max(25,20+30+13+9+32+11+127) = 252 */
net/ipv6/netfilter/ip6t_LOG.c +8 -0
@@ -347,6 +347,14 @@default :printk ("PROTO=%u " , currenthdr); } + +/* Max length: 15 "UID=4294967295 " */ +if ((info->logflags &IP6T_LOG_UID ) && recurse && skb->sk) { +read_lock_bh (&skb->sk->sk_callback_lock); +if (skb->sk->sk_socket && skb->sk->sk_socket->file) +printk ("UID=%u " , skb->sk->sk_socket->file->f_uid); +read_unlock_bh (&skb->sk->sk_callback_lock); + } } static void