Skip to content

curl --local-port does not try last port in range #3251

@infinnovation-dev

Description

@infinnovation-dev

(Mentioned in passing in #3248 but now raising as a separate issue.)

I did this

freia013:~/work/curl $ src/curl --local-port 1023-1024 localhost
curl: (45) bind failed with errno 13: Permission denied
freia013:~/work/curl $ src/curl --local-port 1024 localhost
curl: (7) Failed to connect to localhost port 80: Connection refused
freia013:~/work/curl $ src/curl --local-port 1023-1025 localhost
curl: (7) Failed to connect to localhost port 80: Connection refused

I expected the following

With "1023-1024", curl should try to use port 1024 when 1023 fails, but it only tries 1023 then gives up. If I increase the range to "1023-1025" then it does use 1024. This can be seen in greater detail with additional -v or -libcurl.

localportrange needs to be incremented by one when subtracting last from first.

curl/libcurl version

f859b05

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions