#include "socket-util.h"
#include "list.h"
#include "ratelimit.h"
+#include "strv.h"
#include "sd-event.h"
#include "sd-resolve.h"
#include "sd-daemon.h"
#define RETRY_USEC (30*USEC_PER_SEC)
#define RATELIMIT_INTERVAL_USEC (10*USEC_PER_SEC)
-#define RATELIMIT_BURST 5
+#define RATELIMIT_BURST 10
struct ntp_ts {
be32_t sec;
if (len == sizeof(ntpmsg)) {
m->pending = true;
log_debug("Sent NTP request to %s (%s)", pretty, m->current_server_name->string);
- } else
+ } else {
log_debug("Sending NTP request to %s (%s) failed: %m", pretty, m->current_server_name->string);
+ return manager_connect(m);
+ }
/* re-arm timer with incresing timeout, in case the packets never arrive back */
if (m->retry_interval > 0) {
int main(int argc, char *argv[]) {
_cleanup_manager_free_ Manager *m = NULL;
+ const char *x;
int r;
log_set_target(LOG_TARGET_AUTO);
sd_notify(false, "READY=1");
- r = manager_add_server(m, "time1.google.com");
- if (r < 0) {
- log_error("Failed to add server: %s", strerror(-r));
- goto out;
+ FOREACH_STRING(x, "time1.google.com", "time2.google.com", "time3.google.com", "time4.google.com", "0.fedora.pool.ntp.org") {
+
+ r = manager_add_server(m, x);
+ if (r < 0) {
+ log_error("Failed to add server %s: %s", x, strerror(-r));
+ goto out;
+ }
}
r = manager_connect(m);