firewall: fix signalling timeout error reason from _fw_nft_call()
During timeout we cancel the (internal) GCancellable. But the overall error reason is not cancellation by the user, it's timeout. Fix the error reason. Fixes:9ebdb967de
('firewall: implement masquerading for shared mode with nftables') (cherry picked from commit897c6a5744
)
This commit is contained in:
@@ -400,15 +400,21 @@ _fw_nft_call_communicate_cb(GObject *source, GAsyncResult *result, gpointer user
|
|||||||
&error)) {
|
&error)) {
|
||||||
/* on any error, the process might still be running. We need to abort it in
|
/* on any error, the process might still be running. We need to abort it in
|
||||||
* the background... */
|
* the background... */
|
||||||
if (nm_utils_error_is_cancelled(error)) {
|
if (!nm_utils_error_is_cancelled(error)) {
|
||||||
nm_log_dbg(LOGD_SHARING,
|
|
||||||
"firewall: ntf[%s]: communication cancelled. Kill process",
|
|
||||||
call_data->identifier);
|
|
||||||
} else {
|
|
||||||
nm_log_dbg(LOGD_SHARING,
|
nm_log_dbg(LOGD_SHARING,
|
||||||
"firewall: nft[%s]: communication failed: %s. Kill process",
|
"firewall: nft[%s]: communication failed: %s. Kill process",
|
||||||
call_data->identifier,
|
call_data->identifier,
|
||||||
error->message);
|
error->message);
|
||||||
|
} else if (!call_data->timeout_source) {
|
||||||
|
nm_log_dbg(LOGD_SHARING,
|
||||||
|
"firewall: ntf[%s]: communication timed out. Kill process",
|
||||||
|
call_data->identifier);
|
||||||
|
nm_clear_error(&error);
|
||||||
|
nm_utils_error_set(&error, NM_UTILS_ERROR_UNKNOWN, "timeout communicating with nft");
|
||||||
|
} else {
|
||||||
|
nm_log_dbg(LOGD_SHARING,
|
||||||
|
"firewall: ntf[%s]: communication cancelled. Kill process",
|
||||||
|
call_data->identifier);
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user