mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-01-03 01:17:45 +03:00
Add a network timeout option to journal-upload
This commit is contained in:
parent
5a750c49a9
commit
279082ed49
@ -74,6 +74,17 @@
|
|||||||
<listitem><para>SSL CA certificate.</para></listitem>
|
<listitem><para>SSL CA certificate.</para></listitem>
|
||||||
</varlistentry>
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term><varname>NetworkTimeoutSec=</varname></term>
|
||||||
|
|
||||||
|
<listitem><para>When network connectivity to the server is lost, this option
|
||||||
|
configures the time to wait for the connectivity to get restored. If the server is
|
||||||
|
not reachable over the network for the configured time, <command>systemd-journal-upload</command>
|
||||||
|
exits. Takes a value in seconds (or in other time units if suffixed with "ms", "min", "h", etc).
|
||||||
|
For details, see <citerefentry><refentrytitle>systemd.time</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
|
||||||
|
</para></listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
</variablelist>
|
</variablelist>
|
||||||
|
|
||||||
</refsect1>
|
</refsect1>
|
||||||
|
@ -53,6 +53,7 @@ static const char *arg_machine = NULL;
|
|||||||
static bool arg_merge = false;
|
static bool arg_merge = false;
|
||||||
static int arg_follow = -1;
|
static int arg_follow = -1;
|
||||||
static const char *arg_save_state = NULL;
|
static const char *arg_save_state = NULL;
|
||||||
|
static usec_t arg_network_timeout_usec = USEC_INFINITY;
|
||||||
|
|
||||||
static void close_fd_input(Uploader *u);
|
static void close_fd_input(Uploader *u);
|
||||||
|
|
||||||
@ -211,6 +212,12 @@ int start_upload(Uploader *u,
|
|||||||
return log_error_errno(SYNTHETIC_ERRNO(ENOSR),
|
return log_error_errno(SYNTHETIC_ERRNO(ENOSR),
|
||||||
"Call to curl_easy_init failed.");
|
"Call to curl_easy_init failed.");
|
||||||
|
|
||||||
|
/* If configured, set a timeout for the curl operation. */
|
||||||
|
if (arg_network_timeout_usec != USEC_INFINITY)
|
||||||
|
easy_setopt(curl, CURLOPT_TIMEOUT,
|
||||||
|
(long) DIV_ROUND_UP(arg_network_timeout_usec, USEC_PER_SEC),
|
||||||
|
LOG_ERR, return -EXFULL);
|
||||||
|
|
||||||
/* tell it to POST to the URL */
|
/* tell it to POST to the URL */
|
||||||
easy_setopt(curl, CURLOPT_POST, 1L,
|
easy_setopt(curl, CURLOPT_POST, 1L,
|
||||||
LOG_ERR, return -EXFULL);
|
LOG_ERR, return -EXFULL);
|
||||||
@ -561,10 +568,11 @@ finalize:
|
|||||||
|
|
||||||
static int parse_config(void) {
|
static int parse_config(void) {
|
||||||
const ConfigTableItem items[] = {
|
const ConfigTableItem items[] = {
|
||||||
{ "Upload", "URL", config_parse_string, 0, &arg_url },
|
{ "Upload", "URL", config_parse_string, 0, &arg_url },
|
||||||
{ "Upload", "ServerKeyFile", config_parse_path_or_ignore, 0, &arg_key },
|
{ "Upload", "ServerKeyFile", config_parse_path_or_ignore, 0, &arg_key },
|
||||||
{ "Upload", "ServerCertificateFile", config_parse_path_or_ignore, 0, &arg_cert },
|
{ "Upload", "ServerCertificateFile", config_parse_path_or_ignore, 0, &arg_cert },
|
||||||
{ "Upload", "TrustedCertificateFile", config_parse_path_or_ignore, 0, &arg_trust },
|
{ "Upload", "TrustedCertificateFile", config_parse_path_or_ignore, 0, &arg_trust },
|
||||||
|
{ "Upload", "NetworkTimeoutSec", config_parse_sec, 0, &arg_network_timeout_usec },
|
||||||
{}
|
{}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user