Author: gd
Date: 2007-07-10 15:14:32 +0000 (Tue, 10 Jul 2007)
New Revision: 23818

WebSVN: 
http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=23818

Log:
support LDAP_SERVER_SEARCH_OPTIONS_OID in adssearch.

Guenther

Modified:
   branches/SAMBA_3_2/examples/misc/adssearch.pl
   branches/SAMBA_3_2_0/examples/misc/adssearch.pl


Changeset:
Modified: branches/SAMBA_3_2/examples/misc/adssearch.pl
===================================================================
--- branches/SAMBA_3_2/examples/misc/adssearch.pl       2007-07-10 15:13:13 UTC 
(rev 23817)
+++ branches/SAMBA_3_2/examples/misc/adssearch.pl       2007-07-10 15:14:32 UTC 
(rev 23818)
@@ -77,6 +77,7 @@
        $opt_port,
        $opt_realm,
        $opt_saslmech,
+       $opt_search_opt,
        $opt_scope, 
        $opt_simpleauth,
        $opt_starttls,
@@ -108,6 +109,7 @@
        'saslmech|Y=s'  => \$opt_saslmech,
        'schema|c'      => \$opt_dump_schema,
        'scope|s=s'     => \$opt_scope,
+       'searchopt:i'   => \$opt_search_opt,
        'simpleauth|x'  => \$opt_simpleauth,
        'tls|Z'         => \$opt_starttls,
        'user|U=s'      => \$opt_user,
@@ -1464,6 +1466,21 @@
                        critical => 'true',
                        value => $opt_display_extendeddn ? $ctl_extended_dn_val 
: "");
 
+       # setup search options
+       my $search_opt = Convert::ASN1->new;
+       $search_opt->prepare(
+               q<      searchopt ::= SEQUENCE {
+                               flags     INTEGER
+                       }
+               >
+       );
+
+       my $tmp = $search_opt->encode( flags => $opt_search_opt);
+       my $ctl_search_opt = Net::LDAP::Control->new( 
+               type => $ads_controls{'LDAP_SERVER_SEARCH_OPTIONS_OID'},
+               critical => 'true',
+               value => $tmp);
+
        # setup notify control
        my $ctl_notification = Net::LDAP::Control->new( 
                type => $ads_controls{'LDAP_SERVER_NOTIFICATION_OID'},
@@ -1506,6 +1523,11 @@
                push(@ctrls_s, "LDAP_SERVER_DOMAIN_SCOPE_OID");
        }
 
+       if ($opt_search_opt) {
+               push(@ctrls, $ctl_search_opt);
+               push(@ctrls_s, "LDAP_SERVER_SEARCH_OPTIONS_OID");
+       }
+
        return @ctrls;
 }
 

Modified: branches/SAMBA_3_2_0/examples/misc/adssearch.pl
===================================================================
--- branches/SAMBA_3_2_0/examples/misc/adssearch.pl     2007-07-10 15:13:13 UTC 
(rev 23817)
+++ branches/SAMBA_3_2_0/examples/misc/adssearch.pl     2007-07-10 15:14:32 UTC 
(rev 23818)
@@ -77,6 +77,7 @@
        $opt_port,
        $opt_realm,
        $opt_saslmech,
+       $opt_search_opt,
        $opt_scope, 
        $opt_simpleauth,
        $opt_starttls,
@@ -108,6 +109,7 @@
        'saslmech|Y=s'  => \$opt_saslmech,
        'schema|c'      => \$opt_dump_schema,
        'scope|s=s'     => \$opt_scope,
+       'searchopt:i'   => \$opt_search_opt,
        'simpleauth|x'  => \$opt_simpleauth,
        'tls|Z'         => \$opt_starttls,
        'user|U=s'      => \$opt_user,
@@ -1464,6 +1466,21 @@
                        critical => 'true',
                        value => $opt_display_extendeddn ? $ctl_extended_dn_val 
: "");
 
+       # setup search options
+       my $search_opt = Convert::ASN1->new;
+       $search_opt->prepare(
+               q<      searchopt ::= SEQUENCE {
+                               flags     INTEGER
+                       }
+               >
+       );
+
+       my $tmp = $search_opt->encode( flags => $opt_search_opt);
+       my $ctl_search_opt = Net::LDAP::Control->new( 
+               type => $ads_controls{'LDAP_SERVER_SEARCH_OPTIONS_OID'},
+               critical => 'true',
+               value => $tmp);
+
        # setup notify control
        my $ctl_notification = Net::LDAP::Control->new( 
                type => $ads_controls{'LDAP_SERVER_NOTIFICATION_OID'},
@@ -1506,6 +1523,11 @@
                push(@ctrls_s, "LDAP_SERVER_DOMAIN_SCOPE_OID");
        }
 
+       if ($opt_search_opt) {
+               push(@ctrls, $ctl_search_opt);
+               push(@ctrls_s, "LDAP_SERVER_SEARCH_OPTIONS_OID");
+       }
+
        return @ctrls;
 }
 

Reply via email to