>From be73792decc94d60826cc0229ea761284b18e781 Mon Sep 17 00:00:00 2001
From: fumiyas <fumiyas@69f2458b-35d4-408a-aa88-7d8d64836e89>
Date: Sun, 15 Jul 2012 17:03:54 +0000
Subject: [PATCH] smbldap-userlist, smbldap-grouplist: Fix for newer
 Convert::ASN1

Specify Net::LDAP search attributes as an array ref, not a string
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=681350

diff --git a/smbldap-grouplist.pl b/smbldap-grouplist.pl
index 4fab2ac..ac22e09 100644
--- a/smbldap-grouplist.pl
+++ b/smbldap-grouplist.pl
@@ -122,24 +122,23 @@ sub print_group {
     print "|\n";
 }
 
-my $attrs="['gid','cn'";
+my @attrs = qw(gidNumber cn);
 my $banner="gid  |cn                   ";
 if ($Options{'d'})
 {
     $banner .=  "|displayName         ";
-    $attrs  .=  ",'displayName'";
+    push(@attrs, qw(displayName));
 }
 if ($Options{'t'})
 {
     $banner .=  "|sambaGroupType";
-    $attrs  .=  ",'sambaGroupType'";
+    push(@attrs, qw(sambaGroupType));
 }
 if ($Options{'S'})
 {
     $banner .=  "|sambaSID                                       ";
-    $attrs  .=  ",'sambaSID'";
+    push(@attrs, qw(sambaSID));
 }
-$attrs.="]";
 $banner.="|";
 print "$banner\n\n";
 my $filter;
@@ -155,7 +154,7 @@ $filter.=")";
 my  $mesg = $ldap_master->search ( base   => $base,
                                    scope => $config{scope},
                                    filter => $filter,
-				   attrs => "$attrs"
+				   attrs => \@attrs
 				   );
 $mesg->code && warn $mesg->error;
 
diff --git a/smbldap-userlist.pl b/smbldap-userlist.pl
index 956ffa6..525645a 100644
--- a/smbldap-userlist.pl
+++ b/smbldap-userlist.pl
@@ -195,13 +195,13 @@ sub print_user {
     print "|\n";
 }
 
-my $attrs="['username','uidNumber','uid'";
+my @attrs= qw(username uidNumber uid);
 my $banner="uid  |username             ";
 if ($Options{'d'} || $Options{'a'})
 {
     $banner .= "|sambaPwdLastSet        ";
     $banner .= "|shadowLastChange  ";
-    $attrs  .=  ",'sambaPwdLastSet','shadowLastChange'";
+    push(@attrs, qw(sambaPwdLastSet shadowLastChange));
 }
 if ($Options{'e'} || $Options{'a'})
 {
@@ -209,22 +209,21 @@ if ($Options{'e'} || $Options{'a'})
     $banner .= "|sambaKickoffTime      ";
     $banner .= "|shadowExpire    ";
     $banner .= "|shadowMax ";
-    $attrs  .= ",'sambaPwdMustChange','sambaKickoffTime','shadowExpire','shadowMax'";
     $banner .= "|shadowMin ";
-    $attrs  .= ",'sambaPwdMustChange','sambaKickoffTime','shadowExpire','shadowMin'";
+    push(@attrs, qw(sambaPwdMustChange sambaKickoffTime shadowExpire shadowMax shadowMin));
 }
 if ($Options{'l'} || $Options{'a'})
 {
     $banner .= "|status UNX";
     $banner .= "|status SMB";
-    $attrs  .= ",'userPassword','sambaAcctFlags'";
+    push(@attrs, qw(userPassword sambaAcctFlags));
 }
 if ($Options{'g'} || $Options{'a'})
 {
     $banner .= "|gecos      |";
-    $attrs  .= ",'gecos'";
+    push(@attrs, qw(gecos));
 }
-$attrs.="]";
+
 print "$banner\n\n";
 my $filter;
 $filter = "(&(objectclass=posixAccount)";
@@ -247,7 +246,7 @@ $filter.=")";
 my  $mesg = $ldap_master->search ( base   => $base,
                                    scope => $config{scope},
                                    filter => $filter,
-				   attrs => "$attrs"
+				   attrs => \@attrs
 				   );
 $mesg->code && warn $mesg->error;
 
-- 
1.7.10.4

