mirror of
https://github.com/OpenTTD/OpenTTD.git
synced 2026-07-22 18:49:40 +00:00
(svn r22935) [1.1] -Backport from trunk:
- Fix: Prevent authentication bypass for the admin port when a new game is started [FS#4771] (r22934) - Fix: TTO savegames with any aircraft not in an hangar caused crashes during load (r22915) - Fix: Windows 2000 and XP without service pack 3 must use the win9x binary/installer; the newer MSVC compiler of the compile farm does not support those versions of Windows anymore [FS#4749] (r22909)
This commit is contained in:
@@ -147,8 +147,6 @@ NetworkRecvStatus ServerNetworkAdminSocketHandler::SendProtocol()
|
||||
|
||||
NetworkRecvStatus ServerNetworkAdminSocketHandler::SendWelcome()
|
||||
{
|
||||
this->status = ADMIN_STATUS_ACTIVE;
|
||||
|
||||
Packet *p = new Packet(ADMIN_PACKET_SERVER_WELCOME);
|
||||
|
||||
p->Send_string(_settings_client.network.server_name);
|
||||
@@ -525,6 +523,8 @@ DEF_ADMIN_RECEIVE_COMMAND(Server, ADMIN_PACKET_ADMIN_JOIN)
|
||||
return this->SendError(NETWORK_ERROR_ILLEGAL_PACKET);
|
||||
}
|
||||
|
||||
this->status = ADMIN_STATUS_ACTIVE;
|
||||
|
||||
DEBUG(net, 1, "[admin] '%s' (%s) has connected", this->admin_name, this->admin_version);
|
||||
|
||||
return this->SendProtocol();
|
||||
@@ -656,7 +656,7 @@ DEF_ADMIN_RECEIVE_COMMAND(Server, ADMIN_PACKET_ADMIN_CHAT)
|
||||
void NetworkAdminClientInfo(const NetworkClientSocket *cs, bool new_client)
|
||||
{
|
||||
ServerNetworkAdminSocketHandler *as;
|
||||
FOR_ALL_ADMIN_SOCKETS(as) {
|
||||
FOR_ALL_ACTIVE_ADMIN_SOCKETS(as) {
|
||||
if (as->update_frequency[ADMIN_UPDATE_CLIENT_INFO] & ADMIN_FREQUENCY_AUTOMATIC) {
|
||||
as->SendClientInfo(cs);
|
||||
if (new_client) {
|
||||
@@ -673,7 +673,7 @@ void NetworkAdminClientInfo(const NetworkClientSocket *cs, bool new_client)
|
||||
void NetworkAdminClientUpdate(const NetworkClientInfo *ci)
|
||||
{
|
||||
ServerNetworkAdminSocketHandler *as;
|
||||
FOR_ALL_ADMIN_SOCKETS(as) {
|
||||
FOR_ALL_ACTIVE_ADMIN_SOCKETS(as) {
|
||||
if (as->update_frequency[ADMIN_UPDATE_CLIENT_INFO] & ADMIN_FREQUENCY_AUTOMATIC) {
|
||||
as->SendClientUpdate(ci);
|
||||
}
|
||||
@@ -687,7 +687,7 @@ void NetworkAdminClientUpdate(const NetworkClientInfo *ci)
|
||||
void NetworkAdminClientQuit(ClientID client_id)
|
||||
{
|
||||
ServerNetworkAdminSocketHandler *as;
|
||||
FOR_ALL_ADMIN_SOCKETS(as) {
|
||||
FOR_ALL_ACTIVE_ADMIN_SOCKETS(as) {
|
||||
if (as->update_frequency[ADMIN_UPDATE_CLIENT_INFO] & ADMIN_FREQUENCY_AUTOMATIC) {
|
||||
as->SendClientQuit(client_id);
|
||||
}
|
||||
@@ -702,7 +702,7 @@ void NetworkAdminClientQuit(ClientID client_id)
|
||||
void NetworkAdminClientError(ClientID client_id, NetworkErrorCode error_code)
|
||||
{
|
||||
ServerNetworkAdminSocketHandler *as;
|
||||
FOR_ALL_ADMIN_SOCKETS(as) {
|
||||
FOR_ALL_ACTIVE_ADMIN_SOCKETS(as) {
|
||||
if (as->update_frequency[ADMIN_UPDATE_CLIENT_INFO] & ADMIN_FREQUENCY_AUTOMATIC) {
|
||||
as->SendClientError(client_id, error_code);
|
||||
}
|
||||
@@ -722,7 +722,7 @@ void NetworkAdminCompanyInfo(const Company *company, bool new_company)
|
||||
}
|
||||
|
||||
ServerNetworkAdminSocketHandler *as;
|
||||
FOR_ALL_ADMIN_SOCKETS(as) {
|
||||
FOR_ALL_ACTIVE_ADMIN_SOCKETS(as) {
|
||||
if (as->update_frequency[ADMIN_UPDATE_COMPANY_INFO] != ADMIN_FREQUENCY_AUTOMATIC) continue;
|
||||
|
||||
as->SendCompanyInfo(company);
|
||||
@@ -741,7 +741,7 @@ void NetworkAdminCompanyUpdate(const Company *company)
|
||||
if (company == NULL) return;
|
||||
|
||||
ServerNetworkAdminSocketHandler *as;
|
||||
FOR_ALL_ADMIN_SOCKETS(as) {
|
||||
FOR_ALL_ACTIVE_ADMIN_SOCKETS(as) {
|
||||
if (as->update_frequency[ADMIN_UPDATE_COMPANY_INFO] != ADMIN_FREQUENCY_AUTOMATIC) continue;
|
||||
|
||||
as->SendCompanyUpdate(company);
|
||||
@@ -756,7 +756,7 @@ void NetworkAdminCompanyUpdate(const Company *company)
|
||||
void NetworkAdminCompanyRemove(CompanyID company_id, AdminCompanyRemoveReason bcrr)
|
||||
{
|
||||
ServerNetworkAdminSocketHandler *as;
|
||||
FOR_ALL_ADMIN_SOCKETS(as) {
|
||||
FOR_ALL_ACTIVE_ADMIN_SOCKETS(as) {
|
||||
as->SendCompanyRemove(company_id, bcrr);
|
||||
}
|
||||
}
|
||||
@@ -770,7 +770,7 @@ void NetworkAdminChat(NetworkAction action, DestType desttype, ClientID client_i
|
||||
if (from_admin) return;
|
||||
|
||||
ServerNetworkAdminSocketHandler *as;
|
||||
FOR_ALL_ADMIN_SOCKETS(as) {
|
||||
FOR_ALL_ACTIVE_ADMIN_SOCKETS(as) {
|
||||
if (as->update_frequency[ADMIN_UPDATE_CHAT] & ADMIN_FREQUENCY_AUTOMATIC) {
|
||||
as->SendChat(action, desttype, client_id, msg, data);
|
||||
}
|
||||
@@ -796,7 +796,7 @@ void NetworkServerSendAdminRcon(AdminIndex admin_index, TextColour colour_code,
|
||||
void NetworkAdminConsole(const char *origin, const char *string)
|
||||
{
|
||||
ServerNetworkAdminSocketHandler *as;
|
||||
FOR_ALL_ADMIN_SOCKETS(as) {
|
||||
FOR_ALL_ACTIVE_ADMIN_SOCKETS(as) {
|
||||
if (as->update_frequency[ADMIN_UPDATE_CONSOLE] & ADMIN_FREQUENCY_AUTOMATIC) {
|
||||
as->SendConsole(origin, string);
|
||||
}
|
||||
@@ -813,7 +813,7 @@ void NetworkAdminCmdLogging(const NetworkClientSocket *owner, const CommandPacke
|
||||
ClientID client_id = owner == NULL ? _network_own_client_id : owner->client_id;
|
||||
|
||||
ServerNetworkAdminSocketHandler *as;
|
||||
FOR_ALL_ADMIN_SOCKETS(as) {
|
||||
FOR_ALL_ACTIVE_ADMIN_SOCKETS(as) {
|
||||
if (as->update_frequency[ADMIN_UPDATE_CMD_LOGGING] & ADMIN_FREQUENCY_AUTOMATIC) {
|
||||
as->SendCmdLogging(client_id, cp);
|
||||
}
|
||||
@@ -826,7 +826,7 @@ void NetworkAdminCmdLogging(const NetworkClientSocket *owner, const CommandPacke
|
||||
void ServerNetworkAdminSocketHandler::WelcomeAll()
|
||||
{
|
||||
ServerNetworkAdminSocketHandler *as;
|
||||
FOR_ALL_ADMIN_SOCKETS(as) {
|
||||
FOR_ALL_ACTIVE_ADMIN_SOCKETS(as) {
|
||||
as->SendWelcome();
|
||||
}
|
||||
}
|
||||
@@ -838,7 +838,7 @@ void ServerNetworkAdminSocketHandler::WelcomeAll()
|
||||
void NetworkAdminUpdate(AdminUpdateFrequency freq)
|
||||
{
|
||||
ServerNetworkAdminSocketHandler *as;
|
||||
FOR_ALL_ADMIN_SOCKETS(as) {
|
||||
FOR_ALL_ACTIVE_ADMIN_SOCKETS(as) {
|
||||
for (int i = 0; i < ADMIN_UPDATE_END; i++) {
|
||||
if (as->update_frequency[i] & freq) {
|
||||
/* Update the admin for the required details */
|
||||
|
||||
Reference in New Issue
Block a user