When value '4G' is used to specify the RekeyLimit value, the configuration file parsing function, scan_scaled(), converts the 4G into value 4294967296 (in readconf.c and in servconf.c alike). On systems where UINT_MAX is 0xffffffff, we are not able to configure value '4G' due to the 4294967296 being greater than 4294967295. This appears to be a bug since one would expect a value of 4G to be able to be specified on a 32-bit OS. The way in which the function set_newkeys() sets the value of max_blocks, it seems like openssh should be able to allow value 4G and perform the math to determine number of blocks before rekey takes place.
rekey_limit is actually an int64_t, so this could probably be increased. That being said, 4G is a bit long between rekeys...
Retarget pending bugs to openssh-7.1
This has been fixed, you can now specify RekeyLimits up to 2**63. https://anongit.mindrot.org/openssh.git/commit/?id=921ff00b0ac429666fb361d2d6cb1c8fff0006cb upstream commit Allow RekeyLimits in excess of 4G up to 2**63 bits (limited by the return type of scan_scaled). Part of bz#2521, ok djm. Upstream-ID: 13bea82be566b9704821b1ea05bf7804335c7979
Close all resolved bugs after 7.3p1 release