config xmlrpc tag 'login' changed to 'user'
quit on invalid configuration instead of triggering an error validate user name
This commit is contained in:
		@@ -9,7 +9,7 @@
 | 
			
		||||
		<port>port</port>
 | 
			
		||||
 | 
			
		||||
		<!-- XmlRpc Login Details -->
 | 
			
		||||
		<login>SuperAdmin</login>
 | 
			
		||||
		<user>SuperAdmin</user>
 | 
			
		||||
		<pass>password</pass>
 | 
			
		||||
 | 
			
		||||
	</server>
 | 
			
		||||
 
 | 
			
		||||
@@ -27,6 +27,7 @@ use ManiaControl\Update\UpdateManager;
 | 
			
		||||
use ManiaControl\Utils\CommandLineHelper;
 | 
			
		||||
use ManiaControl\Utils\Formatter;
 | 
			
		||||
use Maniaplanet\DedicatedServer\Connection;
 | 
			
		||||
use Maniaplanet\DedicatedServer\Xmlrpc\AuthenticationException;
 | 
			
		||||
use Maniaplanet\DedicatedServer\Xmlrpc\Exception;
 | 
			
		||||
use Maniaplanet\DedicatedServer\Xmlrpc\TransportException;
 | 
			
		||||
 | 
			
		||||
@@ -345,7 +346,7 @@ class ManiaControl implements CommandListener, TimerListener {
 | 
			
		||||
 | 
			
		||||
		try {
 | 
			
		||||
			$this->client = Connection::factory($this->server->config->host, $this->server->config->port, self::SCRIPT_TIMEOUT, $this->server->config->login, $this->server->config->pass, self::API_VERSION);
 | 
			
		||||
		} catch (Exception $e) {
 | 
			
		||||
		} catch (AuthenticationException $e) {
 | 
			
		||||
			$message = "Couldn't authenticate on Server with User '{$this->server->config->login}' & Pass '{$this->server->config->pass}'! " . $e->getMessage();
 | 
			
		||||
			$this->quit($message, true);
 | 
			
		||||
		}
 | 
			
		||||
 
 | 
			
		||||
@@ -103,13 +103,13 @@ class Server implements CallbackListener {
 | 
			
		||||
		if ($serverId) {
 | 
			
		||||
			$serverElements = $this->maniaControl->config->xpath("server[@id='{$serverId}']");
 | 
			
		||||
			if (!$serverElements) {
 | 
			
		||||
				trigger_error("No Server configured with the ID '{$serverId}'!", E_USER_ERROR);
 | 
			
		||||
				$this->maniaControl->quit("No Server configured with the ID '{$serverId}'!", true);
 | 
			
		||||
			}
 | 
			
		||||
			$serverElement = $serverElements[0];
 | 
			
		||||
		} else {
 | 
			
		||||
			$serverElements = $this->maniaControl->config->xpath('server');
 | 
			
		||||
			if (!$serverElements) {
 | 
			
		||||
				trigger_error('No Server configured!', E_USER_ERROR);
 | 
			
		||||
				$this->maniaControl->quit('Invalid server configuration (No Server configured).', true);
 | 
			
		||||
			}
 | 
			
		||||
			$serverElement = $serverElements[0];
 | 
			
		||||
		}
 | 
			
		||||
@@ -117,33 +117,39 @@ class Server implements CallbackListener {
 | 
			
		||||
		// Host
 | 
			
		||||
		$hostElements = $serverElement->xpath('host');
 | 
			
		||||
		if (!$hostElements) {
 | 
			
		||||
			trigger_error("Invalid server configuration (Host).", E_USER_ERROR);
 | 
			
		||||
			$this->maniaControl->quit('Invalid server configuration (Missing Host).', true);
 | 
			
		||||
		}
 | 
			
		||||
		$host = (string)$hostElements[0];
 | 
			
		||||
 | 
			
		||||
		// Port
 | 
			
		||||
		$portElements = $serverElement->xpath('port');
 | 
			
		||||
		if (!$portElements) {
 | 
			
		||||
			trigger_error("Invalid server configuration (Port).", E_USER_ERROR);
 | 
			
		||||
			$this->maniaControl->quit('Invalid server configuration (Missing Port).', true);
 | 
			
		||||
		}
 | 
			
		||||
		$port = (string)$portElements[0];
 | 
			
		||||
 | 
			
		||||
		// Login
 | 
			
		||||
		$loginElements = $serverElement->xpath('login');
 | 
			
		||||
		if (!$loginElements) {
 | 
			
		||||
			trigger_error("Invalid server configuration (Login).", E_USER_ERROR);
 | 
			
		||||
		$userElements = $serverElement->xpath('user');
 | 
			
		||||
		if (!$userElements) {
 | 
			
		||||
			$userElements = $serverElement->xpath('login');
 | 
			
		||||
		}
 | 
			
		||||
		if (!$userElements) {
 | 
			
		||||
			$this->maniaControl->quit('Invalid server configuration (Missing User).', true);
 | 
			
		||||
		}
 | 
			
		||||
		$user = (string)$userElements[0];
 | 
			
		||||
		if (!in_array($user, array('SuperAdmin', 'Admin', 'User'))) {
 | 
			
		||||
			$this->maniaControl->quit('Invalid server configuration (Invalid User).', true);
 | 
			
		||||
		}
 | 
			
		||||
		$login = (string)$loginElements[0];
 | 
			
		||||
 | 
			
		||||
		// Password
 | 
			
		||||
		$passElements = $serverElement->xpath('pass');
 | 
			
		||||
		if (!$passElements) {
 | 
			
		||||
			trigger_error("Invalid server configuration (Pass).", E_USER_ERROR);
 | 
			
		||||
			$this->maniaControl->quit('Invalid server configuration (Pass).', true);
 | 
			
		||||
		}
 | 
			
		||||
		$pass = (string)$passElements[0];
 | 
			
		||||
 | 
			
		||||
		// Create config object
 | 
			
		||||
		$config = new ServerConfig($serverId, $host, $port, $login, $pass);
 | 
			
		||||
		$config = new ServerConfig($serverId, $host, $port, $user, $pass);
 | 
			
		||||
		if (!$config->validate()) {
 | 
			
		||||
			$this->maniaControl->quit("Your config file doesn't seem to be maintained properly. Please check the server configuration again!", true);
 | 
			
		||||
		}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user