CLEANUP: assorted typo fixes in the code and comments

code, comments and doc actually.
This commit is contained in:
Ilia Shipitsin 2025-04-01 22:44:54 +02:00 committed by Willy Tarreau
parent 423cca64b6
commit 78b849b839
48 changed files with 80 additions and 80 deletions

View File

@ -1010,7 +1010,7 @@ you notice you're already practising some of them:
- continue to send pull requests after having been explained why they are not - continue to send pull requests after having been explained why they are not
welcome. welcome.
- give wrong advices to people asking for help, or sending them patches to - give wrong advice to people asking for help, or sending them patches to
try which make no sense, waste their time, and give them a bad impression try which make no sense, waste their time, and give them a bad impression
of the people working on the project. of the people working on the project.

View File

@ -94,7 +94,7 @@ name must be preceded by a minus character ('-'). Here are examples:
* Add section description as label for all metrics * Add section description as label for all metrics
It is possible to set a description in global and proxy sections, via the It is possible to set a description in global and proxy sections, via the
"description" directive. The global descrption is exposed if it is define via "description" directive. The global description is exposed if it is define via
the "haproxy_process_description" metric. But the descriptions provided in proxy the "haproxy_process_description" metric. But the descriptions provided in proxy
sections are not dumped. However, it is possible to add it as a label for all sections are not dumped. However, it is possible to add it as a label for all
metrics of the corresponding section, including the global one. To do so, metrics of the corresponding section, including the global one. To do so,

View File

@ -25,7 +25,7 @@ end
# returns $node filled with the first node of ebroot $arg0 # returns $node filled with the first node of ebroot $arg0
define ebtree_first define ebtree_first
# browse ebtree left until encoutering leaf # browse ebtree left until encountering leaf
set $node = (struct eb_node *)$arg0->b[0] set $node = (struct eb_node *)$arg0->b[0]
while 1 while 1
_ebtree_set_tag_node $node _ebtree_set_tag_node $node
@ -76,7 +76,7 @@ end
# returns $node filled with the first node of ebroot $arg0 # returns $node filled with the first node of ebroot $arg0
define ebsctree_first define ebsctree_first
# browse ebsctree left until encoutering leaf # browse ebsctree left until encountering leaf
set $node = (struct eb32sc_node *)$arg0->b[0] set $node = (struct eb32sc_node *)$arg0->b[0]
while 1 while 1
_ebsctree_set_tag_node $node _ebsctree_set_tag_node $node

View File

@ -1961,7 +1961,7 @@ cpu-policy <policy>
thread groups. thread groups.
This mapping is normally performed using the "cpu-map" directive, though it This mapping is normally performed using the "cpu-map" directive, though it
can be particularly difficult to maintain on heterogenous systems. can be particularly difficult to maintain on heterogeneous systems.
The "cpu-policy" directive chooses between a small number of allocation The "cpu-policy" directive chooses between a small number of allocation
policies which one to use instead, when "cpu-map" is not used. The following policies which one to use instead, when "cpu-map" is not used. The following
@ -4223,7 +4223,7 @@ tune.max-rules-at-once <number>
cpu-demanding actions (e.g.: actions that work on content) may create thread cpu-demanding actions (e.g.: actions that work on content) may create thread
contention as all the rules from a given ruleset are evaluated under the same contention as all the rules from a given ruleset are evaluated under the same
polling loop if the evaluation is not interrupted. This option ensures that no polling loop if the evaluation is not interrupted. This option ensures that no
more than <number> number of rules may be excecuted under the same polling more than <number> number of rules may be executed under the same polling
loop for content-oriented rulesets (those that already support yielding due loop for content-oriented rulesets (those that already support yielding due
to content inspection). What it does is that it forces the evaluating function to content inspection). What it does is that it forces the evaluating function
to yield, so that it comes back on the next polling loop to continues the to yield, so that it comes back on the next polling loop to continues the
@ -4883,9 +4883,9 @@ subsystem. This will dump debug messages about a specific subsystem. It is a
very powerful tool to diagnose issues. Traces can be dynamically configured via very powerful tool to diagnose issues. Traces can be dynamically configured via
the CLI. It is also possible to predefined some settings in the configuration the CLI. It is also possible to predefined some settings in the configuration
file, in dedicated "traces" sections. More details about traces can be found in file, in dedicated "traces" sections. More details about traces can be found in
the management guide. It remains a developper tools used during complex the management guide. It remains a developer tools used during complex
debugging sessions. It is pretty verbose and have a cost, so use it with debugging sessions. It is pretty verbose and have a cost, so use it with
caution. And because it is a developper tool, there is no warranty about the caution. And because it is a developer tool, there is no warranty about the
backward compatibility of this section. backward compatibility of this section.
traces traces
@ -5993,7 +5993,7 @@ specified in a previous "defaults" section. Keywords supported in defaults
sections marked with "(!)" are only supported in named defaults sections, not sections marked with "(!)" are only supported in named defaults sections, not
anonymous ones. anonymous ones.
Note: Some dangerous and not recommanded directives are intentionnaly not Note: Some dangerous and not recommended directives are intentionnaly not
listed in the following matrix. It is on purpose. These directives are listed in the following matrix. It is on purpose. These directives are
documentated. But by not listing them below is one more way to discourage documentated. But by not listing them below is one more way to discourage
anyone to use it. anyone to use it.
@ -7938,7 +7938,7 @@ hash-preserve-affinity { always | maxconn | maxqueue }
The following values can be specified: The following values can be specified:
- "always" : this is the default stategy. A stream is assigned to a - "always" : this is the default strategy. A stream is assigned to a
server based on hashing irrespective of whether the server server based on hashing irrespective of whether the server
is currently saturated. is currently saturated.
@ -17991,8 +17991,8 @@ agent-check
to set the weight of a server. Setting it with the "weight:" prefix is to set the weight of a server. Setting it with the "weight:" prefix is
preferred. preferred.
- The string "weight:" following by an positive interger or a positive - The string "weight:" following by an positive integer or a positive
interger percentage, with no space. If the value ends with the '%' sign, integer percentage, with no space. If the value ends with the '%' sign,
then the new weight will be proportional to the initially weight of the then the new weight will be proportional to the initially weight of the
server. Otherwise, the value is considered as an absolute weight and must server. Otherwise, the value is considered as an absolute weight and must
be between 0 and 256. Servers which are part of a farm running a static be between 0 and 256. Servers which are part of a farm running a static
@ -22242,7 +22242,7 @@ when(<condition>[,<args>...])
some rarely needed data that should only be emitted under certain conditions, some rarely needed data that should only be emitted under certain conditions,
such as debugging information when an error is met. such as debugging information when an error is met.
The condition is made of a keyword among the list below, optionally preceeded The condition is made of a keyword among the list below, optionally preceded
by an exclamation mark ('!') to negate it, and optionally suffixed by some by an exclamation mark ('!') to negate it, and optionally suffixed by some
arguments specific to that condition: arguments specific to that condition:

View File

@ -1326,7 +1326,7 @@ Problem: we need to set the restrictions first to eliminate undesired CPUs,
is considered the best CPUs. So the preference really looks like is considered the best CPUs. So the preference really looks like
a different setting. a different setting.
More precisely, the final stategy involves multiple criteria. For example, More precisely, the final strategy involves multiple criteria. For example,
let's say that the number of threads is set to 4 and we've restricted ourselves let's say that the number of threads is set to 4 and we've restricted ourselves
to using the first thread of each CPU core. We're on an EPYC74F3, there are 3 to using the first thread of each CPU core. We're on an EPYC74F3, there are 3
cores per CCX. One algorithm (resource) would create one group with 3 threads cores per CCX. One algorithm (resource) would create one group with 3 threads
@ -1444,7 +1444,7 @@ for example. However not all boards report their cluster number (see CIX-P1
above). However the info about the capacity still allows to figure that and above). However the info about the capacity still allows to figure that and
should probably be used for that. At this point it would seem logical to say should probably be used for that. At this point it would seem logical to say
that the cluster number is re-adjusted based on the claimed capacity, at that the cluster number is re-adjusted based on the claimed capacity, at
least to avoid accidentally mixing workloads on heterogenous cores. But least to avoid accidentally mixing workloads on heterogeneous cores. But
sorting by cluster number might not necessarily work if allocated randomly. sorting by cluster number might not necessarily work if allocated randomly.
So we might need a distinct metric that doesn't require to override the So we might need a distinct metric that doesn't require to override the
system's numbering, like a "set", "group", "team", "bond", "bunch", "club", system's numbering, like a "set", "group", "team", "bond", "bunch", "club",

View File

@ -3464,7 +3464,7 @@ Patref class
in case of duplicated entries, only the first matching entry is returned. in case of duplicated entries, only the first matching entry is returned.
.. Warning:: .. Warning::
Not meant to be shared bewteen multiple contexts. If multiple contexts Not meant to be shared between multiple contexts. If multiple contexts
need to work on the same pattern reference, each context should have need to work on the same pattern reference, each context should have
its own patref object. its own patref object.
@ -3494,7 +3494,7 @@ Patref class
.. js:function:: Patref.commit(ref) .. js:function:: Patref.commit(ref)
Tries to commit pending Patref object updates, that is updates made to the Tries to commit pending Patref object updates, that is updates made to the
local object will be committed to the underlying patter reference storage local object will be committed to the underlying pattern reference storage
in an atomic manner upon success. Upon failure, local pending updates are in an atomic manner upon success. Upon failure, local pending updates are
lost. Upon success, all other pending updates on the pattern reference lost. Upon success, all other pending updates on the pattern reference
(e.g.: "prepare" from the cli or from other Patref Lua objects) started (e.g.: "prepare" from the cli or from other Patref Lua objects) started

View File

@ -3339,7 +3339,7 @@ show sess [<options>*]
output reports less entries than really exist because it will dump all output reports less entries than really exist because it will dump all
existing streams up to the last one that was created before the command was existing streams up to the last one that was created before the command was
entered; those which die in the mean time will not appear. entered; those which die in the mean time will not appear.
For supported opitons, see below. For supported options, see below.
show sess [<id> | all | help] [<options>*] show sess [<id> | all | help] [<options>*]
Display a lot of internal information about the matching streams. The command Display a lot of internal information about the matching streams. The command
@ -3807,7 +3807,7 @@ show ssl sni [-f <frontend>] [-A]
The 'SNI' column shows the SNI, it can be either a CN, a SAN or a filter from a crt-list. The 'SNI' column shows the SNI, it can be either a CN, a SAN or a filter from a crt-list.
The default certificates of a bind line, (which are either declared The default certificates of a bind line, (which are either declared
explicitely by 'default-crt' or is implicitely the first certificate of a bind explicitly by 'default-crt' or is implicitly the first certificate of a bind
line when no 'strict-sni' is used) shows the '*' character in the SNI column. line when no 'strict-sni' is used) shows the '*' character in the SNI column.
The 'Negative Filter' column is the list of negative filters associated to a The 'Negative Filter' column is the list of negative filters associated to a

View File

@ -332,7 +332,7 @@ enum proto_proxy_side {
/* ctl command used by mux->ctl() */ /* ctl command used by mux->ctl() */
enum mux_ctl_type { enum mux_ctl_type {
MUX_CTL_STATUS, /* Expects an int as output, sets it to a combinaison of MUX_CTL_STATUS flags */ MUX_CTL_STATUS, /* Expects an int as output, sets it to a combination of MUX_CTL_STATUS flags */
MUX_CTL_EXIT_STATUS, /* Expects an int as output, sets the mux exist/error/http status, if known or 0 */ MUX_CTL_EXIT_STATUS, /* Expects an int as output, sets the mux exist/error/http status, if known or 0 */
MUX_CTL_REVERSE_CONN, /* Notify about an active reverse connection accepted. */ MUX_CTL_REVERSE_CONN, /* Notify about an active reverse connection accepted. */
MUX_CTL_SUBS_RECV, /* Notify the mux it must wait for read events again */ MUX_CTL_SUBS_RECV, /* Notify the mux it must wait for read events again */

View File

@ -784,7 +784,7 @@ static inline const char *tevt_evts2str(uint32_t evts)
if (!evt) if (!evt)
continue; continue;
/* Backend location are displayed in captial letter */ /* Backend location are displayed in capital letter */
is_back = !!((evt >> 4) & 0x8); is_back = !!((evt >> 4) & 0x8);
switch ((enum term_event_loc)((evt >> 4) & ~0x8)) { switch ((enum term_event_loc)((evt >> 4) & ~0x8)) {
case tevt_loc_fd: tevt_evts_str[idx++] = (is_back ? 'F' : 'f'); break; case tevt_loc_fd: tevt_evts_str[idx++] = (is_back ? 'F' : 'f'); break;

View File

@ -169,7 +169,7 @@ struct global {
unsigned char cluster_secret[16]; /* 128 bits of an SHA1 digest of a secret defined as ASCII string */ unsigned char cluster_secret[16]; /* 128 bits of an SHA1 digest of a secret defined as ASCII string */
struct { struct {
int maxpollevents; /* max number of poll events at once */ int maxpollevents; /* max number of poll events at once */
int max_rules_at_once; /* max number of rules excecuted in a single evaluation loop */ int max_rules_at_once; /* max number of rules executed in a single evaluation loop */
int maxaccept; /* max number of consecutive accept() */ int maxaccept; /* max number of consecutive accept() */
int options; /* various tuning options */ int options; /* various tuning options */
uint debug; /* various debugging options (GDBG_*) */ uint debug; /* various debugging options (GDBG_*) */

View File

@ -38,7 +38,7 @@ int h1_parse_msg_tlrs(struct h1m *h1m, struct htx *dsthtx,
struct buffer *srcbuf, size_t ofs, size_t max); struct buffer *srcbuf, size_t ofs, size_t max);
/* Returns the URI of an HTX message in the most common format for a H1 peer. It /* Returns the URI of an HTX message in the most common format for a H1 peer. It
* is the path part of an absolute URI when the URI was normalized, ortherwise * is the path part of an absolute URI when the URI was normalized, otherwise
* it is the whole URI, as received. Concretely, it is only a special case for * it is the whole URI, as received. Concretely, it is only a special case for
* URIs received from H2 clients, to be able to send a relative path the H1 * URIs received from H2 clients, to be able to send a relative path the H1
* servers. * servers.

View File

@ -168,7 +168,7 @@ enum {
REDIRECT_FLAG_FROM_REQ = 4, /* redirect rule on the request path */ REDIRECT_FLAG_FROM_REQ = 4, /* redirect rule on the request path */
REDIRECT_FLAG_IGNORE_EMPTY = 8, /* silently ignore empty location expressions */ REDIRECT_FLAG_IGNORE_EMPTY = 8, /* silently ignore empty location expressions */
REDIRECT_FLAG_KEEP_QS = 16, /* append the query string to location, if any */ REDIRECT_FLAG_KEEP_QS = 16, /* append the query string to location, if any */
REDIRECT_FLAG_COOKIE_FMT = 32, /* The cookie value is a log-format stirng*/ REDIRECT_FLAG_COOKIE_FMT = 32, /* The cookie value is a log-format string */
}; };
/* Redirect types (location, prefix, extended ) */ /* Redirect types (location, prefix, extended ) */

View File

@ -408,7 +408,7 @@ static inline unsigned long ERR_peek_error_func(const char **func)
#define SSL_OP_CIPHER_SERVER_PREFERENCE 0 #define SSL_OP_CIPHER_SERVER_PREFERENCE 0
#endif #endif
/* needs OpenSSL >= 0.9.7 and renegotation options on WolfSSL */ /* needs OpenSSL >= 0.9.7 and renegotiation options on WolfSSL */
#if !defined(SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION) || \ #if !defined(SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION) || \
(defined(USE_OPENSSL_WOLFSSL) && !defined(HAVE_SECURE_RENEGOTIATION) && !defined(HAVE_SERVER_RENEGOTIATION_INFO)) (defined(USE_OPENSSL_WOLFSSL) && !defined(HAVE_SECURE_RENEGOTIATION) && !defined(HAVE_SERVER_RENEGOTIATION_INFO))
#undef SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION #undef SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION

View File

@ -299,7 +299,7 @@ struct error_snapshot {
char buf[VAR_ARRAY]; /* copy of the beginning of the message for bufsize bytes */ char buf[VAR_ARRAY]; /* copy of the beginning of the message for bufsize bytes */
}; };
/* Each proxy will have one occurence of this structure per thread group */ /* Each proxy will have one occurrence of this structure per thread group */
struct proxy_per_tgroup { struct proxy_per_tgroup {
struct queue queue; struct queue queue;
} THREAD_ALIGNED(64); } THREAD_ALIGNED(64);

View File

@ -123,7 +123,7 @@ struct quic_cc_path {
uint32_t recovery_start_ts; uint32_t recovery_start_ts;
}; };
/* pacing can be optionnaly activated on top of the algorithm */ /* pacing can be optionally activated on top of the algorithm */
#define QUIC_CC_ALGO_FL_OPT_PACING 0x01 #define QUIC_CC_ALGO_FL_OPT_PACING 0x01
struct quic_cc_algo { struct quic_cc_algo {

View File

@ -5,7 +5,7 @@
#include <haproxy/quic_cc-t.h> #include <haproxy/quic_cc-t.h>
struct quic_pacer { struct quic_pacer {
const struct quic_cc *cc; /* Congestion controler algo used for this connection */ const struct quic_cc *cc; /* Congestion controller algo used for this connection */
ullong cur; /* Nanosecond timestamp of the last credit reloading */ ullong cur; /* Nanosecond timestamp of the last credit reloading */
uint credit; /* Number of packets which can be emitted in a single burst */ uint credit; /* Number of packets which can be emitted in a single burst */

View File

@ -351,7 +351,7 @@ static inline void sc_sync_send(struct stconn *sc)
else if (sc_ep_test(sc, SE_FL_T_APPLET)) { else if (sc_ep_test(sc, SE_FL_T_APPLET)) {
sc_applet_sync_send(sc); sc_applet_sync_send(sc);
if (sc_oc(sc)->flags & CF_WRITE_EVENT) { if (sc_oc(sc)->flags & CF_WRITE_EVENT) {
/* Data was send, wake the applet up. It is safe to do so becasuse sc_applet_sync_send() /* Data was send, wake the applet up. It is safe to do so because sc_applet_sync_send()
* removes CF_WRITE_EVENT flag from the channel before trying to send data to the applet. * removes CF_WRITE_EVENT flag from the channel before trying to send data to the applet.
*/ */
task_wakeup(__sc_appctx(sc)->t, TASK_WOKEN_OTHER); task_wakeup(__sc_appctx(sc)->t, TASK_WOKEN_OTHER);

View File

@ -52,7 +52,7 @@
/* All supported SPOP actions */ /* All supported SPOP actions */
enum spoe_action_type { enum spoe_action_type {
SPOP_ACT_T_NOOP = 0, /* internal action for ampty ACK */ SPOP_ACT_T_NOOP = 0, /* internal action for an empty ACK */
SPOP_ACT_T_SET_VAR = 1, SPOP_ACT_T_SET_VAR = 1,
SPOP_ACT_T_UNSET_VAR, SPOP_ACT_T_UNSET_VAR,
SPOP_ACT_TYPES, SPOP_ACT_TYPES,

View File

@ -63,7 +63,7 @@
* the same split bit as its parent node, it is necessary its associated leaf * the same split bit as its parent node, it is necessary its associated leaf
* *
* When descending along the tree, it is possible to know that a search key is * When descending along the tree, it is possible to know that a search key is
* not present, because its XOR with both of the branches is stricly higher * not present, because its XOR with both of the branches is strictly higher
* than the inter-branch XOR. The reason is simple : the inter-branch XOR will * than the inter-branch XOR. The reason is simple : the inter-branch XOR will
* have its highest bit set indicating the split bit. Since it's the bit that * have its highest bit set indicating the split bit. Since it's the bit that
* differs between the two branches, the key cannot have it both set and * differs between the two branches, the key cannot have it both set and

View File

@ -271,7 +271,7 @@ client c1 -connect ${h1_fe_gzip_sock} {
expect resp.http.transfer-encoding == "<undef>" expect resp.http.transfer-encoding == "<undef>"
expect resp.bodylen == 100 expect resp.bodylen == 100
# 7. Response alerady compressed by the server (with "Accept-Encoding") # 7. Response already compressed by the server (with "Accept-Encoding")
txreq -url "/c1.7" \ txreq -url "/c1.7" \
-hdr "Accept-Encoding: gzip" -hdr "Accept-Encoding: gzip"
rxresp rxresp

View File

@ -88,7 +88,7 @@ static void *memprof_realloc_initial_handler(void *ptr, size_t size);
static char *memprof_strdup_initial_handler(const char *s); static char *memprof_strdup_initial_handler(const char *s);
static void memprof_free_initial_handler(void *ptr); static void memprof_free_initial_handler(void *ptr);
/* these ones are optional but may be used by some dependecies */ /* these ones are optional but may be used by some dependencies */
static char *memprof_strndup_initial_handler(const char *s, size_t n); static char *memprof_strndup_initial_handler(const char *s, size_t n);
static void *memprof_valloc_initial_handler(size_t sz); static void *memprof_valloc_initial_handler(size_t sz);
static void *memprof_pvalloc_initial_handler(size_t sz); static void *memprof_pvalloc_initial_handler(size_t sz);
@ -105,7 +105,7 @@ static void *(*memprof_realloc_handler)(void *ptr, size_t size) = memprof_real
static char *(*memprof_strdup_handler)(const char *s) = memprof_strdup_initial_handler; static char *(*memprof_strdup_handler)(const char *s) = memprof_strdup_initial_handler;
static void (*memprof_free_handler)(void *ptr) = memprof_free_initial_handler; static void (*memprof_free_handler)(void *ptr) = memprof_free_initial_handler;
/* these ones are optional but may be used by some dependecies */ /* these ones are optional but may be used by some dependencies */
static char *(*memprof_strndup_handler)(const char *s, size_t n) = memprof_strndup_initial_handler; static char *(*memprof_strndup_handler)(const char *s, size_t n) = memprof_strndup_initial_handler;
static void *(*memprof_valloc_handler)(size_t sz) = memprof_valloc_initial_handler; static void *(*memprof_valloc_handler)(size_t sz) = memprof_valloc_initial_handler;
static void *(*memprof_pvalloc_handler)(size_t sz) = memprof_pvalloc_initial_handler; static void *(*memprof_pvalloc_handler)(size_t sz) = memprof_pvalloc_initial_handler;

View File

@ -457,7 +457,7 @@ struct server *get_server_hh(struct stream *s, const struct server *avoid)
break; break;
} }
else if (*p == '.') { else if (*p == '.') {
/* The pointer is rewinded to the dot before the /* The pointer is rewound to the dot before the
* tld, we memorize the end of the domain and * tld, we memorize the end of the domain and
* can enter the domain processing. */ * can enter the domain processing. */
end = p; end = p;

View File

@ -836,7 +836,7 @@ discovery_kw:
continue; continue;
if (strcmp(kwl->kw[index].kw, args[0]) == 0) { if (strcmp(kwl->kw[index].kw, args[0]) == 0) {
/* in MODE_DISCOVERY we read only the keywords, which contains the appropiate flag */ /* in MODE_DISCOVERY we read only the keywords, which contains the appropriate flag */
if ((global.mode & MODE_DISCOVERY) && ((kwl->kw[index].flags & KWF_DISCOVERY) == 0 )) if ((global.mode & MODE_DISCOVERY) && ((kwl->kw[index].flags & KWF_DISCOVERY) == 0 ))
goto out; goto out;
@ -1626,7 +1626,7 @@ static int cfg_parse_global_chroot(char **args, int section_type, struct proxy *
file, line, args[0], args[1], strerror(errno)); file, line, args[0], args[1], strerror(errno));
else if (errno == EACCES) else if (errno == EACCES)
ha_diag_warning("parsing [%s:%d]: '%s': '%s': %s " ha_diag_warning("parsing [%s:%d]: '%s': '%s': %s "
"(process is need to be started with root priviledges to be able to chroot).\n", "(process is need to be started with root privileges to be able to chroot).\n",
file, line, args[0], args[1], strerror(errno)); file, line, args[0], args[1], strerror(errno));
else else
ha_diag_warning("parsing [%s:%d]: '%s': '%s': stat() is failed: %s.\n", ha_diag_warning("parsing [%s:%d]: '%s': '%s': stat() is failed: %s.\n",

View File

@ -299,7 +299,7 @@ static int cfg_parse_quic_tune_setting(char **args, int section_type,
if (strcmp(suffix, "cc.cubic.min-losses") == 0) if (strcmp(suffix, "cc.cubic.min-losses") == 0)
global.tune.quic_cubic_loss_tol = arg - 1; global.tune.quic_cubic_loss_tol = arg - 1;
else if (strcmp(suffix, "frontend.conn-tx-buffers.limit") == 0) { else if (strcmp(suffix, "frontend.conn-tx-buffers.limit") == 0) {
memprintf(err, "'%s' keyword is now obsolote and has no effect. " memprintf(err, "'%s' keyword is now obsolete and has no effect. "
"Use 'tune.quic.frontend.default-max-window-size' to limit Tx buffer allocation per connection.", args[0]); "Use 'tune.quic.frontend.default-max-window-size' to limit Tx buffer allocation per connection.", args[0]);
return 1; return 1;
} }
@ -307,7 +307,7 @@ static int cfg_parse_quic_tune_setting(char **args, int section_type,
global.tune.quic_frontend_glitches_threshold = arg; global.tune.quic_frontend_glitches_threshold = arg;
else if (strcmp(suffix, "frontend.max-data-size") == 0) { else if (strcmp(suffix, "frontend.max-data-size") == 0) {
if ((errptr = parse_size_err(args[1], &arg))) { if ((errptr = parse_size_err(args[1], &arg))) {
memprintf(err, "'%s': unexpected charater '%c' in size argument '%s'.", memprintf(err, "'%s': unexpected character '%c' in size argument '%s'.",
args[0], *errptr, args[1]); args[0], *errptr, args[1]);
return -1; return -1;
} }

View File

@ -344,7 +344,7 @@ int _cmp_cpu_index(const void *a, const void *b)
if (l->idx > r->idx && r->idx >= 0) if (l->idx > r->idx && r->idx >= 0)
return 1; return 1;
/* exactly the same (e.g. absent, should not happend) */ /* exactly the same (e.g. absent, should not happen) */
return 0; return 0;
} }
@ -1355,7 +1355,7 @@ int cpu_detect_topology(void)
/* First, let's check the cache hierarchy. On systems exposing /* First, let's check the cache hierarchy. On systems exposing
* it, index0 generally is the L1D cache, index1 the L1I, index2 * it, index0 generally is the L1D cache, index1 the L1I, index2
* the L2 and index3 the L3. But sometimes L1I/D are reversed, * the L2 and index3 the L3. But sometimes L1I/D are reversed,
* and some CPUs also have L0 or L4. Maybe some heterogenous * and some CPUs also have L0 or L4. Maybe some heterogeneous
* SoCs even have inconsistent levels between clusters... Thus * SoCs even have inconsistent levels between clusters... Thus
* we'll scan all entries that we can find for each CPU and * we'll scan all entries that we can find for each CPU and
* assign levels based on what is reported. The types generally * assign levels based on what is reported. The types generally

View File

@ -2550,7 +2550,7 @@ static void run_master_in_recovery_mode(int argc, char **argv)
mworker_run_master(); mworker_run_master();
} }
/* parse conf in disovery mode and set modes from config */ /* parse conf in discovery mode and set modes from config */
static void read_cfg_in_discovery_mode(int argc, char **argv) static void read_cfg_in_discovery_mode(int argc, char **argv)
{ {
struct cfgfile *cfg, *cfg_tmp; struct cfgfile *cfg, *cfg_tmp;
@ -2604,7 +2604,7 @@ static void read_cfg_in_discovery_mode(int argc, char **argv)
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
/* "progam" sections, if there are any, were alredy parsed only by master /* "program" sections, if there are any, were already parsed only by master
* and programs are forked before calling postparser functions from * and programs are forked before calling postparser functions from
* postparser list. So, all checks related to "program" section integrity * postparser list. So, all checks related to "program" section integrity
* and sections vs MODE_MWORKER combinations should be done here. * and sections vs MODE_MWORKER combinations should be done here.
@ -3242,7 +3242,7 @@ int main(int argc, char **argv)
if (backup_env() != 0) if (backup_env() != 0)
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
/* parse conf in disovery mode and set modes from config */ /* parse conf in discovery mode and set modes from config */
read_cfg_in_discovery_mode(argc, argv); read_cfg_in_discovery_mode(argc, argv);
/* From this stage all runtime modes are known. So let's do below some /* From this stage all runtime modes are known. So let's do below some
@ -3347,8 +3347,8 @@ int main(int argc, char **argv)
* forked. Thus the current worker inherits ipc_fd[0]s from the previous * forked. Thus the current worker inherits ipc_fd[0]s from the previous
* ones by it's parent, master, because we have to keep shared sockpair * ones by it's parent, master, because we have to keep shared sockpair
* ipc_fd[0] always opened in master (master CLI server is listening on * ipc_fd[0] always opened in master (master CLI server is listening on
* this fd). It's safe to call close() at this point on these inhereted * this fd). It's safe to call close() at this point on these inherited
* ipc_fd[0]s, as they are inhereted after master re-exec unbound, we * ipc_fd[0]s, as they are inherited after master re-exec unbound, we
* keep them like this during bind_listeners() call. So, these fds were * keep them like this during bind_listeners() call. So, these fds were
* never referenced in the current worker's fdtab. * never referenced in the current worker's fdtab.
*/ */
@ -3404,7 +3404,7 @@ int main(int argc, char **argv)
} }
/* applies the renice value in the worker or standalone after configuration parsing /* applies the renice value in the worker or standalone after configuration parsing
* but before chaning identity */ * but before changing identity */
if (!master && global.tune.renice_runtime) { if (!master && global.tune.renice_runtime) {
if (setpriority(PRIO_PROCESS, 0, global.tune.renice_runtime - 100) == -1) { if (setpriority(PRIO_PROCESS, 0, global.tune.renice_runtime - 100) == -1) {
ha_warning("[%s.main()] couldn't set the runtime nice value to %d: %s\n", ha_warning("[%s.main()] couldn't set the runtime nice value to %d: %s\n",

View File

@ -610,7 +610,7 @@ static unsigned int hlua_nb_instruction = 0;
* *
* configured | Number of * configured | Number of
* instructions | loops executed * instructions | loops executed
* between two | in milions * between two | in millions
* forced yields | * forced yields |
* ---------------+--------------- * ---------------+---------------
* 10 | 160 * 10 | 160

View File

@ -41,7 +41,7 @@
#include <haproxy/version.h> #include <haproxy/version.h>
/* Release memory allocated by most of HTTP actions. Concretly, it releases /* Release memory allocated by most of HTTP actions. Concretely, it releases
* <arg.http>. * <arg.http>.
*/ */
static void release_http_action(struct act_rule *rule) static void release_http_action(struct act_rule *rule)
@ -52,7 +52,7 @@ static void release_http_action(struct act_rule *rule)
lf_expr_deinit(&rule->arg.http.fmt); lf_expr_deinit(&rule->arg.http.fmt);
} }
/* Release memory allocated by HTTP actions relying on an http reply. Concretly, /* Release memory allocated by HTTP actions relying on an http reply. Concretely,
* it releases <.arg.http_reply> * it releases <.arg.http_reply>
*/ */
static void release_act_http_reply(struct act_rule *rule) static void release_act_http_reply(struct act_rule *rule)

View File

@ -1882,8 +1882,8 @@ static int sample_conv_7239_n2np(const struct arg *args, struct sample *smp, voi
/* /*
* input: ipv4 address, ipv6 address or str (empty string will result in * input: ipv4 address, ipv6 address or str (empty string will result in
* "unknown" indentifier, else string will be translated to _obfs * "unknown" identifier, else string will be translated to _obfs
* indentifier, prefixed by '_'. Must comply with RFC7239 charset) * identifier, prefixed by '_'. Must comply with RFC7239 charset)
* *
* output: rfc7239-compliant forwarded header nodename * output: rfc7239-compliant forwarded header nodename
*/ */
@ -1938,7 +1938,7 @@ static int sample_conv_7239_nn(const struct arg *args, struct sample *smp, void
/* /*
* input: unsigned integer or str (string will be translated to _obfs * input: unsigned integer or str (string will be translated to _obfs
* indentifier, prefixed by '_'. Must comply with RFC7239 charset) * identifier, prefixed by '_'. Must comply with RFC7239 charset)
* *
* output: rfc7239-compliant forwarded header nodeport * output: rfc7239-compliant forwarded header nodeport
*/ */

View File

@ -454,7 +454,7 @@ int jws_b64_signature(EVP_PKEY *pkey, enum jwt_alg alg, char *b64protected, char
const BIGNUM *r = NULL, *s = NULL; const BIGNUM *r = NULL, *s = NULL;
int bignum_len; int bignum_len;
/* need to pad to byte size, essentialy for P-521 */ /* need to pad to byte size, essentially for P-521 */
bignum_len = (EVP_PKEY_bits(pkey) + 7) / 8; bignum_len = (EVP_PKEY_bits(pkey) + 7) / 8;
if ((sig = d2i_ECDSA_SIG(NULL, (const unsigned char **)&sign->area, sign->data)) == NULL) if ((sig = d2i_ECDSA_SIG(NULL, (const unsigned char **)&sign->area, sign->data)) == NULL)

View File

@ -660,7 +660,7 @@ static inline void h1c_report_term_evt(struct h1c *h1c, enum muxc_term_event_typ
} }
/* Returns 1 if the H1 connection is alive (IDLE, EMBRYONIC, RUNNING or /* Returns 1 if the H1 connection is alive (IDLE, EMBRYONIC, RUNNING or
* DRAINING). Ortherwise 0 is returned. * DRAINING). Otherwise 0 is returned.
*/ */
static inline int h1_is_alive(const struct h1c *h1c) static inline int h1_is_alive(const struct h1c *h1c)
{ {

View File

@ -5834,7 +5834,7 @@ next_frame:
if ((unsigned)hdr.len > (unsigned)global.tune.bufsize) { if ((unsigned)hdr.len > (unsigned)global.tune.bufsize) {
/* RFC7540#4.2: invalid frame length */ /* RFC7540#4.2: invalid frame length */
h2c_report_glitch(h2c, 1, "too large CONTINUATION frame"); h2c_report_glitch(h2c, 1, "too large CONTINUATION frame");
TRACE_STATE("too large CONTIUATION frame", H2_EV_RX_FRAME|H2_EV_RX_FHDR|H2_EV_RX_HDR|H2_EV_RX_CONT|H2_EV_H2C_ERR|H2_EV_PROTO_ERR, h2c->conn); TRACE_STATE("too large CONTINUATION frame", H2_EV_RX_FRAME|H2_EV_RX_FHDR|H2_EV_RX_HDR|H2_EV_RX_CONT|H2_EV_H2C_ERR|H2_EV_PROTO_ERR, h2c->conn);
h2c_error(h2c, H2_ERR_FRAME_SIZE_ERROR); h2c_error(h2c, H2_ERR_FRAME_SIZE_ERROR);
goto fail; goto fail;
} }

View File

@ -1529,7 +1529,7 @@ static void _qcc_send_stream(struct qcs *qcs, int urg)
qcc_clear_frms(qcc); qcc_clear_frms(qcc);
if (urg) { if (urg) {
/* qcc_emit_rs_ss() relies on resetted/aborted streams in send_list front. */ /* qcc_emit_rs_ss() relies on reset/aborted streams in send_list front. */
BUG_ON(!(qcs->flags & (QC_SF_TO_RESET|QC_SF_TO_STOP_SENDING|QC_SF_TXBUB_OOB))); BUG_ON(!(qcs->flags & (QC_SF_TO_RESET|QC_SF_TO_STOP_SENDING|QC_SF_TXBUB_OOB)));
LIST_DEL_INIT(&qcs->el_send); LIST_DEL_INIT(&qcs->el_send);
@ -2637,7 +2637,7 @@ static int qcc_emit_rs_ss(struct qcc *qcc)
* *
* This functions also serves to emit RESET_STREAM and STOP_SENDING frames. In * This functions also serves to emit RESET_STREAM and STOP_SENDING frames. In
* this case, frame is emitted immediately without using <qcc> tx frms. If an * this case, frame is emitted immediately without using <qcc> tx frms. If an
* error occured during this step, this is considered as fatal. Tx frms is * error occurred during this step, this is considered as fatal. Tx frms is
* cleared and 0 is returned. * cleared and 0 is returned.
* *
* Returns the sum of encoded payload STREAM frames length. Note that 0 can be * Returns the sum of encoded payload STREAM frames length. Note that 0 can be

View File

@ -795,7 +795,7 @@ static int quic_test_gso(void)
* mechanism. A message is notified in this case when running in diagnostic * mechanism. A message is notified in this case when running in diagnostic
* mode. * mode.
* *
* Returns ERR_NONE if every checks performed, wether or not some features are * Returns ERR_NONE if every checks performed, whether or not some features are
* not available. ERR_FATAL is reported if checks cannot be executed. * not available. ERR_FATAL is reported if checks cannot be executed.
*/ */
static int quic_test_socketopts(void) static int quic_test_socketopts(void)

View File

@ -1936,7 +1936,7 @@ static int proxy_defproxy_cpy(struct proxy *curproxy, const struct proxy *defpro
/* defproxy is const pointer, so we need to typecast log_steps to /* defproxy is const pointer, so we need to typecast log_steps to
* drop the const in order to use EB tree API, please note however * drop the const in order to use EB tree API, please note however
* that the operations performed below should theorically be read-only * that the operations performed below should theoretically be read-only
*/ */
node = eb32_first((struct eb_root *)&defproxy->conf.log_steps); node = eb32_first((struct eb_root *)&defproxy->conf.log_steps);
while (node) { while (node) {

View File

@ -413,7 +413,7 @@ int process_srv_queue(struct server *s)
* *
* We'll dequeue MAX_SELF_USE_QUEUE items from the queue corresponding * We'll dequeue MAX_SELF_USE_QUEUE items from the queue corresponding
* to our thread group, then we'll get one from a different one, to * to our thread group, then we'll get one from a different one, to
* be sure those actually get processsed too. * be sure those actually get processed too.
*/ */
while (non_empty_tgids != 0 while (non_empty_tgids != 0
&& (done < global.tune.maxpollevents || !s->served) && && (done < global.tune.maxpollevents || !s->served) &&

View File

@ -256,7 +256,7 @@ struct bbr {
* The camelcase naming convention is used by the BBR RFC for the function names * The camelcase naming convention is used by the BBR RFC for the function names
* and constants. To helps in matching the code below with the RFC one, note * and constants. To helps in matching the code below with the RFC one, note
* that all the function names have been translated this way. The uppercase * that all the function names have been translated this way. The uppercase
* letters have been replaced by lowercase letters. The words have been seperated * letters have been replaced by lowercase letters. The words have been separated
* by underscores as follows: * by underscores as follows:
* *
* ex: BBRMinPipeCwnd() -> bbr_min_pipe_cwnd() * ex: BBRMinPipeCwnd() -> bbr_min_pipe_cwnd()

View File

@ -830,9 +830,9 @@ struct task *quic_conn_io_cb(struct task *t, void *context, unsigned int state)
/* Note: if no token for address validation was received /* Note: if no token for address validation was received
* for a 0RTT connection, some 0RTT packet could still be * for a 0RTT connection, some 0RTT packet could still be
* waiting for HP removal AFTER the successful handshake completion. * waiting for HP removal AFTER the successful handshake completion.
* Indeed a successful handshake completion implicitely valids * Indeed a successful handshake completion implicitly valids
* the peer address. In this case, one wants to process * the peer address. In this case, one wants to process
* these ORTT packets AFTER the succesful handshake completion. * these ORTT packets AFTER the successful handshake completion.
* *
* On the contrary, when a token for address validation was received, * On the contrary, when a token for address validation was received,
* release 0RTT packets still waiting for HP removal. These * release 0RTT packets still waiting for HP removal. These

View File

@ -205,7 +205,7 @@ static int qc_pkt_decrypt(struct quic_conn *qc, struct quic_enc_level *qel,
/* Handle <frm> frame whose packet it is attached to has just been acknowledged. The memory allocated /* Handle <frm> frame whose packet it is attached to has just been acknowledged. The memory allocated
* for this frame will be at least released in every cases. * for this frame will be at least released in every cases.
* *
* Returns 1 on sucess else 0. * Returns 1 on success else 0.
*/ */
static int qc_handle_newly_acked_frm(struct quic_conn *qc, struct quic_frame *frm) static int qc_handle_newly_acked_frm(struct quic_conn *qc, struct quic_frame *frm)
{ {
@ -311,7 +311,7 @@ static void qc_newly_acked_pkts(struct quic_conn *qc, struct eb_root *pkts,
/* Handle <newly_acked_pkts> list of newly acknowledged TX packets. /* Handle <newly_acked_pkts> list of newly acknowledged TX packets.
* *
* Returns 1 on sucess else 0. * Returns 1 on success else 0.
*/ */
static int qc_handle_newly_acked_pkts(struct quic_conn *qc, static int qc_handle_newly_acked_pkts(struct quic_conn *qc,
unsigned int *pkt_flags, struct list *newly_acked_pkts) unsigned int *pkt_flags, struct list *newly_acked_pkts)

View File

@ -128,7 +128,7 @@ void qc_stream_desc_release(struct qc_stream_desc *stream,
if (final_size < tail_offset) if (final_size < tail_offset)
b_sub(buf, tail_offset - final_size); b_sub(buf, tail_offset - final_size);
/* Release active buffer, or delete it immediatly if there is /* Release active buffer, or delete it immediately if there is
* no data to acknowledge. Both functions will reset active * no data to acknowledge. Both functions will reset active
* buf pointer and invoke <notify_room> if necessary. * buf pointer and invoke <notify_room> if necessary.
*/ */
@ -243,7 +243,7 @@ static int qc_stream_buf_store_ack(struct qc_stream_buf *buf,
} }
/* Acknowledges data for buffer <buf> attached to <stream> instance. This covers /* Acknowledges data for buffer <buf> attached to <stream> instance. This covers
* the range strating at <offset> and of length <len>, with <fin> sets for the * the range starting at <offset> and of length <len>, with <fin> sets for the
* last stream frame. * last stream frame.
* *
* Returns <buf> if there is still data to acknowledge or buffered ACK to * Returns <buf> if there is still data to acknowledge or buffered ACK to
@ -495,7 +495,7 @@ struct buffer *qc_stream_buf_realloc(struct qc_stream_desc *stream)
/* This function is reserved to convert a big buffer to a smaller one. */ /* This function is reserved to convert a big buffer to a smaller one. */
BUG_ON(!stream->buf || !stream->buf->sbuf); BUG_ON(!stream->buf || !stream->buf->sbuf);
/* This function can only be used if targetted buffer is empty. */ /* This function can only be used if targeted buffer is empty. */
BUG_ON(b_data(&stream->buf->buf)); BUG_ON(b_data(&stream->buf->buf));
/* Release buffer */ /* Release buffer */

View File

@ -153,7 +153,7 @@ struct buffer *qc_get_txb(struct quic_conn *qc)
/* Commit a datagram payload written into <buf> of length <length>. <first_pkt> /* Commit a datagram payload written into <buf> of length <length>. <first_pkt>
* must contains the address of the first packet stored in the payload. When * must contains the address of the first packet stored in the payload. When
* GSO is used, several datagrams can be commited at once. In this case, * GSO is used, several datagrams can be committed at once. In this case,
* <length> must be the total length of all consecutive datagrams. * <length> must be the total length of all consecutive datagrams.
* *
* Caller is responsible that there is enough space in the buffer. * Caller is responsible that there is enough space in the buffer.
@ -1856,7 +1856,7 @@ static int qc_do_build_pkt(unsigned char *pos, const unsigned char *end,
* its frames which were already acknowledeged. * its frames which were already acknowledeged.
* See qc_stream_frm_is_acked()) called by qc_build_frms(). * See qc_stream_frm_is_acked()) called by qc_build_frms().
* Note that qc_stream_frm_is_acked() logs a trace in this * Note that qc_stream_frm_is_acked() logs a trace in this
* case mentionning some frames were already acknowledged. * case mentioning some frames were already acknowledged.
* *
* That said, the consequence must be the same: cancelling * That said, the consequence must be the same: cancelling
* the packet build as if there was not enough room in the * the packet build as if there was not enough room in the

View File

@ -3619,7 +3619,7 @@ static int smp_check_concat(struct arg *args, struct sample_conv *conv,
} }
/* Append delimiter (only to a non empty input) followed by the optional /* Append delimiter (only to a non empty input) followed by the optional
* variable contents concatenated with the optional sufix. * variable contents concatenated with the optional suffix.
*/ */
static int sample_conv_add_item(const struct arg *arg_p, struct sample *smp, void *private) static int sample_conv_add_item(const struct arg *arg_p, struct sample *smp, void *private)
{ {

View File

@ -676,7 +676,7 @@ static struct task *process_sink_forward(struct task * task, void *context, unsi
while (sft) { while (sft) {
HA_SPIN_LOCK(SFT_LOCK, &sft->lock); HA_SPIN_LOCK(SFT_LOCK, &sft->lock);
/* If appctx is NULL, start a new session and perform the appctx /* If appctx is NULL, start a new session and perform the appctx
* assigment right away since the applet is not supposed to change * assignment right away since the applet is not supposed to change
* during the session lifetime. By doing the assignment now we * during the session lifetime. By doing the assignment now we
* make sure to start the session exactly once. * make sure to start the session exactly once.
* *

View File

@ -957,7 +957,7 @@ int sock_conn_check(struct connection *conn)
* *
* We have no explanation for now. Why epoll report the * We have no explanation for now. Why epoll report the
* connection is closed while the connect() it able to validate * connection is closed while the connect() it able to validate
* it ? no idea. But, it seems reasonnable in this case, and if * it ? no idea. But, it seems reasonable in this case, and if
* no error was reported, to remove the the HUP flag. At worst, if * no error was reported, to remove the the HUP flag. At worst, if
* the connection is really closed, this will be reported later. * the connection is really closed, this will be reported later.
* *

View File

@ -1604,7 +1604,7 @@ static void cli_release_show_sni(struct appctx *appctx)
/* IO handler of "show ssl sni [<frontend>]". /* IO handler of "show ssl sni [<frontend>]".
* It makes use of a show_sni_ctx context * It makes use of a show_sni_ctx context
* *
* The fonction does loop over the frontend, the bind_conf and the sni_ctx. * The function does loop over the frontend, the bind_conf and the sni_ctx.
*/ */
static int cli_io_handler_show_sni(struct appctx *appctx) static int cli_io_handler_show_sni(struct appctx *appctx)
{ {
@ -1652,7 +1652,7 @@ static int cli_io_handler_show_sni(struct appctx *appctx)
else else
n = ebmb_first(&bind->sni_w_ctx); n = ebmb_first(&bind->sni_w_ctx);
} }
/* emty SNI tree, skip */ /* empty SNI tree, skip */
if (!n) if (!n)
continue; continue;

View File

@ -96,7 +96,7 @@ const struct stat_col stat_cols_px[ST_I_PX_MAX] = {
[ST_I_PX_HANAFAIL] = ME_NEW_BE("hanafail", NULL, FN_COUNTER, FF_U64, failed_hana, STATS_PX_CAP____S, "Total number of failed checks caused by an 'on-error' directive after an 'observe' condition matched"), [ST_I_PX_HANAFAIL] = ME_NEW_BE("hanafail", NULL, FN_COUNTER, FF_U64, failed_hana, STATS_PX_CAP____S, "Total number of failed checks caused by an 'on-error' directive after an 'observe' condition matched"),
[ST_I_PX_REQ_RATE] = ME_NEW_FE("req_rate", NULL, FN_RATE, FF_U32, req_per_sec, STATS_PX_CAP__F__, "Number of HTTP requests processed over the last second on this object"), [ST_I_PX_REQ_RATE] = ME_NEW_FE("req_rate", NULL, FN_RATE, FF_U32, req_per_sec, STATS_PX_CAP__F__, "Number of HTTP requests processed over the last second on this object"),
[ST_I_PX_REQ_RATE_MAX] = { .name = "req_rate_max", .alt_name = "http_requests_rate_max", .desc = "Highest value of http requests observed since the worker process started", .cap = STATS_PX_CAP__F__ }, [ST_I_PX_REQ_RATE_MAX] = { .name = "req_rate_max", .alt_name = "http_requests_rate_max", .desc = "Highest value of http requests observed since the worker process started", .cap = STATS_PX_CAP__F__ },
/* Note: ST_I_PX_REQ_TOT is also diplayed on frontend but does not uses a raw counter value, see me_generate_field() for details. */ /* Note: ST_I_PX_REQ_TOT is also displayed on frontend but does not uses a raw counter value, see me_generate_field() for details. */
[ST_I_PX_REQ_TOT] = ME_NEW_BE("req_tot", "http_requests_total", FN_COUNTER, FF_U64, p.http.cum_req, STATS_PX_CAP__FBS, "Total number of HTTP requests processed by this object since the worker process started"), [ST_I_PX_REQ_TOT] = ME_NEW_BE("req_tot", "http_requests_total", FN_COUNTER, FF_U64, p.http.cum_req, STATS_PX_CAP__FBS, "Total number of HTTP requests processed by this object since the worker process started"),
[ST_I_PX_CLI_ABRT] = ME_NEW_BE("cli_abrt", "client_aborts_total", FN_COUNTER, FF_U64, cli_aborts, STATS_PX_CAP___BS, "Total number of requests or connections aborted by the client since the worker process started"), [ST_I_PX_CLI_ABRT] = ME_NEW_BE("cli_abrt", "client_aborts_total", FN_COUNTER, FF_U64, cli_aborts, STATS_PX_CAP___BS, "Total number of requests or connections aborted by the client since the worker process started"),
[ST_I_PX_SRV_ABRT] = ME_NEW_BE("srv_abrt", "server_aborts_total", FN_COUNTER, FF_U64, srv_aborts, STATS_PX_CAP___BS, "Total number of requests or connections aborted by the server since the worker process started"), [ST_I_PX_SRV_ABRT] = ME_NEW_BE("srv_abrt", "server_aborts_total", FN_COUNTER, FF_U64, srv_aborts, STATS_PX_CAP___BS, "Total number of requests or connections aborted by the server since the worker process started"),
@ -269,7 +269,7 @@ static struct field me_generate_field(const struct stat_col *col,
} }
/* TODO Special case needed for ST_I_PX_REQ_TOT. It is defined as a /* TODO Special case needed for ST_I_PX_REQ_TOT. It is defined as a
* generic column for backend side. Extra code required to diplay it on * generic column for backend side. Extra code required to display it on
* frontend side as an aggregate of values split by HTTP version. * frontend side as an aggregate of values split by HTTP version.
*/ */
if (idx == ST_I_PX_REQ_TOT && cap == STATS_PX_CAP_FE && !stat_file) { if (idx == ST_I_PX_REQ_TOT && cap == STATS_PX_CAP_FE && !stat_file) {

View File

@ -162,7 +162,7 @@ int __stksess_kill(struct stktable *t, struct stksess *ts)
} }
/* /*
* Decrease the refcount of a stksess and relase it if the refcount falls to 0. * Decrease the refcount of a stksess and release it if the refcount falls to 0.
* Returns non-zero if deleted, zero otherwise. * Returns non-zero if deleted, zero otherwise.
* *
* This function locks the corresponding table shard to proceed. When this * This function locks the corresponding table shard to proceed. When this

View File

@ -5576,7 +5576,7 @@ const void *resolve_sym_name(struct buffer *buf, const char *pfx, const void *ad
} }
} }
/* if that's an exact match, no need to call dl_addr. This happends /* if that's an exact match, no need to call dl_addr. This happens
* when showing callback pointers for example, but not in backtraces. * when showing callback pointers for example, but not in backtraces.
*/ */
if (!best_dist) if (!best_dist)