SPECS/libtirpc/libtirpc-0.3.2-api_fixes-1.patch
cb19bd13
 Submitted By: Douglas R. Reno <renodr2002@gmail.com>
 Date: 2015-06-24
 Initial Package Version: 0.3.2
 Origin: BLFS Ticket #6616, Armin K.
 Upstream Status: Applied
 Description: Restore some old API functions that were taken out. Thanks goes to Armin K. for the patch.
 
 diff -Naur a/src/Makefile.am b/src/Makefile.am
 --- a/src/Makefile.am	2015-06-16 17:35:08.000000000 +0200
 +++ b/src/Makefile.am	2015-06-17 21:23:05.185276962 +0200
 @@ -69,7 +69,7 @@
  endif
  
  libtirpc_la_SOURCES += key_call.c key_prot_xdr.c getpublickey.c
 -libtirpc_la_SOURCES += netname.c netnamer.c rtime.c
 +libtirpc_la_SOURCES += netname.c netnamer.c rpcdname.c rtime.c
  
  CLEANFILES	       = cscope.* *~
  DISTCLEANFILES	       = Makefile.in
 diff -Naur a/src/rpcdname.c b/src/rpcdname.c
 --- a/src/rpcdname.c	1970-01-01 01:00:00.000000000 +0100
 +++ b/src/rpcdname.c	2015-06-17 21:23:05.186276982 +0200
 @@ -0,0 +1,72 @@
 +/*
 + * Copyright (c) 2009, Sun Microsystems, Inc.
 + * All rights reserved.
 + *
 + * Redistribution and use in source and binary forms, with or without
 + * modification, are permitted provided that the following conditions are met:
 + * - Redistributions of source code must retain the above copyright notice,
 + *   this list of conditions and the following disclaimer.
 + * - Redistributions in binary form must reproduce the above copyright notice,
 + *   this list of conditions and the following disclaimer in the documentation
 + *   and/or other materials provided with the distribution.
 + * - Neither the name of Sun Microsystems, Inc. nor the names of its
 + *   contributors may be used to endorse or promote products derived
 + *   from this software without specific prior written permission.
 + *
 + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
 + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
 + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 + * POSSIBILITY OF SUCH DAMAGE.
 + */
 +
 +/*
 + * rpcdname.c
 + * Gets the default domain name
 + */
 +
 +#include <stdlib.h>
 +#include <unistd.h>
 +#include <string.h>
 +
 +static char *default_domain = 0;
 +
 +static char *
 +get_default_domain()
 +{
 +	char temp[256];
 +
 +	if (default_domain)
 +		return (default_domain);
 +	if (getdomainname(temp, sizeof(temp)) < 0)
 +		return (0);
 +	if ((int) strlen(temp) > 0) {
 +		default_domain = (char *)malloc((strlen(temp)+(unsigned)1));
 +		if (default_domain == 0)
 +			return (0);
 +		(void) strcpy(default_domain, temp);
 +		return (default_domain);
 +	}
 +	return (0);
 +}
 +
 +/*
 + * This is a wrapper for the system call getdomainname which returns a
 + * ypclnt.h error code in the failure case.  It also checks to see that
 + * the domain name is non-null, knowing that the null string is going to
 + * get rejected elsewhere in the NIS client package.
 + */
 +int
 +__rpc_get_default_domain(domain)
 +	char **domain;
 +{
 +	if ((*domain = get_default_domain()) != 0)
 +		return (0);
 +	return (-1);
 +}