Mercurial > illumos > illumos-gate
changeset 3:4b038451e1a4
6277084 accounting rules are not loaded into the correct ruleset
author | dr146992 |
---|---|
date | Tue, 14 Jun 2005 11:53:13 -0700 |
parents | b9db0344fa5f |
children | 43465ac6e40e |
files | usr/src/common/ipf/fil.c |
diffstat | 1 files changed, 7 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/usr/src/common/ipf/fil.c Tue Jun 14 09:46:36 2005 -0700 +++ b/usr/src/common/ipf/fil.c Tue Jun 14 11:53:13 2005 -0700 @@ -5,7 +5,7 @@ */ /* - * Copyright 2004 Sun Microsystems, Inc. All rights reserved. + * Copyright 2005 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -3869,6 +3869,10 @@ group = fp->fr_group; if (!strcmp(group, "0")) *group = '\0'; + + if (FR_ISACCOUNT(fp->fr_flags)) + unit = IPL_LOGCOUNT; + if ((req != (int)SIOCZRLST) && (*group != '\0')) { fg = fr_findgroup(group, unit, set, NULL); if (fg == NULL) @@ -3891,12 +3895,12 @@ else if (v == 4) { if (FR_ISACCOUNT(fp->fr_flags)) fprev = &ipacct[in][set]; - if ((fp->fr_flags & (FR_OUTQUE|FR_INQUE)) != 0) + else if ((fp->fr_flags & (FR_OUTQUE|FR_INQUE)) != 0) fprev = &ipfilter[in][set]; } else if (v == 6) { if (FR_ISACCOUNT(fp->fr_flags)) fprev = &ipacct6[in][set]; - if ((fp->fr_flags & (FR_OUTQUE|FR_INQUE)) != 0) + else if ((fp->fr_flags & (FR_OUTQUE|FR_INQUE)) != 0) fprev = &ipfilter6[in][set]; } if (fprev == NULL)