Project

General

Profile

Feature #359 ยป 0052-networking-Clear-trailing-spaces.patch

Marko Lindqvist, 03/24/2024 11:42 PM

View differences:

common/networking/connection.c
if (FD_ISSET(pc->sock, &writefs)) {
nblock = MIN(buf->ndata-start, MAX_LEN_PACKET);
log_debug("trying to write %d limit=%d", nblock, limit);
if ((nput = fc_writesocket(pc->sock,
if ((nput = fc_writesocket(pc->sock,
(const char *)buf->data+start, nblock)) == -1) {
#ifdef NONBLOCKING_SOCKETS
if (errno == EWOULDBLOCK || errno == EAGAIN) {
......
conn_list_size(game.all_connections),
MAX_LEN_NAME-1, fc_strncasequotecmp,
effectivestrlenquote, user_name, &ind);
if (*result < M_PRE_AMBIGUOUS) {
return conn_list_get(game.all_connections, ind);
} else {
......
if (*pconn->username != '\0') {
fc_snprintf(buffer, sizeof(buffer), _("%s from %s"),
pconn->username, pconn->addr);
pconn->username, pconn->addr);
} else {
sz_strlcpy(buffer, "server");
}
common/networking/packets.c
if (!pc->used) {
return NULL; /* connection was closed, stop reading */
}
if (pc->buffer->ndata < data_type_size(pc->packet_header.length)) {
/* Not got enough for a length field yet */
return NULL;
......
} while (error != Z_OK);
buffer->ndata -= whole_packet_len;
/*
/*
* Remove the packet with the compressed data and shift all the
* remaining data to the front.
* remaining data to the front.
*/
memmove(buffer->data, buffer->data + whole_packet_len, buffer->ndata);
......
*/
memmove(buffer->data + decompressed_size, buffer->data, buffer->ndata);
/*
/*
* Copy the uncompressed data.
*/
memcpy(buffer->data, decompressed, decompressed_size);
......
free(decompressed);
buffer->ndata += decompressed_size;
log_compress("COMPRESS: decompressed %ld into %ld",
compressed_size, decompressed_size);
......
pc->incoming_packet_notify(pc, utype.type, whole_packet_len);
}
#if PACKET_SIZE_STATISTICS
#if PACKET_SIZE_STATISTICS
{
static struct {
int counter;
......
}
memcpy((char *) (pplayer->attribute_block_buffer.data) + chunk->offset,
chunk->data, chunk->chunk_length);
if (chunk->offset + chunk->chunk_length == chunk->total_length) {
/* Received full attribute block */
if (pplayer->attribute_block.data != NULL) {
......
}
pplayer->attribute_block.data = pplayer->attribute_block_buffer.data;
pplayer->attribute_block.length = pplayer->attribute_block_buffer.length;
pplayer->attribute_block_buffer.data = NULL;
pplayer->attribute_block_buffer.length = 0;
}
common/networking/packets.def
Typedef lines:
==============
Start with "type" and have the format "type <alias> = <src>". You
can now use <alias> at every place a type is expected. Nested type
defs are possible.
......
A packet definition starts with a header line, contains variable
field declarations, and ends with a single line containing the word
"end".
PACKET_<PACKET_NAME>=<packet num>; [<packet flags>]
<type1> <field1>; [<field flags>]
<type2> <field2>; [<field flags>]
......
PACKET_PROCESSING_FINISHED, PACKET_SERVER_JOIN_REQ and
PACKET_SERVER_JOIN_REPLY are excluded here. These packets should
never change their number. The packet number can be freely chosen
as long as it is below 65536 and unique. For backward compatibility
as long as it is below 65536 and unique. For backward compatibility
reasons, packets used for the initial protocol (notably before
checking the capabilities) must be in range 0-255.
......
as a parameter, it takes the fields of the packet as parameters.
lsend: request the creation of a lsend_packet_* function. This
function sends to list of connections instead of just one
function sends to list of connections instead of just one
connection, which is the case for the other send functions.
cs: a packet which is sent from the client to the server
......
PLACE_TYPE type;
# Meaning of num:
# - if type == SSHIP_ACT_PLACE_STRUCTURAL:
# - if type == SSHIP_ACT_PLACE_STRUCTURAL:
# index to sship->structure[]
# - if type != SSHIP_ACT_PLACE_STRUCTURAL:
# new value for sship->fuel etc; should be just one more than
......
BOOL is_playable;
BARBARIAN_TYPE barbarian_type;
UINT8 nsets;
UINT8 sets[MAX_NUM_NATION_SETS:nsets];
......
end
PACKET_RULESET_CITY = 149; sc, lsend
UINT8 style_id;
UINT8 style_id;
STRING name[MAX_LEN_NAME];
STRING rule_name[MAX_LEN_NAME];
STRING citizens_graphic[MAX_LEN_NAME];
......
end
PACKET_RULESET_MUSIC = 240; sc, lsend
UINT8 id;
UINT8 id;
STRING music_peaceful[MAX_LEN_NAME];
STRING music_combat[MAX_LEN_NAME];
UINT8 reqs_count;
......
/*********************************************************
Below are the packets that control single-player mode.
Below are the packets that control single-player mode.
*********************************************************/
PACKET_SINGLE_WANT_HACK_REQ = 160; cs, handle-per-conn
STRING token[MAX_LEN_NAME];
......
end
PACKET_EDIT_PLAYER = 216; cs, handle-per-conn, lsend
PLAYER id; key
PLAYER id; key
STRING name[MAX_LEN_NAME];
STRING username[MAX_LEN_NAME];
STRING ranked_username[MAX_LEN_NAME];
    (1-1/1)