--- /dev/null
+#lib/cpp
+#usr/bin/c++
+#usr/bin/cc
+#usr/bin/cpp
+#usr/bin/g##
+#usr/bin/gcc
+#usr/bin/gccbug
+#usr/bin/gcov
+#usr/bin/i586-pc-linux-gnu-c++
+#usr/bin/i586-pc-linux-gnu-g##
+#usr/bin/i586-pc-linux-gnu-gcc
+#usr/bin/i586-pc-linux-gnu-gcc-4.0.3
+#usr/include/c++
+#usr/include/c++/4.0.3
+#usr/include/c++/4.0.3/algorithm
+#usr/include/c++/4.0.3/backward
+#usr/include/c++/4.0.3/backward/algo.h
+#usr/include/c++/4.0.3/backward/algobase.h
+#usr/include/c++/4.0.3/backward/alloc.h
+#usr/include/c++/4.0.3/backward/backward_warning.h
+#usr/include/c++/4.0.3/backward/bvector.h
+#usr/include/c++/4.0.3/backward/complex.h
+#usr/include/c++/4.0.3/backward/defalloc.h
+#usr/include/c++/4.0.3/backward/deque.h
+#usr/include/c++/4.0.3/backward/fstream.h
+#usr/include/c++/4.0.3/backward/function.h
+#usr/include/c++/4.0.3/backward/hash_map.h
+#usr/include/c++/4.0.3/backward/hash_set.h
+#usr/include/c++/4.0.3/backward/hashtable.h
+#usr/include/c++/4.0.3/backward/heap.h
+#usr/include/c++/4.0.3/backward/iomanip.h
+#usr/include/c++/4.0.3/backward/iostream.h
+#usr/include/c++/4.0.3/backward/istream.h
+#usr/include/c++/4.0.3/backward/iterator.h
+#usr/include/c++/4.0.3/backward/list.h
+#usr/include/c++/4.0.3/backward/map.h
+#usr/include/c++/4.0.3/backward/multimap.h
+#usr/include/c++/4.0.3/backward/multiset.h
+#usr/include/c++/4.0.3/backward/new.h
+#usr/include/c++/4.0.3/backward/ostream.h
+#usr/include/c++/4.0.3/backward/pair.h
+#usr/include/c++/4.0.3/backward/queue.h
+#usr/include/c++/4.0.3/backward/rope.h
+#usr/include/c++/4.0.3/backward/set.h
+#usr/include/c++/4.0.3/backward/slist.h
+#usr/include/c++/4.0.3/backward/stack.h
+#usr/include/c++/4.0.3/backward/stream.h
+#usr/include/c++/4.0.3/backward/streambuf.h
+#usr/include/c++/4.0.3/backward/strstream
+#usr/include/c++/4.0.3/backward/tempbuf.h
+#usr/include/c++/4.0.3/backward/tree.h
+#usr/include/c++/4.0.3/backward/vector.h
+#usr/include/c++/4.0.3/bits
+#usr/include/c++/4.0.3/bits/allocator.h
+#usr/include/c++/4.0.3/bits/atomicity.h
+#usr/include/c++/4.0.3/bits/basic_ios.h
+#usr/include/c++/4.0.3/bits/basic_ios.tcc
+#usr/include/c++/4.0.3/bits/basic_string.h
+#usr/include/c++/4.0.3/bits/basic_string.tcc
+#usr/include/c++/4.0.3/bits/boost_concept_check.h
+#usr/include/c++/4.0.3/bits/char_traits.h
+#usr/include/c++/4.0.3/bits/cmath.tcc
+#usr/include/c++/4.0.3/bits/codecvt.h
+#usr/include/c++/4.0.3/bits/concept_check.h
+#usr/include/c++/4.0.3/bits/concurrence.h
+#usr/include/c++/4.0.3/bits/cpp_type_traits.h
+#usr/include/c++/4.0.3/bits/deque.tcc
+#usr/include/c++/4.0.3/bits/fstream.tcc
+#usr/include/c++/4.0.3/bits/functexcept.h
+#usr/include/c++/4.0.3/bits/gslice.h
+#usr/include/c++/4.0.3/bits/gslice_array.h
+#usr/include/c++/4.0.3/bits/indirect_array.h
+#usr/include/c++/4.0.3/bits/ios_base.h
+#usr/include/c++/4.0.3/bits/istream.tcc
+#usr/include/c++/4.0.3/bits/list.tcc
+#usr/include/c++/4.0.3/bits/locale_classes.h
+#usr/include/c++/4.0.3/bits/locale_facets.h
+#usr/include/c++/4.0.3/bits/locale_facets.tcc
+#usr/include/c++/4.0.3/bits/localefwd.h
+#usr/include/c++/4.0.3/bits/mask_array.h
+#usr/include/c++/4.0.3/bits/ostream.tcc
+#usr/include/c++/4.0.3/bits/postypes.h
+#usr/include/c++/4.0.3/bits/slice_array.h
+#usr/include/c++/4.0.3/bits/sstream.tcc
+#usr/include/c++/4.0.3/bits/stl_algo.h
+#usr/include/c++/4.0.3/bits/stl_algobase.h
+#usr/include/c++/4.0.3/bits/stl_bvector.h
+#usr/include/c++/4.0.3/bits/stl_construct.h
+#usr/include/c++/4.0.3/bits/stl_deque.h
+#usr/include/c++/4.0.3/bits/stl_function.h
+#usr/include/c++/4.0.3/bits/stl_heap.h
+#usr/include/c++/4.0.3/bits/stl_iterator.h
+#usr/include/c++/4.0.3/bits/stl_iterator_base_funcs.h
+#usr/include/c++/4.0.3/bits/stl_iterator_base_types.h
+#usr/include/c++/4.0.3/bits/stl_list.h
+#usr/include/c++/4.0.3/bits/stl_map.h
+#usr/include/c++/4.0.3/bits/stl_multimap.h
+#usr/include/c++/4.0.3/bits/stl_multiset.h
+#usr/include/c++/4.0.3/bits/stl_numeric.h
+#usr/include/c++/4.0.3/bits/stl_pair.h
+#usr/include/c++/4.0.3/bits/stl_queue.h
+#usr/include/c++/4.0.3/bits/stl_raw_storage_iter.h
+#usr/include/c++/4.0.3/bits/stl_relops.h
+#usr/include/c++/4.0.3/bits/stl_set.h
+#usr/include/c++/4.0.3/bits/stl_stack.h
+#usr/include/c++/4.0.3/bits/stl_tempbuf.h
+#usr/include/c++/4.0.3/bits/stl_tree.h
+#usr/include/c++/4.0.3/bits/stl_uninitialized.h
+#usr/include/c++/4.0.3/bits/stl_vector.h
+#usr/include/c++/4.0.3/bits/stream_iterator.h
+#usr/include/c++/4.0.3/bits/streambuf.tcc
+#usr/include/c++/4.0.3/bits/streambuf_iterator.h
+#usr/include/c++/4.0.3/bits/stringfwd.h
+#usr/include/c++/4.0.3/bits/valarray_after.h
+#usr/include/c++/4.0.3/bits/valarray_array.h
+#usr/include/c++/4.0.3/bits/valarray_array.tcc
+#usr/include/c++/4.0.3/bits/valarray_before.h
+#usr/include/c++/4.0.3/bits/vector.tcc
+#usr/include/c++/4.0.3/bitset
+#usr/include/c++/4.0.3/cassert
+#usr/include/c++/4.0.3/cctype
+#usr/include/c++/4.0.3/cerrno
+#usr/include/c++/4.0.3/cfloat
+#usr/include/c++/4.0.3/ciso646
+#usr/include/c++/4.0.3/climits
+#usr/include/c++/4.0.3/clocale
+#usr/include/c++/4.0.3/cmath
+#usr/include/c++/4.0.3/complex
+#usr/include/c++/4.0.3/csetjmp
+#usr/include/c++/4.0.3/csignal
+#usr/include/c++/4.0.3/cstdarg
+#usr/include/c++/4.0.3/cstddef
+#usr/include/c++/4.0.3/cstdio
+#usr/include/c++/4.0.3/cstdlib
+#usr/include/c++/4.0.3/cstring
+#usr/include/c++/4.0.3/ctime
+#usr/include/c++/4.0.3/cwchar
+#usr/include/c++/4.0.3/cwctype
+#usr/include/c++/4.0.3/cxxabi.h
+#usr/include/c++/4.0.3/debug
+#usr/include/c++/4.0.3/debug/bitset
+#usr/include/c++/4.0.3/debug/debug.h
+#usr/include/c++/4.0.3/debug/deque
+#usr/include/c++/4.0.3/debug/formatter.h
+#usr/include/c++/4.0.3/debug/hash_map
+#usr/include/c++/4.0.3/debug/hash_map.h
+#usr/include/c++/4.0.3/debug/hash_multimap.h
+#usr/include/c++/4.0.3/debug/hash_multiset.h
+#usr/include/c++/4.0.3/debug/hash_set
+#usr/include/c++/4.0.3/debug/hash_set.h
+#usr/include/c++/4.0.3/debug/list
+#usr/include/c++/4.0.3/debug/map
+#usr/include/c++/4.0.3/debug/map.h
+#usr/include/c++/4.0.3/debug/multimap.h
+#usr/include/c++/4.0.3/debug/multiset.h
+#usr/include/c++/4.0.3/debug/safe_base.h
+#usr/include/c++/4.0.3/debug/safe_iterator.h
+#usr/include/c++/4.0.3/debug/safe_iterator.tcc
+#usr/include/c++/4.0.3/debug/safe_sequence.h
+#usr/include/c++/4.0.3/debug/set
+#usr/include/c++/4.0.3/debug/set.h
+#usr/include/c++/4.0.3/debug/string
+#usr/include/c++/4.0.3/debug/vector
+#usr/include/c++/4.0.3/deque
+#usr/include/c++/4.0.3/exception
+#usr/include/c++/4.0.3/exception_defines.h
+#usr/include/c++/4.0.3/ext
+#usr/include/c++/4.0.3/ext/algorithm
+#usr/include/c++/4.0.3/ext/array_allocator.h
+#usr/include/c++/4.0.3/ext/bitmap_allocator.h
+#usr/include/c++/4.0.3/ext/codecvt_specializations.h
+#usr/include/c++/4.0.3/ext/debug_allocator.h
+#usr/include/c++/4.0.3/ext/functional
+#usr/include/c++/4.0.3/ext/hash_fun.h
+#usr/include/c++/4.0.3/ext/hash_map
+#usr/include/c++/4.0.3/ext/hash_set
+#usr/include/c++/4.0.3/ext/hashtable.h
+#usr/include/c++/4.0.3/ext/iterator
+#usr/include/c++/4.0.3/ext/malloc_allocator.h
+#usr/include/c++/4.0.3/ext/memory
+#usr/include/c++/4.0.3/ext/mt_allocator.h
+#usr/include/c++/4.0.3/ext/new_allocator.h
+#usr/include/c++/4.0.3/ext/numeric
+#usr/include/c++/4.0.3/ext/pod_char_traits.h
+#usr/include/c++/4.0.3/ext/pool_allocator.h
+#usr/include/c++/4.0.3/ext/rb_tree
+#usr/include/c++/4.0.3/ext/rope
+#usr/include/c++/4.0.3/ext/ropeimpl.h
+#usr/include/c++/4.0.3/ext/slist
+#usr/include/c++/4.0.3/ext/stdio_filebuf.h
+#usr/include/c++/4.0.3/ext/stdio_sync_filebuf.h
+#usr/include/c++/4.0.3/fstream
+#usr/include/c++/4.0.3/functional
+#usr/include/c++/4.0.3/i586-pc-linux-gnu
+#usr/include/c++/4.0.3/i586-pc-linux-gnu/bits
+#usr/include/c++/4.0.3/i586-pc-linux-gnu/bits/atomic_word.h
+#usr/include/c++/4.0.3/i586-pc-linux-gnu/bits/basic_file.h
+#usr/include/c++/4.0.3/i586-pc-linux-gnu/bits/c++allocator.h
+#usr/include/c++/4.0.3/i586-pc-linux-gnu/bits/c++config.h
+#usr/include/c++/4.0.3/i586-pc-linux-gnu/bits/c++io.h
+#usr/include/c++/4.0.3/i586-pc-linux-gnu/bits/c++locale.h
+#usr/include/c++/4.0.3/i586-pc-linux-gnu/bits/ctype_base.h
+#usr/include/c++/4.0.3/i586-pc-linux-gnu/bits/ctype_inline.h
+#usr/include/c++/4.0.3/i586-pc-linux-gnu/bits/ctype_noninline.h
+#usr/include/c++/4.0.3/i586-pc-linux-gnu/bits/cxxabi_tweaks.h
+#usr/include/c++/4.0.3/i586-pc-linux-gnu/bits/gthr-default.h
+#usr/include/c++/4.0.3/i586-pc-linux-gnu/bits/gthr-posix.h
+#usr/include/c++/4.0.3/i586-pc-linux-gnu/bits/gthr-single.h
+#usr/include/c++/4.0.3/i586-pc-linux-gnu/bits/gthr-tpf.h
+#usr/include/c++/4.0.3/i586-pc-linux-gnu/bits/gthr.h
+#usr/include/c++/4.0.3/i586-pc-linux-gnu/bits/messages_members.h
+#usr/include/c++/4.0.3/i586-pc-linux-gnu/bits/os_defines.h
+#usr/include/c++/4.0.3/i586-pc-linux-gnu/bits/stdc++.h.gch
+#usr/include/c++/4.0.3/i586-pc-linux-gnu/bits/stdc++.h.gch/O0g.gch
+#usr/include/c++/4.0.3/i586-pc-linux-gnu/bits/stdc++.h.gch/O2g.gch
+#usr/include/c++/4.0.3/i586-pc-linux-gnu/bits/time_members.h
+#usr/include/c++/4.0.3/iomanip
+#usr/include/c++/4.0.3/ios
+#usr/include/c++/4.0.3/iosfwd
+#usr/include/c++/4.0.3/iostream
+#usr/include/c++/4.0.3/istream
+#usr/include/c++/4.0.3/iterator
+#usr/include/c++/4.0.3/limits
+#usr/include/c++/4.0.3/list
+#usr/include/c++/4.0.3/locale
+#usr/include/c++/4.0.3/map
+#usr/include/c++/4.0.3/memory
+#usr/include/c++/4.0.3/new
+#usr/include/c++/4.0.3/numeric
+#usr/include/c++/4.0.3/ostream
+#usr/include/c++/4.0.3/queue
+#usr/include/c++/4.0.3/set
+#usr/include/c++/4.0.3/sstream
+#usr/include/c++/4.0.3/stack
+#usr/include/c++/4.0.3/stdexcept
+#usr/include/c++/4.0.3/streambuf
+#usr/include/c++/4.0.3/string
+#usr/include/c++/4.0.3/tr1
+#usr/include/c++/4.0.3/tr1/array
+#usr/include/c++/4.0.3/tr1/bind_iterate.h
+#usr/include/c++/4.0.3/tr1/bind_repeat.h
+#usr/include/c++/4.0.3/tr1/boost_shared_ptr.h
+#usr/include/c++/4.0.3/tr1/functional
+#usr/include/c++/4.0.3/tr1/functional_iterate.h
+#usr/include/c++/4.0.3/tr1/hashtable
+#usr/include/c++/4.0.3/tr1/memory
+#usr/include/c++/4.0.3/tr1/mu_iterate.h
+#usr/include/c++/4.0.3/tr1/ref_fwd.h
+#usr/include/c++/4.0.3/tr1/ref_wrap_iterate.h
+#usr/include/c++/4.0.3/tr1/repeat.h
+#usr/include/c++/4.0.3/tr1/tuple
+#usr/include/c++/4.0.3/tr1/tuple_iterate.h
+#usr/include/c++/4.0.3/tr1/type_traits
+#usr/include/c++/4.0.3/tr1/type_traits_fwd.h
+#usr/include/c++/4.0.3/tr1/unordered_map
+#usr/include/c++/4.0.3/tr1/unordered_set
+#usr/include/c++/4.0.3/tr1/utility
+#usr/include/c++/4.0.3/typeinfo
+#usr/include/c++/4.0.3/utility
+#usr/include/c++/4.0.3/valarray
+#usr/include/c++/4.0.3/vector
+#usr/include/mf-runtime.h
+#usr/info/cpp.info
+#usr/info/cppinternals.info
+#usr/info/gcc.info
+#usr/info/gccinstall.info
+#usr/info/gccint.info
+#usr/lib/gcc
+#usr/lib/gcc/i586-pc-linux-gnu
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/cc1
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/cc1plus
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/collect2
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/crtbegin.o
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/crtbeginS.o
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/crtbeginT.o
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/crtend.o
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/crtendS.o
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/include
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/include/README
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/include/emmintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/include/float.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/include/iso646.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/include/limits.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/include/mm3dnow.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/include/mm_malloc.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/include/mmintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/include/pmmintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/include/stdarg.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/include/stdbool.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/include/stddef.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/include/syslimits.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/include/unwind.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/include/varargs.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/include/xmmintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/install-tools
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/install-tools/fixinc.sh
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/install-tools/fixincl
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/install-tools/gsyslimits.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/install-tools/include
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/install-tools/include/README
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/install-tools/include/emmintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/install-tools/include/float.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/install-tools/include/iso646.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/install-tools/include/limits.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/install-tools/include/mm3dnow.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/install-tools/include/mm_malloc.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/install-tools/include/mmintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/install-tools/include/pmmintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/install-tools/include/stdarg.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/install-tools/include/stdbool.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/install-tools/include/stddef.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/install-tools/include/unwind.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/install-tools/include/varargs.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/install-tools/include/xmmintrin.h
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/install-tools/macro_list
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/install-tools/mkheaders
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/install-tools/mkheaders.conf
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/libgcc.a
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/libgcc_eh.a
+#usr/lib/gcc/i586-pc-linux-gnu/4.0.3/libgcov.a
+#usr/lib/libmudflap.a
+#usr/lib/libmudflap.la
+#usr/lib/libmudflap.so
+#usr/lib/libmudflap.so.0
+#usr/lib/libmudflap.so.0.0.0
+#usr/lib/libmudflapth.a
+#usr/lib/libmudflapth.la
+#usr/lib/libmudflapth.so
+#usr/lib/libmudflapth.so.0
+#usr/lib/libmudflapth.so.0.0.0
+#usr/lib/libstdc++.a
+#usr/lib/libstdc++.la
+#usr/lib/libstdc++.so
+#usr/lib/libstdc++.so.6
+#usr/lib/libstdc++.so.6.0.7
+#usr/lib/libsupc++.a
+#usr/lib/libsupc++.la
+#usr/man/man1/cpp.1
+#usr/man/man1/g##.1
+#usr/man/man1/gcc.1
+#usr/man/man1/gcov.1
+#usr/man/man7
+#usr/man/man7/fsf-funding.7
+#usr/man/man7/gfdl.7
+#usr/man/man7/gpl.7
--- /dev/null
+Submitted By: Randy McMurchy <randy_at_linuxfromscratch_dot_org>
+Date: 2005-03-23
+Initial Package Version: 1.4.2
+Upstream Status: Not sure
+Origin: Internet (URL's are now lost)
+Description: Fix the rexecd daemon so that it understands shadow
+ passwords. Fix the rshd daemon so that it properly
+ resolves hostnames.
+
+diff -Naur inetutils-1.4.2-orig/rexecd/rexecd.c inetutils-1.4.2/rexecd/rexecd.c
+--- inetutils-1.4.2-orig/rexecd/rexecd.c 2002-12-11 12:38:00.000000000 +0000
++++ inetutils-1.4.2/rexecd/rexecd.c 2005-02-22 19:53:44.146962264 +0000
+@@ -79,6 +79,10 @@
+ #include <varargs.h>
+ #endif
+
++#ifdef HAVE_SHADOW_H
++#include <shadow.h>
++#endif
++
+ void error __P ((const char *fmt, ...));
+ /*
+ * remote execute server:
+@@ -127,6 +131,10 @@
+ char *cmdbuf, *cp, *namep;
+ char *user, *pass;
+ struct passwd *pwd;
++#ifdef HAVE_SHADOW_H
++ struct spwd *spwd;
++ char *pw_field;
++#endif
+ int s;
+ u_short port;
+ int pv[2], pid, cc;
+@@ -186,6 +194,24 @@
+ exit(1);
+ }
+ endpwent();
++
++#ifdef HAVE_SHADOW_H
++ // Get encrypted password from /etc/shadow if possible,
++ // else from /etc/passwd.
++ spwd = getspnam(user);
++ if (spwd) {
++ pw_field = spwd->sp_pwdp;
++ } else {
++ pw_field = pwd->pw_passwd;
++ }
++ if (*pw_field != '\0') {
++ namep = CRYPT (pass, pw_field);
++ if (strcmp(namep, pw_field)) {
++ error("Password incorrect.\n");
++ exit(1);
++ }
++ }
++#else
+ if (*pwd->pw_passwd != '\0') {
+ namep = CRYPT (pass, pwd->pw_passwd);
+ if (strcmp(namep, pwd->pw_passwd)) {
+@@ -193,6 +219,7 @@
+ exit(1);
+ }
+ }
++#endif
+ write(STDERR_FILENO, "\0", 1);
+ if (port) {
+ pipe(pv);
+diff -Naur inetutils-1.4.2-orig/rshd/rshd.c inetutils-1.4.2/rshd/rshd.c
+--- inetutils-1.4.2-orig/rshd/rshd.c 2002-12-11 12:38:00.000000000 +0000
++++ inetutils-1.4.2/rshd/rshd.c 2005-02-22 19:54:33.162510768 +0000
+@@ -443,7 +443,7 @@
+ dup2 (sockfd, STDERR_FILENO);
+ }
+
+- /* Get the "name" of the clent form its Internet address.
++ /* Get the "name" of the client form its Internet address.
+ * This is used for the autentication below
+ */
+ errorstr = NULL;
+@@ -457,52 +457,49 @@
+ * in a remote net; look up the name and check that this
+ * address corresponds to the name.
+ */
+- hostname = strdup (hp->h_name);
++ const char *remotehost = strdup(hp->h_name);
+ #ifdef KERBEROS
+ if (!use_kerberos)
+ #endif
+- if (check_all || local_domain (hp->h_name))
++ if (! remotehost)
++ errorstr = "Out of memory\n";
++ else if (check_all || local_domain (remotehost))
+ {
+- char *remotehost = (char *) alloca (strlen (hp->h_name) + 1);
+- if (! remotehost)
+- errorstr = "Out of memory\n";
+- else
++ errorhost = remotehost;
++ hp = gethostbyname (remotehost);
++ if (hp == NULL)
+ {
+- strcpy (remotehost, hp->h_name);
+- errorhost = remotehost;
+- hp = gethostbyname (remotehost);
+- if (hp == NULL)
++ syslog (LOG_INFO,
++ "Couldn't look up address for %s", remotehost);
++ errorstr = "Couldn't look up address for your host (%s)\n";
++ hostname = strdup(inet_ntoa(fromp->sin_addr));
++ }
++ else
++ {
++ for (; ; hp->h_addr_list++)
+ {
+- syslog (LOG_INFO,
+- "Couldn't look up address for %s", remotehost);
+- errorstr = "Couldn't look up address for your host (%s)\n";
+- hostname = inet_ntoa (fromp->sin_addr);
++ if (hp->h_addr_list[0] == NULL)
++ {
++ syslog (LOG_NOTICE,
++ "Host addr %s not listed for host %s",
++ inet_ntoa (fromp->sin_addr), hp->h_name);
++ errorstr = "Host address mismatch for %s\n";
++ hostname = strdup(inet_ntoa(fromp->sin_addr));
++ break;
++ }
++ if (!memcmp (hp->h_addr_list[0],
++ (caddr_t)&fromp->sin_addr,
++ sizeof fromp->sin_addr))
++ {
++ hostname = strdup(hp->h_name);
++ break; /* equal, OK */
++ }
+ }
+- else
+- for (; ; hp->h_addr_list++)
+- {
+- if (hp->h_addr_list[0] == NULL)
+- {
+- syslog (LOG_NOTICE,
+- "Host addr %s not listed for host %s",
+- inet_ntoa (fromp->sin_addr), hp->h_name);
+- errorstr = "Host address mismatch for %s\n";
+- hostname = inet_ntoa (fromp->sin_addr);
+- break;
+- }
+- if (!memcmp (hp->h_addr_list[0],
+- (caddr_t)&fromp->sin_addr,
+- sizeof fromp->sin_addr))
+- {
+- hostname = hp->h_name;
+- break; /* equal, OK */
+- }
+- }
+- }
++ }
+ }
+ }
+ else
+- errorhost = hostname = inet_ntoa (fromp->sin_addr);
++ errorhost = hostname = strdup(inet_ntoa(fromp->sin_addr));
+
+ #ifdef KERBEROS
+ if (use_kerberos)
+