mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-11-28 14:21:00 +01:00
MINOR: Add server port field to server state file.
This patch adds server ports to server state file at the end of each line for backward compatibility.
This commit is contained in:
parent
48a8332a4a
commit
3169471964
@ -2042,6 +2042,7 @@ show servers state [<backend>]
|
||||
srv_f_forced_id: Flag to know if the server's ID is forced by
|
||||
configuration.
|
||||
srv_fqdn: Server FQDN.
|
||||
srv_port: Server port.
|
||||
|
||||
show sess
|
||||
Dump all known sessions. Avoid doing this on slow connections as this can
|
||||
|
||||
@ -123,9 +123,10 @@ enum srv_initaddr {
|
||||
"srv_agent_state " \
|
||||
"bk_f_forced_id " \
|
||||
"srv_f_forced_id " \
|
||||
"srv_fqdn"
|
||||
"srv_fqdn " \
|
||||
"srv_port"
|
||||
|
||||
#define SRV_STATE_FILE_MAX_FIELDS 18
|
||||
#define SRV_STATE_FILE_MAX_FIELDS 19
|
||||
#define SRV_STATE_FILE_NB_FIELDS_VERSION_1 18
|
||||
#define SRV_STATE_LINE_MAXLEN 512
|
||||
|
||||
|
||||
@ -1458,13 +1458,13 @@ static int dump_servers_state(struct stream_interface *si, struct chunk *buf)
|
||||
"%d %s %s "
|
||||
"%d %d %d %d %ld "
|
||||
"%d %d %d %d %d "
|
||||
"%d %d %s"
|
||||
"%d %d %s %u"
|
||||
"\n",
|
||||
px->uuid, px->id,
|
||||
srv->puid, srv->id, srv_addr,
|
||||
srv->state, srv->admin, srv->uweight, srv->iweight, (long int)srv_time_since_last_change,
|
||||
srv->check.status, srv->check.result, srv->check.health, srv->check.state, srv->agent.state,
|
||||
bk_f_forced_id, srv_f_forced_id, srv->hostname ? srv->hostname : "-");
|
||||
bk_f_forced_id, srv_f_forced_id, srv->hostname ? srv->hostname : "-", srv->svc_port);
|
||||
if (bi_putchk(si_ic(si), &trash) == -1) {
|
||||
si_applet_cant_put(si);
|
||||
return 0;
|
||||
|
||||
17
src/server.c
17
src/server.c
@ -2892,8 +2892,11 @@ static void srv_update_state(struct server *srv, int version, char **params)
|
||||
int srv_f_forced_id;
|
||||
int fqdn_set_by_cli;
|
||||
const char *fqdn;
|
||||
const char *port_str;
|
||||
unsigned int port;
|
||||
|
||||
fqdn = NULL;
|
||||
port = 0;
|
||||
msg = get_trash_chunk();
|
||||
switch (version) {
|
||||
case 1:
|
||||
@ -2913,6 +2916,7 @@ static void srv_update_state(struct server *srv, int version, char **params)
|
||||
* bk_f_forced_id: params[11]
|
||||
* srv_f_forced_id: params[12]
|
||||
* srv_fqdn: params[13]
|
||||
* srv_port: params[14]
|
||||
*/
|
||||
|
||||
/* validating srv_op_state */
|
||||
@ -3036,6 +3040,15 @@ static void srv_update_state(struct server *srv, int version, char **params)
|
||||
fqdn = NULL;
|
||||
}
|
||||
|
||||
port_str = params[14];
|
||||
if (port_str) {
|
||||
port = strl2uic(port_str, strlen(port_str));
|
||||
if (port > USHRT_MAX) {
|
||||
chunk_appendf(msg, ", invalid srv_port value '%s'", port_str);
|
||||
port_str = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
/* don't apply anything if one error has been detected */
|
||||
if (msg->len)
|
||||
goto out;
|
||||
@ -3167,6 +3180,9 @@ static void srv_update_state(struct server *srv, int version, char **params)
|
||||
}
|
||||
}
|
||||
|
||||
if (port_str)
|
||||
srv->svc_port = port;
|
||||
|
||||
break;
|
||||
default:
|
||||
chunk_appendf(msg, ", version '%d' not supported", version);
|
||||
@ -3416,6 +3432,7 @@ void apply_server_state(void)
|
||||
* bk_f_forced_id: params[15] => srv_params[11]
|
||||
* srv_f_forced_id: params[16] => srv_params[12]
|
||||
* srv_fqdn: params[17] => srv_params[13]
|
||||
* srv_port: params[18] => srv_params[14]
|
||||
*/
|
||||
if (arg >= 4) {
|
||||
srv_params[srv_arg] = cur;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user