diff -u -r -N nis-utils-1.4.1.orig/src/keyserv/Makefile.am nis-utils-1.4.1/src/keyserv/Makefile.am --- nis-utils-1.4.1.orig/src/keyserv/Makefile.am 2000-01-06 18:48:03.000000000 +0200 +++ nis-utils-1.4.1/src/keyserv/Makefile.am 2012-04-18 21:52:45.484715883 +0300 @@ -24,4 +24,4 @@ sbin_PROGRAMS = keyserv -keyserv_SOURCES = keyserv.c keyserv_server.c setkey.c log_msg.c +keyserv_SOURCES = keyserv.c keyserv_server.c setkey.c log_msg.c passwd2des.c diff -u -r -N nis-utils-1.4.1.orig/src/keyserv/Makefile.in nis-utils-1.4.1/src/keyserv/Makefile.in --- nis-utils-1.4.1.orig/src/keyserv/Makefile.in 2001-04-24 07:29:59.000000000 +0200 +++ nis-utils-1.4.1/src/keyserv/Makefile.in 2012-04-18 21:53:17.051885078 +0300 @@ -121,7 +121,7 @@ sbin_PROGRAMS = keyserv -keyserv_SOURCES = keyserv.c keyserv_server.c setkey.c log_msg.c +keyserv_SOURCES = keyserv.c keyserv_server.c setkey.c log_msg.c passwd2des.c mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs CONFIG_HEADER = ../../config.h CONFIG_CLEAN_FILES = @@ -132,7 +132,7 @@ CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ -keyserv_OBJECTS = keyserv.o keyserv_server.o setkey.o log_msg.o +keyserv_OBJECTS = keyserv.o keyserv_server.o setkey.o log_msg.o passwd2des.o keyserv_LDADD = $(LDADD) keyserv_DEPENDENCIES = keyserv_LDFLAGS = diff -u -r -N nis-utils-1.4.1.orig/src/keyserv/passwd2des.c nis-utils-1.4.1/src/keyserv/passwd2des.c --- nis-utils-1.4.1.orig/src/keyserv/passwd2des.c 1970-01-01 03:00:00.000000000 +0300 +++ nis-utils-1.4.1/src/keyserv/passwd2des.c 2012-04-18 21:52:45.484715883 +0300 @@ -0,0 +1,53 @@ +/* + * passwd2des.c + * + * Parts of this file taken from glibc SunRPC implementation + * (7b57bfe5988e476ea40934457dfd1c8a231e2391:/sunrpc/xcrypt.c) + */ + +/* + * Copyright (c) 2010, Oracle America, Inc. + * + * 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 the "Oracle America, 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. + */ + +static char sccsid[] = "@(#)xcrypt.c 1.3 89/03/24 Copyr 1986 Sun Micro"; + +#include +#include + +void passwd2des (char *pw, char *key) +{ + int i; + + memset (key, 0, 8); + for (i = 0; *pw && i < 8; ++i) + key[i] ^= *pw++ << 1; + + des_setparity (key); +}