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; }