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

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

jomillerOpen
Copy link

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
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]>
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
2 participants