components/krb5/patches/051-fopenF.patch
changeset 5490 9bf0bc57423a
child 5969 96bac9fbcfbd
equal deleted inserted replaced
5489:a5031bb8b66d 5490:9bf0bc57423a
       
     1 #
       
     2 # Modifies calls to fopen() to add 'F' flag so 32bit binaries can open > 256
       
     3 # file descriptors at once.
       
     4 #
       
     5 # MIT said they would take this patch however there has been talk of modifying
       
     6 # fopen() for 32bit apps to extend the number of fds so this patch will not be
       
     7 # submitted to MIT until this is resolved in ON.
       
     8 # Patch source: in-house
       
     9 #
       
    10 diff -ur krb5-1.13.2/src/appl/gss-sample/gss-server.c krb5-1.13.2.fopen/src/appl/gss-sample/gss-server.c
       
    11 --- krb5-1.13.2/src/appl/gss-sample/gss-server.c	2015-05-08 18:27:02.000000000 -0500
       
    12 +++ krb5-1.13.2.fopen/src/appl/gss-sample/gss-server.c	2015-08-11 13:52:42.455625831 -0500
       
    13 @@ -699,7 +699,7 @@
       
    14              if (!strcmp(*argv, "/dev/null")) {
       
    15                  logfile = display_file = NULL;
       
    16              } else {
       
    17 -                logfile = fopen(*argv, "a");
       
    18 +                logfile = fopen(*argv, "aF");
       
    19                  display_file = logfile;
       
    20                  if (!logfile) {
       
    21                      perror(*argv);
       
    22 diff -ur krb5-1.13.2/src/clients/ksu/authorization.c krb5-1.13.2.fopen/src/clients/ksu/authorization.c
       
    23 --- krb5-1.13.2/src/clients/ksu/authorization.c	2015-05-08 18:27:02.000000000 -0500
       
    24 +++ krb5-1.13.2.fopen/src/clients/ksu/authorization.c	2015-08-11 13:46:50.985382622 -0500
       
    25 @@ -100,7 +100,7 @@
       
    26  
       
    27      /* k5login and k5users must be owned by target user or root */
       
    28      if (!k5login_flag){
       
    29 -        if ((login_fp = fopen(k5login_path, "r")) == NULL)
       
    30 +        if ((login_fp = fopen(k5login_path, "rF")) == NULL)
       
    31              return 0;
       
    32          if ( fowner(login_fp, pwd->pw_uid) == FALSE) {
       
    33              fclose(login_fp);
       
    34 @@ -109,7 +109,7 @@
       
    35      }
       
    36  
       
    37      if (!k5users_flag){
       
    38 -        if ((users_fp = fopen(k5users_path, "r")) == NULL) {
       
    39 +        if ((users_fp = fopen(k5users_path, "rF")) == NULL) {
       
    40              return 0;
       
    41          }
       
    42          if ( fowner(users_fp, pwd->pw_uid) == FALSE){
       
    43 diff -ur krb5-1.13.2/src/clients/ksu/ccache.c krb5-1.13.2.fopen/src/clients/ksu/ccache.c
       
    44 --- krb5-1.13.2/src/clients/ksu/ccache.c	2015-05-08 18:27:02.000000000 -0500
       
    45 +++ krb5-1.13.2.fopen/src/clients/ksu/ccache.c	2015-08-11 13:27:17.131920647 -0500
       
    46 @@ -375,7 +375,7 @@
       
    47  
       
    48  
       
    49      /* open ~/.k5login */
       
    50 -    if ((fp = fopen(pbuf, "r")) == NULL) {
       
    51 +    if ((fp = fopen(pbuf, "rF")) == NULL) {
       
    52          return 0;
       
    53      }
       
    54      /*
       
    55 diff -ur krb5-1.13.2/src/clients/ksu/heuristic.c krb5-1.13.2.fopen/src/clients/ksu/heuristic.c
       
    56 --- krb5-1.13.2/src/clients/ksu/heuristic.c	2015-05-08 18:27:02.000000000 -0500
       
    57 +++ krb5-1.13.2.fopen/src/clients/ksu/heuristic.c	2015-08-11 13:53:18.318187882 -0500
       
    58 @@ -222,7 +222,7 @@
       
    59      k5users_flag = stat(k5users_path, &tb);
       
    60  
       
    61      if (!k5login_flag){
       
    62 -        if ((login_fp = fopen(k5login_path, "r")) == NULL)
       
    63 +        if ((login_fp = fopen(k5login_path, "rF")) == NULL)
       
    64              return 0;
       
    65          if ( fowner(login_fp, pwd->pw_uid) == FALSE){
       
    66              close_time(1 /*k5users_flag*/, (FILE *) 0 /*users_fp*/,
       
    67 @@ -231,7 +231,7 @@
       
    68          }
       
    69      }
       
    70      if (!k5users_flag){
       
    71 -        if ((users_fp = fopen(k5users_path, "r")) == NULL)
       
    72 +        if ((users_fp = fopen(k5users_path, "rF")) == NULL)
       
    73              return 0;
       
    74  
       
    75          if ( fowner(users_fp, pwd->pw_uid) == FALSE){
       
    76 diff -ur krb5-1.13.2/src/kadmin/dbutil/dump.c krb5-1.13.2.fopen/src/kadmin/dbutil/dump.c
       
    77 --- krb5-1.13.2/src/kadmin/dbutil/dump.c	2015-05-08 18:27:02.000000000 -0500
       
    78 +++ krb5-1.13.2.fopen/src/kadmin/dbutil/dump.c	2015-08-11 13:41:07.987791713 -0500
       
    79 @@ -1195,7 +1195,7 @@
       
    80      char buf[BUFSIZ];
       
    81      FILE *f;
       
    82  
       
    83 -    f = fopen(ifile, "r");
       
    84 +    f = fopen(ifile, "rF");
       
    85      if (f == NULL)
       
    86          return 0;              /* aliasing other errors to ENOENT here is OK */
       
    87  
       
    88 @@ -1517,7 +1517,7 @@
       
    89  
       
    90      /* Open the dumpfile. */
       
    91      if (dumpfile != NULL) {
       
    92 -        f = fopen(dumpfile, "r");
       
    93 +        f = fopen(dumpfile, "rF");
       
    94          if (f == NULL) {
       
    95              com_err(progname, errno, _("while opening %s"), dumpfile);
       
    96              goto error;
       
    97 diff -ur krb5-1.13.2/src/kadmin/server/ovsec_kadmd.c krb5-1.13.2.fopen/src/kadmin/server/ovsec_kadmd.c
       
    98 --- krb5-1.13.2/src/kadmin/server/ovsec_kadmd.c	2015-08-11 14:09:05.551255648 -0500
       
    99 +++ krb5-1.13.2.fopen/src/kadmin/server/ovsec_kadmd.c	2015-08-11 13:45:04.700855296 -0500
       
   100 @@ -126,7 +126,7 @@
       
   101      unsigned long pid;
       
   102      int st1, st2;
       
   103  
       
   104 -    file = fopen(pid_file, "w");
       
   105 +    file = fopen(pid_file, "wF");
       
   106      if (file == NULL)
       
   107          return errno;
       
   108      pid = (unsigned long)getpid();
       
   109 diff -ur krb5-1.13.2/src/kdc/main.c krb5-1.13.2.fopen/src/kdc/main.c
       
   110 --- krb5-1.13.2/src/kdc/main.c	2015-08-11 14:09:05.788213288 -0500
       
   111 +++ krb5-1.13.2.fopen/src/kdc/main.c	2015-08-11 13:40:50.652078819 -0500
       
   112 @@ -859,7 +859,7 @@
       
   113      FILE *file;
       
   114      unsigned long pid;
       
   115  
       
   116 -    file = fopen(path, "w");
       
   117 +    file = fopen(path, "wF");
       
   118      if (file == NULL)
       
   119          return errno;
       
   120      pid = (unsigned long) getpid();
       
   121 diff -ur krb5-1.13.2/src/lib/gssapi/generic/util_errmap.c krb5-1.13.2.fopen/src/lib/gssapi/generic/util_errmap.c
       
   122 --- krb5-1.13.2/src/lib/gssapi/generic/util_errmap.c	2015-05-08 18:27:02.000000000 -0500
       
   123 +++ krb5-1.13.2.fopen/src/lib/gssapi/generic/util_errmap.c	2015-08-11 13:44:48.732993167 -0500
       
   124 @@ -176,7 +176,7 @@
       
   125  
       
   126  #ifdef DEBUG
       
   127      FILE *f;
       
   128 -    f = fopen("/dev/pts/9", "w+");
       
   129 +    f = fopen("/dev/pts/9", "w+F");
       
   130      if (f == NULL)
       
   131          f = stderr;
       
   132  #endif
       
   133 diff -ur krb5-1.13.2/src/lib/gssapi/mechglue/g_initialize.c krb5-1.13.2.fopen/src/lib/gssapi/mechglue/g_initialize.c
       
   134 --- krb5-1.13.2/src/lib/gssapi/mechglue/g_initialize.c	2015-08-11 14:09:05.250949351 -0500
       
   135 +++ krb5-1.13.2.fopen/src/lib/gssapi/mechglue/g_initialize.c	2015-08-11 13:38:16.832678845 -0500
       
   136 @@ -1357,7 +1357,7 @@
       
   137  	char buffer[BUFSIZ], *oidStr;
       
   138  	FILE *confFile;
       
   139  
       
   140 -	if ((confFile = fopen(fileName, "r")) == NULL) {
       
   141 +	if ((confFile = fopen(fileName, "rF")) == NULL) {
       
   142  		return;
       
   143  	}
       
   144  
       
   145 diff -ur krb5-1.13.2/src/lib/kadm5/logger.c krb5-1.13.2.fopen/src/lib/kadm5/logger.c
       
   146 --- krb5-1.13.2/src/lib/kadm5/logger.c	2015-08-11 14:09:05.365604955 -0500
       
   147 +++ krb5-1.13.2.fopen/src/lib/kadm5/logger.c	2015-08-11 13:50:11.011871109 -0500
       
   148 @@ -567,7 +567,7 @@
       
   149                      if (cp[4] == ':' || cp[4] == '=') {
       
   150                          /* Solaris Kerberos */
       
   151                          log_control.log_entries[i].lfu_fopen_mode =
       
   152 -                            (cp[4] == ':') ? "a" : "w";
       
   153 +                            (cp[4] == ':') ? "aF" : "wF";
       
   154                          old_umask = umask(077);
       
   155                          f = fopen(&cp[5],
       
   156                                    log_control.log_entries[i].lfu_fopen_mode);
       
   157 @@ -802,7 +802,7 @@
       
   158                   */
       
   159                  else if (!strcasecmp(cp, "CONSOLE")) {
       
   160                      log_control.log_entries[i].ldu_filep =
       
   161 -                        CONSOLE_OPEN("a+");
       
   162 +                        CONSOLE_OPEN("a+F");
       
   163                      if (log_control.log_entries[i].ldu_filep) {
       
   164                          set_cloexec_file(log_control.log_entries[i].ldu_filep);
       
   165                          log_control.log_entries[i].log_type = K_LOG_CONSOLE;
       
   166 @@ -818,7 +818,7 @@
       
   167                       */
       
   168                      if (cp[6] == '=') {
       
   169                          log_control.log_entries[i].ldu_filep =
       
   170 -                            DEVICE_OPEN(&cp[7], "w");
       
   171 +                            DEVICE_OPEN(&cp[7], "wF");
       
   172                          if (log_control.log_entries[i].ldu_filep) {
       
   173                              set_cloexec_file(log_control.log_entries[i].ldu_filep);
       
   174                              log_control.log_entries[i].log_type = K_LOG_DEVICE;
       
   175 @@ -1157,7 +1157,7 @@
       
   176               * In case the old logfile did not get moved out of the
       
   177               * way, open for append to prevent squashing the old logs.
       
   178               */
       
   179 -            f = fopen(log_control.log_entries[lindex].lfu_fname, "a+");
       
   180 +            f = fopen(log_control.log_entries[lindex].lfu_fname, "a+F");
       
   181              if (f) {
       
   182                  set_cloexec_file(f);
       
   183                  log_control.log_entries[lindex].lfu_filep = f;
       
   184 diff -ur krb5-1.13.2/src/lib/kadm5/srv/server_acl.c krb5-1.13.2.fopen/src/lib/kadm5/srv/server_acl.c
       
   185 --- krb5-1.13.2/src/lib/kadm5/srv/server_acl.c	2015-08-11 14:09:05.702364340 -0500
       
   186 +++ krb5-1.13.2.fopen/src/lib/kadm5/srv/server_acl.c	2015-08-11 13:38:00.105075682 -0500
       
   187 @@ -496,7 +496,7 @@
       
   188  
       
   189      DPRINT(DEBUG_CALLS, acl_debug_level, ("* kadm5int_acl_load_acl_file()\n"));
       
   190      /* Open the ACL file for read */
       
   191 -    afp = fopen(acl_acl_file, "r");
       
   192 +    afp = fopen(acl_acl_file, "rF");
       
   193      if (afp) {
       
   194          set_cloexec_file(afp);
       
   195          alineno = 1;
       
   196 diff -ur krb5-1.13.2/src/lib/kdb/kdb_default.c krb5-1.13.2.fopen/src/lib/kdb/kdb_default.c
       
   197 --- krb5-1.13.2/src/lib/kdb/kdb_default.c	2015-05-08 18:27:02.000000000 -0500
       
   198 +++ krb5-1.13.2.fopen/src/lib/kdb/kdb_default.c	2015-08-11 13:39:37.134237942 -0500
       
   199 @@ -251,9 +251,9 @@
       
   200      FILE *kf = NULL;
       
   201  
       
   202  #ifdef ANSI_STDIO
       
   203 -    if (!(kf = fopen(keyfile, "rb")))
       
   204 +    if (!(kf = fopen(keyfile, "rbF")))
       
   205  #else
       
   206 -        if (!(kf = fopen(keyfile, "r")))
       
   207 +        if (!(kf = fopen(keyfile, "rF")))
       
   208  #endif
       
   209              return KRB5_KDB_CANTREAD_STORED;
       
   210      set_cloexec_file(kf);
       
   211 diff -ur krb5-1.13.2/src/lib/krb5/ccache/cc_dir.c krb5-1.13.2.fopen/src/lib/krb5/ccache/cc_dir.c
       
   212 --- krb5-1.13.2/src/lib/krb5/ccache/cc_dir.c	2015-05-08 18:27:02.000000000 -0500
       
   213 +++ krb5-1.13.2.fopen/src/lib/krb5/ccache/cc_dir.c	2015-08-11 13:41:24.435225067 -0500
       
   214 @@ -153,7 +153,7 @@
       
   215      *residual_out = NULL;
       
   216  
       
   217      /* Open the file and read its first line. */
       
   218 -    fp = fopen(primary_path, "r");
       
   219 +    fp = fopen(primary_path, "rF");
       
   220      if (fp == NULL)
       
   221          return ENOENT;
       
   222      ret = fgets(buf, sizeof(buf), fp);
       
   223 diff -ur krb5-1.13.2/src/lib/krb5/ccache/ccselect_k5identity.c krb5-1.13.2.fopen/src/lib/krb5/ccache/ccselect_k5identity.c
       
   224 --- krb5-1.13.2/src/lib/krb5/ccache/ccselect_k5identity.c	2015-05-08 18:27:02.000000000 -0500
       
   225 +++ krb5-1.13.2.fopen/src/lib/krb5/ccache/ccselect_k5identity.c	2015-08-11 13:26:23.773323178 -0500
       
   226 @@ -168,7 +168,7 @@
       
   227      free(homedir);
       
   228      if (ret)
       
   229          return ret;
       
   230 -    fp = fopen(filename, "r");
       
   231 +    fp = fopen(filename, "rF");
       
   232      free(filename);
       
   233      if (fp == NULL)
       
   234          return KRB5_PLUGIN_NO_HANDLE;
       
   235 diff -ur krb5-1.13.2/src/lib/krb5/keytab/kt_file.c krb5-1.13.2.fopen/src/lib/krb5/keytab/kt_file.c
       
   236 --- krb5-1.13.2/src/lib/krb5/keytab/kt_file.c	2015-08-11 14:09:05.422898949 -0500
       
   237 +++ krb5-1.13.2.fopen/src/lib/krb5/keytab/kt_file.c	2015-08-11 13:39:18.503152692 -0500
       
   238 @@ -1022,11 +1022,11 @@
       
   239  #define krb5_kt_default_vno ((krb5_kt_vno)KRB5_KT_DEFAULT_VNO)
       
   240  
       
   241  #ifdef ANSI_STDIO
       
   242 -static char *const fopen_mode_rbplus= "rb+";
       
   243 -static char *const fopen_mode_rb = "rb";
       
   244 +static char *const fopen_mode_rbplus= "rb+F";
       
   245 +static char *const fopen_mode_rb = "rbF";
       
   246  #else
       
   247 -static char *const fopen_mode_rbplus= "r+";
       
   248 -static char *const fopen_mode_rb = "r";
       
   249 +static char *const fopen_mode_rbplus= "r+F";
       
   250 +static char *const fopen_mode_rb = "rF";
       
   251  #endif
       
   252  
       
   253  static krb5_error_code
       
   254 diff -ur krb5-1.13.2/src/lib/krb5/keytab/kt_srvtab.c krb5-1.13.2.fopen/src/lib/krb5/keytab/kt_srvtab.c
       
   255 --- krb5-1.13.2/src/lib/krb5/keytab/kt_srvtab.c	2015-05-08 18:27:02.000000000 -0500
       
   256 +++ krb5-1.13.2.fopen/src/lib/krb5/keytab/kt_srvtab.c	2015-08-11 13:36:28.107510825 -0500
       
   257 @@ -342,9 +342,9 @@
       
   258  #include <stdio.h>
       
   259  
       
   260  #ifdef ANSI_STDIO
       
   261 -#define         READ_MODE       "rb"
       
   262 +#define         READ_MODE       "rbF"
       
   263  #else
       
   264 -#define         READ_MODE       "r"
       
   265 +#define         READ_MODE       "rF"
       
   266  #endif
       
   267  
       
   268  /* The maximum sizes for V4 aname, realm, sname, and instance +1 */
       
   269 diff -ur krb5-1.13.2/src/lib/krb5/os/localaddr.c krb5-1.13.2.fopen/src/lib/krb5/os/localaddr.c
       
   270 --- krb5-1.13.2/src/lib/krb5/os/localaddr.c	2015-05-08 18:27:02.000000000 -0500
       
   271 +++ krb5-1.13.2.fopen/src/lib/krb5/os/localaddr.c	2015-08-11 13:40:00.997639967 -0500
       
   272 @@ -368,7 +368,7 @@
       
   273      FILE *f;
       
   274  
       
   275      /* _PATH_PROCNET_IFINET6 */
       
   276 -    f = fopen("/proc/net/if_inet6", "r");
       
   277 +    f = fopen("/proc/net/if_inet6", "rF");
       
   278      if (f) {
       
   279          char ifname[21];
       
   280          unsigned int idx, pfxlen, scope, dadstat;
       
   281 diff -ur krb5-1.13.2/src/lib/krb5/os/localauth_k5login.c krb5-1.13.2.fopen/src/lib/krb5/os/localauth_k5login.c
       
   282 --- krb5-1.13.2/src/lib/krb5/os/localauth_k5login.c	2015-05-08 18:27:02.000000000 -0500
       
   283 +++ krb5-1.13.2.fopen/src/lib/krb5/os/localauth_k5login.c	2015-08-11 13:45:18.115959001 -0500
       
   284 @@ -116,7 +116,7 @@
       
   285      if (ret)
       
   286          goto cleanup;
       
   287  
       
   288 -    fp = fopen(filename, "r");
       
   289 +    fp = fopen(filename, "rF");
       
   290      if (fp == NULL) {
       
   291          ret = errno;
       
   292          goto cleanup;
       
   293 diff -ur krb5-1.13.2/src/lib/krb5/rcache/t_replay.c krb5-1.13.2.fopen/src/lib/krb5/rcache/t_replay.c
       
   294 --- krb5-1.13.2/src/lib/krb5/rcache/t_replay.c	2015-05-08 18:27:02.000000000 -0500
       
   295 +++ krb5-1.13.2.fopen/src/lib/krb5/rcache/t_replay.c	2015-08-11 13:45:29.971685638 -0500
       
   296 @@ -66,7 +66,7 @@
       
   297      krb5_int32 usec;
       
   298      krb5_timestamp timestamp;
       
   299  
       
   300 -    fp = fopen(filename, "r");
       
   301 +    fp = fopen(filename, "rF");
       
   302      if (!fp) {
       
   303          fprintf(stderr, "Can't open filename: %s\n", strerror(errno));
       
   304          return;
       
   305 diff -ur krb5-1.13.2/src/lib/krb5/unicode/ucdata/ucdata.c krb5-1.13.2.fopen/src/lib/krb5/unicode/ucdata/ucdata.c
       
   306 --- krb5-1.13.2/src/lib/krb5/unicode/ucdata/ucdata.c	2015-05-08 18:27:02.000000000 -0500
       
   307 +++ krb5-1.13.2.fopen/src/lib/krb5/unicode/ucdata/ucdata.c	2015-08-11 13:43:57.692003927 -0500
       
   308 @@ -156,7 +156,7 @@
       
   309          _ucprop_size = 0;
       
   310      }
       
   311  
       
   312 -    if ((in = _ucopenfile(paths, "ctype.dat", "rb")) == 0)
       
   313 +    if ((in = _ucopenfile(paths, "ctype.dat", "rbF")) == 0)
       
   314        return -1;
       
   315  
       
   316      /*
       
   317 @@ -337,7 +337,7 @@
       
   318          _uccase_size = 0;
       
   319      }
       
   320  
       
   321 -    if ((in = _ucopenfile(paths, "case.dat", "rb")) == 0)
       
   322 +    if ((in = _ucopenfile(paths, "case.dat", "rbF")) == 0)
       
   323        return -1;
       
   324  
       
   325      /*
       
   326 @@ -532,7 +532,7 @@
       
   327          _uccomp_size = 0;
       
   328      }
       
   329  
       
   330 -    if ((in = _ucopenfile(paths, "comp.dat", "rb")) == 0)
       
   331 +    if ((in = _ucopenfile(paths, "comp.dat", "rbF")) == 0)
       
   332          return -1;
       
   333  
       
   334      /*
       
   335 @@ -730,7 +730,7 @@
       
   336          _ucdcmp_size = 0;
       
   337      }
       
   338  
       
   339 -    if ((in = _ucopenfile(paths, "decomp.dat", "rb")) == 0)
       
   340 +    if ((in = _ucopenfile(paths, "decomp.dat", "rbF")) == 0)
       
   341          return -1;
       
   342  
       
   343      /*
       
   344 @@ -785,7 +785,7 @@
       
   345          _uckdcmp_size = 0;
       
   346      }
       
   347  
       
   348 -    if ((in = _ucopenfile(paths, "kdecomp.dat", "rb")) == 0)
       
   349 +    if ((in = _ucopenfile(paths, "kdecomp.dat", "rbF")) == 0)
       
   350          return -1;
       
   351  
       
   352      /*
       
   353 @@ -1042,7 +1042,7 @@
       
   354          _uccmcl_size = 0;
       
   355      }
       
   356  
       
   357 -    if ((in = _ucopenfile(paths, "cmbcl.dat", "rb")) == 0)
       
   358 +    if ((in = _ucopenfile(paths, "cmbcl.dat", "rbF")) == 0)
       
   359          return -1;
       
   360  
       
   361      /*
       
   362 @@ -1138,7 +1138,7 @@
       
   363          _ucnum_size = 0;
       
   364      }
       
   365  
       
   366 -    if ((in = _ucopenfile(paths, "num.dat", "rb")) == 0)
       
   367 +    if ((in = _ucopenfile(paths, "num.dat", "rbF")) == 0)
       
   368        return -1;
       
   369  
       
   370      /*
       
   371 diff -ur krb5-1.13.2/src/lib/krb5/unicode/ucdata/ucgendat.c krb5-1.13.2.fopen/src/lib/krb5/unicode/ucdata/ucgendat.c
       
   372 --- krb5-1.13.2/src/lib/krb5/unicode/ucdata/ucgendat.c	2015-05-08 18:27:02.000000000 -0500
       
   373 +++ krb5-1.13.2.fopen/src/lib/krb5/unicode/ucdata/ucgendat.c	2015-08-11 13:51:21.938013410 -0500
       
   374 @@ -1296,14 +1296,14 @@
       
   375       * Open the output file.
       
   376       */
       
   377      snprintf(path, sizeof path, "%s" LDAP_DIRSEP "uctable.h", opath);
       
   378 -    if ((out = fopen(path, "w")) == 0)
       
   379 +    if ((out = fopen(path, "wF")) == 0)
       
   380        return;
       
   381  #else
       
   382      /*
       
   383       * Open the ctype.dat file.
       
   384       */
       
   385      snprintf(path, sizeof path, "%s" LDAP_DIRSEP "ctype.dat", opath);
       
   386 -    if ((out = fopen(path, "wb")) == 0)
       
   387 +    if ((out = fopen(path, "wbF")) == 0)
       
   388        return;
       
   389  #endif
       
   390  
       
   391 @@ -1436,7 +1436,7 @@
       
   392       * Open the case.dat file.
       
   393       */
       
   394      snprintf(path, sizeof path, "%s" LDAP_DIRSEP "case.dat", opath);
       
   395 -    if ((out = fopen(path, "wb")) == 0)
       
   396 +    if ((out = fopen(path, "wbF")) == 0)
       
   397        return;
       
   398  
       
   399      /*
       
   400 @@ -1513,7 +1513,7 @@
       
   401       * Open the comp.dat file.
       
   402       */
       
   403      snprintf(path, sizeof path, "%s" LDAP_DIRSEP "comp.dat", opath);
       
   404 -    if ((out = fopen(path, "wb")) == 0)
       
   405 +    if ((out = fopen(path, "wbF")) == 0)
       
   406  	return;
       
   407  
       
   408      /*
       
   409 @@ -1589,7 +1589,7 @@
       
   410       * Open the decomp.dat file.
       
   411       */
       
   412      snprintf(path, sizeof path, "%s" LDAP_DIRSEP "decomp.dat", opath);
       
   413 -    if ((out = fopen(path, "wb")) == 0)
       
   414 +    if ((out = fopen(path, "wbF")) == 0)
       
   415        return;
       
   416  
       
   417      hdr[1] = decomps_used;
       
   418 @@ -1682,7 +1682,7 @@
       
   419       * Open the kdecomp.dat file.
       
   420       */
       
   421      snprintf(path, sizeof path, "%s" LDAP_DIRSEP "kdecomp.dat", opath);
       
   422 -    if ((out = fopen(path, "wb")) == 0)
       
   423 +    if ((out = fopen(path, "wbF")) == 0)
       
   424        return;
       
   425  
       
   426      hdr[1] = kdecomps_used;
       
   427 @@ -1762,7 +1762,7 @@
       
   428       * Open the cmbcl.dat file.
       
   429       */
       
   430      snprintf(path, sizeof path, "%s" LDAP_DIRSEP "cmbcl.dat", opath);
       
   431 -    if ((out = fopen(path, "wb")) == 0)
       
   432 +    if ((out = fopen(path, "wbF")) == 0)
       
   433        return;
       
   434  
       
   435      /*
       
   436 @@ -1836,7 +1836,7 @@
       
   437       * Open the num.dat file.
       
   438       */
       
   439      snprintf(path, sizeof path, "%s" LDAP_DIRSEP "num.dat", opath);
       
   440 -    if ((out = fopen(path, "wb")) == 0)
       
   441 +    if ((out = fopen(path, "wbF")) == 0)
       
   442        return;
       
   443  
       
   444      /*
       
   445 @@ -1908,7 +1908,7 @@
       
   446                case 'x':
       
   447                  argc--;
       
   448                  argv++;
       
   449 -                if ((in = fopen(argv[0], "r")) == 0)
       
   450 +                if ((in = fopen(argv[0], "rF")) == 0)
       
   451                    fprintf(stderr,
       
   452                            "%s: unable to open composition exclusion file %s\n",
       
   453                            prog, argv[0]);
       
   454 @@ -1924,7 +1924,7 @@
       
   455          } else {
       
   456              if (in != stdin && in != NULL)
       
   457                fclose(in);
       
   458 -            if ((in = fopen(argv[0], "r")) == 0)
       
   459 +            if ((in = fopen(argv[0], "rF")) == 0)
       
   460                fprintf(stderr, "%s: unable to open ctype file %s\n",
       
   461                        prog, argv[0]);
       
   462              else {
       
   463 diff -ur krb5-1.13.2/src/lib/rpc/getrpcent.c krb5-1.13.2.fopen/src/lib/rpc/getrpcent.c
       
   464 --- krb5-1.13.2/src/lib/rpc/getrpcent.c	2015-05-08 18:27:02.000000000 -0500
       
   465 +++ krb5-1.13.2.fopen/src/lib/rpc/getrpcent.c	2015-08-11 13:25:58.125779542 -0500
       
   466 @@ -121,7 +121,7 @@
       
   467  	if (d == 0)
       
   468  		return;
       
   469  	if (d->rpcf == NULL) {
       
   470 -		d->rpcf = fopen(RPCDB, "r");
       
   471 +		d->rpcf = fopen(RPCDB, "rF");
       
   472  		if (d->rpcf)
       
   473  		    set_cloexec_file(d->rpcf);
       
   474  	} else
       
   475 @@ -160,7 +160,7 @@
       
   476  	if (d == 0)
       
   477  		return(NULL);
       
   478  	if (d->rpcf == NULL) {
       
   479 -	    if ((d->rpcf = fopen(RPCDB, "r")) == NULL)
       
   480 +	    if ((d->rpcf = fopen(RPCDB, "rF")) == NULL)
       
   481  		return (NULL);
       
   482  	    set_cloexec_file(d->rpcf);
       
   483  	}
       
   484 diff -ur krb5-1.13.2/src/lib/rpc/svc_auth_gssapi.c krb5-1.13.2.fopen/src/lib/rpc/svc_auth_gssapi.c
       
   485 --- krb5-1.13.2/src/lib/rpc/svc_auth_gssapi.c	2015-05-08 18:27:02.000000000 -0500
       
   486 +++ krb5-1.13.2.fopen/src/lib/rpc/svc_auth_gssapi.c	2015-08-11 13:52:59.222895641 -0500
       
   487 @@ -57,7 +57,7 @@
       
   488      {
       
   489  	static FILE *f;
       
   490  	if (f == NULL)
       
   491 -	    f = fopen("/dev/pts/4", "a");
       
   492 +	    f = fopen("/dev/pts/4", "aF");
       
   493  	if (f) {
       
   494  	    vfprintf(f, format, ap);
       
   495  	    fflush(f);
       
   496 diff -ur krb5-1.13.2/src/plugins/audit/test/au_test.c krb5-1.13.2.fopen/src/plugins/audit/test/au_test.c
       
   497 --- krb5-1.13.2/src/plugins/audit/test/au_test.c	2015-05-08 18:27:02.000000000 -0500
       
   498 +++ krb5-1.13.2.fopen/src/plugins/audit/test/au_test.c	2015-08-11 13:41:56.337778968 -0500
       
   499 @@ -54,7 +54,7 @@
       
   500  static krb5_error_code
       
   501  open_au(krb5_audit_moddata *auctx)
       
   502  {
       
   503 -    au_fd = fopen("au.log", "a+");
       
   504 +    au_fd = fopen("au.log", "a+F");
       
   505      if (au_fd == NULL)
       
   506          return KRB5_PLUGIN_NO_HANDLE; /* audit module is unavailable */
       
   507      k5_mutex_init(&lock);
       
   508 diff -ur krb5-1.13.2/src/plugins/kdb/db2/adb_openclose.c krb5-1.13.2.fopen/src/plugins/kdb/db2/adb_openclose.c
       
   509 --- krb5-1.13.2/src/plugins/kdb/db2/adb_openclose.c	2015-05-08 18:27:02.000000000 -0500
       
   510 +++ krb5-1.13.2.fopen/src/plugins/kdb/db2/adb_openclose.c	2015-08-11 13:51:43.944888036 -0500
       
   511 @@ -147,12 +147,12 @@
       
   512           * POSIX systems
       
   513           */
       
   514          lockp->lockinfo.filename = strdup(lockfilename);
       
   515 -        if ((lockp->lockinfo.lockfile = fopen(lockfilename, "r+")) == NULL) {
       
   516 +        if ((lockp->lockinfo.lockfile = fopen(lockfilename, "r+F")) == NULL) {
       
   517              /*
       
   518               * maybe someone took away write permission so we could only
       
   519               * get shared locks?
       
   520               */
       
   521 -            if ((lockp->lockinfo.lockfile = fopen(lockfilename, "r"))
       
   522 +            if ((lockp->lockinfo.lockfile = fopen(lockfilename, "rF"))
       
   523                  == NULL) {
       
   524                  free(db);
       
   525                  return OSA_ADB_NOLOCKFILE;
       
   526 diff -ur krb5-1.13.2/src/plugins/kdb/db2/libdb2/btree/bt_debug.c krb5-1.13.2.fopen/src/plugins/kdb/db2/libdb2/btree/bt_debug.c
       
   527 --- krb5-1.13.2/src/plugins/kdb/db2/libdb2/btree/bt_debug.c	2015-05-08 18:27:02.000000000 -0500
       
   528 +++ krb5-1.13.2.fopen/src/plugins/kdb/db2/libdb2/btree/bt_debug.c	2015-08-11 13:57:58.472374191 -0500
       
   529 @@ -66,7 +66,7 @@
       
   530  	first = 0;
       
   531  
       
   532  #ifndef TRACE_TO_STDERR
       
   533 -	if ((tracefp = fopen("/tmp/__bt_debug", "w")) != NULL)
       
   534 +	if ((tracefp = fopen("/tmp/__bt_debug", "wF")) != NULL)
       
   535  		return;
       
   536  #endif
       
   537  	tracefp = stderr;
       
   538 diff -ur krb5-1.13.2/src/plugins/kdb/db2/libdb2/test/btree.tests/main.c krb5-1.13.2.fopen/src/plugins/kdb/db2/libdb2/test/btree.tests/main.c
       
   539 --- krb5-1.13.2/src/plugins/kdb/db2/libdb2/test/btree.tests/main.c	2015-05-08 18:27:02.000000000 -0500
       
   540 +++ krb5-1.13.2.fopen/src/plugins/kdb/db2/libdb2/test/btree.tests/main.c	2015-08-11 13:52:17.919976635 -0500
       
   541 @@ -224,7 +224,7 @@
       
   542  	int argc, i, last;
       
   543  	char *lbuf, *argv[4], buf[512];
       
   544  
       
   545 -	if ((ifp = fopen("/dev/tty", "r")) == NULL) {
       
   546 +	if ((ifp = fopen("/dev/tty", "rF")) == NULL) {
       
   547  		(void)fprintf(stderr,
       
   548  		    "/dev/tty: %s\n", strerror(errno));
       
   549  		exit(1);
       
   550 @@ -624,7 +624,7 @@
       
   551  	FILE *fp;
       
   552  	int status;
       
   553  
       
   554 -	if ((fp = fopen(argv[1], "w")) == NULL) {
       
   555 +	if ((fp = fopen(argv[1], "wF")) == NULL) {
       
   556  		(void)fprintf(stderr, "%s: %s\n", argv[1], strerror(errno));
       
   557  		return;
       
   558  	}
       
   559 @@ -649,7 +649,7 @@
       
   560  	void *cookie;
       
   561  
       
   562  	cookie = NULL;
       
   563 -	if ((fp = fopen(argv[1], "w")) == NULL) {
       
   564 +	if ((fp = fopen(argv[1], "wF")) == NULL) {
       
   565  		(void)fprintf(stderr, "%s: %s\n", argv[1], strerror(errno));
       
   566  		return;
       
   567  	}
       
   568 @@ -679,7 +679,7 @@
       
   569  	char *lp, buf[16 * 1024];
       
   570  
       
   571  	BUGdb = db;
       
   572 -	if ((fp = fopen(argv[1], "r")) == NULL) {
       
   573 +	if ((fp = fopen(argv[1], "rF")) == NULL) {
       
   574  		(void)fprintf(stderr, "%s: %s\n", argv[1], strerror(errno));
       
   575  		return;
       
   576  	}
       
   577 diff -ur krb5-1.13.2/src/plugins/kdb/db2/libdb2/test/hash1.tests/tdel.c krb5-1.13.2.fopen/src/plugins/kdb/db2/libdb2/test/hash1.tests/tdel.c
       
   578 --- krb5-1.13.2/src/plugins/kdb/db2/libdb2/test/hash1.tests/tdel.c	2015-05-08 18:27:02.000000000 -0500
       
   579 +++ krb5-1.13.2.fopen/src/plugins/kdb/db2/libdb2/test/hash1.tests/tdel.c	2015-08-11 13:58:10.679774122 -0500
       
   580 @@ -103,7 +103,7 @@
       
   581  	}
       
   582  
       
   583  	if ( --argc ) {
       
   584 -		fp = fopen ( argv[0], "r");
       
   585 +		fp = fopen ( argv[0], "rF");
       
   586  		i = 0;
       
   587  		while ( fgets(wp1, 8192, fp) &&
       
   588  			fgets(wp2, 8192, fp) &&
       
   589 diff -ur krb5-1.13.2/src/plugins/kdb/db2/libdb2/test/hash1.tests/thash4.c krb5-1.13.2.fopen/src/plugins/kdb/db2/libdb2/test/hash1.tests/thash4.c
       
   590 --- krb5-1.13.2/src/plugins/kdb/db2/libdb2/test/hash1.tests/thash4.c	2015-05-08 18:27:02.000000000 -0500
       
   591 +++ krb5-1.13.2.fopen/src/plugins/kdb/db2/libdb2/test/hash1.tests/thash4.c	2015-08-11 13:37:47.137256617 -0500
       
   592 @@ -106,7 +106,7 @@
       
   593  	}
       
   594  
       
   595  	if ( --argc ) {
       
   596 -		fp = fopen ( argv[0], "r");
       
   597 +		fp = fopen ( argv[0], "rF");
       
   598  		i = 0;
       
   599  		while ( fgets(wp1, 256, fp) &&
       
   600  			fgets(wp2, 8192, fp) &&
       
   601 diff -ur krb5-1.13.2/src/plugins/kdb/db2/libdb2/test/hash2.tests/passtest.c krb5-1.13.2.fopen/src/plugins/kdb/db2/libdb2/test/hash2.tests/passtest.c
       
   602 --- krb5-1.13.2/src/plugins/kdb/db2/libdb2/test/hash2.tests/passtest.c	2015-05-08 18:27:02.000000000 -0500
       
   603 +++ krb5-1.13.2.fopen/src/plugins/kdb/db2/libdb2/test/hash2.tests/passtest.c	2015-08-11 13:46:12.282862828 -0500
       
   604 @@ -19,8 +19,8 @@
       
   605      val_line = (char *)malloc(300);
       
   606      old = (char *)malloc(300);
       
   607  
       
   608 -    keys = fopen("yp.keys", "rt");
       
   609 -    vals = fopen("yp.total", "rt");
       
   610 +    keys = fopen("yp.keys", "rtF");
       
   611 +    vals = fopen("yp.total", "rtF");
       
   612  
       
   613      passwd.bsize =  1024;
       
   614      passwd.cachesize = 1024 * 1024;
       
   615 @@ -61,8 +61,8 @@
       
   616  
       
   617  
       
   618  
       
   619 -    keys = fopen("yp.keys", "rt");
       
   620 -    vals = fopen("yp.total", "rt");
       
   621 +    keys = fopen("yp.keys", "rtF");
       
   622 +    vals = fopen("yp.total", "rtF");
       
   623      get_key = (char *)malloc(100);
       
   624      get_val = (char *)malloc(300);
       
   625  
       
   626 @@ -120,8 +120,8 @@
       
   627      get_key = (char *)malloc(100);
       
   628      key2 = (char *)malloc(100);
       
   629  
       
   630 -    keys = fopen("yp.keys", "rt");
       
   631 -    vals = fopen("yp.total", "rt");
       
   632 +    keys = fopen("yp.keys", "rtF");
       
   633 +    vals = fopen("yp.total", "rtF");
       
   634  
       
   635      db = dbopen("/usr/tmp/passwd.db", O_RDWR|O_BINARY, 0664, DB_HASH, &passwd);
       
   636      n = 0;
       
   637 @@ -148,8 +148,8 @@
       
   638      key2 = (char *)malloc(100);
       
   639      get_val = (char *)malloc(300);
       
   640  
       
   641 -    keys = fopen("yp.keys", "rt");
       
   642 -    vals = fopen("yp.total", "rt");
       
   643 +    keys = fopen("yp.keys", "rtF");
       
   644 +    vals = fopen("yp.total", "rtF");
       
   645  
       
   646      db = dbopen("/usr/tmp/passwd.db", O_RDWR|O_BINARY, 0664, DB_HASH, &passwd);
       
   647      n = 0;
       
   648 diff -ur krb5-1.13.2/src/plugins/kdb/db2/libdb2/test/SEQ_TEST/t.c krb5-1.13.2.fopen/src/plugins/kdb/db2/libdb2/test/SEQ_TEST/t.c
       
   649 --- krb5-1.13.2/src/plugins/kdb/db2/libdb2/test/SEQ_TEST/t.c	2015-05-08 18:27:02.000000000 -0500
       
   650 +++ krb5-1.13.2.fopen/src/plugins/kdb/db2/libdb2/test/SEQ_TEST/t.c	2015-08-11 13:35:18.997485992 -0500
       
   651 @@ -18,7 +18,7 @@
       
   652    FILE *fopen(), *fin;
       
   653  
       
   654    unlink("test.db");
       
   655 -  if ((fin = fopen("data","r")) == NULL) {
       
   656 +  if ((fin = fopen("data","rF")) == NULL) {
       
   657      printf("Unable to open %s\n","data");
       
   658      exit(25);
       
   659    }
       
   660 diff -ur krb5-1.13.2/src/plugins/kdb/ldap/ldap_util/kdb5_ldap_services.c krb5-1.13.2.fopen/src/plugins/kdb/ldap/ldap_util/kdb5_ldap_services.c
       
   661 --- krb5-1.13.2/src/plugins/kdb/ldap/ldap_util/kdb5_ldap_services.c	2015-05-08 18:27:02.000000000 -0500
       
   662 +++ krb5-1.13.2.fopen/src/plugins/kdb/ldap/ldap_util/kdb5_ldap_services.c	2015-08-11 13:50:27.043180087 -0500
       
   663 @@ -178,7 +178,7 @@
       
   664  
       
   665      /* set password in the file */
       
   666      old_mode = umask(0177);
       
   667 -    pfile = fopen(file_name, "a+");
       
   668 +    pfile = fopen(file_name, "a+F");
       
   669      if (pfile == NULL) {
       
   670          com_err(me, errno, _("Failed to open file %s: %s"), file_name,
       
   671                  strerror (errno));
       
   672 @@ -230,7 +230,7 @@
       
   673          }
       
   674  
       
   675          omask = umask(077);
       
   676 -        newfile = fopen(tmp_file, "w");
       
   677 +        newfile = fopen(tmp_file, "wF");
       
   678          umask (omask);
       
   679          if (newfile == NULL) {
       
   680              com_err(me, errno, _("Error creating file %s"), tmp_file);
       
   681 diff -ur krb5-1.13.2/src/plugins/kdb/ldap/libkdb_ldap/ldap_service_stash.c krb5-1.13.2.fopen/src/plugins/kdb/ldap/libkdb_ldap/ldap_service_stash.c
       
   682 --- krb5-1.13.2/src/plugins/kdb/ldap/libkdb_ldap/ldap_service_stash.c	2015-05-08 18:27:02.000000000 -0500
       
   683 +++ krb5-1.13.2.fopen/src/plugins/kdb/ldap/libkdb_ldap/ldap_service_stash.c	2015-08-11 13:38:33.143752493 -0500
       
   684 @@ -87,7 +87,7 @@
       
   685  
       
   686      *password_out = NULL;
       
   687  
       
   688 -    fp = fopen(filename, "r");
       
   689 +    fp = fopen(filename, "rF");
       
   690      if (fp == NULL) {
       
   691          ret = errno;
       
   692          k5_setmsg(context, ret, _("Cannot open LDAP password file '%s': %s"),
       
   693 diff -ur krb5-1.13.2/src/plugins/locate/python/py-locate.c krb5-1.13.2.fopen/src/plugins/locate/python/py-locate.c
       
   694 --- krb5-1.13.2/src/plugins/locate/python/py-locate.c	2015-05-08 18:27:02.000000000 -0500
       
   695 +++ krb5-1.13.2.fopen/src/plugins/locate/python/py-locate.c	2015-08-11 13:27:01.588118726 -0500
       
   696 @@ -98,7 +98,7 @@
       
   697  
       
   698      Py_Initialize ();
       
   699  //    fprintf(stderr, "trying to load %s\n", SCRIPT_PATH);
       
   700 -    f = fopen(SCRIPT_PATH, "r");
       
   701 +    f = fopen(SCRIPT_PATH, "rF");
       
   702      if (f == NULL) {
       
   703          if (sctx)
       
   704              krb5_set_error_message(sctx, -1,
       
   705 diff -ur krb5-1.13.2/src/plugins/preauth/otp/otp_state.c krb5-1.13.2.fopen/src/plugins/preauth/otp/otp_state.c
       
   706 --- krb5-1.13.2/src/plugins/preauth/otp/otp_state.c	2015-05-08 18:27:02.000000000 -0500
       
   707 +++ krb5-1.13.2.fopen/src/plugins/preauth/otp/otp_state.c	2015-08-11 13:45:35.971590182 -0500
       
   708 @@ -94,7 +94,7 @@
       
   709          return retval;
       
   710      }
       
   711  
       
   712 -    file = fopen(filename, "r");
       
   713 +    file = fopen(filename, "rF");
       
   714      if (file == NULL) {
       
   715          retval = errno;
       
   716          com_err("otp", retval, "Unable to open secret file '%s'", filename);
       
   717 diff -ur krb5-1.13.2/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c krb5-1.13.2.fopen/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c
       
   718 --- krb5-1.13.2/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c	2015-08-11 14:09:05.679850166 -0500
       
   719 +++ krb5-1.13.2.fopen/src/plugins/preauth/pkinit/pkinit_crypto_openssl.c	2015-08-11 13:47:00.667400771 -0500
       
   720 @@ -4256,7 +4256,7 @@
       
   721          goto cleanup;
       
   722      }
       
   723  
       
   724 -    fp = fopen(idopts->cert_filename, "rb");
       
   725 +    fp = fopen(idopts->cert_filename, "rbF");
       
   726      if (fp == NULL) {
       
   727          pkiDebug("Failed to open PKCS12 file '%s', error %d\n",
       
   728                   idopts->cert_filename, errno);
       
   729 diff -ur krb5-1.13.2/src/plugins/preauth/pkinit/pkinit_lib.c krb5-1.13.2.fopen/src/plugins/preauth/pkinit/pkinit_lib.c
       
   730 --- krb5-1.13.2/src/plugins/preauth/pkinit/pkinit_lib.c	2015-05-08 18:27:02.000000000 -0500
       
   731 +++ krb5-1.13.2.fopen/src/plugins/preauth/pkinit/pkinit_lib.c	2015-08-11 13:37:29.585859289 -0500
       
   732 @@ -365,7 +365,7 @@
       
   733      if (len <= 0 || filename == NULL)
       
   734          return;
       
   735  
       
   736 -    if ((f = fopen(filename, "w")) == NULL)
       
   737 +    if ((f = fopen(filename, "wF")) == NULL)
       
   738          return;
       
   739  
       
   740      set_cloexec_file(f);
       
   741 diff -ur krb5-1.13.2/src/plugins/tls/k5tls/openssl.c krb5-1.13.2.fopen/src/plugins/tls/k5tls/openssl.c
       
   742 --- krb5-1.13.2/src/plugins/tls/k5tls/openssl.c	2015-05-08 18:27:02.000000000 -0500
       
   743 +++ krb5-1.13.2.fopen/src/plugins/tls/k5tls/openssl.c	2015-08-11 13:39:50.077659500 -0500
       
   744 @@ -348,7 +348,7 @@
       
   745      X509_INFO *xi;
       
   746      int i;
       
   747  
       
   748 -    fp = fopen(path, "r");
       
   749 +    fp = fopen(path, "rF");
       
   750      if (fp == NULL)
       
   751          return errno;
       
   752      sk = PEM_X509_INFO_read(fp, NULL, NULL, NULL);
       
   753 diff -ur krb5-1.13.2/src/slave/kpropd.c krb5-1.13.2.fopen/src/slave/kpropd.c
       
   754 --- krb5-1.13.2/src/slave/kpropd.c	2015-08-11 14:09:06.005972821 -0500
       
   755 +++ krb5-1.13.2.fopen/src/slave/kpropd.c	2015-08-11 13:36:51.675274120 -0500
       
   756 @@ -1306,7 +1306,7 @@
       
   757      if (retval)
       
   758          return FALSE;
       
   759  
       
   760 -    acl_file = fopen(acl_file_name, "r");
       
   761 +    acl_file = fopen(acl_file_name, "rF");
       
   762      if (acl_file == NULL)
       
   763          return FALSE;
       
   764  
       
   765 diff -ur krb5-1.13.2/src/tests/asn.1/t_trval.c krb5-1.13.2.fopen/src/tests/asn.1/t_trval.c
       
   766 --- krb5-1.13.2/src/tests/asn.1/t_trval.c	2015-05-08 18:27:02.000000000 -0500
       
   767 +++ krb5-1.13.2.fopen/src/tests/asn.1/t_trval.c	2015-08-11 13:26:43.068639205 -0500
       
   768 @@ -93,7 +93,7 @@
       
   769              }
       
   770          } else {
       
   771              optflg = 0;
       
   772 -            if ((fp = fopen(*argv,"r")) == NULL) {
       
   773 +            if ((fp = fopen(*argv,"rF")) == NULL) {
       
   774                  fprintf(stderr,"trval: unable to open %s\n", *argv);
       
   775                  continue;
       
   776              }
       
   777 diff -ur krb5-1.13.2/src/tests/gss-threads/gss-server.c krb5-1.13.2.fopen/src/tests/gss-threads/gss-server.c
       
   778 --- krb5-1.13.2/src/tests/gss-threads/gss-server.c	2015-05-08 18:27:02.000000000 -0500
       
   779 +++ krb5-1.13.2.fopen/src/tests/gss-threads/gss-server.c	2015-08-11 13:38:08.680788848 -0500
       
   780 @@ -733,7 +733,7 @@
       
   781              if (!strcmp(*argv, "/dev/null")) {
       
   782                  logfile = display_file = NULL;
       
   783              } else {
       
   784 -                logfile = fopen(*argv, "a");
       
   785 +                logfile = fopen(*argv, "aF");
       
   786                  display_file = logfile;
       
   787                  if (!logfile) {
       
   788                      perror(*argv);
       
   789 diff -ur krb5-1.13.2/src/util/profile/prof_file.c krb5-1.13.2.fopen/src/util/profile/prof_file.c
       
   790 --- krb5-1.13.2/src/util/profile/prof_file.c	2015-05-08 18:27:02.000000000 -0500
       
   791 +++ krb5-1.13.2.fopen/src/util/profile/prof_file.c	2015-08-11 13:56:49.450805045 -0500
       
   792 @@ -123,7 +123,7 @@
       
   793       */
       
   794      FILE    *f;
       
   795  
       
   796 -    f = fopen(filespec, "r+");
       
   797 +    f = fopen(filespec, "r+F");
       
   798      if (f) {
       
   799          fclose(f);
       
   800          return 1;
       
   801 @@ -147,7 +147,7 @@
       
   802       */
       
   803      FILE    *f;
       
   804  
       
   805 -    f = fopen(filespec, "r");
       
   806 +    f = fopen(filespec, "rF");
       
   807      if (f) {
       
   808          fclose(f);
       
   809          return 1;
       
   810 @@ -346,7 +346,7 @@
       
   811      }
       
   812  #endif
       
   813      errno = 0;
       
   814 -    f = fopen(data->filespec, "r");
       
   815 +    f = fopen(data->filespec, "rF");
       
   816      if (f == NULL) {
       
   817          retval = errno;
       
   818          if (retval == 0)
       
   819 @@ -411,7 +411,7 @@
       
   820  
       
   821      errno = 0;
       
   822  
       
   823 -    f = fopen(new_file, "w");
       
   824 +    f = fopen(new_file, "wF");
       
   825      if (!f) {
       
   826          retval = errno;
       
   827          if (retval == 0)
       
   828 diff -ur krb5-1.13.2/src/util/profile/prof_parse.c krb5-1.13.2.fopen/src/util/profile/prof_parse.c
       
   829 --- krb5-1.13.2/src/util/profile/prof_parse.c	2015-05-08 18:27:02.000000000 -0500
       
   830 +++ krb5-1.13.2.fopen/src/util/profile/prof_parse.c	2015-08-11 13:40:28.548611243 -0500
       
   831 @@ -212,7 +212,7 @@
       
   832      incstate.root_section = state->root_section;
       
   833      incstate.current_section = NULL;
       
   834  
       
   835 -    fp = fopen(filename, "r");
       
   836 +    fp = fopen(filename, "rF");
       
   837      if (fp == NULL)
       
   838          return PROF_FAIL_INCLUDE_FILE;
       
   839      retval = parse_file(fp, &incstate, NULL);
       
   840 diff -ur krb5-1.13.2/src/util/profile/test_parse.c krb5-1.13.2.fopen/src/util/profile/test_parse.c
       
   841 --- krb5-1.13.2/src/util/profile/test_parse.c	2015-05-08 18:27:02.000000000 -0500
       
   842 +++ krb5-1.13.2.fopen/src/util/profile/test_parse.c	2015-08-11 13:41:47.994085591 -0500
       
   843 @@ -25,7 +25,7 @@
       
   844          exit(1);
       
   845      }
       
   846  
       
   847 -    f = fopen(argv[1], "r");
       
   848 +    f = fopen(argv[1], "rF");
       
   849      if (!f) {
       
   850          perror(argv[1]);
       
   851          exit(1);