LINUX.ORG.RU

История изменений

Исправление user_id_68054, (текущая версия) :

а утечка ресурсов\памяти есть у этого генератора?

(я не жалуюсь.. а просто спрашиваю :))

например, в случае если Http_Server будет преднамеренно нарушать TCP_ротокол — не будет посылать клиенту SYN-пакет закрывающий TCP_сессию.

и при этом допустим что такой Http_Server начнёт обрывать HTTP_сессию на разных фазах (но со сломанным TCP_протоколом — то есть без завершающего SYN-пакета).

будет ли в этом случае утечка ресурсов на стороне клиента (в программе gurl)?

# UPDATED:

судя по этому коду — утечка ресурсов — будет:

static void request_exec(Session* result, method_type mtype, const char* url,
                         const char* headers, const char* body, gsize body_len) {
    CURL* curl = curl_easy_init();
    if(!curl)
        g_error(_("failed to initialize curl"));

    SessionClass* sessioncl = SESSION_GET_CLASS(result);

    result->body_sended_bytes = 0;
    result->request.url = g_string_new(url);
    result->request.body = g_string_new_len(body, body_len);

    g_object_ref(result);
    curl_easy_setopt(curl, CURLOPT_PRIVATE, result);

    curl_easy_setopt(curl, CURLOPT_URL, result->request.url->str);
    configure_curl_method(curl, mtype, result);
    curl_easy_setopt(curl, CURLOPT_HEADERFUNCTION, receive_headers_cb);
    curl_easy_setopt(curl, CURLOPT_HEADERDATA, result);
    curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, receive_body_cb);
    curl_easy_setopt(curl, CURLOPT_WRITEDATA, result);
    curl_easy_setopt(curl, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
    set_headers(curl, &result->cURLheaders, headers);

    curl_easy_setopt(curl, CURLOPT_DEBUGFUNCTION, debug_cb);
    curl_easy_setopt(curl, CURLOPT_DEBUGDATA, result);
    curl_easy_setopt(curl, CURLOPT_VERBOSE, 1);

    curl_multi_add_handle(sessioncl->curlm, curl);
}

Исправление user_id_68054, :

а утечка ресурсов\памяти есть у этого генератора?

(я не жалуюсь.. а просто спрашиваю :))

например, в случае если Http_Server будет преднамеренно нарушать TCP_ротокол — не будет посылать клиенту SYN-пакет закрывающий TCP_сессию.

и при этом допустим что такой Http_Server начнёт обрывать HTTP_сессию на разных фазах (но со сломанным TCP_протоколом — то есть без завершающего SYN-пакета).

будет ли в этом случае утечка ресурсов на стороне клиента (в программе gurl)?

Исходная версия user_id_68054, :

а утечка ресурсов\памяти есть у этого генератора?

(я не жалуюсь.. а просто спрашиваю :))

например, в случае если Http_Server будет преднамеренно нарушать TCP_ротокол — не будет посылать клиенту SYN-пакет закрывающий TCP_сессию.

и при этом допустим что такой Http_Server начнёт обрывать HTTP_сессию на разных фазах (но со сломанным TCP_протоколом — то есть без завершающего SYN-пакета).

будет ли в этом случае утечка ресурсов на стороне клиента (в программе url)?