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

TCP mode bug fixes and more #29

Merged
merged 26 commits into from
May 9, 2024
Merged

TCP mode bug fixes and more #29

merged 26 commits into from
May 9, 2024

Conversation

hamishcoleman
Copy link
Contributor

  • Improve built dpkg version numbers
  • Clearly show API buffer overflows
  • Allow management unix sock to have different perms
  • Continue improving the unstable /metrics endpoint
  • Keep metrics of time spent waiting for name resolution
  • Fix some DEL_P2P event reporting
  • Fix a couple of bugs in TCP socket disconnect/reconnect handling

Something about the ubnuts autoconf means that the autogen does not
install the config.sub and/or config.guess, but some of the files can
still be marked and ignored
Some times the autoreconf will create the required files and sometimes
it will just complain that the files are missing.  If we include the
files as part of the repo to avoid the missing errors, then we will
often have a dirty repository when doing builds.

Walk a middle line, trying to have our cake and not lie about it.
Add a feature to the strbuf to allow tracking the overflowed status and
if this is seen, append an overflow string to the API result.

Could possibly also change the http result code in the future.
Eventually, a paginated interface or a streaming interface should be
added - the buffers cannot simply be increased all the time.  Also
suggests that some form of buffer shrinking could be useful, but that
can lead to exactly the fragmentation that the pre-allocated buffer
is supposed to avoid
Be sure to include a column showing which community the mac address is
associated with.
We were mistakenly posting an event for the deletion of a peer from the
pending list, just before we added it to the known list.
Some bug reports that edges using TCP mode are getting occasional
errors:
   *** bit out of range 0 - FD_SETSIZE on fd_set ***: terminated

We were not accounting for the fact that the TCP supernode socket file
descriptor is set to "-1" when it is disconnected and invalid.

Avoid "-1" file handles when adding to or checking signals for fd_set
contents.

This code path will hopefully also get smoothed out when the mainloop
conversion is added in - as it will have a systematic way to add/check
file descriptors.

(Addresses n42n#28)
@hamishcoleman hamishcoleman self-assigned this May 9, 2024
@hamishcoleman hamishcoleman merged commit 5b0c562 into n42n:main May 9, 2024
31 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant