Hello community,
here is the log from the commit of package ypserv for openSUSE:Factory
checked in at Mon Jun 15 16:51:30 CEST 2009.
--------
--- ypserv/ypserv.changes 2009-04-02 16:34:24.000000000 +0200
+++ /mounts/work_src_done/STABLE/ypserv/ypserv.changes 2009-06-15 11:30:15.000000000 +0200
@@ -1,0 +2,6 @@
+Mon Jun 15 11:28:53 CEST 2009 - kukuk@suse.de
+
+- Update to version 2.21
+ - Log RPC decoding errors
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
ypserv-2.20.diff
ypserv-2.20.tar.bz2
New:
----
ypserv-2.21.diff
ypserv-2.21.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ypserv.spec ++++++
--- /var/tmp/diff_new_pack.jT5793/_old 2009-06-15 16:51:19.000000000 +0200
+++ /var/tmp/diff_new_pack.jT5793/_new 2009-06-15 16:51:19.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package ypserv (Version 2.20)
+# spec file for package ypserv (Version 2.21)
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -25,7 +25,7 @@
Requires: make portmap gawk
AutoReqProv: on
BuildRoot: %{_tmppath}/%{name}-%{version}-build
-Version: 2.20
+Version: 2.21
Release: 1
Summary: YP - (NIS)-Server
PreReq: %insserv_prereq %fillup_prereq
@@ -137,6 +137,9 @@
#/usr/sbin/ypslave
%changelog
+* Mon Jun 15 2009 kukuk@suse.de
+- Update to version 2.21
+ - Log RPC decoding errors
* Thu Apr 02 2009 kukuk@suse.de
- Update to version 2.20
- manual page cleanup
++++++ ypserv-2.20.diff -> ypserv-2.21.diff ++++++
++++++ ypserv-2.20.tar.bz2 -> ypserv-2.21.tar.bz2 ++++++
++++ 1698 lines of diff (skipped)
++++ retrying with extended exclude list
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ypserv-2.20/ChangeLog new/ypserv-2.21/ChangeLog
--- old/ypserv-2.20/ChangeLog 2009-04-02 15:10:41.000000000 +0200
+++ new/ypserv-2.21/ChangeLog 2009-06-12 11:31:43.000000000 +0200
@@ -1,5 +1,39 @@
+2009-06-12 Thorsten Kukuk
+
+ * release version 2.21
+
+2009-05-19 Thorsten Kukuk
+
+ * ypserv/ypserv.c (main): Free transp (fix memory leak)
+
+2009-05-12 Thorsten Kukuk
+
+ * yphelper/yphelper.8.xml: New.
+ * yphelper/yphelper.8: Regenerated from xml source.
+ * yphelper/Makefile.am: Add rules for xml.
+
+2009-05-07 Thorsten Kukuk
+
+ * lib/access.c (is_valid): Don't print message for non-existing
+ maps.
+
+ * mknetid/mknetid.c (main): Check for NULL pointers before
+ calling insert_user().
+ Reported by Mark Brown
+
+ * mknetid/netid_hash.c: Remove second xstrtok implementation.
+
+ * mknetid/mknetid.h: Add xstrtok prototype.
+
+2009-04-15 Thorsten Kukuk
+
+ * ypserv/ypserv.c (ypprog_2): If decoding fails, try
+ to free the already allocated memory.
+
2009-04-02 Thorsten Kukuk
+ * release version 2.20
+
* ypserv/ypserv.8.xml: New file.
* ypserv/ypserv.8: Regenerated from xml source.
* ypserv/Makefile.am: Add rules for xml.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ypserv-2.20/configure.in new/ypserv-2.21/configure.in
--- old/ypserv-2.20/configure.in 2009-04-02 15:50:36.000000000 +0200
+++ new/ypserv-2.21/configure.in 2009-06-12 11:31:55.000000000 +0200
@@ -2,7 +2,7 @@
# Copyright (C) 1999-2009 Thorsten Kukuk
#
dnl Process this file with autoconf to produce a configure script.
-AC_INIT(ypserv, 2.20, kukuk@linux-nis.org)
+AC_INIT(ypserv, 2.21, kukuk@linux-nis.org)
AM_INIT_AUTOMAKE
AC_CONFIG_SRCDIR([ypserv/ypserv.c])
AM_CONFIG_HEADER(config.h)
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ypserv-2.20/lib/access.c new/ypserv-2.21/lib/access.c
--- old/ypserv-2.20/lib/access.c 2009-04-02 14:02:23.000000000 +0200
+++ new/ypserv-2.21/lib/access.c 2009-05-07 10:24:58.000000000 +0200
@@ -202,8 +202,8 @@
}
else
{
- if (status < 1 && ((sin->sin_addr.s_addr != oldaddr)
- || (status != oldstatus)))
+ if ((status < 1 && status != -4) &&
+ ((sin->sin_addr.s_addr != oldaddr) || (status != oldstatus)))
syslog (LOG_WARNING,
"refused connect from %s:%d to procedure %s (%s,%s;%d)\n",
inet_ntoa (sin->sin_addr), ntohs (sin->sin_port),
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ypserv-2.20/mknetid/mknetid.c new/ypserv-2.21/mknetid/mknetid.c
--- old/ypserv-2.20/mknetid/mknetid.c 2003-06-05 13:42:08.000000000 +0200
+++ new/ypserv-2.21/mknetid/mknetid.c 2009-05-07 10:14:46.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (c) 1996, 1999, 2001, 2002 Thorsten Kukuk
+/* Copyright (c) 1996, 1999, 2001, 2002, 2009 Thorsten Kukuk
Author: Thorsten Kukuk
The YP Server is free software; you can redistribute it and/or
@@ -38,7 +38,7 @@
static int quiet_flag = 0;
-static char *
+char *
xstrtok (char *cp, int delim)
{
static char *str = NULL;
@@ -171,14 +171,34 @@
{
char *ptr, *key, *uid, *gid;
+ char *err_line = strdup (line);
key = xstrtok (line, ':');
ptr = xstrtok (NULL, ':');
uid = xstrtok (NULL, ':');
gid = xstrtok (NULL, ':');
+
+ if (key == NULL || ptr == NULL ||
+ uid == NULL || gid == NULL)
+ {
+ int n = strlen (err_line);
+
+ if (err_line[n - 1] == '\n')
+ err_line[n - 1] = '\0';
+
+ if (strlen (err_line) > 0)
+ fprintf (stderr, "WARNING: bad netid entry: '%s'\n",
+ err_line);
+ free (err_line);
+ continue;
+ }
+
+ free (err_line);
+
if (insert_user (key, domain, uid, gid) < 0)
if (!quiet_flag)
- fprintf (stderr, "WARNING: unix.%s@%s multiply defined, ignore new one\n",
+ fprintf (stderr,
+ "WARNING: unix.%s@%s multiply defined, ignore new one\n",
uid, domain);
}
}
@@ -273,8 +293,17 @@
if (line[0] != '#')
{
+ int n = strlen (line);
+
+ if (line[n - 1] == '\n')
+ line[n - 1] = '\0';
if (strpbrk (line, " \t") == NULL)
- fprintf (stderr, "WARNING: bad netid entry: '%s'", line);
+ {
+ if (strlen (line) > 0)
+ fprintf (stderr,
+ "WARNING: bad netid entry: '%s'\n",
+ line);
+ }
else
printf ("%s\n", line);
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ypserv-2.20/mknetid/mknetid.h new/ypserv-2.21/mknetid/mknetid.h
--- old/ypserv-2.20/mknetid/mknetid.h 2001-04-08 16:25:17.000000000 +0200
+++ new/ypserv-2.21/mknetid/mknetid.h 2009-05-07 10:07:03.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (c) 1996, 1999, 2001 Thorsten Kukuk
+/* Copyright (c) 1996, 1999, 2001, 2009 Thorsten Kukuk
Author: Thorsten Kukuk
The YP Server is free software; you can redistribute it and/or
@@ -18,6 +18,7 @@
#ifndef _MKNETID_H_
#define _MKNETID_H_
+extern char *xstrtok (char *cp, int delim);
extern int insert_user(const char *key, const char *domain,
const char *uid, const char *gid);
extern int insert_host(const char *host, const char *domain);
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ypserv-2.20/mknetid/netid_hash.c new/ypserv-2.21/mknetid/netid_hash.c
--- old/ypserv-2.20/mknetid/netid_hash.c 2001-04-08 16:25:17.000000000 +0200
+++ new/ypserv-2.21/mknetid/netid_hash.c 2009-05-07 10:03:34.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (c) 1996, 1999, 2001 Thorsten Kukuk
+/* Copyright (c) 1996, 1999, 2001, 2009 Thorsten Kukuk
Author: Thorsten Kukuk
The YP Server is free software; you can redistribute it and/or
@@ -29,7 +29,7 @@
#include "mknetid.h"
-#define TABLESIZE 997 /*Should be a prime */
+#define TABLESIZE 997 /*Should be a prime */
typedef struct hash_liste {
char *key;
@@ -37,166 +37,148 @@
struct hash_liste *next;
} hash_liste_t;
-static
-char *xstrtok (char *cp, int delim)
-{
- static char *str = NULL;
-
- if (cp)
- str = cp;
-
- if (*str == '\0')
- return NULL;
-
- cp = str;
-
- if (delim == ' ')
- while (*str && (!isspace(*str)))
- str++;
- else
- while (*str && *str != delim)
- str++;
-
- if (*str)
- *str++ = '\0';
-
- return cp;
-}
-
-static inline void *xmalloc(unsigned long size)
+static inline void *
+xmalloc (unsigned long size)
{
void *ptr;
- ptr = malloc(size);
+ ptr = malloc (size);
- if(ptr == NULL)
+ if (ptr == NULL)
{
- fprintf(stderr,"ERROR: out of memory!\n");
- exit(1);
+ fprintf (stderr, "ERROR: out of memory!\n");
+ exit (1);
}
return ptr;
}
-static hash_liste_t* user_liste[TABLESIZE];
-static hash_liste_t* host_liste[TABLESIZE];
+static hash_liste_t *user_liste[TABLESIZE];
+static hash_liste_t *host_liste[TABLESIZE];
static int first = 1;
static char uid_liste[65535];
static void
-init_table(void)
+init_table (void)
{
first = 0;
- memset(user_liste, 0, sizeof(user_liste));
- memset(host_liste, 0, sizeof(host_liste));
- memset(uid_liste, 0, sizeof(uid_liste));
+ memset (user_liste, 0, sizeof (user_liste));
+ memset (host_liste, 0, sizeof (host_liste));
+ memset (uid_liste, 0, sizeof (uid_liste));
}
-int insert_user(const char *key, const char *domain,
- const char *uid, const char *gid )
+int
+insert_user (const char *key, const char *domain,
+ const char *uid, const char *gid)
{
long hkey, id;
size_t i;
- if(first) init_table();
+ if (first)
+ init_table ();
- id = atol(uid);
+ id = atol (uid);
- if(id > 65534)
+ if (id > 65534)
return -2;
- if(uid_liste[id] == 1)
+ if (uid_liste[id] == 1)
return -1;
else
uid_liste[id] = 1;
hkey = 0;
- for(i = 0; i < strlen(key); i++)
- hkey = (256*hkey +key[i]) % TABLESIZE;
+ for (i = 0; i < strlen (key); i++)
+ hkey = (256 * hkey + key[i]) % TABLESIZE;
- if(user_liste[hkey] != NULL)
+ if (user_liste[hkey] != NULL)
{
hash_liste_t *work, *ptr;
work = user_liste[hkey]->next;
ptr = user_liste[hkey];
- while(work != NULL)
+ while (work != NULL)
{
ptr = work;
work = work->next;
}
- ptr->next = xmalloc(sizeof(hash_liste_t));
+ ptr->next = xmalloc (sizeof (hash_liste_t));
work = ptr->next;
work->next = NULL;
- work->key = xmalloc(strlen(key)+1);
- strcpy(work->key,key);
- work->val = xmalloc(strlen(domain)+2*strlen(uid)+strlen(gid)+100);
- sprintf(work->val,"unix.%s@%s\t%s:%s",uid,domain,uid,gid);
+ work->key = xmalloc (strlen (key) + 1);
+ strcpy (work->key, key);
+ work->val =
+ xmalloc (strlen (domain) + 2 * strlen (uid) + strlen (gid) + 100);
+ sprintf (work->val, "unix.%s@%s\t%s:%s", uid, domain, uid, gid);
}
else
{
- user_liste[hkey] = xmalloc(sizeof(hash_liste_t));
- user_liste[hkey]->key = xmalloc(strlen(key)+1);
- strcpy(user_liste[hkey]->key,key);
+ user_liste[hkey] = xmalloc (sizeof (hash_liste_t));
+ user_liste[hkey]->key = xmalloc (strlen (key) + 1);
+ strcpy (user_liste[hkey]->key, key);
user_liste[hkey]->next = NULL;
- user_liste[hkey]->val = xmalloc(strlen(domain)+2*strlen(uid)+strlen(gid)+10);
- sprintf(user_liste[hkey]->val,"unix.%s@%s\t%s:%s",uid,domain,uid,gid);
+ user_liste[hkey]->val =
+ xmalloc (strlen (domain) + 2 * strlen (uid) + strlen (gid) + 10);
+ sprintf (user_liste[hkey]->val, "unix.%s@%s\t%s:%s", uid, domain, uid,
+ gid);
}
return 0;
}
-int add_group(const char *key, const char *grp)
+int
+add_group (const char *key, const char *grp)
{
hash_liste_t *work;
long hkey;
size_t i;
- if(first) init_table();
+ if (first)
+ init_table ();
hkey = 0;
- for(i = 0; i < strlen(key); i++)
- hkey = (256*hkey +key[i]) % TABLESIZE;
+ for (i = 0; i < strlen (key); i++)
+ hkey = (256 * hkey + key[i]) % TABLESIZE;
- if(user_liste[hkey] == NULL)
+ if (user_liste[hkey] == NULL)
return -1;
+ else if (strcmp (user_liste[hkey]->key, key) != 0)
+ {
+ if (user_liste[hkey]->next == NULL)
+ return -1;
+ else
+ {
+ work = user_liste[hkey]->next;
+ while (work != NULL)
+ if (strcmp (work->key, key) == 0)
+ break;
+ else
+ work = work->next;
+ if (work == NULL)
+ return -1;
+ }
+ }
else
- if(strcmp(user_liste[hkey]->key,key)!=0)
- {
- if(user_liste[hkey]->next == NULL)
- return -1;
- else
- {
- work=user_liste[hkey]->next;
- while(work != NULL)
- if(strcmp(work->key,key)==0)
- break;
- else
- work = work->next;
- if(work == NULL)
- return -1;
- }
- }
- else
- work = user_liste[hkey];
+ work = user_liste[hkey];
- if(strcmp(key,work->key)==0)
+ if (strcmp (key, work->key) == 0)
{
char *ptr, *tmp;
- tmp = strdup(work->val);
- ptr = xstrtok(tmp,':');
-
- while((ptr = xstrtok(NULL,','))!= NULL)
- if(strcmp(ptr,grp)==0) return 0;
+ tmp = strdup (work->val);
+ ptr = xstrtok (tmp, ':');
- ptr = xmalloc(strlen(work->val)+strlen(grp)+5);
- strcpy(ptr,work->val);
- strcat(ptr,",");
- strcat(ptr,grp);
- free(work->val);
+ while ((ptr = xstrtok (NULL, ',')) != NULL)
+ if (strcmp (ptr, grp) == 0)
+ return 0;
+
+ ptr = xmalloc (strlen (work->val) + strlen (grp) + 5);
+ strcpy (ptr, work->val);
+ strcat (ptr, ",");
+ strcat (ptr, grp);
+ free (work->val);
work->val = ptr;
return 0;
@@ -205,30 +187,32 @@
return -1;
}
-int insert_host(const char *host, const char *domain)
+int
+insert_host (const char *host, const char *domain)
{
long hkey;
size_t i;
- if(first) init_table();
+ if (first)
+ init_table ();
hkey = 0;
- for(i = 0; i < strlen(host); i++)
- hkey = (256*hkey +host[i]) % TABLESIZE;
+ for (i = 0; i < strlen (host); i++)
+ hkey = (256 * hkey + host[i]) % TABLESIZE;
- if(host_liste[hkey] != NULL)
+ if (host_liste[hkey] != NULL)
{
- if(strcmp(host_liste[hkey]->key,host)==0)
+ if (strcmp (host_liste[hkey]->key, host) == 0)
return -1;
else
{
hash_liste_t *work, *ptr;
- work=host_liste[hkey]->next;
+ work = host_liste[hkey]->next;
ptr = host_liste[hkey];
- while(work != NULL)
- if(strcmp(work->key,host)==0)
+ while (work != NULL)
+ if (strcmp (work->key, host) == 0)
return -1;
else
{
@@ -236,46 +220,48 @@
work = work->next;
}
- ptr->next = xmalloc(sizeof(hash_liste_t));
+ ptr->next = xmalloc (sizeof (hash_liste_t));
work = ptr->next;
work->next = NULL;
- work->key = strdup(host);
- work->val = xmalloc(strlen(host)*2+strlen(domain)+20);
- sprintf(work->val,"unix.%s@%s\t0:%s",host,domain,host);
+ work->key = strdup (host);
+ work->val = xmalloc (strlen (host) * 2 + strlen (domain) + 20);
+ sprintf (work->val, "unix.%s@%s\t0:%s", host, domain, host);
}
}
else
{
- host_liste[hkey] = xmalloc(sizeof(hash_liste_t));
- host_liste[hkey]->key = strdup(host);
+ host_liste[hkey] = xmalloc (sizeof (hash_liste_t));
+ host_liste[hkey]->key = strdup (host);
host_liste[hkey]->next = NULL;
- host_liste[hkey]->val = xmalloc(strlen(host)*2+strlen(domain)+20);
- sprintf(host_liste[hkey]->val,"unix.%s@%s\t0:%s",host,domain,host);
+ host_liste[hkey]->val =
+ xmalloc (strlen (host) * 2 + strlen (domain) + 20);
+ sprintf (host_liste[hkey]->val, "unix.%s@%s\t0:%s", host, domain, host);
}
return 0;
}
-void print_table()
+void
+print_table ()
{
hash_liste_t *work;
unsigned long i;
- for(i = 0; i < TABLESIZE; i++)
+ for (i = 0; i < TABLESIZE; i++)
{
work = user_liste[i];
- while(work != NULL)
+ while (work != NULL)
{
- printf("%s\n",work->val);
+ printf ("%s\n", work->val);
work = work->next;
}
}
- for(i = 0; i < TABLESIZE; i++)
+ for (i = 0; i < TABLESIZE; i++)
{
work = host_liste[i];
- while(work != NULL)
+ while (work != NULL)
{
- printf("%s\n",work->val);
+ printf ("%s\n", work->val);
work = work->next;
}
}
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ypserv-2.20/NEWS new/ypserv-2.21/NEWS
--- old/ypserv-2.20/NEWS 2009-04-02 15:54:32.000000000 +0200
+++ new/ypserv-2.21/NEWS 2009-06-12 11:31:49.000000000 +0200
@@ -5,6 +5,9 @@
Please send bug reports, questions and suggestions to .
+Version 2.21
+* Better handling of RPC decoding errors
+
Version 2.20
* Manual page cleanup
* Add some sanity checks
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ypserv-2.20/rpc.yppasswdd/yppasswdd.c new/ypserv-2.21/rpc.yppasswdd/yppasswdd.c
--- old/ypserv-2.20/rpc.yppasswdd/yppasswdd.c 2006-01-10 20:22:20.000000000 +0100
+++ new/ypserv-2.21/rpc.yppasswdd/yppasswdd.c 2009-06-12 10:08:57.000000000 +0200
@@ -1,5 +1,5 @@
/*
- Copyright (c) 1996, 1997, 1998, 1999, 2001, 2005, 2006 Thorsten Kukuk,
+ Copyright (c) 1996-2006 Thorsten Kukuk,
Copyright (c) 1994, 1995, 1996 Olaf Kirch,
This file is part of the NYS YP Server.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ypserv-2.20/yphelper/Makefile.am new/ypserv-2.21/yphelper/Makefile.am
--- old/ypserv-2.20/yphelper/Makefile.am 2007-10-01 14:12:53.000000000 +0200
+++ new/ypserv-2.21/yphelper/Makefile.am 2009-05-12 11:57:16.000000000 +0200
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2001, 2002, 2003, 2007 Thorsten Kukuk
+# Copyright (c) 2001, 2002, 2003, 2007, 2009 Thorsten Kukuk
#
AUTOMAKE_OPTIONS = 1.7 gnits
@@ -13,8 +13,9 @@
CLEANFILES = *~
-EXTRA_DIST = ${MANS}
+EXTRA_DIST = ${MANS} ${XMLS}
+XMLS = yphelper.8.xml
man_MANS = yphelper.8
libexec_PROGRAMS = yphelper
@@ -22,3 +23,9 @@
yphelper_SOURCES = yphelper.c
yphelper_LDADD = $(top_builddir)/lib/libyp.a @LIBDBM@
+
+if ENABLE_REGENERATE_MAN
+%.8: %.8.xml
+ $(XMLLINT) --nonet --xinclude --postvalid --noout $<
+ $(XSLTPROC) -o $(srcdir)/$@ --path $(srcdir) --xinclude --nonet http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
+endif
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ypserv-2.20/yphelper/yphelper.8 new/ypserv-2.21/yphelper/yphelper.8
--- old/ypserv-2.20/yphelper/yphelper.8 2001-09-02 16:07:54.000000000 +0200
+++ new/ypserv-2.21/yphelper/yphelper.8 2009-06-12 11:19:49.000000000 +0200
@@ -1,11 +1,179 @@
-.\" -*- nroff -*-
-.TH YPHELPER 8 "August 2001" "YP Server" "Reference Manual"
-.SH NAME
+.\" Title: yphelper
+.\" Author: [see the "AUTHOR" section]
+.\" Generator: DocBook XSL Stylesheets v1.74.0 http://docbook.sf.net/
+.\" Date: 06/12/2009
+.\" Manual: NIS Reference Manual
+.\" Source: NIS Reference Manual
+.\" Language: English
+.\"
+.TH "YPHELPER" "8" "06/12/2009" "NIS Reference Manual" "NIS Reference Manual"
+.\" -----------------------------------------------------------------
+.\" * (re)Define some macros
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" toupper - uppercase a string (locale-aware)
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.de toupper
+.tr aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ
+\\$*
+.tr aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz
+..
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" SH-xref - format a cross-reference to an SH section
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.de SH-xref
+.ie n \{\
+.\}
+.toupper \\$*
+.el \{\
+\\$*
+.\}
+..
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" SH - level-one heading that works better for non-TTY output
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.de1 SH
+.\" put an extra blank line of space above the head in non-TTY output
+.if t \{\
+.sp 1
+.\}
+.sp \\n[PD]u
+.nr an-level 1
+.set-an-margin
+.nr an-prevailing-indent \\n[IN]
+.fi
+.in \\n[an-margin]u
+.ti 0
+.HTML-TAG ".NH \\n[an-level]"
+.it 1 an-trap
+.nr an-no-space-flag 1
+.nr an-break-flag 1
+\." make the size of the head bigger
+.ps +3
+.ft B
+.ne (2v + 1u)
+.ie n \{\
+.\" if n (TTY output), use uppercase
+.toupper \\$*
+.\}
+.el \{\
+.nr an-break-flag 0
+.\" if not n (not TTY), use normal case (not uppercase)
+\\$1
+.in \\n[an-margin]u
+.ti 0
+.\" if not n (not TTY), put a border/line under subheading
+.sp -.6
+\l'\n(.lu'
+.\}
+..
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" SS - level-two heading that works better for non-TTY output
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.de1 SS
+.sp \\n[PD]u
+.nr an-level 1
+.set-an-margin
+.nr an-prevailing-indent \\n[IN]
+.fi
+.in \\n[IN]u
+.ti \\n[SN]u
+.it 1 an-trap
+.nr an-no-space-flag 1
+.nr an-break-flag 1
+.ps \\n[PS-SS]u
+\." make the size of the head bigger
+.ps +2
+.ft B
+.ne (2v + 1u)
+.if \\n[.$] \&\\$*
+..
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" BB/BE - put background/screen (filled box) around block of text
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.de BB
+.if t \{\
+.sp -.5
+.br
+.in +2n
+.ll -2n
+.gcolor red
+.di BX
+.\}
+..
+.de EB
+.if t \{\
+.if "\\$2"adjust-for-leading-newline" \{\
+.sp -1
+.\}
+.br
+.di
+.in
+.ll
+.gcolor
+.nr BW \\n(.lu-\\n(.i
+.nr BH \\n(dn+.5v
+.ne \\n(BHu+.5v
+.ie "\\$2"adjust-for-leading-newline" \{\
+\M[\\$1]\h'1n'\v'+.5v'\D'P \\n(BWu 0 0 \\n(BHu -\\n(BWu 0 0 -\\n(BHu'\M[]
+.\}
+.el \{\
+\M[\\$1]\h'1n'\v'-.5v'\D'P \\n(BWu 0 0 \\n(BHu -\\n(BWu 0 0 -\\n(BHu'\M[]
+.\}
+.in 0
+.sp -.5v
+.nf
+.BX
+.in
+.sp .5v
+.fi
+.\}
+..
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" BM/EM - put colored marker in margin next to block of text
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.de BM
+.if t \{\
+.br
+.ll -2n
+.gcolor red
+.di BX
+.\}
+..
+.de EM
+.if t \{\
+.br
+.di
+.ll
+.gcolor
+.nr BH \\n(dn
+.ne \\n(BHu
+\M[\\$1]\D'P -.75n 0 0 \\n(BHu -(\\n[.i]u - \\n(INu - .75n) 0 0 -\\n(BHu'\M[]
+.in 0
+.nf
+.BX
+.in
+.fi
+.\}
+..
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "Name"
yphelper \- helper application for internal use
-.SH DESCRIPTION
-.B yphelper
-is a internal helper application for ypserv and should not be
-used by the normal user or system administrator.
-.SH AUTHOR
-.B yphelper
-was written by Thorsten Kukuk .
+.SH "DESCRIPTION"
+.PP
+\fByphelper\fR
+is a internal helper application for ypserv and should not be used by the normal user or system administrator\&.
+.SH "AUTHOR"
+.PP
+
+\fBmakedbm\fR
+was written by Thorsten Kukuk \&.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ypserv-2.20/yphelper/yphelper.8.xml new/ypserv-2.21/yphelper/yphelper.8.xml
--- old/ypserv-2.20/yphelper/yphelper.8.xml 1970-01-01 01:00:00.000000000 +0100
+++ new/ypserv-2.21/yphelper/yphelper.8.xml 2009-05-12 11:56:00.000000000 +0200
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+ "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">
+<refentry id='yphelper8'>
+ <refmeta>
+ <refentrytitle>yphelper</refentrytitle>
+ <manvolnum>8</manvolnum>
+ <refmiscinfo class='manual'>NIS Reference Manual</refmiscinfo>
+ </refmeta>
+
+ <refnamediv id='name'>
+ <refname>yphelper</refname>
+ <refpurpose>helper application for internal use</refpurpose>
+ </refnamediv>
+
+
+<!-- body begins here -->
+<refsect1 id='description'><title>DESCRIPTION</title>
+<para><emphasis remap='B'>yphelper</emphasis>
+is a internal helper application for ypserv and should not be
+used by the normal user or system administrator.</para>
+</refsect1>
+
+ <refsect1 id='author'>
+ <title>AUTHOR</title>
+ <para>
+ <command>makedbm</command> was written by
+ Thorsten Kukuk <kukuk@linux-nis.org>.
+ </para>
+ </refsect1>
+</refentry>
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ypserv-2.20/yppush/yppush.8 new/ypserv-2.21/yppush/yppush.8
--- old/ypserv-2.20/yppush/yppush.8 2009-04-02 15:07:54.000000000 +0200
+++ new/ypserv-2.21/yppush/yppush.8 2009-06-12 11:19:43.000000000 +0200
@@ -1,12 +1,12 @@
.\" Title: yppush
.\" Author: [see the "AUTHOR" section]
.\" Generator: DocBook XSL Stylesheets v1.74.0 http://docbook.sf.net/
-.\" Date: 04/02/2009
+.\" Date: 06/12/2009
.\" Manual: NIS Reference Manual
.\" Source: NIS Reference Manual
.\" Language: English
.\"
-.TH "YPPUSH" "8" "04/02/2009" "NIS Reference Manual" "NIS Reference Manual"
+.TH "YPPUSH" "8" "06/12/2009" "NIS Reference Manual" "NIS Reference Manual"
.\" -----------------------------------------------------------------
.\" * (re)Define some macros
.\" -----------------------------------------------------------------
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/ypserv-2.20/ypserv/ypserv.c new/ypserv-2.21/ypserv/ypserv.c
--- old/ypserv-2.20/ypserv/ypserv.c 2006-01-10 20:22:20.000000000 +0100
+++ new/ypserv-2.21/ypserv/ypserv.c 2009-06-12 11:20:59.000000000 +0200
@@ -1,5 +1,5 @@
-/* Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2006 Thorsten Kukuk
- Author: Thorsten Kukuk
+/* Copyright (c) 1996-2009 Thorsten Kukuk
+ Author: Thorsten Kukuk
The YP Server is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
@@ -36,6 +36,7 @@
#include
#include
#include
+#include
#include
#include
#if defined(HAVE_RPC_SVC_SOC_H)
@@ -189,6 +190,14 @@
memset ((char *) &argument, 0, sizeof (argument));
if (!svc_getargs (transp, _xdr_argument, (caddr_t) &argument))
{
+ const struct sockaddr_in *sin = svc_getcaller (rqstp->rq_xprt);
+
+ log_msg ("ERROR: Cannot decode arguments for %d from %s",
+ rqstp->rq_proc, inet_ntoa (sin->sin_addr));
+ /* try to free already allocated memory during decoding.
+ bnc#471924 */
+ svc_freeargs (transp, _xdr_argument, (caddr_t) &argument);
+
svcerr_decode (transp);
return;
}
@@ -199,12 +208,12 @@
if (!svc_freeargs (transp, _xdr_argument, (caddr_t) &argument))
{
- log_msg ("unable to free arguments");
- exit (1);
+ log_msg ("ERROR: Unable to free arguments");
+ return; /* don't abort */
}
if (!ypprog_2_freeresult (transp, _xdr_result, (caddr_t) &result))
- log_msg ("unable to free results");
+ log_msg ("ERROR: Unable to free results");
return;
}
@@ -403,7 +412,7 @@
int
main (int argc, char **argv)
{
- SVCXPRT *transp;
+ SVCXPRT *transp_udp, *transp_tcp;
int my_port = -1, my_socket, result;
struct sockaddr_in s_in;
@@ -570,21 +579,22 @@
else
my_socket = RPC_ANYSOCK;
- transp = svcudp_create (my_socket);
- if (transp == NULL)
+ transp_udp = svcudp_create (my_socket);
+ if (transp_udp == NULL)
{
log_msg ("cannot create udp service.");
exit (1);
}
- if (!svc_register (transp, YPPROG, YPVERS, ypprog_2, IPPROTO_UDP))
+ if (!svc_register (transp_udp, YPPROG, YPVERS, ypprog_2, IPPROTO_UDP))
{
log_msg ("unable to register (YPPROG, YPVERS, udp).");
+ svc_destroy (transp_udp);
exit (1);
}
/* XXX ypprog_2 should be ypprog_1 */
- if (!svc_register (transp, YPPROG, YPOLDVERS, ypprog_2, IPPROTO_UDP))
+ if (!svc_register (transp_udp, YPPROG, YPOLDVERS, ypprog_2, IPPROTO_UDP))
{
log_msg ("unable to register (YPPROG, YPOLDVERS, udp).");
exit (1);
@@ -615,23 +625,28 @@
else
my_socket = RPC_ANYSOCK;
- transp = svctcp_create (my_socket, 0, 0);
- if (transp == NULL)
+ transp_tcp = svctcp_create (my_socket, 0, 0);
+ if (transp_tcp == NULL)
{
log_msg ("ypserv: cannot create tcp service\n");
+ svc_destroy (transp_udp);
exit (1);
}
- if (!svc_register (transp, YPPROG, YPVERS, ypprog_2, IPPROTO_TCP))
+ if (!svc_register (transp_tcp, YPPROG, YPVERS, ypprog_2, IPPROTO_TCP))
{
log_msg ("ypserv: unable to register (YPPROG, YPVERS, tcp)\n");
+ svc_destroy (transp_udp);
+ svc_destroy (transp_tcp);
exit (1);
}
/* XXX ypprog_2 should be ypprog_1 */
- if (!svc_register (transp, YPPROG, YPOLDVERS, ypprog_2, IPPROTO_TCP))
+ if (!svc_register (transp_tcp, YPPROG, YPOLDVERS, ypprog_2, IPPROTO_TCP))
{
log_msg ("ypserv: unable to register (YPPROG, YPOLDVERS, tcp)\n");
+ svc_destroy (transp_udp);
+ svc_destroy (transp_tcp);
exit (1);
}
@@ -651,6 +666,8 @@
if (slp_flag)
deregister_slp ();
#endif
+ svc_destroy (transp_udp);
+ svc_destroy (transp_tcp);
exit (1);
/* NOTREACHED */
}
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org