diff --git a/ntp_sources.c b/ntp_sources.c index 6fc05c4..d166d4d 100644 --- a/ntp_sources.c +++ b/ntp_sources.c @@ -505,6 +505,15 @@ NSR_AddSourceByName(char *name, int port, int pool, NTP_Source_Type type, Source { struct UnresolvedSource *us; struct SourcePool *sp; + NTP_Remote_Address remote_addr; + + /* If the name is an IP address, don't bother with full resolving now + or later when trying to replace the source */ + if (UTI_StringToIP(name, &remote_addr.ip_addr)) { + remote_addr.port = port; + NSR_AddSource(&remote_addr, type, params); + return; + } us = MallocNew(struct UnresolvedSource); us->name = Strdup(name);