History log of /curl/lib/conncache.c (Results 51 – 75 of 108)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: curl-7_69_1, curl-7_69_0
# 77450003 23-Jan-2020 Daniel Stenberg

conncache: removed unused Curl_conncache_bundle_size()


Revision tags: curl-7_68_0
# 1d5c427d 10-Dec-2019 Daniel Stenberg

conncache: CONNECT_ONLY connections assumed always in-use

This makes them never to be considered "the oldest" to be discarded when
reaching the connection cache limit. The reasoning here

conncache: CONNECT_ONLY connections assumed always in-use

This makes them never to be considered "the oldest" to be discarded when
reaching the connection cache limit. The reasoning here is that
CONNECT_ONLY is primarily used in combination with using the
connection's socket post connect and since that is used outside of
curl's knowledge we must assume that it is in use until explicitly
closed.

Reported-by: Pavel Pavlov
Reported-by: Pavel Löbl
Fixes #4426
Fixes #4369
Closes #4696

show more ...


# ee263de7 09-Dec-2019 Daniel Stenberg

conncache: fix multi-thread use of shared connection cache

It could accidentally let the connection get used by more than one
thread, leading to double-free and more.

Reported-b

conncache: fix multi-thread use of shared connection cache

It could accidentally let the connection get used by more than one
thread, leading to double-free and more.

Reported-by: Christopher Reid
Fixes #4544
Closes #4557

show more ...


Revision tags: curl-7_67_0
# dcd7e37c 28-Oct-2019 Daniel Stenberg

url: make Curl_close() NULLify the pointer too

This is the common pattern used in the code and by a unified approach we
avoid mistakes.

Closes #4534


Revision tags: curl-7_66_0, curl-7_65_3, curl-7_65_2, curl-7_65_1
# bdf6d8af 29-May-2019 Steve Holme

conncache: Remove the DEBUGASSERT on length check

We trust the calling code as this is an internal function.

Closes #3962


# a6183ab2 28-May-2019 Daniel Stenberg

url: default conn->port to the same as conn->remote_port

... so that it has a sensible value when ConnectionExists() is called which
needs it set to differentiate host "bundles" correctl

url: default conn->port to the same as conn->remote_port

... so that it has a sensible value when ConnectionExists() is called which
needs it set to differentiate host "bundles" correctly on port number!

Also, make conncache:hashkey() use correct port for bundles that are proxy vs
host connections.

Probably a regression from 7.62.0

Reported-by: Tom van der Woerdt
Fixes #3956
Closes #3957

show more ...


# 2f11fbf2 28-May-2019 Daniel Stenberg

conncache: make "bundles" per host name when doing proxy tunnels

Only HTTP proxy use where multiple host names can be used over the same
connection should use the proxy host name for bun

conncache: make "bundles" per host name when doing proxy tunnels

Only HTTP proxy use where multiple host names can be used over the same
connection should use the proxy host name for bundles.

Reported-by: Tom van der Woerdt
Fixes #3951
Closes #3955

show more ...


Revision tags: curl-7_65_0
# e649432e 14-Apr-2019 Daniel Stenberg

CURLOPT_MAXAGE_CONN: set the maximum allowed age for conn reuse

... and disconnect too old ones instead of trying to reuse.

Default max age is set to 118 seconds.

Ref: #372

CURLOPT_MAXAGE_CONN: set the maximum allowed age for conn reuse

... and disconnect too old ones instead of trying to reuse.

Default max age is set to 118 seconds.

Ref: #3722
Closes #3782

show more ...


Revision tags: curl-7_64_1
# e3a53e3e 16-Mar-2019 Daniel Stenberg

conncache: use conn->data to know if a transfer owns it

- make sure an already "owned" connection isn't returned unless
multiplexed.

- clear ->data when returning the connecti

conncache: use conn->data to know if a transfer owns it

- make sure an already "owned" connection isn't returned unless
multiplexed.

- clear ->data when returning the connection to the cache again

Regression since 7.62.0 (probably in commit 1b76c38904f0)

Bug: https://curl.haxx.se/mail/lib-2019-03/0064.html

Closes #3686

show more ...


# 05b100ae 08-Feb-2019 Daniel Stenberg

cleanup: make local functions static

urlapi: turn three local-only functions into statics

conncache: make conncache_find_first_connection static

multi: make detach_connnect

cleanup: make local functions static

urlapi: turn three local-only functions into statics

conncache: make conncache_find_first_connection static

multi: make detach_connnection static

connect: make getaddressinfo static

curl_ntlm_core: make hmac_md5 static

http2: make two functions static

http: make http_setup_conn static

connect: make tcpnodelay static

tests: make UNITTEST a thing to mark functions with, so they can be static for
normal builds and non-static for unit test builds

... and mark Curl_shuffle_addr accordingly.

url: make up_free static

setopt: make vsetopt static

curl_endian: make write32_le static

rtsp: make rtsp_connisdead static

warnless: remove unused functions

memdebug: remove one unused function, made another static

show more ...


Revision tags: curl-7_64_0
# ba243235 02-Jan-2019 Daniel Stenberg

urldata: rename easy_conn to just conn

We use "conn" everywhere to be a pointer to the connection.

Introduces two functions that "attaches" and "detaches" the connection
to and

urldata: rename easy_conn to just conn

We use "conn" everywhere to be a pointer to the connection.

Introduces two functions that "attaches" and "detaches" the connection
to and from the transfer.

Going forward, we should favour using "data->conn" (since a transfer
always only has a single connection or none at all) to "conn->data"
(since a connection can have none, one or many transfers associated with
it and updating conn->data to be correct is error prone and a frequent
reason for internal issues).

Closes #3442

show more ...


# 85f9aa08 20-Dec-2018 Daniel Stenberg

conncache_unlock: avoid indirection by changing input argument type


# fb445a1e 20-Dec-2018 Daniel Stenberg

disconnect: separate connections and easy handles better

Do not assume/store assocation between a given easy handle and the
connection if it can be avoided.

Long-term, the 'conn

disconnect: separate connections and easy handles better

Do not assume/store assocation between a given easy handle and the
connection if it can be avoided.

Long-term, the 'conn->data' pointer should probably be removed as it is a
little too error-prone. Still used very widely though.

Reported-by: masbug on github
Fixes #3391
Closes #3400

show more ...


Revision tags: curl-7_63_0
# dcd6f810 22-Nov-2018 Daniel Stenberg

snprintf: renamed and we now only use msnprintf()

The function does not return the same value as snprintf() normally does,
so readers may be mislead into thinking the code works differen

snprintf: renamed and we now only use msnprintf()

The function does not return the same value as snprintf() normally does,
so readers may be mislead into thinking the code works differently than
it actually does. A different function name makes this easier to detect.

Reported-by: Tomas Hoger
Assisted-by: Daniel Gustafsson
Fixes #3296
Closes #3297

show more ...


Revision tags: curl-7_62_0, curl-7_61_1
# 81377cac 20-Jul-2018 Daniel Stenberg

vtls: set conn->data when closing TLS

Follow-up to 1b76c38904f0. The VTLS backends that close down the TLS
layer for a connection still needs a Curl_easy handle for the session_id
ca

vtls: set conn->data when closing TLS

Follow-up to 1b76c38904f0. The VTLS backends that close down the TLS
layer for a connection still needs a Curl_easy handle for the session_id
cache etc.

Fixes #2764
Closes #2771

show more ...


Revision tags: curl-7_61_0
# 1b76c389 03-Jul-2018 Daniel Stenberg

conn: remove the boolean 'inuse' field

... as the usage needs to be counted.


# f762fec3 24-Jun-2018 Daniel Stenberg

url: check Curl_conncache_add_conn return code

... it was previously unchecked in two places and thus errors could
remain undetected and cause trouble.

Closes #2681


# 2c15693a 20-Jun-2018 Daniel Stenberg

url: fix dangling conn->data pointer

By masking sure to use the *current* easy handle with extracted
connections from the cache, and make sure to NULLify the ->data pointer
when the

url: fix dangling conn->data pointer

By masking sure to use the *current* easy handle with extracted
connections from the cache, and make sure to NULLify the ->data pointer
when the connection is put into the cache to make this mistake easier to
detect in the future.

Reported-by: Will Dietz
Fixes #2669
Closes #2672

show more ...


# 8ea5d41f 28-May-2018 Rikard Falkeborn

strictness: correct {infof, failf} format specifiers

Closes #2623


Revision tags: curl-7_60_0, curl-7_59_0, curl-7_58_0
# 41982b6a 12-Dec-2017 Daniel Stenberg

conncache: fix a return code [regression]

This broke in 07cb27c98e. Make sure to return 'result' properly. Pointed
out by scan-build!


# 07cb27c9 02-Dec-2017 Daniel Stenberg

conncache: fix several lock issues

If the lock is released before the dealings with the bundle is over, it may
have changed by another thread in the mean time.

Fixes #2132
F

conncache: fix several lock issues

If the lock is released before the dealings with the bundle is over, it may
have changed by another thread in the mean time.

Fixes #2132
Fixes #2151
Closes #2139

show more ...


Revision tags: curl-7_57_0
# 67c55a26 01-Nov-2017 Daniel Stenberg

share: add support for sharing the connection cache


Revision tags: curl-7_56_1, curl-7_56_0, curl-7_55_1, curl-7_55_0, curl-7_54_1
# cbae73e1 20-Apr-2017 Daniel Stenberg

llist: no longer uses malloc

The 'list element' struct now has to be within the data that is being
added to the list. Removes 16.6% (tiny) mallocs from a simple HTTP
transfer. (96 =>

llist: no longer uses malloc

The 'list element' struct now has to be within the data that is being
added to the list. Removes 16.6% (tiny) mallocs from a simple HTTP
transfer. (96 => 80)

Also removed return codes since the llist functions can't fail now.

Test 1300 updated accordingly.

Closes #1435

show more ...


Revision tags: curl-7_54_0
# e60fe20f 03-Apr-2017 Daniel Stenberg

llist: replace Curl_llist_alloc with Curl_llist_init

No longer allocate the curl_llist head struct for lists separately.

Removes 17 (15%) tiny allocations in a normal "curl localhos

llist: replace Curl_llist_alloc with Curl_llist_init

No longer allocate the curl_llist head struct for lists separately.

Removes 17 (15%) tiny allocations in a normal "curl localhost" invoke.

closes #1381

show more ...


# 2066072f 28-Mar-2017 Daniel Stenberg

conncache: make hashkey avoid malloc

... to make it much faster. Idea developed with primepie on IRC.

Closes #1365


12345