#!/usr/bin/php load("/etc/gosa/gosa.conf") or die ("Cannot read /etc/gosa/gosa.conf - aborted\n"); $conf->encoding = 'UTF-8'; $referrals= $conf->getElementsByTagName("referral"); echo "* encrypting existent passwords with master key\n"; foreach($referrals as $referral){ $pw= $referral->attributes->getNamedItem("password"); $pw->nodeValue= cred_encrypt($pw->nodeValue, $master_key); } # Move original gosa.conf out of the way and make it unreadable for the web user echo "* creating backup in /etc/gosa/gosa.conf.orig\n"; rename("/etc/gosa/gosa.conf", "/etc/gosa/gosa.conf.orig"); chmod("/etc/gosa/gosa.conf.orig", 0600); chown ("/etc/gosa/gosa.conf.orig", "root"); chgrp ("/etc/gosa/gosa.conf.orig", "root"); # Save new passwords echo "* saving modified /etc/gosa/gosa.conf\n"; $conf->save("/etc/gosa/gosa.conf") or die("Cannot write modified /etc/gosa/gosa.conf - aborted\n"); chmod("/etc/gosa/gosa.conf", 0640); chown ("/etc/gosa/gosa.conf", "root"); chgrp ("/etc/gosa/gosa.conf", "www-data"); echo "OK\n\n"; # Print reminder echo<< php_admin_flag engine on php_admin_value open_basedir "/etc/gosa/:/usr/share/gosa/:/var/cache/gosa/:/var/spool/gosa/" php_admin_flag register_globals off php_admin_flag allow_call_time_pass_reference on php_admin_flag expose_php off php_admin_flag zend.ze1_compatibility_mode off php_admin_flag register_long_arrays off php_admin_flag magic_quotes_gpc on include /etc/gosa/gosa.secrets Please reload your httpd configuration after you've modified anything. EOF; ?>