Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

network: fix IPV6 handling for accepting connections #9404

Merged
merged 2 commits into from
Nov 27, 2024

Conversation

jomillerOpen
Copy link
Contributor

Addresses the issue of IPV6 addresses not being able to be stored properly, causing the connection to never by accepted and an endless loop occurring.

Fixes #9053

Testing
Tested on Windows 11.

Config input/output sections used:
[INPUT]
Name tcp
Chunk_Size 32
Format json
Listen [::1]
Port 5170
tag cs.systemmonitoring

[OUTPUT]
Name stdout
Format json_lines
json_date_format iso8601
json_date_key utc_timestamp
Match cs.systemmonitoring

Client app would open a TCP socket connection, send a json payload, then close the connection. Prior to this fix only IPV4 would work, using IPV6 would cause an endless loop. This fix will allow both IPV4 and IPV6 to work.

Fluent Bit is licensed under Apache 2.0, by submitting this pull request I understand that this code will be released under the terms of that license.

This allows for expanded storage to handle IPV6 addresses.

Signed-off-by: jomillerOpen <[email protected]>
@edsiper
Copy link
Member

edsiper commented Sep 27, 2024

CI is failing

/home/runner/work/fluent-bit/fluent-bit/src/flb_network.c:1773:36: error: passing 'struct sockaddr_storage *' to parameter of incompatible type '__SOCKADDR_ARG'
    remote_fd = accept4(server_fd, &sock_addr, &socket_size,
                                   ^~~~~~~~~~

@jomillerOpen
Copy link
Contributor Author

I think I have a fix for the CI. Tested it out locally and it still works with this new change.

Changed (based on an example) the struct declaration being passed to accept to fix the CI pipeline.

Signed-off-by: jomillerOpen <[email protected]>
Copy link
Contributor

@cosmo0920 cosmo0920 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I confirmed that this patch is working well on my local Windows box, too. 👍

@edsiper edsiper merged commit a59c867 into fluent:master Nov 27, 2024
40 of 42 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

IPv6 does not seem to work with Windows
3 participants