MDL-15008: mnet/environment.php: Update wwwroot/ip_address when key is deleted/recreated.

This commit is contained in:
cataluke
2008-06-12 01:16:49 +00:00
parent 2f2bcbc122
commit e47ac6818b
+15 -1
View File
@@ -150,7 +150,7 @@ class mnet_environment {
}
function replace_keys() {
global $DB;
global $DB, $CFG;
$this->keypair = array();
$this->keypair = mnet_generate_keypair();
@@ -158,6 +158,20 @@ class mnet_environment {
$details = openssl_x509_parse($this->public_key);
$this->public_key_expires = $details['validTo_time_t'];
$this->wwwroot = $CFG->wwwroot;
if (empty($_SERVER['SERVER_ADDR'])) {
// SERVER_ADDR is only returned by Apache-like webservers
$my_hostname = mnet_get_hostname_from_uri($CFG->wwwroot);
$my_ip = gethostbyname($my_hostname); // Returns unmodified hostname on failure. DOH!
if ($my_ip == $my_hostname) {
$this->ip_address = 'UNKNOWN';
} else {
$this->ip_address = $my_ip;
}
} else {
$this->ip_address = $_SERVER['SERVER_ADDR'];
}
set_config('openssl', implode('@@@@@@@@', $this->keypair), 'mnet');
$DB->update_record('mnet_host', $this);