nettools: reimport nettools' n-dhcp4

git subtree pull --prefix shared/n-dhcp4/ git@github.com:nettools/n-dhcp4.git master --squash
This commit is contained in:
Thomas Haller 2020-07-07 11:15:24 +02:00
commit 4c52c69d66
No known key found for this signature in database
GPG key ID: 29C2366E4DFC5728
2 changed files with 4 additions and 12 deletions

View file

@ -316,10 +316,9 @@ static void n_dhcp4_client_probe_config_initialize_random_seed(NDhcp4ClientProbe
unsigned short int seed16v[3]; unsigned short int seed16v[3];
const uint8_t *p; const uint8_t *p;
uint64_t u64; uint64_t u64;
int r;
/* /*
* Initialize seed48_r(3) * Initialize config's entropy buffer for successive jrand48(3) calls.
* *
* We need random jitter for all timeouts and delays, used to reduce * We need random jitter for all timeouts and delays, used to reduce
* network traffic during bursts. This is not meant as security measure * network traffic during bursts. This is not meant as security measure
@ -360,8 +359,7 @@ static void n_dhcp4_client_probe_config_initialize_random_seed(NDhcp4ClientProbe
seed16v[1] = (u64 >> 16) ^ (u64 >> 0); seed16v[1] = (u64 >> 16) ^ (u64 >> 0);
seed16v[2] = (u64 >> 32) ^ (u64 >> 16); seed16v[2] = (u64 >> 32) ^ (u64 >> 16);
r = seed48_r(seed16v, &config->entropy); memcpy(config->entropy, seed16v, sizeof(seed16v));
c_assert(!r);
} }
/** /**
@ -374,13 +372,7 @@ static void n_dhcp4_client_probe_config_initialize_random_seed(NDhcp4ClientProbe
* Return: the random data. * Return: the random data.
*/ */
uint32_t n_dhcp4_client_probe_config_get_random(NDhcp4ClientProbeConfig *config) { uint32_t n_dhcp4_client_probe_config_get_random(NDhcp4ClientProbeConfig *config) {
long int result; return jrand48(config->entropy);
int r;
r = mrand48_r(&config->entropy, &result);
c_assert(!r);
return result;
}; };
/** /**

View file

@ -263,7 +263,7 @@ struct NDhcp4ClientProbeConfig {
bool inform_only; bool inform_only;
bool init_reboot; bool init_reboot;
struct in_addr requested_ip; struct in_addr requested_ip;
struct drand48_data entropy; /* entropy pool */ unsigned short int entropy[3];
uint64_t ms_start_delay; /* max ms to wait before starting probe */ uint64_t ms_start_delay; /* max ms to wait before starting probe */
NDhcp4ClientProbeOption *options[UINT8_MAX + 1]; NDhcp4ClientProbeOption *options[UINT8_MAX + 1];
int8_t request_parameters[UINT8_MAX + 1]; int8_t request_parameters[UINT8_MAX + 1];