session BUGFIX timeout 0 means infinite

Fixes #459
diff --git a/src/session.c b/src/session.c
index dd810ba..38d7d09 100644
--- a/src/session.c
+++ b/src/session.c
@@ -1371,7 +1371,7 @@
         if (session->flags & NC_SESSION_CALLHOME) {
             timeout_io = NC_SERVER_CH_HELLO_TIMEOUT * 1000;
         } else {
-            timeout_io = server_opts.idle_timeout * 1000;
+            timeout_io = server_opts.idle_timeout ? server_opts.idle_timeout * 1000 : -1;
         }
         sid = &session->id;
     }
@@ -1481,7 +1481,7 @@
     if (session->flags & NC_SESSION_CALLHOME) {
         timeout_io = NC_SERVER_CH_HELLO_TIMEOUT * 1000;
     } else {
-        timeout_io = server_opts.idle_timeout * 1000;
+        timeout_io = server_opts.idle_timeout ? server_opts.idle_timeout * 1000 : -1;
     }
 
     r = nc_read_msg_poll_io(session, timeout_io, &msg);