X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=gosa-core%2Fsetup%2Fclass_setupStep_Migrate.inc;h=7e45ca33e28fff923493f83bb731d1d925d16bbc;hb=bc60299c90a8b1ad2c67217526e75a8e8e3c87a9;hp=1001e877029a755c385754e8aa27b87176139405;hpb=f4a3408dfc84a64d156f4993fe38da9ff109d9f4;p=gosa.git diff --git a/gosa-core/setup/class_setupStep_Migrate.inc b/gosa-core/setup/class_setupStep_Migrate.inc index 1001e8770..7e45ca33e 100644 --- a/gosa-core/setup/class_setupStep_Migrate.inc +++ b/gosa-core/setup/class_setupStep_Migrate.inc @@ -176,13 +176,16 @@ class Step_Migrate extends setup_step */ function check_uidNumber() { + /* Establish ldap connection */ $cv = $this->parent->captured_values; - $ldap = new LDAP($cv['admin'], + $ldap_l = new LDAP($cv['admin'], $cv['password'], $cv['connection'], FALSE, $cv['tls']); + $ldap = new ldapMultiplexer($ldap_l); + $ldap->cd($cv['base']); $res = $ldap->search("uidNumber=*",array("dn","uidNumber")); if(!$res){ @@ -225,13 +228,16 @@ class Step_Migrate extends setup_step */ function check_gidNumber() { + /* Establish ldap connection */ $cv = $this->parent->captured_values; - $ldap = new LDAP($cv['admin'], + $ldap_l = new LDAP($cv['admin'], $cv['password'], $cv['connection'], FALSE, $cv['tls']); + $ldap = new ldapMultiplexer($ldap_l); + $ldap->cd($cv['base']); $res = $ldap->search("(&(objectClass=posixGroup)(gidNumber=*))",array("dn","gidNumber")); if(!$res){ @@ -274,13 +280,16 @@ class Step_Migrate extends setup_step */ function search_outside_winstations() { + /* Establish ldap connection */ $cv = $this->parent->captured_values; - $ldap = new LDAP($cv['admin'], + $ldap_l = new LDAP($cv['admin'], $cv['password'], $cv['connection'], FALSE, $cv['tls']); + $ldap = new ldapMultiplexer($ldap_l); + /* Get winstation ou */ if($cv['generic_settings']['wws_ou_active']) { $winstation_ou = $cv['generic_settings']['ws_ou']; @@ -332,13 +341,16 @@ class Step_Migrate extends setup_step */ function search_outside_groups() { + /* Establish ldap connection */ $cv = $this->parent->captured_values; - $ldap = new LDAP($cv['admin'], + $ldap_l = new LDAP($cv['admin'], $cv['password'], $cv['connection'], FALSE, $cv['tls']); + $ldap = new ldapMultiplexer($ldap_l); + $group_ou = $cv['groupou']; $ldap->cd($cv['base']); @@ -399,13 +411,15 @@ class Step_Migrate extends setup_step */ function search_outside_users() { + /* Establish ldap connection */ $cv = $this->parent->captured_values; - $ldap = new LDAP($cv['admin'], + $ldap_l = new LDAP($cv['admin'], $cv['password'], $cv['connection'], FALSE, $cv['tls']); + $ldap = new ldapMultiplexer($ldap_l); $ldap->cd($cv['base']); @@ -477,13 +491,16 @@ class Step_Migrate extends setup_step */ function check_ldap_permissions() { + /* Establish ldap connection */ $cv = $this->parent->captured_values; - $ldap = new LDAP($cv['admin'], + $ldap_l = new LDAP($cv['admin'], $cv['password'], $cv['connection'], FALSE, $cv['tls']); + $ldap = new ldapMultiplexer($ldap_l); + /* Create dummy entry */ $name = "GOsa_setup_text_entry_".session_id().rand(0,999999); @@ -554,16 +571,16 @@ class Step_Migrate extends setup_step $old = $this->users_to_migrate; $this->users_to_migrate = array(); - /* Get collected configuration settings */ - $cv = $this->parent->captured_values; - /* Establish ldap connection */ - $ldap = new LDAP($cv['admin'], + $cv = $this->parent->captured_values; + $ldap_l = new LDAP($cv['admin'], $cv['password'], $cv['connection'], FALSE, $cv['tls']); + $ldap = new ldapMultiplexer($ldap_l); + /* Get all invisible users */ $ldap->cd($cv['base']); @@ -607,16 +624,16 @@ class Step_Migrate extends setup_step { $this->show_details= $only_ldif; - /* Get collected configuration settings */ - $cv = $this->parent->captured_values; - /* Establish ldap connection */ - $ldap = new LDAP($cv['admin'], + $cv = $this->parent->captured_values; + $ldap_l = new LDAP($cv['admin'], $cv['password'], $cv['connection'], FALSE, $cv['tls']); + $ldap = new ldapMultiplexer($ldap_l); + /* Add gosaAccount objectClass to the selected users */ foreach($this->users_to_migrate as $key => $dep){ @@ -662,16 +679,16 @@ class Step_Migrate extends setup_step $old = $this->deps_to_migrate; $this->deps_to_migrate = array(); - /* Get collected configuration settings */ - $cv = $this->parent->captured_values; - /* Establish ldap connection */ - $ldap = new LDAP($cv['admin'], + $cv = $this->parent->captured_values; + $ldap_l = new LDAP($cv['admin'], $cv['password'], $cv['connection'], FALSE, $cv['tls']); + $ldap = new ldapMultiplexer($ldap_l); + /* Skip GOsa internal departments */ $skip_dns = array("/".$cv['peopleou']."/","/".$cv['groupou']."/","/^ou=people,/","/^ou=groups,/", "/(,|)ou=configs,/","/(,|)ou=systems,/", @@ -736,16 +753,16 @@ class Step_Migrate extends setup_step { $this->show_details= $only_ldif; - /* Get collected configuration settings */ - $cv = $this->parent->captured_values; - /* Establish ldap connection */ - $ldap = new LDAP($cv['admin'], + $cv = $this->parent->captured_values; + $ldap_l = new LDAP($cv['admin'], $cv['password'], $cv['connection'], FALSE, $cv['tls']); + $ldap = new ldapMultiplexer($ldap_l); + /* Add gosaDepartment objectClass to each selected entry */ foreach($this->deps_to_migrate as $key => $dep){ @@ -792,13 +809,13 @@ class Step_Migrate extends setup_step { /* Establish ldap connection */ $cv = $this->parent->captured_values; - $ldap = new LDAP($cv['admin'], + $ldap_l = new LDAP($cv['admin'], $cv['password'], $cv['connection'], FALSE, $cv['tls']); - /* Search for gosaAcls */ + $ldap = new ldapMultiplexer($ldap_l); $ldap->cd($cv['base']); $res = $ldap->cat($cv['base']); @@ -899,19 +916,22 @@ class Step_Migrate extends setup_step /* Get collected configuration settings */ $cv = $this->parent->captured_values; - /* Establish ldap connection */ - $ldap = new LDAP($cv['admin'], + /* On first call check for rid/sid base */ + $ldap_l = new LDAP($cv['admin'], $cv['password'], $cv['connection'], FALSE, $cv['tls']); + $ldap = new ldapMultiplexer($ldap_l); + /* Get current base attributes */ $ldap->cd($cv['base']); $ldap->cat($cv['base'],array("dn","objectClass","gosaAclEntry")); $attrs = $ldap->fetch(); /* Add acls for the selcted user to the base */ + $attrs_new = array(); $attrs_new['objectClass'] = array("gosaACL"); for($i = 0; $i < $attrs['objectClass']['count']; $i ++){ @@ -976,15 +996,16 @@ class Step_Migrate extends setup_step return false; } - - /* Establish ldap connection */ + /* On first call check for rid/sid base */ $cv = $this->parent->captured_values; - $ldap = new LDAP($cv['admin'], + $ldap_l = new LDAP($cv['admin'], $cv['password'], $cv['connection'], FALSE, $cv['tls']); + $ldap = new ldapMultiplexer($ldap_l); + /* Get current base attributes */ $ldap->cd($cv['base']); @@ -994,21 +1015,18 @@ class Step_Migrate extends setup_step } if($cv['peopledn'] == "cn"){ - $dn = "cn=System Administrator,".$people_ou.$cv['base']; + $dn = "cn=System Administrator-".$uid.",".$people_ou.$cv['base']; }else{ $dn = "uid=".$uid.",".$people_ou.$cv['base']; } - $methods = @passwordMethod::get_available_methods(); - $p_m = $methods[$cv['encryption']]; - $p_c = new $p_m(array()); - $hash = $p_c->generate_hash($pw2); + $hash = passwordMethod::make_hash($pw2, $cv['encryption']); $new_user=array(); $new_user['objectClass']= array("top","person","gosaAccount","organizationalPerson","inetOrgPerson"); $new_user['givenName'] = "System"; $new_user['sn'] = "Administrator"; - $new_user['cn'] = "System Administrator"; + $new_user['cn'] = "System Administrator-".$uid; $new_user['uid'] = $uid; $new_user['userPassword'] = $hash; @@ -1041,12 +1059,14 @@ class Step_Migrate extends setup_step { /* Establish ldap connection */ $cv = $this->parent->captured_values; - $ldap = new LDAP($cv['admin'], + $ldap_l = new LDAP($cv['admin'], $cv['password'], $cv['connection'], FALSE, $cv['tls']); + $ldap = new ldapMultiplexer($ldap_l); + $ldap->cd($cv['base']); /* Check if there was a destination department posted */ @@ -1089,12 +1109,13 @@ class Step_Migrate extends setup_step { /* Establish ldap connection */ $cv = $this->parent->captured_values; - $ldap = new LDAP($cv['admin'], + $ldap_l = new LDAP($cv['admin'], $cv['password'], $cv['connection'], FALSE, $cv['tls']); + $ldap = new ldapMultiplexer($ldap_l); $ldap->cd($cv['base']); /* Check if there was a destination department posted */ @@ -1137,12 +1158,13 @@ class Step_Migrate extends setup_step { /* Establish ldap connection */ $cv = $this->parent->captured_values; - $ldap = new LDAP($cv['admin'], + $ldap_l = new LDAP($cv['admin'], $cv['password'], $cv['connection'], FALSE, $cv['tls']); + $ldap = new ldapMultiplexer($ldap_l); $ldap->cd($cv['base']); /* Check if there was a destination department posted */ @@ -1586,16 +1608,16 @@ class Step_Migrate extends setup_step */ function checkBase($just_check = TRUE) { - /* Get collected setup informations */ - $cv = $this->parent->captured_values; - /* Establish ldap connection */ - $ldap = new LDAP($cv['admin'], + $cv = $this->parent->captured_values; + $ldap_l = new LDAP($cv['admin'], $cv['password'], $cv['connection'], FALSE, $cv['tls']); + $ldap = new ldapMultiplexer($ldap_l); + /* Check if root object exists */ $ldap->cd($cv['base']); $res = $ldap->search("(objectClass=*)"); @@ -1663,16 +1685,15 @@ class Step_Migrate extends setup_step function get_user_list() { - /* Get collected configuration settings */ - $cv = $this->parent->captured_values; - /* Establish ldap connection */ - $ldap = new LDAP($cv['admin'], + $cv = $this->parent->captured_values; + $ldap_l = new LDAP($cv['admin'], $cv['password'], $cv['connection'], FALSE, $cv['tls']); - + + $ldap = new ldapMultiplexer($ldap_l); $ldap->cd($cv['base']); $ldap->search("(objectClass=gosaAccount)",array("dn")); @@ -1691,12 +1712,14 @@ class Step_Migrate extends setup_step $people_ou = trim($cv['peopleou']); /* Establish ldap connection */ - $ldap = new LDAP($cv['admin'], + $cv = $this->parent->captured_values; + $ldap_l = new LDAP($cv['admin'], $cv['password'], $cv['connection'], FALSE, $cv['tls']); + $ldap = new ldapMultiplexer($ldap_l); /***************** * If people ou is NOT empty @@ -1747,16 +1770,16 @@ class Step_Migrate extends setup_step function get_all_winstation_ous() { - /* Get collected configuration settings */ - $cv = $this->parent->captured_values; - /* Establish ldap connection */ - $ldap = new LDAP($cv['admin'], + $cv = $this->parent->captured_values; + $ldap_l = new LDAP($cv['admin'], $cv['password'], $cv['connection'], FALSE, $cv['tls']); + $ldap = new ldapMultiplexer($ldap_l); + /* Get winstation ou */ if($cv['generic_settings']['wws_ou_active']) { $winstation_ou = $cv['generic_settings']['ws_ou']; @@ -1794,16 +1817,16 @@ class Step_Migrate extends setup_step function get_all_group_ous() { - /* Get collected configuration settings */ - $cv = $this->parent->captured_values; - /* Establish ldap connection */ - $ldap = new LDAP($cv['admin'], + $cv = $this->parent->captured_values; + $ldap_l = new LDAP($cv['admin'], $cv['password'], $cv['connection'], FALSE, $cv['tls']); + $ldap = new ldapMultiplexer($ldap_l); + $group_ou = trim($cv['groupou']); if(!empty($group_ou)){ $group_ou = trim($group_ou); @@ -1855,15 +1878,15 @@ class Step_Migrate extends setup_step function get_group_list() { - /* Get collected configuration settings */ - $cv = $this->parent->captured_values; - /* Establish ldap connection */ - $ldap = new LDAP($cv['admin'], + $cv = $this->parent->captured_values; + $ldap_l = new LDAP($cv['admin'], $cv['password'], $cv['connection'], FALSE, $cv['tls']); + + $ldap = new ldapMultiplexer($ldap_l); $ldap->cd($cv['base']); $ldap->search("(objectClass=posixGroup)",array("dn")); @@ -1878,16 +1901,16 @@ class Step_Migrate extends setup_step function move($source,$destination) { - /* Get collected configuration settings */ - $cv = $this->parent->captured_values; - /* Establish ldap connection */ - $ldap = new LDAP($cv['admin'], + $cv = $this->parent->captured_values; + $ldap_l = new LDAP($cv['admin'], $cv['password'], $cv['connection'], FALSE, $cv['tls']); + $ldap = new ldapMultiplexer($ldap_l); + /* Update object references in gosaGroupOfNames */ $ogs_to_fix = array(); $ldap->cd($cv['base']);