Handle hostnames with upper-case letters
[webmin.git] / ldap-server / save_schema.cgi
1 #!/usr/local/bin/perl
2 # Save included schema files
3
4 require './ldap-server-lib.pl';
5 &error_setup($text{'schema_err'});
6 $access{'schema'} || &error($text{'schema_ecannot'});
7 &local_ldap_server() == 1 || &error($text{'slapd_elocal'});
8 &ReadParse();
9
10 # Get non-schema includes
11 $conf = &get_config();
12 foreach $i (&find_value("include", $conf)) {
13         if ($i !~ /^(.*)\/(\S+)$/ || $1 ne $config{'schema_dir'} ||
14                                      $2 eq 'core.schema') {
15                 push(@incs, $i);
16                 }
17         }
18
19 # Build new list of includes
20 push(@incs, split(/\0/, $in{'d'}));
21 @incs = &unique(@incs);
22
23 # Write out
24 &lock_slapd_files();
25 &save_directive($conf, "include", @incs);
26 &flush_file_lines($config{'config_file'});
27 &unlock_slapd_files();
28
29 &webmin_log("schema");
30 &redirect("");
31