mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-05-09 08:18:03 +02:00
proxy: stricter validate the proxy pac script in NMSettingProxy
This commit is contained in:
parent
d7c4807737
commit
92ea1bdb06
1 changed files with 25 additions and 7 deletions
|
|
@ -185,13 +185,31 @@ verify (NMSetting *setting, NMConnection *connection, GError **error)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (priv->pac_script && strlen (priv->pac_script) > 1*1024*1024) {
|
if (priv->pac_script) {
|
||||||
g_set_error (error,
|
if (strlen (priv->pac_script) > 1*1024*1024) {
|
||||||
NM_CONNECTION_ERROR,
|
g_set_error (error,
|
||||||
NM_CONNECTION_ERROR_INVALID_PROPERTY,
|
NM_CONNECTION_ERROR,
|
||||||
_("the script is too large"));
|
NM_CONNECTION_ERROR_INVALID_PROPERTY,
|
||||||
g_prefix_error (error, "%s.%s: ", NM_SETTING_PROXY_SETTING_NAME, NM_SETTING_PROXY_PAC_SCRIPT);
|
_("the script is too large"));
|
||||||
return FALSE;
|
g_prefix_error (error, "%s.%s: ", NM_SETTING_PROXY_SETTING_NAME, NM_SETTING_PROXY_PAC_SCRIPT);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
if (!g_utf8_validate (priv->pac_script, -1, NULL)) {
|
||||||
|
g_set_error (error,
|
||||||
|
NM_CONNECTION_ERROR,
|
||||||
|
NM_CONNECTION_ERROR_INVALID_PROPERTY,
|
||||||
|
_("the script is not valid utf8"));
|
||||||
|
g_prefix_error (error, "%s.%s: ", NM_SETTING_PROXY_SETTING_NAME, NM_SETTING_PROXY_PAC_SCRIPT);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
if (!strstr (priv->pac_script, "FindProxyForURL")) {
|
||||||
|
g_set_error (error,
|
||||||
|
NM_CONNECTION_ERROR,
|
||||||
|
NM_CONNECTION_ERROR_INVALID_PROPERTY,
|
||||||
|
_("the script lacks FindProxyForURL function"));
|
||||||
|
g_prefix_error (error, "%s.%s: ", NM_SETTING_PROXY_SETTING_NAME, NM_SETTING_PROXY_PAC_SCRIPT);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return TRUE;
|
return TRUE;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue