You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by he...@apache.org on 2021/05/16 16:19:57 UTC

svn commit: r1889935 - in /spamassassin: branches/3.4/lib/Mail/SpamAssassin/Util.pm trunk/lib/Mail/SpamAssassin/Util.pm

Author: hege
Date: Sun May 16 16:19:57 2021
New Revision: 1889935

URL: http://svn.apache.org/viewvc?rev=1889935&view=rev
Log:
Clean up get_user_groups(), tighten up group matching

Modified:
    spamassassin/branches/3.4/lib/Mail/SpamAssassin/Util.pm
    spamassassin/trunk/lib/Mail/SpamAssassin/Util.pm

Modified: spamassassin/branches/3.4/lib/Mail/SpamAssassin/Util.pm
URL: http://svn.apache.org/viewvc/spamassassin/branches/3.4/lib/Mail/SpamAssassin/Util.pm?rev=1889935&r1=1889934&r2=1889935&view=diff
==============================================================================
--- spamassassin/branches/3.4/lib/Mail/SpamAssassin/Util.pm (original)
+++ spamassassin/branches/3.4/lib/Mail/SpamAssassin/Util.pm Sun May 16 16:19:57 2021
@@ -1641,10 +1641,10 @@ sub receive_date {
 sub get_user_groups {
   my $suid = shift;
   dbg("util: get_user_groups: uid is $suid\n");
-  my ( $user, $passwd, $uid, $gid, $quota, $comment, $gcos, $dir, $shell, $expire ) = getpwuid($suid);
+  my ( $user, undef, undef, $gid, undef ) = getpwuid($suid);
   my $rgids="$gid ";
-  while ( my($name,$pw,$gid,$members) = getgrent() ) {
-    if ( $members =~ m/\b$user\b/ ) {
+  while ( my($name,undef,$gid,$members) = getgrent() ) {
+    if ( grep { $_ eq $user } split(/ /, $members) ) {
       $rgids .= "$gid ";
       dbg("util: get_user_groups: added $gid ($name) to group list which is now: $rgids\n");
     }

Modified: spamassassin/trunk/lib/Mail/SpamAssassin/Util.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/lib/Mail/SpamAssassin/Util.pm?rev=1889935&r1=1889934&r2=1889935&view=diff
==============================================================================
--- spamassassin/trunk/lib/Mail/SpamAssassin/Util.pm (original)
+++ spamassassin/trunk/lib/Mail/SpamAssassin/Util.pm Sun May 16 16:19:57 2021
@@ -1801,7 +1801,7 @@ sub get_user_groups {
   my ( $user, undef, undef, $gid, undef ) = getpwuid($suid);
   my $rgids="$gid ";
   while ( my($name,undef,$gid,$members) = getgrent() ) {
-    if ( $members =~ m/(?:^| )\Q$user\E(?: |$)/ ) {
+    if ( grep { $_ eq $user } split(/ /, $members) ) {
       $rgids .= "$gid ";
       dbg("util: get_user_groups: added $gid ($name) to group list which is now: $rgids\n");
     }