3 sub mod_ldap_directives
6 [ 'LDAPServer', 0, 4, 'root', 1.15 ],
7 [ 'LDAPDoAuth', 0, 4, 'root', 1.15 ],
8 [ 'LDAPDNInfo', 0, 4, 'root', 1.15 ],
9 [ 'LDAPDoUIDLookups', 0, 4, 'root', 1.15 ],
10 [ 'LDAPDoGIDLookups', 0, 4, 'root', 1.15 ],
11 [ 'LDAPAuthBinds', 0, 4, 'root', 1.15 ],
12 [ 'LDAPDefaultUID', 0, 4, 'root', 1.15 ],
13 [ 'LDAPDefaultGID', 0, 4, 'root', 1.15 ],
14 [ 'LDAPHomedirOnDemand', 0, 4, 'root', 1.15 ],
15 [ 'LDAPNegativeCache', 0, 4, 'root', 1.15 ],
16 [ 'LDAPQueryTimeout', 0, 4, 'root', 1.15 ],
17 [ 'LDAPDefaultAuthScheme', 0, 4, 'root', 1.15 ],
20 return &make_directives($rv, $_[0], "mod_ldap");
25 my $param = $_[0]->{'value'};
28 my ($port) =$param =~ /.+:(.+)/;
29 (my $serveur,my $port)=$param =~ /([^:]+):?(.*)/;
30 $rv=sprintf "<b>Server:</b> <input name=LDAPServer size=20 value='%s'>\n",
32 $rv .= sprintf "<b>                 Port:</b><input type=radio
33 name=$namep value=0 %s> %s\n",
34 !$port ? "checked" : "", $text{'default'};
35 $rv .= sprintf "<input type=radio name=$namep value=1 %s> \n",
36 $port ? "checked" : "" ;
37 $rv .= sprintf "<input name=$name size=6 value='%s'><br>\n",
40 return (2, "LDAP Server info",$rv);
45 sub edit_LDAPQueryTimeout {
47 my $param = $_[0]->{'value'};
48 $name="LDAPQueryTimeout";
50 $rv = sprintf "<input type=radio
51 name=$namep value=0 %s> %s\n",
52 !$param ? "checked" : "", $text{'default'};
53 $rv .= sprintf "<input type=radio name=$namep value=1 %s> \n",
54 $param ? "checked" : "" ;
55 $rv .= sprintf "<input name=$name size=6 value='%s'><br>\n",
58 return (2, "LDAP Query timeout",$rv);
69 my $name ='LDAPDoAuthp';
70 my $param = $tab[0]->{'value'};
71 my $option = $tab[0]->{'words'}->[0];
72 my $dn = $tab[0]->{'words'}->[1];
76 $rv = sprintf "<input type=radio name=$namep value=0 %s> %s\n",
77 !$option ? "checked" : "", $text{'default'};
78 $rv .= sprintf "<input type=radio name=$namep value=1 %s> %s\n",
79 $option =~/off/i ? "checked" : "" ,"Off";
80 $rv .= sprintf "<input type=radio name=$namep value=2 %s> %s \n",
81 $option =~/on/i ? "checked" : "" ,"On";
84 $rv .= sprintf "<input name=$name size=40 value='%s'> %s\n",
85 $dn ? $dn: "","<b>auth base prefix</b><br>";
87 return (2,"LDAP Do authentification",$rv);
91 sub edit_LDAPDefaultUID {
95 my $name ='LDAPDefaultUID';
96 my $param = $tab[0]->{'value'};
98 $rv = sprintf "<input name=$name size=6 value='%s'> %s\n",
99 $param ? $param: "","<br>";
101 return (1,"LDAP Default UID",$rv);
105 sub edit_LDAPHomedirOnDemand {
109 my $name ='LDAPHomedirOnDemand';
110 my $param = $tab[0]->{'value'};
114 $rv = sprintf "<input type=radio name=$namep value=0 %s> %s\n",
115 !$param ? "checked" : "", $text{'default'};
116 $rv .= sprintf "<input type=radio name=$namep value=1 %s> %s\n",
117 $param =~/off/i ? "checked" : "" ,"Off";
118 $rv .= sprintf "<input type=radio name=$namep value=2 %s> %s \n",
119 $param =~/on/i ? "checked" : "" ,"On";
121 return (1,"LDAP Homedir on demand",$rv);
125 sub edit_LDAPNegativeCache {
129 my $name ='LDAPNegativeCache';
130 my $param = $tab[0]->{'value'};
134 $rv = sprintf "<input type=radio name=$namep value=0 %s> %s\n",
135 !$param ? "checked" : "", $text{'default'};
136 $rv .= sprintf "<input type=radio name=$namep value=1 %s> %s\n",
137 $param =~/off/i ? "checked" : "" ,"Off";
138 $rv .= sprintf "<input type=radio name=$namep value=2 %s> %s \n",
139 $param =~/on/i ? "checked" : "" ,"On";
141 return (1,"LDAP negative cache",$rv);
148 sub edit_LDAPDefaultGID {
152 my $name ='LDAPDefaultGID';
153 my $param = $tab[0]->{'value'};
155 $rv = sprintf "<input name=$name size=6 value='%s'> %s\n",
156 $param ? $param: "","<br>";
158 return (1,"LDAP Default GID",$rv);
163 sub edit_LDAPDoUIDLookups {
167 my $name ='LDAPDoUIDLookups';
168 my $param = $tab[0]->{'value'};
169 my $option = $tab[0]->{'words'}->[0];
170 my $dn = $tab[0]->{'words'}->[1];
174 $rv = sprintf "<input type=radio name=$namep value=0 %s> %s\n",
175 !$option ? "checked" : "", $text{'default'};
176 $rv .= sprintf "<input type=radio name=$namep value=1 %s> %s\n",
177 $option =~/off/i ? "checked" : "" ,"Off";
178 $rv .= sprintf "<input type=radio name=$namep value=2 %s> %s \n",
179 $option =~/on/i ? "checked" : "" ,"On";
182 $rv .= sprintf "<input name=$name size=40 value='%s'> %s\n",
183 $dn ? $dn: "","<b>uid base prefix</b><br>";
185 return (2,"LDAP Do UID Lookups",$rv);
190 sub edit_LDAPDoGIDLookups {
194 my $name ='LDAPDoGIDLookups';
195 my $param = $tab[0]->{'value'};
196 my $option = $tab[0]->{'words'}->[0];
197 my $dn = $tab[0]->{'words'}->[1];
201 $rv = sprintf "<input type=radio name=$namep value=0 %s> %s\n",
202 !$option ? "checked" : "", $text{'default'};
203 $rv .= sprintf "<input type=radio name=$namep value=1 %s> %s\n",
204 $option =~/off/i ? "checked" : "" ,"Off";
205 $rv .= sprintf "<input type=radio name=$namep value=2 %s> %s \n",
206 $option =~/on/i ? "checked" : "" ,"On";
209 $rv .= sprintf "<input name=$name size=40 value='%s'> %s\n",
210 $dn ? $dn: "","<b>gid base prefix</b><br>";
212 return (2,"LDAP Do GID Lookups",$rv);
219 #return (1, "LDAPPort",
220 #sprintf "<input name=LDAPXPort size=6 value='%s'>\n",
225 sub edit_LDAPDNInfo {
228 #return (2, "LDAPDNinfo",
229 $rv =sprintf "<b>BindDN:</b><input name=LDAPDNinfodn size=30 value='%s'>\n",
230 $_[0]->{'words'}->[0];
231 $rv .=sprintf "<b>     PasswordDN</b><input name=LDAPDNinfopasswd size=20 value='%s'>\n",
232 $_[0]->{'words'}->[1];
234 return(2,"LDAP DN info",$rv);
236 sub edit_LDAPAuthBinds {
239 my $name ='LDAPAuthBinds';
240 my $option = $tab[0]->{'value'};
241 #my $dn = $tab[0]->{'words'}->[1];
242 $rv = sprintf "<br><input type=radio name=$name value=0 %s> %s\n",
243 !$option ? "checked" : "", $text{'default'};
244 $rv .= sprintf "<input type=radio name=$name value=1 %s> %s\n",
245 $option =~/off/i ? "checked" : "" ,"Off";
246 $rv .= sprintf "<input type=radio name=$name value=2 %s> %s \n",
247 $option =~/on/i ? "checked" : "" ,"On";
250 return (2,"LDAP auth bind ",$rv);
254 sub edit_LDAPDefaultAuthScheme {
257 my $name ='LDAPDefaultAuthScheme';
258 my $option = $tab[0]->{'value'};
259 #my $dn = $tab[0]->{'words'}->[1];
260 $rv = sprintf "<br><input type=radio name=$name value=0 %s> %s\n",
261 !$option ? "checked" : "", $text{'default'};
262 $rv .= sprintf "<input type=radio name=$name value=1 %s> %s\n",
263 $option =~/crypt/i ? "checked" : "" ,"crypt";
264 $rv .= sprintf "<input type=radio name=$name value=2 %s> %s \n",
265 $option =~/clear/i ? "checked" : "" ,"clear";
268 return (2,"LDAP default auth scheme ",$rv);
273 sub save_LDAPAuthBinds{
274 my $option =$in{'LDAPAuthBinds'};
276 return ([ ]) unless $option;
278 return (['off']) if $option==1;
279 return (['on']) if $option==2;;
282 sub save_LDAPDefaultUID{
283 my $option =$in{'LDAPDefaultUID'};
285 return ([ ]) unless $option;
287 return (["$option"]) if $option;
289 sub save_LDAPDefaultGID{
290 my $option =$in{'LDAPDefaultGID'};
292 return ([ ]) unless $option;
294 return (["$option"]) if $option;
299 sub save_LDAPServer {
300 my $param =$in{'LDAPServer'};
301 if (($in{'LDAPServerp_m'} == 1) && ($in{'LDAPServerp'})){
302 $param.=":". $in{'LDAPServerp'};
304 return ( [ $param ] ) if $param;
305 return ( [ ] ) unless $param;
307 sub save_LDAPQueryTimeout {
308 my $param =$in{'LDAPQueryTimeout'};
309 if (($in{'LDAPQueryTimeout_m'} == 1) && ($in{'LDAPQueryTimeout'})){
310 $param= $in{'LDAPQueryTimeout'};
311 } else {undef $param} ;
312 return ( [ $param ] ) if $param;
313 return ( [ ] ) unless $param;
316 sub save_LDAPDNInfo {
317 my $dn = $in{'LDAPDNinfodn'} ;
318 my $dnp = $in{'LDAPDNinfopasswd'} ;
320 return([ "\"$dn\" \"$dnp\""]) if $dn;
321 return ([ ]) unless $dn;
323 sub save_LDAPDoAuth {
326 my $option = $in{'LDAPDoAuthp_m'} ;
327 return ([ ]) unless $option;
328 return (['off']) if $option==1;
329 my $dn=$in{'LDAPDoAuthp'};
330 return([ "on \"$dn\""]) if $dn;
333 sub save_LDAPHomedirOnDemand {
336 my $option = $in{'LDAPHomedirOnDemand_m'} ;
337 return ([ ]) unless $option;
338 return (['off']) if $option==1;
339 return(['on']) if $option==2;
342 sub save_LDAPDefaultAuthScheme {
345 my $option = $in{'LDAPDefaultAuthScheme'} ;
346 return ([ ]) unless $option;
347 return ([ ]) if $option==0;
348 return (['"crypt"']) if $option==1;
349 return(['"clear"']) if $option==2;
353 sub save_LDAPNegativeCache {
356 my $option = $in{'LDAPNegativeCache_m'} ;
357 return ([ ]) unless $option;
358 return (['off']) if $option==1;
359 return(['on']) if $option==2;
365 sub save_LDAPDoUIDLookups {
369 my $option = $in{'LDAPDoUIDLookups_m'} ;
370 return ([ ]) unless $option;
371 return (['off']) if $option==1;
372 my $dn=$in{'LDAPDoUIDLookups'};
373 return([ "on \"$dn\""]) if $dn;
376 sub save_LDAPDoGIDLookups {
380 my $option = $in{'LDAPDoGIDLookups_m'} ;
381 return ([ ]) unless $option;
382 return (['off']) if $option==1;
383 my $dn=$in{'LDAPDoGIDLookups'};
384 return([ "on \"$dn\""]) if $dn;