From liebman@gateway.la.zod.com Sat Apr 19 02:40:23 2003
Received: from fort-point-station.mit.edu (FORT-POINT-STATION.MIT.EDU [18.7.7.76]) by krbdev.mit.edu (8.9.3) with ESMTP
id CAA10861; Sat, 19 Apr 2003 02:40:23 -0400 (EDT)
Received: from gateway.la.zod.com (66-215-26-54.pas-mres.charterpipeline.net [66.215.26.54])
by fort-point-station.mit.edu (8.12.4/8.9.2) with ESMTP id h3J6eMfB023572
for <krb5-bugs@mit.edu>; Sat, 19 Apr 2003 02:40:22 -0400 (EDT)
Received: from gateway.la.zod.com (gateway.la.zod.com [127.0.0.1])
by gateway.la.zod.com (8.12.8/8.12.8) with ESMTP id h3J6eL8F013178
for <krb5-bugs@mit.edu>; Fri, 18 Apr 2003 23:40:21 -0700
Received: (from liebman@localhost)
by gateway.la.zod.com (8.12.8/8.12.8/Submit) id h3J6eL7P013176
for krb5-bugs@mit.edu; Fri, 18 Apr 2003 23:40:21 -0700
Date: Fri, 18 Apr 2003 23:40:21 -0700
From: "Christopher B. Liebman" <liebman@gateway.la.zod.com>
Message-Id: <200304190640.h3J6eL7P013176@gateway.la.zod.com>
To: krb5-bugs@mit.edu
Subject: patch for cygwin
To: krb5-bugs@mit.edu
Subject:
From: liebman
Reply-To: liebman
Cc:
X-send-pr-version: 3.99
issues renaming files that are open
diff -u -r krb5-1.2.8-dist/src/lib/krb4/in_tkt.c krb5-1.2.8/src/lib/krb4/in_tkt.c
--- krb5-1.2.8-dist/src/lib/krb4/in_tkt.c 2001-01-26 20:43:32.000000000 -0800
+++ krb5-1.2.8/src/lib/krb4/in_tkt.c 2003-04-18 21:45:36.000000000 -0700
@@ -35,6 +35,9 @@
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
+#ifdef __CYGWIN__
+#include <errno.h>
+#endif
extern int krb_debug;
diff -u -r krb5-1.2.8-dist/src/lib/krb4/send_to_kdc.c krb5-1.2.8/src/lib/krb4/send_to_kdc.c
--- krb5-1.2.8-dist/src/lib/krb4/send_to_kdc.c 2000-05-17 00:13:44.000000000 -0700
+++ krb5-1.2.8/src/lib/krb4/send_to_kdc.c 2003-04-18 21:15:46.000000000 -0700
@@ -18,7 +18,9 @@
#ifdef HAVE_SYS_SELECT_H
#include <sys/select.h>
#endif
-
+#ifdef __CYGWIN__
+#include <errno.h>
+#endif
#define S_AD_SZ sizeof(struct sockaddr_in)
#ifdef HAVE_STDLIB_H
diff -u -r krb5-1.2.8-dist/src/lib/krb5/rcache/rc_io.c krb5-1.2.8/src/lib/krb5/rcache/rc_io.c
--- krb5-1.2.8-dist/src/lib/krb5/rcache/rc_io.c 2001-10-29 17:21:32.000000000 -0800
+++ krb5-1.2.8/src/lib/krb5/rcache/rc_io.c 2003-04-18 21:15:46.000000000 -0700
@@ -262,6 +262,18 @@
krb5_rc_io_open(context, new, fn);
free(fn);
#else
+#ifdef __CYGWIN__
+ close(new->fd);
+/* unlink(new->fn);*/
+ close(old->fd);
+ if (rename(old->fn,new->fn) == -1) /* MUST be atomic! */
+ return KRB5_RC_IO_UNKNOWN;
+ fn = new->fn;
+ new->fn = NULL; /* avoid clobbering */
+ krb5_rc_io_close(context, new);
+ krb5_rc_io_open(context, new, fn);
+ free(fn);
+#else
if (rename(old->fn,new->fn) == -1) /* MUST be atomic! */
return KRB5_RC_IO_UNKNOWN;
fn = new->fn;
@@ -274,6 +286,7 @@
new->fd = dup(old->fd);
#endif
#endif
+#endif
return 0;
}
diff -u -r krb5-1.2.8-dist/src/util/ss/help.c krb5-1.2.8/src/util/ss/help.c
--- krb5-1.2.8-dist/src/util/ss/help.c 2000-05-01 08:53:38.000000000 -0700
+++ krb5-1.2.8/src/util/ss/help.c 2003-04-18 21:40:16.000000000 -0700
@@ -12,7 +12,11 @@
#include "ss_internal.h"
#include "copyright.h"
+#ifdef __CYGWIN__
+#include <errno.h>
+#else
extern int errno;
+#endif
void ss_help (argc, argv, sci_idx, info_ptr)
int argc;
diff -u -r krb5-1.2.8-dist/src/util/ss/pager.c krb5-1.2.8/src/util/ss/pager.c
--- krb5-1.2.8-dist/src/util/ss/pager.c 1995-04-27 09:41:16.000000000 -0700
+++ krb5-1.2.8/src/util/ss/pager.c 2003-04-18 21:15:46.000000000 -0700
@@ -17,7 +17,11 @@
static char MORE[] = "more";
extern char *_ss_pager_name;
extern char *getenv();
+#ifdef __CYGWIN__
+#include <errno.h>
+#else
extern int errno;
+#endif
/*
* this needs a *lot* of work....
diff -u -r krb5-1.2.8-dist/src/util/ss/parse.c krb5-1.2.8/src/util/ss/parse.c
--- krb5-1.2.8-dist/src/util/ss/parse.c 1994-08-18 13:48:42.000000000 -0700
+++ krb5-1.2.8/src/util/ss/parse.c 2003-04-18 21:15:46.000000000 -0700
@@ -6,7 +6,9 @@
#include "ss_internal.h"
#include "copyright.h"
-
+#ifdef __CYGWIN__
+#include <errno.h>
+#endif
enum parse_mode { WHITESPACE, TOKEN, QUOTED_STRING };
Received: from fort-point-station.mit.edu (FORT-POINT-STATION.MIT.EDU [18.7.7.76]) by krbdev.mit.edu (8.9.3) with ESMTP
id CAA10861; Sat, 19 Apr 2003 02:40:23 -0400 (EDT)
Received: from gateway.la.zod.com (66-215-26-54.pas-mres.charterpipeline.net [66.215.26.54])
by fort-point-station.mit.edu (8.12.4/8.9.2) with ESMTP id h3J6eMfB023572
for <krb5-bugs@mit.edu>; Sat, 19 Apr 2003 02:40:22 -0400 (EDT)
Received: from gateway.la.zod.com (gateway.la.zod.com [127.0.0.1])
by gateway.la.zod.com (8.12.8/8.12.8) with ESMTP id h3J6eL8F013178
for <krb5-bugs@mit.edu>; Fri, 18 Apr 2003 23:40:21 -0700
Received: (from liebman@localhost)
by gateway.la.zod.com (8.12.8/8.12.8/Submit) id h3J6eL7P013176
for krb5-bugs@mit.edu; Fri, 18 Apr 2003 23:40:21 -0700
Date: Fri, 18 Apr 2003 23:40:21 -0700
From: "Christopher B. Liebman" <liebman@gateway.la.zod.com>
Message-Id: <200304190640.h3J6eL7P013176@gateway.la.zod.com>
To: krb5-bugs@mit.edu
Subject: patch for cygwin
To: krb5-bugs@mit.edu
Subject:
From: liebman
Reply-To: liebman
Cc:
X-send-pr-version: 3.99
Show quoted text
>Submitter-Id: net
>Originator: Christopher B. Liebman
>Organization:
None>Originator: Christopher B. Liebman
>Organization:
Show quoted text
>Confidential: no
>Synopsis: patch to compile with cygwin
>Severity: non-critical
>Priority: low
>Category: krb5-misc
>Class: sw-bug
>Release: krb5-1.2.8
>Environment:
System: CYGWIN_NT-5.0 XYZZY 1.3.22(0.78/3/2) 2003-03-18 09:20 i686 unknown unknown Cygwin>Synopsis: patch to compile with cygwin
>Severity: non-critical
>Priority: low
>Category: krb5-misc
>Class: sw-bug
>Release: krb5-1.2.8
>Environment:
Show quoted text
>Description:
some compile problems relating to the definition of errno andissues renaming files that are open
Show quoted text
>How-To-Repeat:
compile on Windows under cygwinShow quoted text
>Fix:
diff -u -r krb5-1.2.8-dist/src/lib/krb4/in_tkt.c krb5-1.2.8/src/lib/krb4/in_tkt.c
--- krb5-1.2.8-dist/src/lib/krb4/in_tkt.c 2001-01-26 20:43:32.000000000 -0800
+++ krb5-1.2.8/src/lib/krb4/in_tkt.c 2003-04-18 21:45:36.000000000 -0700
@@ -35,6 +35,9 @@
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
+#ifdef __CYGWIN__
+#include <errno.h>
+#endif
extern int krb_debug;
diff -u -r krb5-1.2.8-dist/src/lib/krb4/send_to_kdc.c krb5-1.2.8/src/lib/krb4/send_to_kdc.c
--- krb5-1.2.8-dist/src/lib/krb4/send_to_kdc.c 2000-05-17 00:13:44.000000000 -0700
+++ krb5-1.2.8/src/lib/krb4/send_to_kdc.c 2003-04-18 21:15:46.000000000 -0700
@@ -18,7 +18,9 @@
#ifdef HAVE_SYS_SELECT_H
#include <sys/select.h>
#endif
-
+#ifdef __CYGWIN__
+#include <errno.h>
+#endif
#define S_AD_SZ sizeof(struct sockaddr_in)
#ifdef HAVE_STDLIB_H
diff -u -r krb5-1.2.8-dist/src/lib/krb5/rcache/rc_io.c krb5-1.2.8/src/lib/krb5/rcache/rc_io.c
--- krb5-1.2.8-dist/src/lib/krb5/rcache/rc_io.c 2001-10-29 17:21:32.000000000 -0800
+++ krb5-1.2.8/src/lib/krb5/rcache/rc_io.c 2003-04-18 21:15:46.000000000 -0700
@@ -262,6 +262,18 @@
krb5_rc_io_open(context, new, fn);
free(fn);
#else
+#ifdef __CYGWIN__
+ close(new->fd);
+/* unlink(new->fn);*/
+ close(old->fd);
+ if (rename(old->fn,new->fn) == -1) /* MUST be atomic! */
+ return KRB5_RC_IO_UNKNOWN;
+ fn = new->fn;
+ new->fn = NULL; /* avoid clobbering */
+ krb5_rc_io_close(context, new);
+ krb5_rc_io_open(context, new, fn);
+ free(fn);
+#else
if (rename(old->fn,new->fn) == -1) /* MUST be atomic! */
return KRB5_RC_IO_UNKNOWN;
fn = new->fn;
@@ -274,6 +286,7 @@
new->fd = dup(old->fd);
#endif
#endif
+#endif
return 0;
}
diff -u -r krb5-1.2.8-dist/src/util/ss/help.c krb5-1.2.8/src/util/ss/help.c
--- krb5-1.2.8-dist/src/util/ss/help.c 2000-05-01 08:53:38.000000000 -0700
+++ krb5-1.2.8/src/util/ss/help.c 2003-04-18 21:40:16.000000000 -0700
@@ -12,7 +12,11 @@
#include "ss_internal.h"
#include "copyright.h"
+#ifdef __CYGWIN__
+#include <errno.h>
+#else
extern int errno;
+#endif
void ss_help (argc, argv, sci_idx, info_ptr)
int argc;
diff -u -r krb5-1.2.8-dist/src/util/ss/pager.c krb5-1.2.8/src/util/ss/pager.c
--- krb5-1.2.8-dist/src/util/ss/pager.c 1995-04-27 09:41:16.000000000 -0700
+++ krb5-1.2.8/src/util/ss/pager.c 2003-04-18 21:15:46.000000000 -0700
@@ -17,7 +17,11 @@
static char MORE[] = "more";
extern char *_ss_pager_name;
extern char *getenv();
+#ifdef __CYGWIN__
+#include <errno.h>
+#else
extern int errno;
+#endif
/*
* this needs a *lot* of work....
diff -u -r krb5-1.2.8-dist/src/util/ss/parse.c krb5-1.2.8/src/util/ss/parse.c
--- krb5-1.2.8-dist/src/util/ss/parse.c 1994-08-18 13:48:42.000000000 -0700
+++ krb5-1.2.8/src/util/ss/parse.c 2003-04-18 21:15:46.000000000 -0700
@@ -6,7 +6,9 @@
#include "ss_internal.h"
#include "copyright.h"
-
+#ifdef __CYGWIN__
+#include <errno.h>
+#endif
enum parse_mode { WHITESPACE, TOKEN, QUOTED_STRING };