]> git.ipfire.org Git - thirdparty/krb5.git/commitdiff
Taking changes from the trunk between tags incremental-propagation-branchpoint incremental-propagation
authorMitchell Berger <mitchb@mit.edu>
Thu, 21 Jun 2001 11:17:00 +0000 (11:17 +0000)
committerMitchell Berger <mitchb@mit.edu>
Thu, 21 Jun 2001 11:17:00 +0000 (11:17 +0000)
and update-mainline-to-incprop-20010621.

git-svn-id: svn://anonsvn.mit.edu/krb5/branches/incremental-propagation-branch@13435 dc483132-0cff-0310-8789-dd5450dbe970

31 files changed:
src/appl/bsd/ChangeLog
src/appl/bsd/kcmd.c
src/include/ChangeLog
src/include/k5-int.h
src/include/kerberosIV/ChangeLog
src/include/kerberosIV/krb.h
src/include/krb5.hin
src/krb524/ChangeLog
src/krb524/krb524d.c
src/lib/crypto/des/ChangeLog
src/lib/crypto/des/string2key.c
src/lib/gssapi/krb5/ChangeLog
src/lib/gssapi/krb5/acquire_cred.c
src/lib/kadm5/logger.c
src/lib/krb4/ChangeLog
src/lib/krb4/g_cnffile.c
src/lib/krb4/g_svc_in_tkt.c
src/lib/krb4/kname_parse.c
src/lib/krb4/put_svc_key.c
src/lib/krb4/rd_req.c
src/lib/krb4/rd_svc_key.c
src/lib/krb5/krb/ChangeLog
src/lib/krb5/krb/Makefile.in
src/lib/krb5/os/ChangeLog
src/lib/krb5/os/t_std_conf.c
src/lib/krb5/rcache/ChangeLog
src/lib/krb5/rcache/rc_dfl.c
src/lib/krb5/rcache/rc_io.c
src/util/ss/ChangeLog
src/util/ss/invocation.c
src/util/ss/request_tbl.c

index c416234480c6daea50426408d6fb051b7b1e5aaa..c3a2cb58565283c19c4c90a023a578cf8a02e5ac 100644 (file)
@@ -1,3 +1,8 @@
+2001-06-20  Ezra Peisach  <epeisach@mit.edu>
+
+       * kcmd.c: Get rid of prototypes for krb5_write_message(),
+       krb5_net_write(), and krb5_net_read(). They are in krb5.h now.
+
 2001-06-18  Ezra Peisach  <epeisach@mit.edu>
 
        * krcp.c (sink): Cast argument to isdigit() to int.
index 903471fba5f815f8ea8d5d4d48d75959bf6f4cc9..7ffd49c0d3e3d028423049f3f9a1325f1c98568c 100644 (file)
@@ -139,12 +139,6 @@ static int right_justify;
 #endif
 static int do_lencheck;
 
-/* XXX: These should be internal to krb5 library, or declared in krb5.h.  */
-extern krb5_error_code krb5_write_message (krb5_context, krb5_pointer,
-                                          krb5_data *);
-extern int krb5_net_read (krb5_context, int , char *, int);
-extern int krb5_net_write (krb5_context, int , const char *, int);
-/* XXX: And these should be declared in krb.h, or private.  */
 #ifdef KRB5_KRB4_COMPAT
 extern int
 krb_sendauth(long options, int fd, KTEXT ticket,
index 8858905f8107aadfd80bf6a577fc581ee8ad65f7..6455c795015e20d05d39dfc3b1829545f0bd1260 100644 (file)
@@ -1,3 +1,9 @@
+2001-06-20  Ezra Peisach  <epeisach@mit.edu>
+
+       * krb5.hin: Move prototypes for krb5_net_read() and
+       krb5_net_write() here.
+       * k5-int.h: From here.
+
 2001-06-19  Ken Raeburn  <raeburn@mit.edu>
 
        * k5-int.h (struct addrlist): New type.
index a58d2821da94367300f3fece85cb1cc9737ddeb8..53aca1215ba79bd2119b9b8e810ebf34ed382fc1 100644 (file)
@@ -528,8 +528,6 @@ extern char *strdup (const char *);
 /* libos.spec */
 krb5_error_code krb5_lock_file (krb5_context, int, int);
 krb5_error_code krb5_unlock_file (krb5_context, int);
-int krb5_net_read (krb5_context, int , char *, int);
-int krb5_net_write (krb5_context, int , const char *, int);
 krb5_error_code krb5_sendto_kdc (krb5_context, const krb5_data *,
                                 const krb5_data *, krb5_data *, int);
 krb5_error_code krb5_get_krbhst (krb5_context, const krb5_data *, char *** );
index 88a9127bd0d9a8f0dbbe70a7699668588bdc84cd..5eaf2ddca5a0215944183542a34472e4692e5ac5 100644 (file)
@@ -1,3 +1,9 @@
+2001-06-20  Ezra Peisach  <epeisach@mit.edu>
+
+       * krb.h: Add prototype for krb__get_srvtabname() which is invoked
+       in place of KEYFILE.
+       Add prototypes for krb_kntoln(), k_isinst(), k_isname(), k_isrealm().
+
 2001-06-11  Ezra Peisach  <epeisach@mit.edu>
 
        * krb.h: Add prototype for krb_sendauth().
index e38bfc7f645cc95e9ba19e29501edb6e9abe4119..b665f0b829973d844fc7f9da4eeee5715fa9a934 100644 (file)
@@ -464,6 +464,14 @@ KRB5_DLLIMP int KRB5_CALLCONV krb_in_tkt
 KRB5_DLLIMP int KRB5_CALLCONV kname_parse
        (char FAR *name, char FAR *inst, char FAR *realm,
                   char FAR *fullname);
+KRB5_DLLIMP int KRB5_CALLCONV k_isname
+        (char FAR *);
+KRB5_DLLIMP int KRB5_CALLCONV k_isinst
+        (char FAR *);
+KRB5_DLLIMP int KRB5_CALLCONV k_isrealm
+        (char FAR *);
+
+
 /* kuserok.c */
 KRB5_DLLIMP int KRB5_CALLCONV kuserok
        (AUTH_DAT FAR *kdata, char FAR *luser);
@@ -633,6 +641,10 @@ extern int krb_create_ticket(KTEXT tkt, unsigned int flags, char *pname,
                             char *session, int life, long time_sec, 
                             char *sname, char *sinstance, C_Block key);
 
+extern char * krb__get_srvtabname(const char *);
+
+extern int krb_kntoln(AUTH_DAT *, char *);
+
 #ifdef KRB5_GENERAL__
 extern int krb_cr_tkt_krb5(KTEXT tkt, unsigned int flags, char *pname,
                           char *pinstance, char *prealm, long paddress,
index b0fbab465657ec4d7c0fed2ebc45388701952a0a..140f3a3b44d8e303f4909d0e9725b5d5f704e9f4 100644 (file)
@@ -2081,6 +2081,8 @@ KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_auth_con_getremotesubkey
 
 krb5_error_code krb5_read_message (krb5_context, krb5_pointer, krb5_data *);
 krb5_error_code krb5_write_message (krb5_context, krb5_pointer, krb5_data *);
+int krb5_net_read (krb5_context, int , char *, int);
+int krb5_net_write (krb5_context, int , const char *, int);
 
 KRB5_DLLIMP krb5_error_code KRB5_CALLCONV krb5_read_password
        (krb5_context,
index daa28c78090fe09afe938124ce460003d1c4a646..1b4762964dd063049cabafb632e98bcd5787de21 100644 (file)
@@ -1,3 +1,10 @@
+2001-06-20  Ezra Peisach  <epeisach@mit.edu>
+
+       * krb524d.c: Include <krb5/adm_proto.h> for krb5_log_init()
+       prototype.
+       (cleanup_and_exit) Conditionalize krb5_kt_close on keytab being
+       non-null.
+
 2001-06-20  Mitchell Berger  <mitchb@mit.edu>
 
        * krb524d.c: Call krb5_klog_init before the first point where the
index f1d0822d40ce76094ef9df3c223625ccee12ede7..03c63a54d43504267d50245c5354161358dee1ce 100644 (file)
@@ -22,6 +22,7 @@
 
 #include <krb5.h>
 #include <kadm5/admin.h>
+#include <krb5/adm_proto.h>
 #include <com_err.h>
 #include <stdarg.h>
 
@@ -223,7 +224,7 @@ void cleanup_and_exit(ret, context)
      if (use_master && handle) {
          (void) kadm5_destroy(handle);
      }
-     if (use_keytab) krb5_kt_close(context, kt);
+     if (use_keytab && kt) krb5_kt_close(context, kt);
      krb5_free_context(context);
      exit(ret);
 }
index 243993a4781de757754e4a1febeb1edca48fd139..65742691ff710334dbd8eaec4ce8053f8c52d3c6 100644 (file)
@@ -1,3 +1,9 @@
+2001-06-20  Ken Raeburn  <raeburn@mit.edu>
+
+       * string2key.c (mit_des_string_to_key_int): Construct a krb5_data
+       object with proper length for the AFS case (indicated by a -1 salt
+       length on input).
+
 2001-06-12  Ezra Peisach  <epeisach@mit.edu>
 
        * destest.c: main returns int instead of void.  Add "const" to
index 45a8500ec83c479edcde0e7e286dfb2e909d7d16..65f40141062bf923e876424172216981498e29b2 100644 (file)
@@ -71,9 +71,9 @@
 
 krb5_error_code
 mit_des_string_to_key_int (keyblock, data, salt)
-krb5_keyblock FAR * keyblock;
-const krb5_data FAR * data;
-const krb5_data FAR * salt;
+    krb5_keyblock FAR * keyblock;
+    const krb5_data FAR * data;
+    const krb5_data FAR * salt;
 {
     register krb5_octet *str, *copystr;
     register krb5_octet *key;
@@ -97,13 +97,15 @@ const krb5_data FAR * salt;
     key = keyblock->contents;
 
     if (salt) {
-      if (salt->length == SALT_TYPE_AFS_LENGTH || salt->length == (unsigned) -1) {
-       /* cheat and do AFS string2key instead */
-       return mit_afs_string_to_key (keyblock, data, salt);
-      } else 
-       length = data->length + salt->length;
-      }
-    else
+       if (salt->length == SALT_TYPE_AFS_LENGTH || salt->length == (unsigned) -1) {
+           krb5_data salt2;
+           salt2.data = salt->data;
+           salt2.length = strlen (salt2.data);
+           /* cheat and do AFS string2key instead */
+           return mit_afs_string_to_key (keyblock, data, &salt2);
+       } else 
+           length = data->length + salt->length;
+    } else
        length = data->length;
 
     copystr = malloc((size_t) length);
index d6c39bb439d48add335b7b72fec57a94a781f0ce..0d57d5cfc7e66fdec37f1cfdcfcef0c2306bdee8 100644 (file)
@@ -1,3 +1,8 @@
+2001-06-20  Ezra Peisach  <epeisach@mit.edu>
+
+       * acquire_cred.c (acquire_init_cred): Include "k5-int.h" for
+       krb5int-cc_default() prototype.
+
 2001-06-18  Ezra Peisach  <epeisach@mit.edu>
 
        * accept_sec_context.c acquire_cred.c import_sec_context.c
index 91439f577ca807e078cbdd65e679c2c78281fc00..daa900a314906de85f678e86b2d1ffadf025db57 100644 (file)
@@ -70,6 +70,7 @@
  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  */
 
+#include "k5-int.h"
 #include "gssapiP_krb5.h"
 #ifdef HAVE_STRING_H
 #include <string.h>
index 49718c83deeed41b61154cce6140e556ac7f645c..d163544015a75ea844f56032e1d2f07f05364808 100644 (file)
@@ -513,89 +513,73 @@ krb5_klog_init(kcontext, ename, whoami, do_com_err)
                         * If there is a facility present, then parse that.
                         */
                        if (cp2) {
-                           if (!strcasecmp(cp2, "AUTH")) {
-                               log_control.log_entries[i].lsu_facility = LOG_AUTH;
-                           }
+                           const struct {
+                               const char *name;
+                               int value;
+                           } facilities[] = {
+                               { "AUTH",       LOG_AUTH        },
+#ifdef LOG_AUTHPRIV
+                               { "AUTHPRIV",   LOG_AUTHPRIV    },
+#endif /* LOG_AUTHPRIV */
 #ifdef LOG_KERN
-                           else if (!strcasecmp(cp2, "KERN")) {
-                               log_control.log_entries[i].lsu_facility = LOG_KERN;
-                           }
+                               { "KERN",       LOG_KERN        },
 #endif /* LOG_KERN */
 #ifdef LOG_USER
-                           else if (!strcasecmp(cp2, "USER")) {
-                               log_control.log_entries[i].lsu_facility = LOG_USER;
-                           }
+                               { "USER",       LOG_USER        },
 #endif /* LOG_USER */
 #ifdef LOG_MAIL
-                           else if (!strcasecmp(cp2, "MAIL")) {
-                               log_control.log_entries[i].lsu_facility = LOG_MAIL;
-                           }
+                               { "MAIL",       LOG_MAIL        },
 #endif /* LOG_MAIL */
 #ifdef LOG_DAEMON
-                           else if (!strcasecmp(cp2, "DAEMON")) {
-                               log_control.log_entries[i].lsu_facility = LOG_DAEMON;
-                           }
+                               { "DAEMON",     LOG_DAEMON      },
 #endif /* LOG_DAEMON */
+#ifdef LOG_FTP
+                               { "FTP",        LOG_FTP         },
+#endif /* LOG_FTP */
 #ifdef LOG_LPR
-                           else if (!strcasecmp(cp2, "LPR")) {
-                               log_control.log_entries[i].lsu_facility = LOG_LPR;
-                           }
+                               { "LPR",        LOG_LPR         },
 #endif /* LOG_LPR */
 #ifdef LOG_NEWS
-                           else if (!strcasecmp(cp2, "NEWS")) {
-                               log_control.log_entries[i].lsu_facility = LOG_NEWS;
-                           }
+                               { "NEWS",       LOG_NEWS        },
 #endif /* LOG_NEWS */
 #ifdef LOG_UUCP
-                           else if (!strcasecmp(cp2, "UUCP")) {
-                               log_control.log_entries[i].lsu_facility = LOG_UUCP;
-                           }
+                               { "UUCP",       LOG_UUCP        },
 #endif /* LOG_UUCP */
 #ifdef LOG_CRON
-                           else if (!strcasecmp(cp2, "CRON")) {
-                               log_control.log_entries[i].lsu_facility = LOG_CRON;
-                           }
+                               { "CRON",       LOG_CRON        },
 #endif /* LOG_CRON */
 #ifdef LOG_LOCAL0
-                           else if (!strcasecmp(cp2, "LOCAL0")) {
-                               log_control.log_entries[i].lsu_facility = LOG_LOCAL0;
-                           }
+                               { "LOCAL0",     LOG_LOCAL0      },
 #endif /* LOG_LOCAL0 */
 #ifdef LOG_LOCAL1
-                           else if (!strcasecmp(cp2, "LOCAL1")) {
-                               log_control.log_entries[i].lsu_facility = LOG_LOCAL1;
-                           }
+                               { "LOCAL1",     LOG_LOCAL1      },
 #endif /* LOG_LOCAL1 */
 #ifdef LOG_LOCAL2
-                           else if (!strcasecmp(cp2, "LOCAL2")) {
-                               log_control.log_entries[i].lsu_facility = LOG_LOCAL2;
-                           }
+                               { "LOCAL2",     LOG_LOCAL2      },
 #endif /* LOG_LOCAL2 */
 #ifdef LOG_LOCAL3
-                           else if (!strcasecmp(cp2, "LOCAL3")) {
-                               log_control.log_entries[i].lsu_facility = LOG_LOCAL3;
-                           }
+                               { "LOCAL3",     LOG_LOCAL3      },
 #endif /* LOG_LOCAL3 */
 #ifdef LOG_LOCAL4
-                           else if (!strcasecmp(cp2, "LOCAL4")) {
-                               log_control.log_entries[i].lsu_facility = LOG_LOCAL4;
-                           }
+                               { "LOCAL4",     LOG_LOCAL4      },
 #endif /* LOG_LOCAL4 */
 #ifdef LOG_LOCAL5
-                           else if (!strcasecmp(cp2, "LOCAL5")) {
-                               log_control.log_entries[i].lsu_facility = LOG_LOCAL5;
-                           }
+                               { "LOCAL5",     LOG_LOCAL5      },
 #endif /* LOG_LOCAL5 */
 #ifdef LOG_LOCAL6
-                           else if (!strcasecmp(cp2, "LOCAL6")) {
-                               log_control.log_entries[i].lsu_facility = LOG_LOCAL6;
-                           }
+                               { "LOCAL6",     LOG_LOCAL6      },
 #endif /* LOG_LOCAL6 */
 #ifdef LOG_LOCAL7
-                           else if (!strcasecmp(cp2, "LOCAL7")) {
-                               log_control.log_entries[i].lsu_facility = LOG_LOCAL7;
-                           }
+                               { "LOCAL7",     LOG_LOCAL7      },
 #endif /* LOG_LOCAL7 */
+                           };
+                           int j;
+
+                           for (j = 0; j < sizeof(facilities)/sizeof(facilities[0]); j++)
+                               if (!strcasecmp(cp2, facilities[j].name)) {
+                                   log_control.log_entries[i].lsu_facility = facilities[j].value;
+                                   break;
+                               }
                            cp2--;
                            *cp2 = savec;
                        }
index 17c0be0d380501070b096e0b1512e5f772e44885..cb2a0a7d022a7c521e3b4aac2cbcc2da01160dc7 100644 (file)
@@ -1,3 +1,17 @@
+
+2001-06-20  Ezra Peisach  <epeisach@mit.edu>
+
+       * kname_parse.c (k_isrealm, k_isname, k_isrealm): Add
+       KRB5_DLLIMP/KRB5_CALLCONV definitions for function with exported
+       prototype in krb.h.
+
+       * g_cnffile.c (krb__get_srvtabname, krb__v5_get_file): Declare
+       argument as const.
+
+       * g_svc_in_tkt.c, put_svc_key.c, rd_req.c, rd_svc_key.c: Get rid
+       of krb__get_srvtabname() prototype - in krb.h now.
+
+
 2001-06-18  Ezra Peisach  <epeisach@mit.edu>
 
        * kparse.c (strutol): Cast argument to isupper()/tolower() to int.
index 9b7b0705238d100ffd6b042ab2149d8c039f83a2..83654b83f503e9219bf4fa63b4c553db97c88162 100644 (file)
@@ -23,7 +23,7 @@ krb5_context krb5__krb4_context = 0;
 
 static FILE*
 krb__v5_get_file(s)
-     char *s;
+     const char *s;
 {
        FILE *cnffile = 0;
        const char* names[3];
@@ -50,7 +50,7 @@ krb__v5_get_file(s)
 
 char *
 krb__get_srvtabname(default_srvtabname)
-       char *default_srvtabname;
+       const char *default_srvtabname;
 {
        const char* names[3];
        char **full_name = 0, **cpp;
index afee27ab9809707a115539591a81446e3f1090c9..7d4baf6dddecae7080b5807bc5dbeaedb5d6e527 100644 (file)
@@ -16,8 +16,6 @@
 #define NULL 0
 #endif
 
-extern char *krb__get_srvtabname();
-
 /*
  * This file contains two routines: srvtab_to_key(), which gets
  * a server's key from a srvtab file, and krb_get_svc_in_tkt() which
index 2c310c687294a513b3cea0ec468b5ccab22c1108..18da8aec5f74e42eb560917c9d3af751990bf11e 100644 (file)
@@ -174,9 +174,9 @@ kname_parse(np, ip, rp, fullname)
  * Kerberos name; returns 0 if it's not.
  */
 
-int
+KRB5_DLLIMP int KRB5_CALLCONV
 k_isname(s)
-    char *s;
+    char FAR *s;
 {
     register char c;
     int backslash = 0;
@@ -213,9 +213,9 @@ k_isname(s)
  * We now allow periods in instance names -- they are unambiguous.
  */
 
-int
+KRB5_DLLIMP int KRB5_CALLCONV
 k_isinst(s)
-    char *s;
+    char FAR *s;
 {
     register char c;
     int backslash = 0;
@@ -244,9 +244,9 @@ k_isinst(s)
  * Kerberos realm; returns 0 if it's not.
  */
 
-int
+KRB5_DLLIMP int KRB5_CALLCONV
 k_isrealm(s)
-    char *s;
+    char FAR *s;
 {
     register char c;
     int backslash = 0;
index e2eb24d84d1feca9828dbc7cb081201069c7e35f..a9264545fb95002eb5823036acc700189800d4f2 100644 (file)
@@ -32,8 +32,6 @@
 #include <unistd.h>
 #endif
 
-extern char *krb__get_srvtabname();
-
 #define KEYSZ sizeof(C_Block)
 /* strict put_svc_key.
    The srvtab must already exist;
index 89be3b5fead435cb1aed54bc38bd0366f622a5df..e8119b85c7ee5158135d9dfab65f2a41158b8100 100644 (file)
@@ -33,8 +33,6 @@
 
 extern int krb_ap_req_debug;
 
-extern char *krb__get_srvtabname();
-
 /* declared in krb.h */
 int krb_ignore_ip_address = 0;
 
index 15d0f463c6862c27d149adada454bbf7e3f6a2ce..f59aac6b7af47bb2532d571c7b1d3afd6fb710a4 100644 (file)
@@ -18,8 +18,6 @@
 #include <krb54proto.h>
 #include "prot.h"
 
-extern char *krb__get_srvtabname();
-
 /*
  * The private keys for servers on a given host are stored in a
  * "srvtab" file (typically "/etc/srvtab").  This routine extracts
index 4c86bb10703230da1b3ca046f6f225bc33af97db..c03f71d1be52bdf0808d1d4b6fb39cd8f6ed1ecc 100644 (file)
@@ -1,3 +1,8 @@
+2001-06-20  Ezra Peisach  <epeisach@mit.edu>
+
+       * Makefile.in (check-unix): Add $(RUN_SETUP) before invocation of
+       transit-tests for shared library environment variables.
+
 2001-06-19  Ken Raeburn  <raeburn@mit.edu>
 
        * chk_trans.c: Reimplemented from scratch.
index c07bd47964a49a86f99b27657dae2a395e56cfa9..3096d6af1ad81d90358995792ac4cfeadcb86209 100644 (file)
@@ -340,7 +340,7 @@ check-unix:: $(TEST_PROGS)
        KRB5_CONFIG=$(srcdir)/t_krb5.conf ; export KRB5_CONFIG ;\
                $(RUN_SETUP) ./t_ser
        ./t_deltat
-       sh $(srcdir)/transit-tests
+       $(RUN_SETUP) sh $(srcdir)/transit-tests
 
 clean::
        $(RM) $(OUTPRE)t_walk_rtree$(EXEEXT) $(OUTPRE)t_walk_rtree.$(OBJEXT) \
index 137ef7680804baefb026e362c66adf0795a5f087..e20c549aea41a628507ccf844ef5c12ece2bdd1d 100644 (file)
@@ -1,3 +1,8 @@
+2001-06-20  Ezra Peisach  <epeisach@mit.edu>
+
+       * t_std_conf.c (test_locate_kdc): Update to new krb5_locate_kdc
+       interface.
+
 2001-06-19  Ken Raeburn  <raeburn@mit.edu>
 
        * locate_kdc.c (struct addrlist, ADDRLIST_INIT): Moved to
@@ -19,8 +24,6 @@
 
        * os-proto.h (krb5_locate_kdc): Update prototype.
 
-       * t_std_conf.c (test_locate_kdc): Update tests for new API.
-
 2001-06-12  Ezra Peisach  <epeisach@mit.edu>
 
        * sn2princ.c, hst_realm.c, an_to_ln.c: Cast argument to
index dcd309f33e1ffc31cc81e2bfa1f5296c88958d55..047eca95064782a831c26c6d48d1a44779486370 100644 (file)
@@ -107,7 +107,7 @@ static void test_locate_kdc(ctx, realm)
        krb5_context ctx;
        char    *realm;
 {
-       struct sockaddr **addrs;
+       struct addrlist addrs;
        struct sockaddr_in *s_sin;
        int     i, naddrs;
        int     get_masters=0;
@@ -116,19 +116,18 @@ static void test_locate_kdc(ctx, realm)
 
        rlm.data = realm;
        rlm.length = strlen(realm);
-       retval = krb5_locate_kdc(ctx, &rlm, &addrs, &naddrs,
-                                get_masters);
+       retval = krb5_locate_kdc(ctx, &rlm, &addrs, get_masters);
        if (retval) {
                com_err("krb5_locate_kdc", retval, 0);
                return;
        }
        printf("krb_locate_kdc(%s) returned:", realm);
-       for (i=0; i < naddrs; i++) {
-           s_sin = (struct sockaddr_in *) addrs[i];
+       for (i=0; i < addrs.naddrs; i++) {
+           s_sin = (struct sockaddr_in *) addrs.addrs[i];
            printf(" %s/%d", inet_ntoa(s_sin->sin_addr), 
                   ntohs(s_sin->sin_port));
        }
-       free(addrs);
+       krb5int_free_addrlist(&addrs);
        printf("\n");
 }
 
index 622d4fe1c2f40e616536b8f67259c4e3ddcfdfb6..409315b5de79d1b419d3fa525432e688c341aa0a 100644 (file)
@@ -1,3 +1,11 @@
+2001-06-20  Danilo Almeida  <dalmeida@mit.edu>
+
+       * rc_dfl.c, rc_io.c: More compliance with coding standards: use
+       ANSI function declarations, use curly braces to fix up #ifdef
+       reindenting under Emacs, reindent code, strip trailing whitespace,
+       wrap lines, fix commans.  Not finished: fix indenting of curly
+       braces in control structures.
+
 2001-01-23  Tom Yu  <tlyu@mit.edu>
 
        * rc_io.c (getdir): Subtract one from dirlen, since sizeof
index cc046e78221eeb1334fe912c7120acc7edd293c4..596be408695fa13424cafddeae2bf095666860cd 100644 (file)
 #include <k5-int.h>
 
 /*
-If NOIOSTUFF is defined at compile time, dfl rcaches will be per-process.
-*/
+ * If NOIOSTUFF is defined at compile time, dfl rcaches will be per-process.
+ */
 
 /*
 Local stuff:
 
-static int hash(krb5_donot_replay *rep,int hsize)
+static int hash(krb5_donot_replay *rep, int hsize)
   returns hash value of *rep, between 0 and hsize - 1
 HASHSIZE
   size of hash table (constant), can be preset
-static int cmp(krb5_donot_replay *old,krb5_donot_replay *new,krb5_deltat t)
+static int cmp(krb5_donot_replay *old, krb5_donot_replay *new, krb5_deltat t)
   compare old and new; return CMP_REPLAY or CMP_HOHUM
-static int alive (krb5_context, krb5_donot_replay *new,krb5_deltat t)
+static int alive(krb5_context, krb5_donot_replay *new, krb5_deltat t)
   see if new is still alive; return CMP_EXPIRED or CMP_HOHUM
 CMP_MALLOC, CMP_EXPIRED, CMP_REPLAY, CMP_HOHUM
   return codes from cmp(), alive(), and store()
@@ -37,7 +37,7 @@ struct dfl_data
   data stored in this cache type, namely "dfl"
 struct authlist
   multilinked list of reps
-static int rc_store(context, krb5_rcache id,krb5_donot_replay *rep)
+static int rc_store(context, krb5_rcache id, krb5_donot_replay *rep)
   store rep in cache id; return CMP_REPLAY if replay, else CMP_MALLOC/CMP_HOHUM
 
 */
@@ -49,24 +49,26 @@ static int rc_store(context, krb5_rcache id,krb5_donot_replay *rep)
 #ifndef EXCESSREPS
 #define EXCESSREPS 30
 #endif
-/* The rcache will be automatically expunged when the number of expired
-krb5_donot_replays encountered incidentally in searching exceeds the number
-of live krb5_donot_replays by EXCESSREPS. With the defaults here, a typical
-cache might build up some 10K of expired krb5_donot_replays before an automatic
-expunge, with the waste basically independent of the number of stores per
-minute.
-
-The rcache will also automatically be expunged when it encounters more
-than EXCESSREPS expired entries when recovering a cache in
-dfl_recover. */
-
-static int hash(rep, hsize)
-krb5_donot_replay *rep;
-int hsize;
+
+/*
+ * The rcache will be automatically expunged when the number of
+ * expired krb5_donot_replays encountered incidentally in searching
+ * exceeds the number of live krb5_donot_replays by EXCESSREPS. With
+ * the defaults here, a typical cache might build up some 10K of
+ * expired krb5_donot_replays before an automatic expunge, with the
+ * waste basically independent of the number of stores per minute.
+ *
+ * The rcache will also automatically be expunged when it encounters
+ * more than EXCESSREPS expired entries when recovering a cache in
+ * dfl_recover.
+ */
+
+static int
+hash(krb5_donot_replay *rep, int hsize)
 {
- return (int) ((((rep->cusec + rep->ctime + *rep->server + *rep->client)
-        % hsize) + hsize) % hsize);
- /* We take this opportunity to once again complain about C's idiotic %. */
   return (int) ((((rep->cusec + rep->ctime + *rep->server + *rep->client)
+                   % hsize) + hsize) % hsize);
   /* We take this opportunity to once again complain about C's idiotic %. */
 }
 
 #define CMP_MALLOC -3
@@ -75,124 +77,114 @@ int hsize;
 #define CMP_HOHUM 0
 
 /*ARGSUSED*/
-static int cmp(old, new, t)
-krb5_donot_replay *old;
-krb5_donot_replay *new;
-krb5_deltat t;
+static int
+cmp(krb5_donot_replay *old, krb5_donot_replay *new, krb5_deltat t)
 {
- if ((old->cusec == new->cusec) && /* most likely to distinguish */
-     (old->ctime == new->ctime) &&
-     (strcmp(old->client,new->client) == 0) &&
-     (strcmp(old->server,new->server) == 0)) /* always true */
-   return CMP_REPLAY;
- return CMP_HOHUM;
   if ((old->cusec == new->cusec) && /* most likely to distinguish */
+       (old->ctime == new->ctime) &&
+       (strcmp(old->client, new->client) == 0) &&
+       (strcmp(old->server, new->server) == 0)) /* always true */
+       return CMP_REPLAY;
   return CMP_HOHUM;
 }
 
-static int alive(context, new, t)
-    krb5_context context;
-    krb5_donot_replay *new;
-    krb5_deltat t;
+static int
+alive(krb5_context context, krb5_donot_replay *new, krb5_deltat t)
 {
- krb5_int32 mytime;
-
- if (krb5_timeofday(context, &mytime))
-   return CMP_HOHUM; /* who cares? */
- if (new->ctime + t < mytime) /* I hope we don't have to worry about overflow */
-   return CMP_EXPIRED;
- return CMP_HOHUM;
+    krb5_int32 mytime;
+
+    if (krb5_timeofday(context, &mytime))
+       return CMP_HOHUM; /* who cares? */
+    /* I hope we don't have to worry about overflow */
+    if (new->ctime + t < mytime)
+       return CMP_EXPIRED;
+    return CMP_HOHUM;
 }
 
 struct dfl_data
- {
-  char *name;
-  krb5_deltat lifespan;
-  int hsize;
-  int numhits;
-  int nummisses;
-  struct authlist **h;
-  struct authlist *a;
+{
+    char *name;
+    krb5_deltat lifespan;
+    int hsize;
+    int numhits;
+    int nummisses;
+    struct authlist **h;
+    struct authlist *a;
 #ifndef NOIOSTUFF
-  krb5_rc_iostuff d;
+    krb5_rc_iostuff d;
 #endif
-  char recovering;
- }
-;
+    char recovering;
+};
 
 struct authlist
- {
-  krb5_donot_replay rep;
-  struct authlist *na;
-  struct authlist *nh;
- }
-;
+{
+    krb5_donot_replay rep;
+    struct authlist *na;
+    struct authlist *nh;
+};
 
 /* of course, list is backwards from file */
 /* hash could be forwards since we have to search on match, but naaaah */
 
-static int rc_store(context, id, rep)
-    krb5_context context;
-    krb5_rcache id;
-    krb5_donot_replay *rep;
+static int
+rc_store(krb5_context context, krb5_rcache id, krb5_donot_replay *rep)
 {
- struct dfl_data *t = (struct dfl_data *)id->data;
- int rephash;
- struct authlist *ta;
-
- rephash = hash(rep,t->hsize);
+    struct dfl_data *t = (struct dfl_data *)id->data;
+    int rephash;
+    struct authlist *ta;
+
+    rephash = hash(rep, t->hsize);
+
+    for (ta = t->h[rephash]; ta; ta = ta->nh) {
+       switch(cmp(&ta->rep, rep, t->lifespan))
+       {
+       case CMP_REPLAY:
+           return CMP_REPLAY;
+       case CMP_HOHUM:
+           if (alive(context, &ta->rep, t->lifespan) == CMP_EXPIRED)
+               t->nummisses++;
+           else
+               t->numhits++;
+           break;
+       default:
+           ; /* wtf? */
+       }
+    }
 
- for (ta = t->h[rephash];ta;ta = ta->nh)
-   switch(cmp(&ta->rep,rep,t->lifespan))
-    {
-     case CMP_REPLAY: return CMP_REPLAY;
-     case CMP_HOHUM: if (alive(context, &ta->rep,t->lifespan) == CMP_EXPIRED)
-                      t->nummisses++;
-                    else
-                      t->numhits++;
-                    break;
-     default: ; /* wtf? */
+    if (!(ta = (struct authlist *) malloc(sizeof(struct authlist))))
+       return CMP_MALLOC;
+    ta->na = t->a; t->a = ta;
+    ta->nh = t->h[rephash]; t->h[rephash] = ta;
+    ta->rep = *rep;
+    if (!(ta->rep.client = strdup(rep->client))) {
+       FREE(ta);
+       return CMP_MALLOC;
+    }
+    if (!(ta->rep.server = strdup(rep->server))) {
+       FREE(ta->rep.client);
+       FREE(ta);
+       return CMP_MALLOC;
     }
 
- if (!(ta = (struct authlist *) malloc(sizeof(struct authlist))))
-   return CMP_MALLOC;
- ta->na = t->a; t->a = ta;
- ta->nh = t->h[rephash]; t->h[rephash] = ta;
- ta->rep = *rep;
- if (!(ta->rep.client = strdup(rep->client))) {
-     FREE(ta);
-     return CMP_MALLOC;
- }
- if (!(ta->rep.server = strdup(rep->server))) {
-     FREE(ta->rep.client);
-     FREE(ta);
-     return CMP_MALLOC;
- }
-
- return CMP_HOHUM;
+    return CMP_HOHUM;
 }
 
 char * KRB5_CALLCONV
-krb5_rc_dfl_get_name(context, id)
-    krb5_context context;
-    krb5_rcache id;
+krb5_rc_dfl_get_name(krb5_context context, krb5_rcache id)
 {
- return ((struct dfl_data *) (id->data))->name;
   return ((struct dfl_data *) (id->data))->name;
 }
 
 krb5_error_code KRB5_CALLCONV
-krb5_rc_dfl_get_span(context, id, lifespan)
-    krb5_context context;
-    krb5_rcache id;
-    krb5_deltat *lifespan;
+krb5_rc_dfl_get_span(krb5_context context, krb5_rcache id,
+                    krb5_deltat *lifespan)
 {
- *lifespan = ((struct dfl_data *) (id->data))->lifespan;
- return 0;
   *lifespan = ((struct dfl_data *) (id->data))->lifespan;
   return 0;
 }
 
 krb5_error_code KRB5_CALLCONV
-krb5_rc_dfl_init(context, id, lifespan)
-    krb5_context context;
-krb5_rcache id;
-krb5_deltat lifespan;
+krb5_rc_dfl_init(krb5_context context, krb5_rcache id, krb5_deltat lifespan)
 {
     struct dfl_data *t = (struct dfl_data *)id->data;
     krb5_error_code retval;
@@ -200,7 +192,7 @@ krb5_deltat lifespan;
     t->lifespan = lifespan ? lifespan : context->clockskew;
     /* default to clockskew from the context */
 #ifndef NOIOSTUFF
-    if ((retval = krb5_rc_io_creat(context, &t->d,&t->name)))
+    if ((retval = krb5_rc_io_creat(context, &t->d, &t->name)))
        return retval;
     if ((krb5_rc_io_write(context, &t->d,
                          (krb5_pointer) &t->lifespan, sizeof(t->lifespan))
@@ -210,35 +202,32 @@ krb5_deltat lifespan;
     return 0;
 }
 
-krb5_error_code krb5_rc_dfl_close_no_free(context, id)
-    krb5_context context;
-    krb5_rcache id;
+krb5_error_code
+krb5_rc_dfl_close_no_free(krb5_context context, krb5_rcache id)
 {
- struct dfl_data *t = (struct dfl_data *)id->data;
- struct authlist *q;
-
- FREE(t->h);
- if (t->name)
-     FREE(t->name);
- while ((q = t->a))
-  {
-   t->a = q->na;
-   FREE(q->rep.client);
-   FREE(q->rep.server);
-   FREE(q);
-  }
   struct dfl_data *t = (struct dfl_data *)id->data;
   struct authlist *q;
+
   FREE(t->h);
   if (t->name)
+       FREE(t->name);
   while ((q = t->a))
+    {
+       t->a = q->na;
+       FREE(q->rep.client);
+       FREE(q->rep.server);
+       FREE(q);
+    }
 #ifndef NOIOSTUFF
- if (t->d.fd >= 0)
-    (void) krb5_rc_io_close(context, &t->d);
   if (t->d.fd >= 0)
+       (void) krb5_rc_io_close(context, &t->d);
 #endif
- FREE(t);
- return 0;
   FREE(t);
   return 0;
 }
 
 krb5_error_code KRB5_CALLCONV
-krb5_rc_dfl_close(context, id)
-    krb5_context context;
-    krb5_rcache id;
+krb5_rc_dfl_close(krb5_context context, krb5_rcache id)
 {
     krb5_rc_dfl_close_no_free(context, id);
     free(id);
@@ -246,22 +235,17 @@ krb5_rc_dfl_close(context, id)
 }
 
 krb5_error_code KRB5_CALLCONV
-krb5_rc_dfl_destroy(context, id)
-    krb5_context context;
-krb5_rcache id;
+krb5_rc_dfl_destroy(krb5_context context, krb5_rcache id)
 {
 #ifndef NOIOSTUFF
- if (krb5_rc_io_destroy(context, &((struct dfl_data *) (id->data))->d))
-   return KRB5_RC_IO;
   if (krb5_rc_io_destroy(context, &((struct dfl_data *) (id->data))->d))
+       return KRB5_RC_IO;
 #endif
- return krb5_rc_dfl_close(context, id);
   return krb5_rc_dfl_close(context, id);
 }
 
 krb5_error_code KRB5_CALLCONV
-krb5_rc_dfl_resolve(context, id, name)
-    krb5_context context;
-    krb5_rcache id;
-    char *name;
+krb5_rc_dfl_resolve(krb5_context context, krb5_rcache id, char *name)
 {
     struct dfl_data *t = 0;
     krb5_error_code retval;
@@ -294,7 +278,7 @@ krb5_rc_dfl_resolve(context, id, name)
 #endif
     t->recovering = 0;
     return 0;
-    
+
 cleanup:
     if (t) {
        if (t->name)
@@ -306,14 +290,13 @@ cleanup:
     return retval;
 }
 
-void krb5_rc_free_entry (context, rep)
-    krb5_context context;
-    krb5_donot_replay **rep;
+void
+krb5_rc_free_entry(krb5_context context, krb5_donot_replay **rep)
 {
     krb5_donot_replay *rp = *rep;
-    
+
     *rep = NULL;
-    if (rp) 
+    if (rp)
     {
        if (rp->client)
            free(rp->client);
@@ -326,36 +309,34 @@ void krb5_rc_free_entry (context, rep)
     }
 }
 
-static krb5_error_code krb5_rc_io_fetch(context, t, rep, maxlen) 
-    krb5_context context;
-    struct dfl_data *t;
-    krb5_donot_replay *rep;
-    int maxlen;
+static krb5_error_code
+krb5_rc_io_fetch(krb5_context context, struct dfl_data *t,
+                krb5_donot_replay *rep, int maxlen)
 {
     int len;
     krb5_error_code retval;
 
     rep->client = rep->server = 0;
-    
-    retval = krb5_rc_io_read (context, &t->d, (krb5_pointer) &len, sizeof(len));
-    if (retval) 
+
+    retval = krb5_rc_io_read(context, &t->d, (krb5_pointer) &len, sizeof(len));
+    if (retval)
        return retval;
-    
+
     if ((len <= 0) || (len >= maxlen))
        return KRB5_RC_IO_EOF;
 
     rep->client = malloc (len);
     if (!rep->client)
        return KRB5_RC_MALLOC;
-    
-    retval = krb5_rc_io_read (context, &t->d, (krb5_pointer) rep->client, len);
+
+    retval = krb5_rc_io_read(context, &t->d, (krb5_pointer) rep->client, len);
     if (retval)
        goto errout;
-    
-    retval = krb5_rc_io_read (context, &t->d, (krb5_pointer) &len, sizeof(len));
+
+    retval = krb5_rc_io_read(context, &t->d, (krb5_pointer) &len, sizeof(len));
     if (retval)
        goto errout;
-    
+
     if ((len <= 0) || (len >= maxlen)) {
        retval = KRB5_RC_IO_EOF;
        goto errout;
@@ -366,21 +347,23 @@ static krb5_error_code krb5_rc_io_fetch(context, t, rep, maxlen)
        retval = KRB5_RC_MALLOC;
        goto errout;
     }
-    
-    retval = krb5_rc_io_read (context, &t->d, (krb5_pointer) rep->server, len);
+
+    retval = krb5_rc_io_read(context, &t->d, (krb5_pointer) rep->server, len);
     if (retval)
        goto errout;
-    
-    retval = krb5_rc_io_read (context, &t->d, (krb5_pointer) &rep->cusec, sizeof(rep->cusec));
+
+    retval = krb5_rc_io_read(context, &t->d, (krb5_pointer) &rep->cusec,
+                            sizeof(rep->cusec));
     if (retval)
        goto errout;
-    
-    retval = krb5_rc_io_read (context, &t->d, (krb5_pointer) &rep->ctime, sizeof(rep->ctime));
+
+    retval = krb5_rc_io_read(context, &t->d, (krb5_pointer) &rep->ctime,
+                            sizeof(rep->ctime));
     if (retval)
        goto errout;
 
     return 0;
-    
+
 errout:
     if (rep->client)
        krb5_xfree(rep->client);
@@ -389,13 +372,11 @@ errout:
     rep->client = rep->server = 0;
     return retval;
 }
-    
+
 
 
 krb5_error_code KRB5_CALLCONV
-krb5_rc_dfl_recover(context, id)
-    krb5_context context;
-krb5_rcache id;
+krb5_rc_dfl_recover(krb5_context context, krb5_rcache id)
 {
 #ifdef NOIOSTUFF
     return KRB5_RC_NOIO;
@@ -411,11 +392,12 @@ krb5_rcache id;
        return retval;
 
     t->recovering = 1;
+
     max_size = krb5_rc_io_size(context, &t->d);
+
     rep = NULL;
-    if (krb5_rc_io_read(context, &t->d,(krb5_pointer) &t->lifespan,sizeof(t->lifespan))) {
+    if (krb5_rc_io_read(context, &t->d, (krb5_pointer) &t->lifespan,
+                       sizeof(t->lifespan))) {
        retval = KRB5_RC_IO;
        goto io_fail;
     }
@@ -433,19 +415,19 @@ krb5_rcache id;
            retval = KRB5_RC_IO;
            goto io_fail;
        }
-       
-       retval = krb5_rc_io_fetch (context, t, rep, (int) max_size);
+
+       retval = krb5_rc_io_fetch(context, t, rep, (int) max_size);
 
        if (retval == KRB5_RC_IO_EOF)
            break;
        else if (retval != 0)
            goto io_fail;
 
-       
-       if (alive(context, rep,t->lifespan) != CMP_EXPIRED) {
+
+       if (alive(context, rep, t->lifespan) != CMP_EXPIRED) {
            if (rc_store(context, id, rep) == CMP_MALLOC) {
                retval = KRB5_RC_MALLOC; goto io_fail;
-           } 
+           }
        } else {
            expired_entries++;
        }
@@ -471,25 +453,23 @@ io_fail:
        retval = krb5_rc_dfl_expunge(context, id);
     t->recovering = 0;
     return retval;
-    
+
 #endif
 }
 
 static krb5_error_code
-krb5_rc_io_store (context, t, rep)
-    krb5_context context;
-    struct dfl_data *t;
-    krb5_donot_replay *rep;
+krb5_rc_io_store(krb5_context context, struct dfl_data *t,
+                krb5_donot_replay *rep)
 {
     unsigned int clientlen, serverlen, len;
     char *buf, *ptr;
     krb5_error_code ret;
 
-    clientlen = strlen (rep->client) + 1;
-    serverlen = strlen (rep->server) + 1;
+    clientlen = strlen(rep->client) + 1;
+    serverlen = strlen(rep->server) + 1;
     len = sizeof(clientlen) + clientlen + sizeof(serverlen) + serverlen +
        sizeof(rep->cusec) + sizeof(rep->ctime);
-    buf = malloc (len);
+    buf = malloc(len);
     if (buf == 0)
        return KRB5_RC_MALLOC;
     ptr = buf;
@@ -506,31 +486,28 @@ krb5_rc_io_store (context, t, rep)
 }
 
 krb5_error_code KRB5_CALLCONV
-krb5_rc_dfl_store(context, id, rep)
-    krb5_context context;
-krb5_rcache id;
-krb5_donot_replay *rep;
+krb5_rc_dfl_store(krb5_context context, krb5_rcache id, krb5_donot_replay *rep)
 {
     krb5_error_code ret;
     struct dfl_data *t = (struct dfl_data *)id->data;
 
-    switch(rc_store(context, id,rep)) {
+    switch(rc_store(context, id, rep)) {
     case CMP_MALLOC:
-       return KRB5_RC_MALLOC; 
+       return KRB5_RC_MALLOC;
     case CMP_REPLAY:
-       return KRB5KRB_AP_ERR_REPEAT; 
+       return KRB5KRB_AP_ERR_REPEAT;
     case 0: break;
     default: /* wtf? */ ;
     }
 #ifndef NOIOSTUFF
-    ret = krb5_rc_io_store (context, t, rep);
+    ret = krb5_rc_io_store(context, t, rep);
     if (ret)
        return ret;
 #endif
- /* Shall we automatically expunge? */
- if (t->nummisses > t->numhits + EXCESSREPS)
   /* Shall we automatically expunge? */
   if (t->nummisses > t->numhits + EXCESSREPS)
     {
-   return krb5_rc_dfl_expunge(context, id);
+       return krb5_rc_dfl_expunge(context, id);
     }
 #ifndef NOIOSTUFF
     else
@@ -539,13 +516,11 @@ krb5_donot_replay *rep;
            return KRB5_RC_IO;
     }
 #endif
- return 0;
   return 0;
 }
 
 krb5_error_code KRB5_CALLCONV
-krb5_rc_dfl_expunge(context, id)
-    krb5_context context;
-krb5_rcache id;
+krb5_rc_dfl_expunge(krb5_context context, krb5_rcache id)
 {
     struct dfl_data *t = (struct dfl_data *)id->data;
 #ifdef NOIOSTUFF
@@ -555,24 +530,24 @@ krb5_rcache id;
     struct authlist *r;
     struct authlist *rt;
 
-    for (q = &t->a;*q;q = qt) {
+    for (q = &t->a; *q; q = qt) {
        qt = &(*q)->na;
-       if (alive(context, &(*q)->rep,t->lifespan) == CMP_EXPIRED) {
+       if (alive(context, &(*q)->rep, t->lifespan) == CMP_EXPIRED) {
            FREE((*q)->rep.client);
            FREE((*q)->rep.server);
            FREE(*q);
            *q = *qt; /* why doesn't this feel right? */
        }
     }
-    for (i = 0;i < t->hsize;i++)
+    for (i = 0; i < t->hsize; i++)
        t->h[i] = (struct authlist *) 0;
-    for (r = t->a;r;r = r->na) {
-       i = hash(&r->rep,t->hsize);
+    for (r = t->a; r; r = r->na) {
+       i = hash(&r->rep, t->hsize);
        rt = t->h[i];
        t->h[i] = r;
        r->nh = rt;
     }
-  
+
 #else
     struct authlist *q;
     char *name;
@@ -583,8 +558,8 @@ krb5_rcache id;
     if (! t->recovering) {
        name = t->name;
        t->name = 0;            /* Clear name so it isn't freed */
-        (void) krb5_rc_dfl_close_no_free(context, id);
-        retval = krb5_rc_dfl_resolve(context, id, name);
+       (void) krb5_rc_dfl_close_no_free(context, id);
+       retval = krb5_rc_dfl_resolve(context, id, name);
        free(name);
        if (retval)
            return retval;
@@ -606,15 +581,15 @@ krb5_rcache id;
     retval = krb5_rc_initialize(context, tmp, lifespan);
     if (retval)
        return retval;
-    for (q = t->a;q;q = q->na) {
-       if (krb5_rc_io_store (context, (struct dfl_data *)tmp->data, &q->rep))
+    for (q = t->a; q; q = q->na) {
+       if (krb5_rc_io_store(context, (struct dfl_data *)tmp->data, &q->rep))
            return KRB5_RC_IO;
     }
     if (krb5_rc_io_sync(context, &t->d))
        return KRB5_RC_IO;
     if (krb5_rc_io_move(context, &t->d, &((struct dfl_data *)tmp->data)->d))
        return KRB5_RC_IO;
-     (void) krb5_rc_dfl_close(context, tmp);
+    (void) krb5_rc_dfl_close(context, tmp);
 #endif
     return 0;
 }
index 8c7853eeb8d4bed49a04df62f63795f29b52e0dd..e9d566b34a24bb3b65cb1b3d6142279174f0c26a 100644 (file)
@@ -19,7 +19,7 @@
 
 #define KRB5_RC_VNO    0x0501          /* krb5, rcache v 1 */
 #define NEED_SOCKETS
-#define NEED_LOWLEVEL_IO         
+#define NEED_LOWLEVEL_IO
 
 #include <krb5.h>
 #include <stdio.h> /* for P_tmpdir */
@@ -36,7 +36,7 @@
 #include <netinet/in.h>
 #endif
 #else
- #error find some way to use net-byte-order file version numbers.
+#error find some way to use net-byte-order file version numbers.
 #endif
 
 #ifndef HAVE_ERRNO
@@ -55,195 +55,202 @@ static char *dir;
 
 #define GETDIR do { if (!dirlen) getdir(); } while(0)
 
-static void getdir()
+static void
+getdir()
 {
-   if (!(dir = getenv("KRB5RCACHEDIR")))
+    if (!(dir = getenv("KRB5RCACHEDIR"))) {
 #if defined(_MSDOS) || defined(_WIN32)
-     if (!(dir = getenv("TEMP")))
-        if (!(dir = getenv("TMP")))
-            dir = "C:";
+       if (!(dir = getenv("TEMP")))
+           if (!(dir = getenv("TMP")))
+               dir = "C:";
 #else
-     if (!(dir = getenv("TMPDIR")))
+       if (!(dir = getenv("TMPDIR"))) {
 #ifdef RCTMPDIR
-       dir = RCTMPDIR;
+           dir = RCTMPDIR;
 #else
-       dir = "/tmp";
+           dir = "/tmp";
 #endif
+       }
 #endif
-   dirlen = strlen(dir) + sizeof(PATH_SEPARATOR) - 1;
+    }
+    dirlen = strlen(dir) + sizeof(PATH_SEPARATOR) - 1;
 }
 
-krb5_error_code krb5_rc_io_creat (context, d, fn)
-    krb5_context context;
-    krb5_rc_iostuff *d;
-    char **fn;
+krb5_error_code
+krb5_rc_io_creat(krb5_context context, krb5_rc_iostuff *d, char **fn)
 {
- char *c;
- krb5_int16 rc_vno = htons(KRB5_RC_VNO);
- krb5_error_code retval;
-
- GETDIR;
- if (fn && *fn)
-  {
-   if (!(d->fn = malloc(strlen(*fn) + dirlen + 1)))
-     return KRB5_RC_IO_MALLOC;
-   (void) strcpy(d->fn,dir);
-   (void) strcat(d->fn,PATH_SEPARATOR);
-   (void) strcat(d->fn,*fn);
-   d->fd = THREEPARAMOPEN(d->fn,O_WRONLY | O_CREAT | O_TRUNC | O_EXCL | O_BINARY,0600);
-  }
- else
-  {
-      /* %d is max 11 digits (-, 10 digits of 32-bit number)
-        * 11 + /krb5_RC + aaa = 24, +6 for slop */
-   if (!(d->fn = malloc(30 + dirlen)))
-     return KRB5_RC_IO_MALLOC;
-   if (fn)
-     if (!(*fn = malloc(35)))
-      { FREE(d->fn); return KRB5_RC_IO_MALLOC; }
-   (void) sprintf(d->fn,"%s%skrb5_RC%d",dir,PATH_SEPARATOR, (int) UNIQUE);
-   c = d->fn + strlen(d->fn);
-   (void) strcpy(c,"aaa");
-   while ((d->fd = THREEPARAMOPEN(d->fn,O_WRONLY|O_CREAT|O_TRUNC|O_EXCL|O_BINARY,0600)) == -1)
+    char *c;
+    krb5_int16 rc_vno = htons(KRB5_RC_VNO);
+    krb5_error_code retval;
+
+    GETDIR;
+    if (fn && *fn)
     {
-     if ((c[2]++) == 'z')
-      {
-       c[2] = 'a';
-       if ((c[1]++) == 'z')
-       {
-         c[1] = 'a';
-         if ((c[0]++) == 'z')
-           break; /* sigh */
-        }
-      }
+       if (!(d->fn = malloc(strlen(*fn) + dirlen + 1)))
+           return KRB5_RC_IO_MALLOC;
+       (void) strcpy(d->fn, dir);
+       (void) strcat(d->fn, PATH_SEPARATOR);
+       (void) strcat(d->fn, *fn);
+       d->fd = THREEPARAMOPEN(d->fn, O_WRONLY | O_CREAT | O_TRUNC | O_EXCL |
+                              O_BINARY, 0600);
     }
-   if (fn)
-     (void) strcpy(*fn,d->fn + dirlen);
-  }
- if (d->fd == -1)
+    else
     {
-   switch(errno)
+       /* %d is max 11 digits (-, 10 digits of 32-bit number)
+        * 11 + /krb5_RC + aaa = 24, +6 for slop */
+       if (!(d->fn = malloc(30 + dirlen)))
+           return KRB5_RC_IO_MALLOC;
+       if (fn)
+           if (!(*fn = malloc(35))) {
+               FREE(d->fn);
+               return KRB5_RC_IO_MALLOC;
+           }
+       (void) sprintf(d->fn, "%s%skrb5_RC%d", dir, PATH_SEPARATOR,
+                      (int) UNIQUE);
+       c = d->fn + strlen(d->fn);
+       (void) strcpy(c, "aaa");
+       while ((d->fd = THREEPARAMOPEN(d->fn, O_WRONLY | O_CREAT | O_TRUNC |
+                                      O_EXCL | O_BINARY, 0600)) == -1)
+       {
+           if ((c[2]++) == 'z')
+           {
+               c[2] = 'a';
+               if ((c[1]++) == 'z')
+               {
+                   c[1] = 'a';
+                   if ((c[0]++) == 'z')
+                       break; /* sigh */
+               }
+           }
+       }
+       if (fn)
+           (void) strcpy(*fn, d->fn + dirlen);
+    }
+    if (d->fd == -1)
     {
-       case EFBIG: 
+       switch(errno)
+       {
+       case EFBIG:
 #ifdef EDQUOT
        case EDQUOT:
 #endif
-       case ENOSPC: 
-           retval = KRB5_RC_IO_SPACE; 
+       case ENOSPC:
+           retval = KRB5_RC_IO_SPACE;
            goto fail;
-       case EIO: 
-           retval = KRB5_RC_IO_IO; goto fail;
 
-       case EPERM: 
-       case EACCES: 
-       case EROFS: 
-       case EEXIST: 
-           retval = KRB5_RC_IO_PERM; goto no_unlink;
+       case EIO:
+           retval = KRB5_RC_IO_IO;
+           goto fail;
 
-       default: 
-           retval = KRB5_RC_IO_UNKNOWN; goto fail;
-    }
+       case EPERM:
+       case EACCES:
+       case EROFS:
+       case EEXIST:
+           retval = KRB5_RC_IO_PERM;
+           goto no_unlink;
+
+       default:
+           retval = KRB5_RC_IO_UNKNOWN;
+           goto fail;
+       }
     }
-    if ((retval = krb5_rc_io_write(context, d, (krb5_pointer)&rc_vno, sizeof(rc_vno))) ||
+    if ((retval = krb5_rc_io_write(context, d, (krb5_pointer)&rc_vno,
+                                  sizeof(rc_vno))) ||
        (retval = krb5_rc_io_sync(context, d)))
     {
     fail:
-     (void) unlink(d->fn);
+       (void) unlink(d->fn);
     no_unlink:
-     FREE(d->fn);
+       FREE(d->fn);
        d->fn = NULL;
-     (void) close(d->fd);
-     return retval;
- }
- return 0;
+       (void) close(d->fd);
+       return retval;
   }
   return 0;
 }
 
-krb5_error_code krb5_rc_io_open (context, d, fn)
-    krb5_context context;
-    krb5_rc_iostuff *d;
-    char *fn;
+krb5_error_code
+krb5_rc_io_open(krb5_context context, krb5_rc_iostuff *d, char *fn)
 {
- krb5_int16 rc_vno;
- krb5_error_code retval;
   krb5_int16 rc_vno;
   krb5_error_code retval;
 #ifndef NO_USERID
- struct stat statb;
   struct stat statb;
 #endif
 
- GETDIR;
- if (!(d->fn = malloc(strlen(fn) + dirlen + 1)))
-   return KRB5_RC_IO_MALLOC;
(void) strcpy(d->fn,dir);
(void) strcat(d->fn,PATH_SEPARATOR);
(void) strcat(d->fn,fn);
   GETDIR;
   if (!(d->fn = malloc(strlen(fn) + dirlen + 1)))
+       return KRB5_RC_IO_MALLOC;
   (void) strcpy(d->fn, dir);
   (void) strcat(d->fn, PATH_SEPARATOR);
   (void) strcat(d->fn, fn);
 
 #ifdef NO_USERID
d->fd = THREEPARAMOPEN(d->fn,O_RDWR | O_BINARY,0600);
   d->fd = THREEPARAMOPEN(d->fn, O_RDWR | O_BINARY, 0600);
 #else
- if ((d->fd = stat(d->fn, &statb)) != -1) {
-     uid_t me;
   if ((d->fd = stat(d->fn, &statb)) != -1) {
+       uid_t me;
 
-     me = geteuid();
-     /* must be owned by this user, to prevent some security problems with
+       me = geteuid();
+       /* must be owned by this user, to prevent some security problems with
         * other users modifying replay cache stufff */
-     if ((statb.st_uid != me) || ((statb.st_mode & S_IFMT) != S_IFREG)) {
-        FREE(d->fn);
-        return KRB5_RC_IO_PERM;
-     }
-     d->fd = THREEPARAMOPEN(d->fn,O_RDWR | O_BINARY,0600);
- }
+       if ((statb.st_uid != me) || ((statb.st_mode & S_IFMT) != S_IFREG)) {
+           FREE(d->fn);
+           return KRB5_RC_IO_PERM;
+       }
+       d->fd = THREEPARAMOPEN(d->fn, O_RDWR | O_BINARY, 0600);
   }
 #endif
- if (d->fd == -1) {
-   switch(errno)
-    {
-       case EFBIG: 
   if (d->fd == -1) {
+       switch(errno)
+       {
+       case EFBIG:
 #ifdef EDQUOT
        case EDQUOT:
 #endif
        case ENOSPC:
-           retval = KRB5_RC_IO_SPACE; 
+           retval = KRB5_RC_IO_SPACE;
            goto fail;
 
-       case EIO: 
-           retval = KRB5_RC_IO_IO; 
+       case EIO:
+           retval = KRB5_RC_IO_IO;
            goto fail;
 
-       case EPERM: 
+       case EPERM:
        case EACCES:
-       case EROFS: 
-           retval = KRB5_RC_IO_PERM; 
+       case EROFS:
+           retval = KRB5_RC_IO_PERM;
            goto fail;
 
-           default: 
-           retval = KRB5_RC_IO_UNKNOWN; 
+       default:
+           retval = KRB5_RC_IO_UNKNOWN;
            goto fail;
+       }
     }
- }
     if ((retval = krb5_rc_io_read(context, d, (krb5_pointer) &rc_vno,
                                  sizeof(rc_vno))))
        goto unlk;
 
 
-    if (ntohs(rc_vno) != KRB5_RC_VNO) 
+    if (ntohs(rc_vno) != KRB5_RC_VNO)
     {
        retval = KRB5_RCACHE_BADVNO;
     unlk:
        unlink(d->fn);
     fail:
-     (void) close(d->fd);
-     FREE(d->fn); 
+       (void) close(d->fd);
+       FREE(d->fn);
        d->fn = NULL;
-     return retval;
- }
- return 0;
+       return retval;
   }
   return 0;
 }
 
-krb5_error_code krb5_rc_io_move (context, new, old)
-    krb5_context context;
-    krb5_rc_iostuff *new;
-    krb5_rc_iostuff *old;
+krb5_error_code
+krb5_rc_io_move(krb5_context context, krb5_rc_iostuff *new,
+               krb5_rc_iostuff *old)
 {
     char *fn = NULL;
-
 #if defined(_MSDOS) || defined(_WIN32)
     /*
      * Work around provided by Tom Sanfilippo to work around poor
@@ -254,7 +261,7 @@ krb5_error_code krb5_rc_io_move (context, new, old)
     close(new->fd);
     unlink(new->fn);
     close(old->fd);
-    if (rename(old->fn,new->fn) == -1) /* MUST be atomic! */
+    if (rename(old->fn, new->fn) == -1) /* MUST be atomic! */
        return KRB5_RC_IO_UNKNOWN;
     fn = new->fn;
     new->fn = NULL;            /* avoid clobbering */
@@ -262,7 +269,7 @@ krb5_error_code krb5_rc_io_move (context, new, old)
     krb5_rc_io_open(context, new, fn);
     free(fn);
 #else
-    if (rename(old->fn,new->fn) == -1) /* MUST be atomic! */
+    if (rename(old->fn, new->fn) == -1) /* MUST be atomic! */
        return KRB5_RC_IO_UNKNOWN;
     fn = new->fn;
     new->fn = NULL;            /* avoid clobbering */
@@ -277,118 +284,109 @@ krb5_error_code krb5_rc_io_move (context, new, old)
     return 0;
 }
 
-krb5_error_code krb5_rc_io_write (context, d, buf, num)
-    krb5_context context;
-    krb5_rc_iostuff *d;
-    krb5_pointer buf;
-    unsigned int num;
+krb5_error_code
+krb5_rc_io_write(krb5_context context, krb5_rc_iostuff *d, krb5_pointer buf,
+                unsigned int num)
 {
if (write(d->fd,(char *) buf,num) == -1)
-   switch(errno)
-    {
-     case EBADF: return KRB5_RC_IO_UNKNOWN; 
-     case EFBIG: return KRB5_RC_IO_SPACE; 
   if (write(d->fd, (char *) buf, num) == -1)
+       switch(errno)
+       {
+       case EBADF: return KRB5_RC_IO_UNKNOWN;
+       case EFBIG: return KRB5_RC_IO_SPACE;
 #ifdef EDQUOT
-     case EDQUOT: return KRB5_RC_IO_SPACE; 
+       case EDQUOT: return KRB5_RC_IO_SPACE;
 #endif
-     case ENOSPC: return KRB5_RC_IO_SPACE; 
-     case EIO: return KRB5_RC_IO_IO; 
-     default: return KRB5_RC_IO_UNKNOWN; 
-    }
- return 0;
+       case ENOSPC: return KRB5_RC_IO_SPACE;
+       case EIO: return KRB5_RC_IO_IO;
+       default: return KRB5_RC_IO_UNKNOWN;
+       }
   return 0;
 }
 
-krb5_error_code krb5_rc_io_sync (context, d)
-    krb5_context context;
-    krb5_rc_iostuff *d;
+krb5_error_code
+krb5_rc_io_sync(
+    krb5_context context,
+    krb5_rc_iostuff *d
+    )
 {
 #if !defined(MSDOS_FILESYSTEM) && !defined(macintosh)
     if (fsync(d->fd) == -1) {
-      switch(errno)
-      {
-      case EBADF: return KRB5_RC_IO_UNKNOWN; 
-      case EIO: return KRB5_RC_IO_IO; 
-      default: return KRB5_RC_IO_UNKNOWN; 
-      }
+       switch(errno)
+       {
+       case EBADF: return KRB5_RC_IO_UNKNOWN;
+       case EIO: return KRB5_RC_IO_IO;
+       default: return KRB5_RC_IO_UNKNOWN;
+       }
     }
 #endif
     return 0;
 }
 
-krb5_error_code krb5_rc_io_read (context, d, buf, num)
-    krb5_context context;
-    krb5_rc_iostuff *d;
-    krb5_pointer buf;
-    unsigned int num;
+krb5_error_code
+krb5_rc_io_read(krb5_context context, krb5_rc_iostuff *d, krb5_pointer buf,
+               unsigned int num)
 {
- int count;
if ((count = read(d->fd,(char *) buf,num)) == -1)
-   switch(errno)
-    {
-     case EBADF: return KRB5_RC_IO_UNKNOWN; 
-     case EIO: return KRB5_RC_IO_IO; 
-     default: return KRB5_RC_IO_UNKNOWN; 
-    }
- if (count == 0)
-     return KRB5_RC_IO_EOF;
- return 0;
   int count;
   if ((count = read(d->fd, (char *) buf, num)) == -1)
+       switch(errno)
+       {
+       case EBADF: return KRB5_RC_IO_UNKNOWN;
+       case EIO: return KRB5_RC_IO_IO;
+       default: return KRB5_RC_IO_UNKNOWN;
+       }
   if (count == 0)
+       return KRB5_RC_IO_EOF;
   return 0;
 }
 
-krb5_error_code krb5_rc_io_close (context, d)
-    krb5_context context;
-    krb5_rc_iostuff *d;
+krb5_error_code
+krb5_rc_io_close(krb5_context context, krb5_rc_iostuff *d)
 {
- if (d->fn != NULL)
-   FREE(d->fn);
- d->fn = NULL;
- if (close(d->fd) == -1) /* can't happen */
-   return KRB5_RC_IO_UNKNOWN;
- return 0;
   if (d->fn != NULL)
+       FREE(d->fn);
   d->fn = NULL;
   if (close(d->fd) == -1) /* can't happen */
+       return KRB5_RC_IO_UNKNOWN;
   return 0;
 }
 
-krb5_error_code krb5_rc_io_destroy (context, d)
-    krb5_context context;
-    krb5_rc_iostuff *d;
+krb5_error_code
+krb5_rc_io_destroy(krb5_context context, krb5_rc_iostuff *d)
 {
- if (unlink(d->fn) == -1)
-   switch(errno)
-    {
-     case EBADF: return KRB5_RC_IO_UNKNOWN; 
-     case EIO: return KRB5_RC_IO_IO; 
-     case EPERM: return KRB5_RC_IO_PERM; 
-     case EBUSY: return KRB5_RC_IO_PERM; 
-     case EROFS: return KRB5_RC_IO_PERM; 
-     default: return KRB5_RC_IO_UNKNOWN; 
-    }
- return 0;
   if (unlink(d->fn) == -1)
+       switch(errno)
+       {
+       case EBADF: return KRB5_RC_IO_UNKNOWN;
+       case EIO: return KRB5_RC_IO_IO;
+       case EPERM: return KRB5_RC_IO_PERM;
+       case EBUSY: return KRB5_RC_IO_PERM;
+       case EROFS: return KRB5_RC_IO_PERM;
+       default: return KRB5_RC_IO_UNKNOWN;
+       }
   return 0;
 }
 
-krb5_error_code krb5_rc_io_mark (context, d)
-    krb5_context context;
-    krb5_rc_iostuff *d;
+krb5_error_code
+krb5_rc_io_mark(krb5_context context, krb5_rc_iostuff *d)
 {
d->mark = lseek(d->fd,(off_t) 0,SEEK_CUR); /* can't fail */
- return 0;
   d->mark = lseek(d->fd, (off_t) 0, SEEK_CUR); /* can't fail */
   return 0;
 }
 
-krb5_error_code krb5_rc_io_unmark (context, d)
-    krb5_context context;
-    krb5_rc_iostuff *d;
+krb5_error_code
+krb5_rc_io_unmark(krb5_context context, krb5_rc_iostuff *d)
 {
(void) lseek(d->fd,d->mark,SEEK_SET); /* if it fails, tough luck */
- return 0;
   (void) lseek(d->fd, d->mark, SEEK_SET); /* if it fails, tough luck */
   return 0;
 }
 
 long
-krb5_rc_io_size (context, d)
-    krb5_context context;
-    krb5_rc_iostuff *d;
+krb5_rc_io_size(krb5_context context, krb5_rc_iostuff *d)
 {
     struct stat statb;
-    
-    if (fstat (d->fd, &statb) == 0)
+
+    if (fstat(d->fd, &statb) == 0)
        return statb.st_size;
     else
        return 0;
 }
-    
index 54848b691cedd60a96bb41ae3e56bc6b999cfcae..7bfd2f070d86c36dd49c3390e315bb3921c17e42 100644 (file)
@@ -1,3 +1,11 @@
+2001-06-20  Ken Raeburn  <raeburn@mit.edu>
+
+       * request_tbl.c (ss_add_request_table): Delete unnecessary cast in
+       size arg to realloc.
+
+       * invocation.c (ss_delete_invocation): Delete unnecessary cast in
+       arg to free.
+
 2001-06-07  Ezra Peisach  <epeisach@mit.edu>
 
        * request_tbl.c (ss_add_request_table): Do not cast argument to
index c7cef4877b0b32f8ca667ccc2dc09d8a0bafaf33..5e1a2565bedcb4c12ea3d1e3a0b2b96a282006ce 100644 (file)
@@ -70,7 +70,7 @@ ss_delete_invocation(sci_idx)
 
        t = ss_info(sci_idx);
        free(t->prompt);
-       free((char *)t->rqt_tables);
+       free(t->rqt_tables);
        while(t->info_dirs[0] != (char *)NULL)
                ss_delete_info_dir(sci_idx, t->info_dirs[0], &ignored_code);
        free((char *)t->info_dirs);
index a9e751e31e1b031fa7f837463b60996a3605825c..46eb3a0ad7e795f2541dc755d0b6ecd0af998dfb 100644 (file)
@@ -25,7 +25,7 @@ ss_add_request_table(sci_idx, rqtbl_ptr, position, code_ptr)
        /* size == C subscript of NULL == #elements */
        size += 2;              /* new element, and NULL */
        info->rqt_tables = (ssrt **)realloc(info->rqt_tables,
-                                           (unsigned)size*sizeof(ssrt));
+                                           size*sizeof(ssrt));
        if (info->rqt_tables == (ssrt **)NULL) {
                *code_ptr = errno;
                return;