@@ -58,6 +58,7 @@ import (
5858var traceLevel = flag .String ("trace" , "info" , "set the trace level (\" fatal\" , \" error\" , \" warn\" , \" info\" , \" debug\" , \" trace\" )" )
5959var traceFile = flag .String ("log" , "trace.json" , "set the trace log file" )
6060var cpuprofile = flag .String ("cpuprofile" , "" , "write cpu profile to file" )
61+ var enableSNTP = flag .Bool ("sntp" , false , "enables a simple SNTP server on port 123" )
6162
6263func main () {
6364 flag .Parse ()
@@ -267,24 +268,26 @@ func main() {
267268 }
268269
269270 // <--- SNTP --->
270- sntpAddr , err := net .ResolveUDPAddr ("udp" , fmt .Sprintf ("%s:%d" , info .Addresses .Backend , info .Ports .SNTP ))
271- if err != nil {
272- fmt .Fprintf (os .Stderr , "error resolving sntp address: %v\n " , err )
273- os .Exit (1 )
274- }
275- sntpServer , err := sntp .NewUnicast ("udp" , sntpAddr )
276- if err != nil {
277- fmt .Fprintf (os .Stderr , "error creating sntp server: %v\n " , err )
278- os .Exit (1 )
279- }
280-
281- go func () {
282- err := sntpServer .ListenAndServe ()
271+ if * enableSNTP {
272+ sntpAddr , err := net .ResolveUDPAddr ("udp" , fmt .Sprintf ("%s:%d" , info .Addresses .Backend , info .Ports .SNTP ))
283273 if err != nil {
284- fmt .Fprintf (os .Stderr , "error listening sntp server : %v\n " , err )
285- return
274+ fmt .Fprintf (os .Stderr , "error resolving sntp address : %v\n " , err )
275+ os . Exit ( 1 )
286276 }
287- }()
277+ sntpServer , err := sntp .NewUnicast ("udp" , sntpAddr )
278+ if err != nil {
279+ fmt .Fprintf (os .Stderr , "error creating sntp server: %v\n " , err )
280+ os .Exit (1 )
281+ }
282+
283+ go func () {
284+ err := sntpServer .ListenAndServe ()
285+ if err != nil {
286+ fmt .Fprintf (os .Stderr , "error listening sntp server: %v\n " , err )
287+ return
288+ }
289+ }()
290+ }
288291
289292 interrupt := make (chan os.Signal , 1 )
290293 signal .Notify (interrupt , os .Interrupt )
0 commit comments