2004-04-05 Paul Jakma <paul@dishone.st>

	* lib/vty.c: Improve logging of failures to open vty socket(s).
	  See bugid #163.
	* zebra/zserv.c: print more helpful errors when we fail to successfully
	  bind and listen on zserv socket. Closes bugzilla #163.
diff --git a/lib/ChangeLog b/lib/ChangeLog
index 6701a90..57bb3d1 100644
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,3 +1,8 @@
+2004-04-05 Paul Jakma <paul@dishone.st>
+
+	* vty.c: Improve logging of failures to open vty socket(s).
+	  See bugid #163.
+
 2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
 
 	* if.h: Fix comments to reflect that if_lookup_by_name and
diff --git a/lib/vty.c b/lib/vty.c
index eca1523..44439a9 100644
--- a/lib/vty.c
+++ b/lib/vty.c
@@ -2297,13 +2297,16 @@
 
       if (confp == NULL)
         {
+          fprintf (stderr, "%s: failed to open configuration file %s: %s\n",
+                   __func__, fullpath, safe_strerror (errno));
+          
           confp = vty_use_backup_config (fullpath);
           if (confp)
             fprintf (stderr, "WARNING: using backup configuration file!\n");
           else
             {
               fprintf (stderr, "can't open configuration file [%s]\n", 
-  	            config_file);
+  	               config_file);
               exit(1);
             }
         }
@@ -2339,6 +2342,9 @@
       confp = fopen (config_default_dir, "r");
       if (confp == NULL)
         {
+          fprintf (stderr, "%s: failed to open configuration file %s: %s\n",
+                   __func__, config_default_dir, safe_strerror (errno));
+          
           confp = vty_use_backup_config (config_default_dir);
           if (confp)
             {
@@ -2350,7 +2356,7 @@
               fprintf (stderr, "can't open configuration file [%s]\n",
   		                 config_default_dir);
   	          exit (1);
-  	        }
+            }
         }      
       else
         fullpath = config_default_dir;
diff --git a/zebra/ChangeLog b/zebra/ChangeLog
index 1d0f175..55e290c 100644
--- a/zebra/ChangeLog
+++ b/zebra/ChangeLog
@@ -1,3 +1,8 @@
+2005-04-05 Paul Jakma <paul@dishone.st>
+
+	* zserv.c: print more helpful errors when we fail to successfully
+	  bind and listen on zserv socket. Closes bugzilla #163.
+
 2005-04-02 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
 
 	* if_ioctl.c: (interface_list_ioctl) Use if_get_by_name_len.
diff --git a/zebra/zserv.c b/zebra/zserv.c
index caebe49..a34e214 100644
--- a/zebra/zserv.c
+++ b/zebra/zserv.c
@@ -1360,7 +1360,8 @@
 
   if (accept_sock < 0) 
     {
-      zlog_warn ("Can't bind to socket: %s", safe_strerror (errno));
+      zlog_warn ("Can't create zserv stream socket: %s", 
+                 safe_strerror (errno));
       zlog_warn ("zebra can't provice full functionality due to above error");
       return;
     }
@@ -1383,7 +1384,8 @@
 	       sizeof (struct sockaddr_in));
   if (ret < 0)
     {
-      zlog_warn ("Can't bind to socket: %s", safe_strerror (errno));
+      zlog_warn ("Can't bind to stream socket: %s", 
+                 safe_strerror (errno));
       zlog_warn ("zebra can't provice full functionality due to above error");
       close (accept_sock);      /* Avoid sd leak. */
       return;
@@ -1395,7 +1397,8 @@
   ret = listen (accept_sock, 1);
   if (ret < 0)
     {
-      zlog_warn ("Can't listen to socket: %s", safe_strerror (errno));
+      zlog_warn ("Can't listen to stream socket: %s", 
+                 safe_strerror (errno));
       zlog_warn ("zebra can't provice full functionality due to above error");
       close (accept_sock);	/* Avoid sd leak. */
       return;
@@ -1427,7 +1430,9 @@
   sock = socket (AF_UNIX, SOCK_STREAM, 0);
   if (sock < 0)
     {
-      perror ("sock");
+      zlog_warn ("Can't create zserv unix socket: %s", 
+                 safe_strerror (errno));
+      zlog_warn ("zebra can't provide full functionality due to above error");
       return;
     }
 
@@ -1444,7 +1449,9 @@
   ret = bind (sock, (struct sockaddr *) &serv, len);
   if (ret < 0)
     {
-      perror ("bind");
+      zlog_warn ("Can't bind to unix socket %s: %s", 
+                 path, safe_strerror (errno));
+      zlog_warn ("zebra can't provide full functionality due to above error");
       close (sock);
       return;
     }
@@ -1452,7 +1459,9 @@
   ret = listen (sock, 5);
   if (ret < 0)
     {
-      perror ("listen");
+      zlog_warn ("Can't listen to unix socket %s: %s", 
+                 path, safe_strerror (errno));
+      zlog_warn ("zebra can't provide full functionality due to above error");
       close (sock);
       return;
     }