misc/113825: WARN Error in FreeBSD 6.2-STABLE (/usr/src/lib/libc/rpc/getpublickey.c)

John Merryweather Cooper john_m_cooper at yahoo.com
Tue Jun 19 11:20:08 UTC 2007


The following reply was made to PR misc/113825; it has been noted by GNATS.

From: John Merryweather Cooper <john_m_cooper at yahoo.com>
To: FreeBSD gnats submit <FreeBSD-gnats-submit at FreeBSD.org>
Cc:  
Subject: Re: misc/113825: WARN Error in FreeBSD 6.2-STABLE	(/usr/src/lib/libc/rpc/getpublickey.c)
Date: Tue, 19 Jun 2007 07:01:51 -0400

 This is a multi-part message in MIME format.
 --------------050009030901060002060109
 Content-Type: text/plain; charset=ISO-8859-1; format=flowed
 Content-Transfer-Encoding: 7bit
 
 Patches attached.  With these patches, make buildworld runs to 
 completion with CFLAGS=-O -pipe.
 
 jmc
 
 
 --------------050009030901060002060109
 Content-Type: text/plain;
  name="patch-csup"
 Content-Transfer-Encoding: 7bit
 Content-Disposition: inline;
  filename="patch-csup"
 
 # Patch for misc/113825 for csup
 # 
 # To apply this patch:
 # STEP 1: Chdir to the source directory.
 # STEP 2: Run the 'applypatch' program with this patch file as input.
 #
 # If you do not have 'applypatch', it is part of the 'makepatch' package
 # that you can fetch from the Comprehensive Perl Archive Network:
 # http://www.perl.com/CPAN/authors/Johan_Vromans/makepatch-x.y.tar.gz
 # In the above URL, 'x' should be 2 or higher.
 #
 # To apply this patch without the use of 'applypatch':
 # STEP 1: Chdir to the source directory.
 # STEP 2: Run the 'patch' program with this file as input.
 #
 #### End of Preamble ####
 
 #### Patch data follows ####
 diff -c 'contrib/csup/proto.c.old' 'contrib/csup/proto.c'
 Index: ./contrib/csup/proto.c.old
 *** ./contrib/csup/proto.c.old	Tue Jun 19 04:29:42 2007
 --- ./contrib/csup/proto.c	Tue Jun 19 05:31:31 2007
 ***************
 *** 68,74 ****
   };
   
   static void		 killer_start(struct killer *, struct mux *);
 ! static void		*killer_run(void *);
   static void		 killer_stop(struct killer *);
   
   static int		 proto_waitconnect(int);
 --- 68,74 ----
   };
   
   static void		 killer_start(struct killer *, struct mux *);
 ! static void		 killer_run(void *);
   static void		 killer_stop(struct killer *);
   
   static int		 proto_waitconnect(int);
 ***************
 *** 963,968 ****
 --- 963,970 ----
   
   /* Start the killer thread.  It is used to protect against some signals
      during the multi-threaded run so that we can gracefully fail.  */
 + typedef void *(*start_routine)(void *);
 + 
   static void
   killer_start(struct killer *k, struct mux *m)
   {
 ***************
 *** 976,988 ****
   	sigaddset(&k->sigset, SIGTERM);
   	sigaddset(&k->sigset, SIGPIPE);
   	pthread_sigmask(SIG_BLOCK, &k->sigset, NULL);
 ! 	error = pthread_create(&k->thread, NULL, killer_run, k);
   	if (error)
   		err(1, "pthread_create");
   }
   
   /* The main loop of the killer thread. */
 ! static void *
   killer_run(void *arg)
   {
   	struct killer *k;
 --- 978,991 ----
   	sigaddset(&k->sigset, SIGTERM);
   	sigaddset(&k->sigset, SIGPIPE);
   	pthread_sigmask(SIG_BLOCK, &k->sigset, NULL);
 ! 	error = pthread_create(&k->thread, NULL, (start_routine)killer_run, k);
   	if (error)
   		err(1, "pthread_create");
   }
   
   /* The main loop of the killer thread. */
 ! 
 ! static void
   killer_run(void *arg)
   {
   	struct killer *k;
 #### End of Patch data ####
 
 #### ApplyPatch data follows ####
 # Data version        : 1.0
 # Date generated      : Tue Jun 19 06:52:53 2007
 # Generated by        : makepatch 2.03
 # Recurse directories : Yes
 # Excluded files      : (\A|/).*\~\Z
 #                       (\A|/).*\.a\Z
 #                       (\A|/).*\.bak\Z
 #                       (\A|/).*\.BAK\Z
 #                       (\A|/).*\.elc\Z
 #                       (\A|/).*\.exe\Z
 #                       (\A|/).*\.gz\Z
 #                       (\A|/).*\.ln\Z
 #                       (\A|/).*\.o\Z
 #                       (\A|/).*\.obj\Z
 #                       (\A|/).*\.olb\Z
 #                       (\A|/).*\.old\Z
 #                       (\A|/).*\.orig\Z
 #                       (\A|/).*\.rej\Z
 #                       (\A|/).*\.so\Z
 #                       (\A|/).*\.Z\Z
 #                       (\A|/)\.del\-.*\Z
 #                       (\A|/)\.make\.state\Z
 #                       (\A|/)\.nse_depinfo\Z
 #                       (\A|/)core\Z
 #                       (\A|/)tags\Z
 #                       (\A|/)TAGS\Z
 # p 'contrib/csup/proto.c.old' 25477 1182245491 0100644
 #### End of ApplyPatch data ####
 
 #### End of Patch kit [created: Tue Jun 19 06:52:53 2007] ####
 #### Patch checksum: 96 2948 4469 ####
 #### Checksum: 114 3601 58469 ####
 
 --------------050009030901060002060109
 Content-Type: text/plain;
  name="patch-ggated"
 Content-Transfer-Encoding: 7bit
 Content-Disposition: inline;
  filename="patch-ggated"
 
 # Patch for misc/113825 for ggated
 # 
 # To apply this patch:
 # STEP 1: Chdir to the source directory.
 # STEP 2: Run the 'applypatch' program with this patch file as input.
 #
 # If you do not have 'applypatch', it is part of the 'makepatch' package
 # that you can fetch from the Comprehensive Perl Archive Network:
 # http://www.perl.com/CPAN/authors/Johan_Vromans/makepatch-x.y.tar.gz
 # In the above URL, 'x' should be 2 or higher.
 #
 # To apply this patch without the use of 'applypatch':
 # STEP 1: Chdir to the source directory.
 # STEP 2: Run the 'patch' program with this file as input.
 #
 #### End of Preamble ####
 
 #### Patch data follows ####
 diff -c 'sbin/ggate/ggated/ggated.c.old' 'sbin/ggate/ggated/ggated.c'
 Index: ./sbin/ggate/ggated/ggated.c.old
 *** ./sbin/ggate/ggated/ggated.c.old	Mon Jun 18 23:05:16 2007
 --- ./sbin/ggate/ggated/ggated.c	Mon Jun 18 23:08:02 2007
 ***************
 *** 756,761 ****
 --- 756,762 ----
   		error = pthread_mutex_unlock(&outqueue_mtx);
   		assert(error == 0);
   	}
 + 	return arg;
   }
   
   static void *
 ***************
 *** 810,815 ****
 --- 811,817 ----
   		}
   		free(req);
   	}
 + 	return arg;
   }
   
   static void
 #### End of Patch data ####
 
 #### ApplyPatch data follows ####
 # Data version        : 1.0
 # Date generated      : Tue Jun 19 06:56:44 2007
 # Generated by        : makepatch 2.03
 # Recurse directories : Yes
 # Excluded files      : (\A|/).*\~\Z
 #                       (\A|/).*\.a\Z
 #                       (\A|/).*\.bak\Z
 #                       (\A|/).*\.BAK\Z
 #                       (\A|/).*\.elc\Z
 #                       (\A|/).*\.exe\Z
 #                       (\A|/).*\.gz\Z
 #                       (\A|/).*\.ln\Z
 #                       (\A|/).*\.o\Z
 #                       (\A|/).*\.obj\Z
 #                       (\A|/).*\.olb\Z
 #                       (\A|/).*\.old\Z
 #                       (\A|/).*\.orig\Z
 #                       (\A|/).*\.rej\Z
 #                       (\A|/).*\.so\Z
 #                       (\A|/).*\.Z\Z
 #                       (\A|/)\.del\-.*\Z
 #                       (\A|/)\.make\.state\Z
 #                       (\A|/)\.nse_depinfo\Z
 #                       (\A|/)core\Z
 #                       (\A|/)tags\Z
 #                       (\A|/)TAGS\Z
 # p 'sbin/ggate/ggated/ggated.c.old' 25474 1182222482 0100644
 #### End of ApplyPatch data ####
 
 #### End of Patch kit [created: Tue Jun 19 06:56:44 2007] ####
 #### Patch checksum: 58 1777 40909 ####
 #### Checksum: 76 2433 29595 ####
 
 --------------050009030901060002060109
 Content-Type: text/plain;
  name="patch-ip6fw"
 Content-Transfer-Encoding: 7bit
 Content-Disposition: inline;
  filename="patch-ip6fw"
 
 # Patch for misc/113825 for ip6fw
 # 
 # To apply this patch:
 # STEP 1: Chdir to the source directory.
 # STEP 2: Run the 'applypatch' program with this patch file as input.
 #
 # If you do not have 'applypatch', it is part of the 'makepatch' package
 # that you can fetch from the Comprehensive Perl Archive Network:
 # http://www.perl.com/CPAN/authors/Johan_Vromans/makepatch-x.y.tar.gz
 # In the above URL, 'x' should be 2 or higher.
 #
 # To apply this patch without the use of 'applypatch':
 # STEP 1: Chdir to the source directory.
 # STEP 2: Run the 'patch' program with this file as input.
 #
 #### End of Preamble ####
 
 #### Patch data follows ####
 diff -c 'sbin/ip6fw/ip6fw.c.old' 'sbin/ip6fw/ip6fw.c'
 Index: ./sbin/ip6fw/ip6fw.c.old
 Prereq:  1.1.2.2.2.2 
 *** ./sbin/ip6fw/ip6fw.c.old	Tue Jun 19 00:59:48 2007
 --- ./sbin/ip6fw/ip6fw.c	Tue Jun 19 01:14:33 2007
 ***************
 *** 1112,1118 ****
   				if (!ac)
   					show_usage("missing argument"
   					    " for ``icmptypes''");
 ! 				fill_icmptypes(rule.fw_icmp6types,
   				    av, &rule.fw_flg);
   				av++; ac--; continue;
   			}
 --- 1112,1118 ----
   				if (!ac)
   					show_usage("missing argument"
   					    " for ``icmptypes''");
 ! 				fill_icmptypes((u_long *)rule.fw_icmp6types,
   				    av, &rule.fw_flg);
   				av++; ac--; continue;
   			}
 #### End of Patch data ####
 
 #### ApplyPatch data follows ####
 # Data version        : 1.0
 # Date generated      : Tue Jun 19 06:57:45 2007
 # Generated by        : makepatch 2.03
 # Recurse directories : Yes
 # Excluded files      : (\A|/).*\~\Z
 #                       (\A|/).*\.a\Z
 #                       (\A|/).*\.bak\Z
 #                       (\A|/).*\.BAK\Z
 #                       (\A|/).*\.elc\Z
 #                       (\A|/).*\.exe\Z
 #                       (\A|/).*\.gz\Z
 #                       (\A|/).*\.ln\Z
 #                       (\A|/).*\.o\Z
 #                       (\A|/).*\.obj\Z
 #                       (\A|/).*\.olb\Z
 #                       (\A|/).*\.old\Z
 #                       (\A|/).*\.orig\Z
 #                       (\A|/).*\.rej\Z
 #                       (\A|/).*\.so\Z
 #                       (\A|/).*\.Z\Z
 #                       (\A|/)\.del\-.*\Z
 #                       (\A|/)\.make\.state\Z
 #                       (\A|/)\.nse_depinfo\Z
 #                       (\A|/)core\Z
 #                       (\A|/)tags\Z
 #                       (\A|/)TAGS\Z
 # p 'sbin/ip6fw/ip6fw.c.old' 35300 1182230073 0100644
 #### End of ApplyPatch data ####
 
 #### End of Patch kit [created: Tue Jun 19 06:57:45 2007] ####
 #### Patch checksum: 56 1919 49188 ####
 #### Checksum: 74 2574 37750 ####
 
 --------------050009030901060002060109
 Content-Type: text/plain;
  name="patch-rpc"
 Content-Transfer-Encoding: 7bit
 Content-Disposition: inline;
  filename="patch-rpc"
 
 # Second patch for misc/113825 for rpc (getpublickey.c)
 # 
 # To apply this patch:
 # STEP 1: Chdir to the source directory.
 # STEP 2: Run the 'applypatch' program with this patch file as input.
 #
 # If you do not have 'applypatch', it is part of the 'makepatch' package
 # that you can fetch from the Comprehensive Perl Archive Network:
 # http://www.perl.com/CPAN/authors/Johan_Vromans/makepatch-x.y.tar.gz
 # In the above URL, 'x' should be 2 or higher.
 #
 # To apply this patch without the use of 'applypatch':
 # STEP 1: Chdir to the source directory.
 # STEP 2: Run the 'patch' program with this file as input.
 #
 #### End of Preamble ####
 
 #### Patch data follows ####
 diff -c 'lib/libc/rpc/getpublickey.c.old' 'lib/libc/rpc/getpublickey.c'
 Index: ./lib/libc/rpc/getpublickey.c.old
 Prereq:  1.10 
 *** ./lib/libc/rpc/getpublickey.c.old	Mon Jun 18 18:25:14 2007
 --- ./lib/libc/rpc/getpublickey.c	Mon Jun 18 18:31:07 2007
 ***************
 *** 65,71 ****
    */
   int
   __getpublickey_real(netname, publickey)
 ! 	char *netname;
   	char *publickey;
   {
   	char lookup[3 * HEXKEYBYTES];
 --- 65,71 ----
    */
   int
   __getpublickey_real(netname, publickey)
 ! 	const char *netname;
   	char *publickey;
   {
   	char lookup[3 * HEXKEYBYTES];
 ***************
 *** 92,98 ****
   
   int
   getpublicandprivatekey(key, ret)
 ! 	char *key;
   	char *ret;
   {
   	char buf[1024];	/* big enough */
 --- 92,98 ----
   
   int
   getpublicandprivatekey(key, ret)
 ! 	const char *key;
   	char *ret;
   {
   	char buf[1024];	/* big enough */
 #### End of Patch data ####
 
 #### ApplyPatch data follows ####
 # Data version        : 1.0
 # Date generated      : Tue Jun 19 06:55:31 2007
 # Generated by        : makepatch 2.03
 # Recurse directories : Yes
 # Excluded files      : (\A|/).*\~\Z
 #                       (\A|/).*\.a\Z
 #                       (\A|/).*\.bak\Z
 #                       (\A|/).*\.BAK\Z
 #                       (\A|/).*\.elc\Z
 #                       (\A|/).*\.exe\Z
 #                       (\A|/).*\.gz\Z
 #                       (\A|/).*\.ln\Z
 #                       (\A|/).*\.o\Z
 #                       (\A|/).*\.obj\Z
 #                       (\A|/).*\.olb\Z
 #                       (\A|/).*\.old\Z
 #                       (\A|/).*\.orig\Z
 #                       (\A|/).*\.rej\Z
 #                       (\A|/).*\.so\Z
 #                       (\A|/).*\.Z\Z
 #                       (\A|/)\.del\-.*\Z
 #                       (\A|/)\.make\.state\Z
 #                       (\A|/)\.nse_depinfo\Z
 #                       (\A|/)core\Z
 #                       (\A|/)tags\Z
 #                       (\A|/)TAGS\Z
 # p 'lib/libc/rpc/getpublickey.c.old' 4227 1182205867 0100644
 #### End of ApplyPatch data ####
 
 #### End of Patch kit [created: Tue Jun 19 06:55:31 2007] ####
 #### Patch checksum: 73 2105 1931 ####
 #### Checksum: 91 2781 57998 ####
 
 --------------050009030901060002060109
 Content-Type: text/plain;
  name="patch-rpc-auth"
 Content-Transfer-Encoding: 7bit
 Content-Disposition: inline;
  filename="patch-rpc-auth"
 
 # First patch for misc/113825 for rpc (auth.h)
 # 
 # To apply this patch:
 # STEP 1: Chdir to the source directory.
 # STEP 2: Run the 'applypatch' program with this patch file as input.
 #
 # If you do not have 'applypatch', it is part of the 'makepatch' package
 # that you can fetch from the Comprehensive Perl Archive Network:
 # http://www.perl.com/CPAN/authors/Johan_Vromans/makepatch-x.y.tar.gz
 # In the above URL, 'x' should be 2 or higher.
 #
 # To apply this patch without the use of 'applypatch':
 # STEP 1: Chdir to the source directory.
 # STEP 2: Run the 'patch' program with this file as input.
 #
 #### End of Preamble ####
 
 #### Patch data follows ####
 diff -c 'include/rpc/auth.h.old' 'include/rpc/auth.h'
 Index: ./include/rpc/auth.h.old
 Prereq:  1.17 
 *** ./include/rpc/auth.h.old	Mon Jun 18 19:54:59 2007
 --- ./include/rpc/auth.h	Mon Jun 18 21:07:43 2007
 ***************
 *** 299,305 ****
    */
   __BEGIN_DECLS
   extern int getpublickey (const char *, char *);
 ! extern int getpublicandprivatekey (char *, char *);
   extern int getsecretkey (char *, char *, char *);
   __END_DECLS
   
 --- 299,305 ----
    */
   __BEGIN_DECLS
   extern int getpublickey (const char *, char *);
 ! extern int getpublicandprivatekey (const char *, char *);
   extern int getsecretkey (char *, char *, char *);
   __END_DECLS
   
 #### End of Patch data ####
 
 #### ApplyPatch data follows ####
 # Data version        : 1.0
 # Date generated      : Tue Jun 19 06:54:14 2007
 # Generated by        : makepatch 2.03
 # Recurse directories : Yes
 # Excluded files      : (\A|/).*\~\Z
 #                       (\A|/).*\.a\Z
 #                       (\A|/).*\.bak\Z
 #                       (\A|/).*\.BAK\Z
 #                       (\A|/).*\.elc\Z
 #                       (\A|/).*\.exe\Z
 #                       (\A|/).*\.gz\Z
 #                       (\A|/).*\.ln\Z
 #                       (\A|/).*\.o\Z
 #                       (\A|/).*\.obj\Z
 #                       (\A|/).*\.olb\Z
 #                       (\A|/).*\.old\Z
 #                       (\A|/).*\.orig\Z
 #                       (\A|/).*\.rej\Z
 #                       (\A|/).*\.so\Z
 #                       (\A|/).*\.Z\Z
 #                       (\A|/)\.del\-.*\Z
 #                       (\A|/)\.make\.state\Z
 #                       (\A|/)\.nse_depinfo\Z
 #                       (\A|/)core\Z
 #                       (\A|/)tags\Z
 #                       (\A|/)TAGS\Z
 # p 'include/rpc/auth.h.old' 10401 1182215263 0100644
 #### End of ApplyPatch data ####
 
 #### End of Patch kit [created: Tue Jun 19 06:54:14 2007] ####
 #### Patch checksum: 56 1912 53784 ####
 #### Checksum: 74 2580 43450 ####
 
 --------------050009030901060002060109--


More information about the freebsd-bugs mailing list