summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTheodore Tso <tytso@mit.edu>1995-10-05 21:59:01 +0000
committerTheodore Tso <tytso@mit.edu>1995-10-05 21:59:01 +0000
commit9e564172a7fe21eca5a2ce21fd1e4bf2237f3481 (patch)
tree3118079906d8fd9db0db4b609062942b70ada4db /src
parentab357e92d3092b53b5973a5cb169746a1054fb4e (diff)
downloadkrb5-9e564172a7fe21eca5a2ce21fd1e4bf2237f3481.tar.gz
krb5-9e564172a7fe21eca5a2ce21fd1e4bf2237f3481.tar.xz
krb5-9e564172a7fe21eca5a2ce21fd1e4bf2237f3481.zip
If the log file can't be opened, print an intelligent error message
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@6930 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
-rw-r--r--src/lib/kadm/ChangeLog5
-rw-r--r--src/lib/kadm/logger.c19
2 files changed, 14 insertions, 10 deletions
diff --git a/src/lib/kadm/ChangeLog b/src/lib/kadm/ChangeLog
index a9c54843b..d25cf5865 100644
--- a/src/lib/kadm/ChangeLog
+++ b/src/lib/kadm/ChangeLog
@@ -1,3 +1,8 @@
+Mon Oct 2 15:08:53 1995 Theodore Y. Ts'o <tytso@dcl>
+
+ * logger.c (krb5_klog_init): If the log file can't be opened,
+ print an intelligent error message.
+
Thu Oct 5 12:06:35 1995 Ezra Peisach <epeisach@kangaroo.mit.edu>
* alt_prof.c (krb5_read_realm_params): If secure flag is set in
diff --git a/src/lib/kadm/logger.c b/src/lib/kadm/logger.c
index 58c28149a..1c2d5dbfb 100644
--- a/src/lib/kadm/logger.c
+++ b/src/lib/kadm/logger.c
@@ -357,6 +357,7 @@ krb5_klog_init(kcontext, ename, whoami, do_com_err)
char savec;
int error;
int do_openlog, log_facility;
+ FILE *f;
/* Initialize */
do_openlog = 0;
@@ -417,18 +418,16 @@ krb5_klog_init(kcontext, ename, whoami, do_com_err)
/*
* Check for append/overwrite, then open the file.
*/
- if (cp[4] == ':') {
- if (log_control.log_entries[i].lfu_filep =
- fopen(&cp[5], "a+")) {
- log_control.log_entries[i].log_type = K_LOG_FILE;
- log_control.log_entries[i].lfu_fname = &cp[5];
- }
- }
- else if (cp[4] == '=') {
- if (log_control.log_entries[i].lfu_filep =
- fopen(&cp[5], "w")) {
+ if (cp[4] == ':' || cp[4] == '=') {
+ f = fopen(&cp[5], (cp[4] == ':') ? "a+" : "w");
+ if (f) {
+ log_control.log_entries[i].lfu_filep = f;
log_control.log_entries[i].log_type = K_LOG_FILE;
log_control.log_entries[i].lfu_fname = &cp[5];
+ } else {
+ fprintf(stderr,"Couldn't open log file %s: %s\n",
+ &cp[5], error_message(errno));
+ continue;
}
}
}