diff options
author | Lubomir Rintel <lkundrak@v3.sk> | 2017-03-22 15:28:06 +0100 |
---|---|---|
committer | Lubomir Rintel <lkundrak@v3.sk> | 2017-03-22 18:52:56 +0000 |
commit | ac0f454cfb69cfc7c8709a8c66bf7b517f377793 (patch) | |
tree | 4a5a15a4469d540106b9399b4a470b4c3344c772 | |
parent | 71b8d16eb8c7c66f6f74244167b70364576623c0 (diff) | |
download | NetworkManager-ac0f454cfb69cfc7c8709a8c66bf7b517f377793.tar.gz |
connectivity: conclude the check as soon as we see the magic header
No need to read the rest of the reponse.
-rw-r--r-- | src/nm-connectivity.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/src/nm-connectivity.c b/src/nm-connectivity.c index 882674574d..11659acdf1 100644 --- a/src/nm-connectivity.c +++ b/src/nm-connectivity.c @@ -204,7 +204,6 @@ typedef struct { size_t msg_size; char *msg; struct curl_slist *request_headers; - gboolean online_header; } ConCheckCbData; static void @@ -276,12 +275,6 @@ curl_check_connectivity (CURLM *mhandle, CURLMcode ret) goto cleanup; } - if (cb_data->online_header) { - _LOGD ("check for uri '%s' with Status header successful.", cb_data->uri); - new_state = NM_CONNECTIVITY_FULL; - goto cleanup; - } - /* Check response */ if (cb_data->msg && g_str_has_prefix (cb_data->msg, cb_data->response)) { _LOGD ("Check for uri '%s' successful.", cb_data->uri); @@ -414,7 +407,9 @@ easy_header_cb (char *buffer, size_t size, size_t nitems, void *userdata) if ( len >= sizeof (HEADER_STATUS_ONLINE) - 1 && !g_ascii_strncasecmp (buffer, HEADER_STATUS_ONLINE, sizeof (HEADER_STATUS_ONLINE) - 1)) { - cb_data->online_header = TRUE; + _LOGD ("check for uri '%s' with Status header successful.", cb_data->uri); + finish_cb_data (cb_data, NM_CONNECTIVITY_FULL); + return 0; } return len; |