ports/102644: devel/p5-Decision-ACL: fix wrong decision when using zero as field value
Yen-Shuo Su
shuoshuo+pr at gmail.com
Tue Aug 29 14:20:24 UTC 2006
>Number: 102644
>Category: ports
>Synopsis: devel/p5-Decision-ACL: fix wrong decision when using zero as field value
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Tue Aug 29 14:20:23 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator: Yen-Shuo Su
>Release: FreeBSD 6.1-STABLE i386
>Organization:
Ecowork Inc.
>Environment:
6.1-STABLE FreeBSD 6.1-STABLE #0: Sat Jun 10 03:53:35 CST 2006
>Description:
This perl module will return wrong decision when using zero as field value
>How-To-Repeat:
use zero as rule value or field value
>Fix:
files/patch-ACL.pm:
*** ACL.pm Sat Jul 28 09:18:58 2001
--- ACL.pm Fri Jul 28 17:32:18 2006
***************
*** 132,138 ****
foreach my $control_field (@{ $self->ControlFields() })
{
! next if $args->{$control_field};
croak "Cannot run ACL, missing control field in arguments to RunACL() ($control_field)\n";
}
return 1;
--- 132,138 ----
foreach my $control_field (@{ $self->ControlFields() })
{
! next if defined($args->{$control_field});
croak "Cannot run ACL, missing control field in arguments to RunACL() ($control_field)\n";
}
return 1;
files/patch-ACL-Rules.pm:
*** ACL/Rule.pm Tue Jul 10 02:06:13 2001
--- ACL/Rule.pm Tue Aug 29 20:05:40 2006
***************
*** 120,130 ****
print STDERR "$field control (".$field_value.")->" if $self->DEBUG_LEVEL();;
return ACL_RULE_UNCONCERNED if(
! $field_value ne $args->{$field}
! && $field_value
&& $field_value ne 'ALL'
&& $args->{$field} ne 'ALL'
! && $args->{$field});
print STDERR " 1\n" if $self->DEBUG_LEVEL();;
}
--- 120,130 ----
print STDERR "$field control (".$field_value.")->" if $self->DEBUG_LEVEL();;
return ACL_RULE_UNCONCERNED if(
! defined($field_value)
&& $field_value ne 'ALL'
+ && defined($args->{$field});
&& $args->{$field} ne 'ALL'
! && $field_value ne $args->{$field});
print STDERR " 1\n" if $self->DEBUG_LEVEL();;
}
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list