in reply to Re: getsockopt truncating values to 256 bytes ?
in thread getsockopt truncating values to 256 bytes ?
Thanks for taking time to reproduce.
This is probably something you should open an issue forI was hoping I was wrong and missed something, but I guess I should indeed... I just opened this issue.
my guess is that hard-coded 256 should really be changed to maybe sizeof(struct tcp_info)As far as I understand this code is responsible for all getsockopt calls, not just the calls for the TCP_INFO structure (for example on macOS one can also retrieve the TCP_CONNECTION_INFO structure using getsockopt...). So unless we are sure the TCP_INFO structure will always be the largest one, it would require checking the size of the requested structure, i.e. translating the getsockopt macro name to the actual C structure name to be able to compute the length, which seems quite complicated...
I guess adding an optional parameter to the getsockopt function to allow the calling code to override the default 256 max size would be ok though.
Or the ugly way: simply doubling current limit and hoping all structures retrievable with getsockopt will always have a size below 512 ;)
|
|---|