Use Windows path separator, if appropriate. Under Windows also use
authorTheodore Tso <tytso@mit.edu>
Sat, 24 Feb 1996 23:55:04 +0000 (23:55 +0000)
committerTheodore Tso <tytso@mit.edu>
Sat, 24 Feb 1996 23:55:04 +0000 (23:55 +0000)
the environment variables TEMP and TMP for the replay cache.

git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@7526 dc483132-0cff-0310-8789-dd5450dbe970

src/lib/krb5/rcache/ChangeLog
src/lib/krb5/rcache/rc_io.c

index a4201c0830763c9ebd05ff6b35527178536c5198..df2c6d9e871a75c27972de94508e3d24e38849b0 100644 (file)
@@ -1,3 +1,9 @@
+Sat Feb 24 18:53:33 1996  Theodore Y. Ts'o  <tytso@dcl>
+
+       * rc_io.c (krb5_rc_io_creat, krb5_rc_io_open): Use Windows path
+               separator, if appropriate.  Under Windows also use the
+               environment variables TEMP and TMP for the replay cache.
+
 Fri Dec  1 17:07:24 1995  Theodore Y. Ts'o  <tytso@dcl>
 
        * rc_io.c (krb5_rc_io_creat): In case of permission problems,
index fa0bdc0aee7f561008aed194f4883e1afbee32e4..dd5d8e73a963cb710db66d41eabecbbcc3c207c0 100644 (file)
  * I/O functions for the replay cache default implementation.
  */
 
+#ifdef _WINDOWS
+#  define PATH_SEPARATOR "\\"
+#else
+#  define PATH_SEPARATOR "/"
+#endif
 
 #define KRB5_RC_VNO    0x0501          /* krb5, rcache v 1 */
 #define NEED_SOCKETS
@@ -55,11 +60,17 @@ static void getdir()
  if (!dirlen)
   {
    if (!(dir = getenv("KRB5RCACHEDIR")))
+#ifdef _WINDOWS
+     if (!(dir = getenv("TEMP")))
+        if (!(dir = getenv("TMP")))
+            dir = "C:\\";
+#else
      if (!(dir = getenv("TMPDIR")))
 #ifdef RCTMPDIR
        dir = RCTMPDIR;
 #else
        dir = "/tmp";
+#endif
 #endif
    dirlen = strlen(dir) + 1;
   }
@@ -80,7 +91,7 @@ krb5_error_code krb5_rc_io_creat (context, d, fn)
    if (!(d->fn = malloc(strlen(*fn) + dirlen + 1)))
      return KRB5_RC_IO_MALLOC;
    (void) strcpy(d->fn,dir);
-   (void) strcat(d->fn,"/");
+   (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);
   }
@@ -93,7 +104,7 @@ krb5_error_code krb5_rc_io_creat (context, d, fn)
    if (fn)
      if (!(*fn = malloc(35)))
       { FREE(d->fn); return KRB5_RC_IO_MALLOC; }
-   (void) sprintf(d->fn,"%s/krb5_RC%d",dir,UNIQUE);
+   (void) sprintf(d->fn,"%s%skrb5_RC%d",dir,PATH_SEPARATOR,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)
@@ -165,7 +176,7 @@ krb5_error_code krb5_rc_io_open (context, d, fn)
  if (!(d->fn = malloc(strlen(fn) + dirlen + 1)))
    return KRB5_RC_IO_MALLOC;
  (void) strcpy(d->fn,dir);
- (void) strcat(d->fn,"/");
+ (void) strcat(d->fn,PATH_SEPARATOR);
  (void) strcat(d->fn,fn);
 
 #ifdef NO_USERID