summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkwc@citi.umich.edu <kwc@citi.umich.edu>2006-07-03 18:34:38 -0400
committerNeil Brown <neilb@suse.de>2006-07-04 10:27:15 +1000
commit1f1b05a65ef3dc6597c7bc1e2a38f38ae95bf230 (patch)
tree1cd03c05ff0aaa0afb06b0f0f97538792136f025
parentee664fd246d77010af13fb557407c612752a5ea8 (diff)
downloadnfs-utils-1f1b05a65ef3dc6597c7bc1e2a38f38ae95bf230.tar.gz
nfs-utils-1f1b05a65ef3dc6597c7bc1e2a38f38ae95bf230.tar.xz
nfs-utils-1f1b05a65ef3dc6597c7bc1e2a38f38ae95bf230.zip
Properly report errors in readline() function
Signed-off-by: Kevin Coffman <kwc@citi.umich.edu> Change message priorities for errors and debug messages.
-rw-r--r--utils/gssd/cacheio.c10
-rw-r--r--utils/gssd/svcgssd_proc.c2
2 files changed, 8 insertions, 4 deletions
diff --git a/utils/gssd/cacheio.c b/utils/gssd/cacheio.c
index 07658e9..75c7a5d 100644
--- a/utils/gssd/cacheio.c
+++ b/utils/gssd/cacheio.c
@@ -55,6 +55,7 @@
#include <time.h>
#include <stdlib.h>
#include <string.h>
+#include <errno.h>
#include "err_util.h"
void qword_add(char **bpp, int *lp, char *str)
@@ -264,7 +265,8 @@ int readline(int fd, char **buf, int *lenp)
}
len = read(fd, *buf, *lenp);
if (len <= 0) {
- printerr(2, "read error in readline: %d\n", len);
+ printerr(0, "readline: read error: len %d errno %d (%s)\n",
+ len, errno, strerror(errno));
return 0;
}
while ((*buf)[len-1] != '\n') {
@@ -280,12 +282,14 @@ int readline(int fd, char **buf, int *lenp)
*buf = new;
nl = read(fd, *buf +len, *lenp - len);
if (nl <= 0 ) {
- printerr(2, "read error in readline: %d\n", nl);
+ printerr(0, "readline: read error: len %d "
+ "errno %d (%s)\n", nl, errno, strerror(errno));
return 0;
}
len += nl;
}
(*buf)[len-1] = 0;
- printerr(1, "read line with %d characters:\n%s\n", *lenp, *buf);
+ printerr(3, "readline: read %d chars into buffer of size %d:\n%s\n",
+ len, *lenp, *buf);
return 1;
}
diff --git a/utils/gssd/svcgssd_proc.c b/utils/gssd/svcgssd_proc.c
index b3a6ae8..2251d9a 100644
--- a/utils/gssd/svcgssd_proc.c
+++ b/utils/gssd/svcgssd_proc.c
@@ -140,7 +140,7 @@ send_response(FILE *f, gss_buffer_desc *in_handle, gss_buffer_desc *in_token,
return -1;
}
*bp = '\0';
- printerr(1, "writing message: %s", buf);
+ printerr(3, "writing message: %s", buf);
if (write(g, buf, bp - buf) == -1) {
printerr(0, "WARNING: failed to write message\n");
close(g);