Commit 920abd62 authored by Deomid Ryabkov's avatar Deomid Ryabkov Committed by Cesanta Bot

Minor SNTP fixes

PUBLISHED_FROM=03d04996f160f777339eec9528f2f187e1051ff9
parent 02b7399f
...@@ -11986,7 +11986,7 @@ void mg_sntp_send_request(struct mg_connection *c) { ...@@ -11986,7 +11986,7 @@ void mg_sntp_send_request(struct mg_connection *c) {
* but if local clock is absolutely broken (and doesn't work even * but if local clock is absolutely broken (and doesn't work even
* as simple timer), it is better to disable it * as simple timer), it is better to disable it
*/ */
#ifndef MG_SNMP_NO_DELAY_CORRECTION #ifndef MG_SNTP_NO_DELAY_CORRECTION
uint32_t sec; uint32_t sec;
sec = htonl((uint32_t)(mg_time() + SNTP_TIME_OFFSET)); sec = htonl((uint32_t)(mg_time() + SNTP_TIME_OFFSET));
memcpy(&buf[40], &sec, sizeof(sec)); memcpy(&buf[40], &sec, sizeof(sec));
...@@ -11995,7 +11995,7 @@ void mg_sntp_send_request(struct mg_connection *c) { ...@@ -11995,7 +11995,7 @@ void mg_sntp_send_request(struct mg_connection *c) {
mg_send(c, buf, sizeof(buf)); mg_send(c, buf, sizeof(buf));
} }
#ifndef MG_SNMP_NO_DELAY_CORRECTION #ifndef MG_SNTP_NO_DELAY_CORRECTION
static uint64_t mg_calculate_delay(uint64_t t1, uint64_t t2, uint64_t t3) { static uint64_t mg_calculate_delay(uint64_t t1, uint64_t t2, uint64_t t3) {
/* roundloop delay = (T4 - T1) - (T3 - T2) */ /* roundloop delay = (T4 - T1) - (T3 - T2) */
uint64_t d1 = ((mg_time() + SNTP_TIME_OFFSET) * 1000000) - uint64_t d1 = ((mg_time() + SNTP_TIME_OFFSET) * 1000000) -
...@@ -12010,12 +12010,10 @@ static uint64_t mg_calculate_delay(uint64_t t1, uint64_t t2, uint64_t t3) { ...@@ -12010,12 +12010,10 @@ static uint64_t mg_calculate_delay(uint64_t t1, uint64_t t2, uint64_t t3) {
MG_INTERNAL int mg_sntp_parse_reply(const char *buf, int len, MG_INTERNAL int mg_sntp_parse_reply(const char *buf, int len,
struct mg_sntp_message *msg) { struct mg_sntp_message *msg) {
uint8_t hdr; uint8_t hdr;
uint64_t orig_ts_T1, recv_ts_T2, trsm_ts_T3, delay = 0; uint64_t trsm_ts_T3, delay = 0;
int mode; int mode;
struct timeval tv; struct timeval tv;
(void) orig_ts_T1;
(void) recv_ts_T2;
if (len < 48) { if (len < 48) {
return -1; return -1;
} }
...@@ -12039,10 +12037,13 @@ MG_INTERNAL int mg_sntp_parse_reply(const char *buf, int len, ...@@ -12039,10 +12037,13 @@ MG_INTERNAL int mg_sntp_parse_reply(const char *buf, int len,
mg_get_ntp_ts(&buf[40], &trsm_ts_T3); mg_get_ntp_ts(&buf[40], &trsm_ts_T3);
#ifndef MG_SNMP_NO_DELAY_CORRECTION #ifndef MG_SNTP_NO_DELAY_CORRECTION
{
uint64_t orig_ts_T1, recv_ts_T2;
mg_get_ntp_ts(&buf[24], &orig_ts_T1); mg_get_ntp_ts(&buf[24], &orig_ts_T1);
mg_get_ntp_ts(&buf[32], &recv_ts_T2); mg_get_ntp_ts(&buf[32], &recv_ts_T2);
delay = mg_calculate_delay(orig_ts_T1, recv_ts_T2, trsm_ts_T3); delay = mg_calculate_delay(orig_ts_T1, recv_ts_T2, trsm_ts_T3);
}
#endif #endif
mg_ntp_to_tv(trsm_ts_T3, &tv); mg_ntp_to_tv(trsm_ts_T3, &tv);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment