Skip to content

Commit

Permalink
[NETFILTER]: xt_owner: allow matching UID/GID ranges
Browse files Browse the repository at this point in the history
Add support for ranges to the new revision. This doesn't affect
compatibility since the new revision was not released yet.

Signed-off-by: Jan Engelhardt <jengelh@computergmbh.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Jan Engelhardt authored and David S. Miller committed Feb 1, 2008
1 parent 37c0838 commit edc26f7
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 8 deletions.
4 changes: 2 additions & 2 deletions include/linux/netfilter/xt_owner.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ enum {
};

struct xt_owner_match_info {
u_int32_t uid;
u_int32_t gid;
u_int32_t uid_min, uid_max;
u_int32_t gid_min, gid_max;
u_int8_t match, invert;
};

Expand Down
14 changes: 8 additions & 6 deletions net/netfilter/xt_owner.c
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
*
* (C) 2000 Marc Boucher <marc@mbsi.ca>
*
* Copyright © CC Computer Consultants GmbH, 2007
* Contact: <jengelh@computergmbh.de>
* Copyright © CC Computer Consultants GmbH, 2007 - 2008
* <jengelh@computergmbh.de>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
Expand Down Expand Up @@ -102,13 +102,15 @@ owner_mt(const struct sk_buff *skb, const struct net_device *in,
(XT_OWNER_UID | XT_OWNER_GID)) == 0;

if (info->match & XT_OWNER_UID)
if ((filp->f_uid != info->uid) ^
!!(info->invert & XT_OWNER_UID))
if ((filp->f_uid >= info->uid_min &&
filp->f_uid <= info->uid_max) ^
!(info->invert & XT_OWNER_UID))
return false;

if (info->match & XT_OWNER_GID)
if ((filp->f_gid != info->gid) ^
!!(info->invert & XT_OWNER_GID))
if ((filp->f_gid >= info->gid_min &&
filp->f_gid <= info->gid_max) ^
!(info->invert & XT_OWNER_GID))
return false;

return true;
Expand Down

0 comments on commit edc26f7

Please sign in to comment.