Code

Moved new_ldap_conf
authorcajus <cajus@594d385d-05f5-0310-b6e9-bd551577e9d8>
Fri, 22 Feb 2008 13:46:49 +0000 (13:46 +0000)
committercajus <cajus@594d385d-05f5-0310-b6e9-bd551577e9d8>
Fri, 22 Feb 2008 13:46:49 +0000 (13:46 +0000)
git-svn-id: https://oss.gonicus.de/repositories/gosa/trunk@9078 594d385d-05f5-0310-b6e9-bd551577e9d8

gosa-si/client/events/corefunctions.pm
gosa-si/gosa-si-client
gosa-si/gosa-si-server

index 3a8d24502f45232fbb8b1cebda2685eb1dd45fa0..6686c2ae2289ce1a737579cb72eea304ca30b1e3 100644 (file)
@@ -130,154 +130,152 @@ sub server_leaving {
 
 
 sub new_ldap_config {
-       my ($msg, $msg_hash) = @_ ;
-
-       if( $ldap_enabled != 1 ) {
-               return;
-       }
-
-       my $element;
-       my @ldap_uris;
-       my $ldap_base;
-       my @ldap_options;
-       my @pam_options;
-       my @nss_options;
-       my $goto_admin;
-       my $goto_secret;
-       my $admin_base= "";
-       my $department= "";
-       my $unit_tag;
-
-       # Transform input into array
-       while ( my ($key, $value) = each(%$msg_hash) ) {
-               if ($key =~ /^(source|target|header)$/) {
-                       next;
-               }
-
-               foreach $element (@$value) {
-                       if ($key =~ /^ldap_uri$/) {
-                               push (@ldap_uris, $element);
-                               next;
-                       }
-                       if ($key =~ /^ldap_base$/) {
-                               $ldap_base= $element;
-                               next;
-                       }
-                       if ($key =~ /^goto_admin$/) {
-                               $goto_admin= $element;
-                               next;
-                       }
-                       if ($key =~ /^goto_secret$/) {
-                               $goto_secret= $element;
-                               next;
-                       }
-                       if ($key =~ /^ldap_cfg$/) {
-                               push (@ldap_options, "$element");
-                               next;
-                       }
-                       if ($key =~ /^pam_cfg$/) {
-                               push (@pam_options, "$element");
-                               next;
-                       }
-                       if ($key =~ /^nss_cfg$/) {
-                               push (@nss_options, "$element");
-                               next;
-                       }
-                       if ($key =~ /^admin_base$/) {
-                               $admin_base= $element;
-                               next;
-                       }
-                       if ($key =~ /^department$/) {
-                               $department= $element;
-                               next;
-                       }
-                       if ($key =~ /^unit_tag$/) {
-                               $unit_tag= $element;
-                               next;
-                       }
-               }
-       }
-
-       # Unit tagging enabled?
-       if (defined $unit_tag){
-               push (@pam_options, "pam_filter gosaUnitTag=$unit_tag");
-               push (@nss_options, "nss_base_passwd  $admin_base?sub?gosaUnitTag=$unit_tag");
-               push (@nss_options, "nss_base_group   $admin_base?sub?gosaUnitTag=$unit_tag");
-       }
+    my ($msg_hash) = @_ ;
+    my $element;
+    my @ldap_uris;
+    my $ldap_base;
+    my @ldap_options;
+    my @pam_options;
+    my @nss_options;
+    my $goto_admin;
+    my $goto_secret;
+    my $admin_base= "";
+    my $department= "";
+    my $release= "";
+    my $unit_tag;
+
+    # Transform input into array
+    while ( my ($key, $value) = each(%$msg_hash) ) {
+        if ($key =~ /^(source|target|header)$/) {
+                next;
+        }
 
-       # Sanity check
-       if(! ref($ldap_base) eq '') {
-               daemon_log("Received empty LDAP config. Don't write anything.", 1);
-               return;
-       }
+        foreach $element (@$value) {
+                if ($key =~ /^ldap_uri$/) {
+                        push (@ldap_uris, $element);
+                        next;
+                }
+                if ($key =~ /^ldap_base$/) {
+                        $ldap_base= $element;
+                        next;
+                }
+                if ($key =~ /^goto_admin$/) {
+                        $goto_admin= $element;
+                        next;
+                }
+                if ($key =~ /^goto_secret$/) {
+                        $goto_secret= $element;
+                        next;
+                }
+                if ($key =~ /^ldap_cfg$/) {
+                        push (@ldap_options, "$element");
+                        next;
+                }
+                if ($key =~ /^pam_cfg$/) {
+                        push (@pam_options, "$element");
+                        next;
+                }
+                if ($key =~ /^nss_cfg$/) {
+                        push (@nss_options, "$element");
+                        next;
+                }
+                if ($key =~ /^admin_base$/) {
+                        $admin_base= $element;
+                        next;
+                }
+                if ($key =~ /^department$/) {
+                        $department= $element;
+                        next;
+                }
+                if ($key =~ /^unit_tag$/) {
+                        $unit_tag= $element;
+                        next;
+                }
+                if ($key =~ /^release$/) {
+                        $release= $element;
+                        next;
+                }
+        }
+    }
 
-       # Setup ldap.conf
-       my $file1;
-       my $file2;
-       open(file1, "> $ldap_config");
-       print file1 "# This file was automatically generated by gosa-si-client. Do not change.\n";
-       print file1 "URI";
-       foreach $element (@ldap_uris) {
-               print file1 " $element";
-       }
-       print file1 "\nBASE $ldap_base\n";
-       foreach $element (@ldap_options) {
-               print file1 "$element\n";
-       }
-       close (file1);
-       daemon_log("wrote $ldap_config", 5);
-
-       # Setup pam_ldap.conf / libnss_ldap.conf
-       open(file1, "> $pam_config");
-       open(file2, "> $nss_config");
-       print file1 "# This file was automatically generated by gosa-si-client. Do not change.\n";
-       print file2 "# This file was automatically generated by gosa-si-client. Do not change.\n";
-       print file1 "uri";
-       print file2 "uri";
-       foreach $element (@ldap_uris) {
-               print file1 " $element";
-               print file2 " $element";
-       }
-       print file1 "\nbase $ldap_base\n";
-       print file2 "\nbase $ldap_base\n";
-       foreach $element (@pam_options) {
-               print file1 "$element\n";
-       }
-       foreach $element (@nss_options) {
-               print file2 "$element\n";
-       }
-       close (file2);
-       daemon_log("wrote $nss_config", 5);
-       close (file1);
-       daemon_log("wrote $pam_config", 5);
-
-       # Create goto.secrets if told so - for compatibility reasons
-       if (defined $goto_admin){
-               open(file1, "> /etc/goto/secret");
-               close(file1);
-               chown(0,0, "/etc/goto/secret");
-               chmod(0600, "/etc/goto/secret");
-               open(file1, "> /etc/goto/secret");
-               print file1 "GOTOADMIN=\"$goto_admin\"\nGOTOSECRET=\"$goto_secret\"\n";
-               close(file1);
-               daemon_log("wrote /etc/goto/secret", 5);
-       }
+    # Unit tagging enabled?
+    if (defined $unit_tag){
+            push (@pam_options, "pam_filter gosaUnitTag=$unit_tag");
+            push (@nss_options, "nss_base_passwd  $admin_base?sub?gosaUnitTag=$unit_tag");
+            push (@nss_options, "nss_base_group   $admin_base?sub?gosaUnitTag=$unit_tag");
+    }
 
+    # Setup ldap.conf
+    my $file1;
+    my $file2;
+    open(file1, "> $ldap_config");
+    print file1 "# This file was automatically generated by gosa-si-client. Do not change.\n";
+    print file1 "URI";
+    foreach $element (@ldap_uris) {
+        print file1 " $element";
+    }
+    print file1 "\nBASE $ldap_base\n";
+    foreach $element (@ldap_options) {
+        print file1 "$element\n";
+    }
+    close (file1);
+    daemon_log("wrote $ldap_config", 5);
+
+    # Setup pam_ldap.conf / libnss_ldap.conf
+    open(file1, "> $pam_config");
+    open(file2, "> $nss_config");
+    print file1 "# This file was automatically generated by gosa-si-client. Do not change.\n";
+    print file2 "# This file was automatically generated by gosa-si-client. Do not change.\n";
+    print file1 "uri";
+    print file2 "uri";
+    foreach $element (@ldap_uris) {
+        print file1 " $element";
+        print file2 " $element";
+    }
+    print file1 "\nbase $ldap_base\n";
+    print file2 "\nbase $ldap_base\n";
+    foreach $element (@pam_options) {
+        print file1 "$element\n";
+    }
+    foreach $element (@nss_options) {
+        print file2 "$element\n";
+    }
+    close (file2);
+    daemon_log("wrote $nss_config", 5);
+    close (file1);
+    daemon_log("wrote $pam_config", 5);
+
+    # Create goto.secrets if told so - for compatibility reasons
+    if (defined $goto_admin){
+            open(file1, "> /etc/goto/secret");
+            close(file1);
+            chown(0,0, "/etc/goto/secret");
+            chmod(0600, "/etc/goto/secret");
+            open(file1, "> /etc/goto/secret");
+            print file1 "GOTOADMIN=\"$goto_admin\"\nGOTOSECRET=\"$goto_secret\"\n";
+            close(file1);
+            daemon_log("wrote /etc/goto/secret", 5);
+    }
 
+    # Write shell based config
+    my $cfg_name= dirname($ldap_config)."/ldap-shell.conf";
 
-       # Write shell based config
-       my $cfg_name= dirname($ldap_config)."/ldap-shell.conf";
-       open(file1, "> $cfg_name");
-       print file1 "LDAP_BASE=\"$ldap_base\"\n";
-       print file1 "ADMIN_BASE=\"$admin_base\"\n";
-       print file1 "DEPARTMENT=\"$department\"\n";
-       print file1 "UNIT_TAG=\"".(defined $unit_tag ? "$unit_tag" : "")."\"\n";
-       print file1 "UNIT_TAG_FILTER=\"".(defined $unit_tag ? "(gosaUnitTag=$unit_tag)" : "")."\"\n";
-       close(file1);
-       daemon_log("wrote $cfg_name", 5);
+    # Get first LDAP server
+    my $ldap_server= $ldap_uris[0];
+    $ldap_server=~ s/^ldap:\/\/([^:]+).*$/$1/;
 
-       return;
+    open(file1, "> $cfg_name");
+    print file1 "LDAP_BASE=\"$ldap_base\"\n";
+    print file1 "LDAP_SERVER=\"$ldap_server\"\n";
+    print file1 "ADMIN_BASE=\"$admin_base\"\n";
+    print file1 "DEPARTMENT=\"$department\"\n";
+    print file1 "RELEASE=\"$release\"\n";
+    print file1 "UNIT_TAG=\"".(defined $unit_tag ? "$unit_tag" : "")."\"\n";
+    print file1 "UNIT_TAG_FILTER=\"".(defined $unit_tag ? "(gosaUnitTag=$unit_tag)" : "")."\"\n";
+    close(file1);
+    daemon_log("wrote $cfg_name", 5);
 
+    return;
 }
 
 
index 5dd01c3d7c61c537b599f1cb94b884690fabea0d..2252d5960b9e50ef380d149d6b8f1dc8c01e8c12 100755 (executable)
@@ -20,6 +20,7 @@
 
 use strict;
 use warnings;
+use utf8;
 use Getopt::Long;
 use Config::IniFiles;
 use POSIX;
@@ -479,156 +480,6 @@ sub get_local_ip_for_remote_ip {
        return $result;
 }
 
-sub new_ldap_config {
-    my ($msg_hash) = @_ ;
-    my $element;
-    my @ldap_uris;
-    my $ldap_base;
-    my @ldap_options;
-    my @pam_options;
-    my @nss_options;
-    my $goto_admin;
-    my $goto_secret;
-    my $admin_base= "";
-    my $department= "";
-    my $release= "";
-    my $unit_tag;
-
-    # Transform input into array
-    while ( my ($key, $value) = each(%$msg_hash) ) {
-       if ($key =~ /^(source|target|header)$/) {
-               next;
-       }
-
-       foreach $element (@$value) {
-               if ($key =~ /^ldap_uri$/) {
-                       push (@ldap_uris, $element);
-                       next;
-               }
-               if ($key =~ /^ldap_base$/) {
-                       $ldap_base= $element;
-                       next;
-               }
-               if ($key =~ /^goto_admin$/) {
-                       $goto_admin= $element;
-                       next;
-               }
-               if ($key =~ /^goto_secret$/) {
-                       $goto_secret= $element;
-                       next;
-               }
-               if ($key =~ /^ldap_cfg$/) {
-                       push (@ldap_options, "$element");
-                       next;
-               }
-               if ($key =~ /^pam_cfg$/) {
-                       push (@pam_options, "$element");
-                       next;
-               }
-               if ($key =~ /^nss_cfg$/) {
-                       push (@nss_options, "$element");
-                       next;
-               }
-               if ($key =~ /^admin_base$/) {
-                       $admin_base= $element;
-                       next;
-               }
-               if ($key =~ /^department$/) {
-                       $department= $element;
-                       next;
-               }
-               if ($key =~ /^unit_tag$/) {
-                       $unit_tag= $element;
-                       next;
-               }
-               if ($key =~ /^release$/) {
-                       $release= $element;
-                       next;
-               }
-       }
-    }
-
-    # Unit tagging enabled?
-    if (defined $unit_tag){
-           push (@pam_options, "pam_filter gosaUnitTag=$unit_tag");
-           push (@nss_options, "nss_base_passwd  $admin_base?sub?gosaUnitTag=$unit_tag");
-           push (@nss_options, "nss_base_group   $admin_base?sub?gosaUnitTag=$unit_tag");
-    }
-
-    # Setup ldap.conf
-    my $file1;
-    my $file2;
-    open(file1, "> $ldap_config");
-    print file1 "# This file was automatically generated by gosa-si-client. Do not change.\n";
-    print file1 "URI";
-    foreach $element (@ldap_uris) {
-       print file1 " $element";
-    }
-    print file1 "\nBASE $ldap_base\n";
-    foreach $element (@ldap_options) {
-       print file1 "$element\n";
-    }
-    close (file1);
-    daemon_log("wrote $ldap_config", 5);
-
-    # Setup pam_ldap.conf / libnss_ldap.conf
-    open(file1, "> $pam_config");
-    open(file2, "> $nss_config");
-    print file1 "# This file was automatically generated by gosa-si-client. Do not change.\n";
-    print file2 "# This file was automatically generated by gosa-si-client. Do not change.\n";
-    print file1 "uri";
-    print file2 "uri";
-    foreach $element (@ldap_uris) {
-       print file1 " $element";
-       print file2 " $element";
-    }
-    print file1 "\nbase $ldap_base\n";
-    print file2 "\nbase $ldap_base\n";
-    foreach $element (@pam_options) {
-       print file1 "$element\n";
-    }
-    foreach $element (@nss_options) {
-       print file2 "$element\n";
-    }
-    close (file2);
-    daemon_log("wrote $nss_config", 5);
-    close (file1);
-    daemon_log("wrote $pam_config", 5);
-
-    # Create goto.secrets if told so - for compatibility reasons
-    if (defined $goto_admin){
-           open(file1, "> /etc/goto/secret");
-           close(file1);
-           chown(0,0, "/etc/goto/secret");
-           chmod(0600, "/etc/goto/secret");
-           open(file1, "> /etc/goto/secret");
-           print file1 "GOTOADMIN=\"$goto_admin\"\nGOTOSECRET=\"$goto_secret\"\n";
-           close(file1);
-           daemon_log("wrote /etc/goto/secret", 5);
-    }
-
-    # Write shell based config
-    my $cfg_name= dirname($ldap_config)."/ldap-shell.conf";
-
-    # Get first LDAP server
-    my $ldap_server= $ldap_uris[0];
-    $ldap_server=~ s/^ldap:\/\/([^:]+).*$/$1/;
-
-    open(file1, "> $cfg_name");
-    print file1 "LDAP_BASE=\"$ldap_base\"\n";
-    print file1 "LDAP_SERVER=\"$ldap_server\"\n";
-    print file1 "ADMIN_BASE=\"$admin_base\"\n";
-    print file1 "DEPARTMENT=\"$department\"\n";
-    print file1 "RELEASE=\"$release\"\n";
-    print file1 "UNIT_TAG=\"".(defined $unit_tag ? "$unit_tag" : "")."\"\n";
-    print file1 "UNIT_TAG_FILTER=\"".(defined $unit_tag ? "(gosaUnitTag=$unit_tag)" : "")."\"\n";
-    close(file1);
-    daemon_log("wrote $cfg_name", 5);
-
-    return;
-
-}
-
 
 sub generate_hw_digest {
        my $hw_data;
index a24275149b97b2f3012cc274e115a8bd88fb7012..e5ae6ae283733a635b9b4398b4182f73866acd98 100755 (executable)
@@ -25,6 +25,7 @@ use warnings;
 use Getopt::Long;
 use Config::IniFiles;
 use POSIX;
+use utf8;
 
 use Fcntl;
 use IO::Socket::INET;