+++ /dev/null
---- shishi-0.0.0/lib/crypto.c.orig 2003-06-02 04:25:49.000000000 +0200
-+++ shishi-0.0.0/lib/crypto.c 2003-08-03 05:01:41.000000000 +0200
-@@ -221,12 +221,12 @@
- unsigned char *hash;
- int res;
-
-- mdh = gcry_md_open (halg, GCRY_MD_FLAG_HMAC);
-+ gcry_md_open (&mdh, halg, GCRY_MD_FLAG_HMAC);
- if (mdh == NULL)
- return SHISHI_GCRYPT_ERROR;
-
- res = gcry_md_setkey (mdh, shishi_key_value (key), shishi_key_length (key));
-- if (res != GCRYERR_SUCCESS)
-+ if (res != GPG_ERR_NO_ERROR)
- {
- shishi_error_set (handle, gcry_strerror (res));
- return SHISHI_GCRYPT_ERROR;
-@@ -362,23 +362,23 @@
- break;
- }
-
-- ch = gcry_cipher_open (alg, mode, flags);
-+ gcry_cipher_open (&ch, alg, mode, flags);
- if (ch == NULL)
- return SHISHI_GCRYPT_ERROR;
-
- res =
- gcry_cipher_setkey (ch, shishi_key_value (key), shishi_key_length (key));
-- if (res == GCRYERR_SUCCESS)
-+ if (res == GPG_ERR_NO_ERROR)
- res = gcry_cipher_setiv (ch, iv, ivlen);
-
-- if (res == GCRYERR_SUCCESS)
-+ if (res == GPG_ERR_NO_ERROR)
- res = direction ?
- gcry_cipher_decrypt (ch, (unsigned char *) out, *outlen,
- (const unsigned char *) in, inlen) :
- gcry_cipher_encrypt (ch, (unsigned char *) out, *outlen,
- (const unsigned char *) in, inlen);
-
-- if (res != GCRYERR_SUCCESS)
-+ if (res != GPG_ERR_NO_ERROR)
- {
- puts (gcry_strerror (res));
- shishi_error_set (handle, gcry_strerror (res));
-@@ -769,10 +769,10 @@
- {
- if (gcry_check_version (GCRYPT_VERSION) == NULL)
- return SHISHI_GCRYPT_ERROR;
-- if (gcry_control (GCRYCTL_DISABLE_SECMEM, NULL, 0) != GCRYERR_SUCCESS)
-+ if (gcry_control (GCRYCTL_DISABLE_SECMEM, NULL, 0) != GPG_ERR_NO_ERROR)
- return SHISHI_GCRYPT_ERROR;
- if (gcry_control (GCRYCTL_INITIALIZATION_FINISHED,
-- NULL, 0) != GCRYERR_SUCCESS)
-+ NULL, 0) != GPG_ERR_NO_ERROR)
- return SHISHI_GCRYPT_ERROR;
- }
-
-@@ -1273,7 +1273,7 @@
- GCRY_MD_HD hd;
- GCRY_CIPHER_HD ch;
-
-- hd = gcry_md_open (GCRY_MD_MD5, 0);
-+ gcry_md_open (&hd, GCRY_MD_MD5, 0);
- if (!hd)
- return SHISHI_GCRYPT_ERROR;
-
-@@ -1282,14 +1282,14 @@
-
- keyp = shishi_key_value (key);
-
-- ch = gcry_cipher_open (GCRY_CIPHER_DES,
-+ gcry_cipher_open (&ch, GCRY_CIPHER_DES,
- GCRY_CIPHER_MODE_CBC,
- GCRY_CIPHER_CBC_MAC);
- if (ch == NULL)
- return SHISHI_GCRYPT_ERROR;
-
- res = gcry_cipher_setkey (ch, keyp, 8);
-- if (res != GCRYERR_SUCCESS)
-+ if (res != GPG_ERR_NO_ERROR)
- return SHISHI_GCRYPT_ERROR;
-
- res = gcry_cipher_setiv (ch, NULL, 8);
---- shishi-0.0.0/lib/crypto-des.c.orig 2003-06-02 04:23:34.000000000 +0200
-+++ shishi-0.0.0/lib/crypto-des.c 2003-08-03 05:00:36.000000000 +0200
-@@ -32,7 +32,7 @@
- memcpy (md, out + 8, 4);
- memset (out + 8, 0, 4);
-
-- hd = gcry_md_open (GCRY_MD_CRC32_RFC1510, 0);
-+ gcry_md_open (&hd, GCRY_MD_CRC32_RFC1510, 0);
-
- if (!hd)
- {
-@@ -95,7 +95,7 @@
- if (res != SHISHI_OK)
- return res;
-
-- hd = gcry_md_open (GCRY_MD_CRC32_RFC1510, 0);
-+ gcry_md_open (&hd, GCRY_MD_CRC32_RFC1510, 0);
- if (hd == NULL)
- return SHISHI_GCRYPT_ERROR;
-
-@@ -123,7 +123,7 @@
- memcpy (md, out + 8, 16);
- memset (out + 8, 0, 16);
-
-- hd = gcry_md_open (GCRY_MD_MD4, 0);
-+ gcry_md_open (&hd, GCRY_MD_MD4, 0);
-
- if (!hd)
- {
-@@ -186,7 +186,7 @@
- if (res != SHISHI_OK)
- return res;
-
-- hd = gcry_md_open (GCRY_MD_MD4, 0);
-+ gcry_md_open (&hd, GCRY_MD_MD4, 0);
- if (hd == NULL)
- return SHISHI_GCRYPT_ERROR;
-
-@@ -214,7 +214,7 @@
- memcpy (md, out + 8, 16);
- memset (out + 8, 0, 16);
-
-- hd = gcry_md_open (GCRY_MD_MD5, 0);
-+ gcry_md_open (&hd, GCRY_MD_MD5, 0);
-
- if (!hd)
- {
-@@ -277,7 +277,7 @@
- if (res != SHISHI_OK)
- return res;
-
-- hd = gcry_md_open (GCRY_MD_MD5, 0);
-+ gcry_md_open (&hd, GCRY_MD_MD5, 0);
- if (hd == NULL)
- return SHISHI_GCRYPT_ERROR;
-
-@@ -575,16 +575,16 @@
- /* fixparity(key); */
- des_set_odd_key_parity (key);
-
-- ch = gcry_cipher_open (GCRY_CIPHER_DES, GCRY_CIPHER_MODE_CBC, 0);
-+ gcry_cipher_open (&ch, GCRY_CIPHER_DES, GCRY_CIPHER_MODE_CBC, 0);
- if (ch == NULL)
- return !SHISHI_OK;
-
- /* XXX libgcrypt tests for pseudo-weak keys, rfc 1510 doesn't */
-
- res = gcry_cipher_setkey (ch, key, 8);
-- if (res != GCRYERR_SUCCESS)
-+ if (res != GPG_ERR_NO_ERROR)
- {
-- if (res == GCRYERR_WEAK_KEY)
-+ if (res == GPG_ERR_WEAK_KEY)
- {
- if (VERBOSECRYPTO(handle))
- printf ("\t ;; WEAK KEY (corrected)\n");
-@@ -605,14 +605,14 @@
- GCRY_CIPHER_HD ch;
- int res;
-
-- ch = gcry_cipher_open (GCRY_CIPHER_DES,
-+ gcry_cipher_open (&ch, GCRY_CIPHER_DES,
- GCRY_CIPHER_MODE_CBC,
- GCRY_CIPHER_CBC_MAC);
- if (ch == NULL)
- return SHISHI_GCRYPT_ERROR;
-
- res = gcry_cipher_setkey (ch, key, 8);
-- if (res != GCRYERR_SUCCESS)
-+ if (res != GPG_ERR_NO_ERROR)
- return SHISHI_GCRYPT_ERROR;
-
- res = gcry_cipher_setiv (ch, key, 8);
-@@ -885,7 +885,7 @@
- printf ("\n");
- #endif
-
-- hd = gcry_md_open (GCRY_MD_MD4, 0);
-+ gcry_md_open (&hd, GCRY_MD_MD4, 0);
- if (!hd)
- return SHISHI_GCRYPT_ERROR;
-
-@@ -951,7 +951,7 @@
- printf ("\n");
- #endif
-
-- hd = gcry_md_open (GCRY_MD_MD5, 0);
-+ gcry_md_open (&hd, GCRY_MD_MD5, 0);
- if (!hd)
- return SHISHI_GCRYPT_ERROR;
-
---- shishi-0.0.0/lib/pkcs5.c.orig 2003-02-11 20:05:33.000000000 +0100
-+++ shishi-0.0.0/lib/pkcs5.c 2003-08-03 05:02:18.000000000 +0200
-@@ -148,7 +148,7 @@
- *
- */
-
-- prf = gcry_md_open (PRF, GCRY_MD_FLAG_HMAC);
-+ gcry_md_open (&prf, PRF, GCRY_MD_FLAG_HMAC);
- if (prf == NULL)
- return PKCS5_INVALID_PRF;
-
-@@ -163,7 +163,7 @@
- gcry_md_reset (prf);
-
- rc = gcry_md_setkey (prf, P, Plen);
-- if (rc != GCRYERR_SUCCESS)
-+ if (rc != GPG_ERR_NO_ERROR)
- return PKCS5_INVALID_PRF;
-
- if (u == 1)
---- shishi-0.0.0/libstringprep/contrib/doxygen/Doxyfile.orig 2003-03-26 22:01:50.000000000 +0100
-+++ shishi-0.0.0/libstringprep/contrib/doxygen/Doxyfile 2003-08-03 04:31:53.000000000 +0200
-@@ -1,3 +1,8 @@
-+# Copyright (C) 2003 Simon Josefsson
-+# Copying and distribution of this file, with or without modification,
-+# are permitted in any medium without royalty provided the copyright
-+# notice and this notice are preserved.
-+
- # Doxyfile 1.3-rc3
-
- # This file describes the settings to be used by the documentation system
-@@ -17,13 +22,13 @@
- # The PROJECT_NAME tag is a single word (or a sequence of words surrounded
- # by quotes) that should identify the project.
-
--PROJECT_NAME =
-+PROJECT_NAME = libidn
-
- # The PROJECT_NUMBER tag can be used to enter a project or revision number.
- # This could be handy for archiving the generated documentation or
- # if some version control system is used.
-
--PROJECT_NUMBER =
-+PROJECT_NUMBER = 0.1.14
-
- # The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
- # base path where the generated documentation will be put.
-@@ -48,7 +53,7 @@
- # Private class members and static file members will be hidden unless
- # the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
-
--EXTRACT_ALL = NO
-+EXTRACT_ALL = YES
-
- # If the EXTRACT_PRIVATE tag is set to YES all private members of a class
- # will be included in the documentation.
-@@ -64,7 +69,7 @@
- # defined locally in source files will be included in the documentation.
- # If set to NO only classes defined in header files are included.
-
--EXTRACT_LOCAL_CLASSES = YES
-+EXTRACT_LOCAL_CLASSES = NO
-
- # If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
- # undocumented members of documented classes, files or namespaces.
-@@ -100,14 +105,14 @@
- # the file and class documentation (similar to JavaDoc).
- # Set to NO to disable this.
-
--BRIEF_MEMBER_DESC = YES
-+BRIEF_MEMBER_DESC = NO
-
- # If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
- # the brief description of a member or function before the detailed description.
- # Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
- # brief descriptions will be completely suppressed.
-
--REPEAT_BRIEF = YES
-+REPEAT_BRIEF = NO
-
- # If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
- # Doxygen will generate a detailed section even if there is only a brief
-@@ -180,7 +185,7 @@
- # comments will behave just like the Qt-style comments (thus requiring an
- # explict @brief command for a brief description.
-
--JAVADOC_AUTOBRIEF = NO
-+JAVADOC_AUTOBRIEF = YES
-
- # The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
- # treat a multi-line C++ special comment block (i.e. a block of //! or ///
-@@ -280,7 +285,7 @@
- # For instance some of the names that are used will be different. The list
- # of all members will be omitted, etc.
-
--OPTIMIZE_OUTPUT_FOR_C = NO
-+OPTIMIZE_OUTPUT_FOR_C = YES
-
- # Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java sources
- # only. Doxygen will then generate output that is more tailored for Java.
-@@ -345,7 +350,7 @@
- # directories like "/usr/src/myproject". Separate the files or directories
- # with spaces.
-
--INPUT =
-+INPUT = ../../
-
- # If the value of the INPUT tag contains directories, you can use the
- # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
-@@ -354,7 +359,7 @@
- # *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx *.hpp
- # *.h++ *.idl *.odl
-
--FILE_PATTERNS =
-+FILE_PATTERNS = *.c *.h
-
- # The RECURSIVE tag can be used to turn specify whether or not subdirectories
- # should be searched for input files as well. Possible values are YES and NO.
-@@ -377,20 +382,20 @@
- # EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
- # certain files from those directories.
-
--EXCLUDE_PATTERNS =
-+EXCLUDE_PATTERNS = config.h idn_cmd* idn.c getopt* memset.c strdup.c stringprep_*.h tst_* example*
-
- # The EXAMPLE_PATH tag can be used to specify one or more files or
- # directories that contain example code fragments that are included (see
- # the \include command).
-
--EXAMPLE_PATH =
-+EXAMPLE_PATH = ../../
-
- # If the value of the EXAMPLE_PATH tag contains directories, you can use the
- # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
- # and *.h) to filter out the source-files in the directories. If left
- # blank all files are included.
-
--EXAMPLE_PATTERNS =
-+EXAMPLE_PATTERNS = example*
-
- # If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
- # searched for input files to be used with the \include or \dontinclude
-@@ -412,7 +417,7 @@
- # input file. Doxygen will then use the output that the filter program writes
- # to standard output.
-
--INPUT_FILTER =
-+INPUT_FILTER = ./gdoc2doxygen
-
- # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
- # INPUT_FILTER) will be used to filter the input files when producing source
-@@ -427,7 +432,7 @@
- # If the SOURCE_BROWSER tag is set to YES then a list of source files will
- # be generated. Documented entities will be cross-referenced with these sources.
-
--SOURCE_BROWSER = NO
-+SOURCE_BROWSER = YES
-
- # Setting the INLINE_SOURCES tag to YES will include the body
- # of functions and classes directly in the documentation.
-@@ -640,13 +645,13 @@
- # contain links (just like the HTML output) instead of page references
- # This makes the output suitable for online browsing using a pdf viewer.
-
--PDF_HYPERLINKS = NO
-+PDF_HYPERLINKS = YES
-
- # If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
- # plain latex in the generated Makefile. Set this option to YES to get a
- # higher quality PDF documentation.
-
--USE_PDFLATEX = NO
-+USE_PDFLATEX = YES
-
- # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
- # command to the generated LaTeX files. This will instruct LaTeX to keep
-@@ -704,7 +709,7 @@
- # If the GENERATE_MAN tag is set to YES (the default) Doxygen will
- # generate man pages
-
--GENERATE_MAN = NO
-+GENERATE_MAN = YES
-
- # The MAN_OUTPUT tag is used to specify where the man pages will be put.
- # If a relative path is entered the value of OUTPUT_DIRECTORY will be
-@@ -723,7 +728,7 @@
- # only source the real man page, but without them the man command
- # would be unable to find the correct page. The default is NO.
-
--MAN_LINKS = NO
-+MAN_LINKS = YES
-
- #---------------------------------------------------------------------------
- # configuration options related to the XML output
Summary: Shishi - an implementation of RFC 1510(bis) (Kerberos V5 authentication)
Summary(pl): Shishi - implementacja RFC 1510(bis) (uwierzytelniania Kerberos V5)
Name: shishi
-Version: 0.0.0
-Release: 0.3
+Version: 0.0.8
+Release: 0.1
Epoch: 0
License: GPL
Group: Libraries
-Source0: http://savannah.nongnu.org/download/shishi/unstable.pkg/%{version}/%{name}-%{version}.tar.gz
-# Source0-md5: 29441804f9e6f39f549d0dfe7bb25d3e
+Source0: http://josefsson.org/shishi/releases/%{name}-%{version}.tar.gz
+# Source0-md5: 49d854d20e9ebe7d85688eeb6e63859e
Patch0: %{name}-info.patch
-Patch1: %{name}-libgcrypt.patch
-Patch2: %{name}-libidn.patch
-URL: http://www.nongnu.org/shishi/
+#Patch1: %{name}-libgcrypt.patch
+#Patch2: %{name}-libidn.patch
+URL: http://josefsson.org/shishi/
+BuildRequires: gnutls-devel >= 0.8.8
BuildRequires: gtk-doc >= 0.6
-BuildRequires: libgcrypt-devel >= 1.1.42
+BuildRequires: libgcrypt-devel >= 1.1.43
BuildRequires: libidn-devel >= 0.1.0
-BuildRequires: libtasn1-devel >= 0.2.0
+BuildRequires: libtasn1-devel >= 0.2.5
BuildRequires: pam-devel
BuildRequires: pkgconfig
BuildRequires: texinfo
Requires(post,postun): /sbin/ldconfig
+# should be moved to shishi-enabled inetutils-* if such packages would exist
+Obsoletes: shishi-telnet
+Obsoletes: shishi-telnetd
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _libexecdir %{_sbindir}
Summary(pl): Pliki nag³ówkowe biblioteki Shishi
Group: Development/Libraries
Requires: %{name} = %{version}
+Requires: gnutls-devel >= 0.8.8
Requires: gtk-doc-common
-Requires: libgcrypt-devel >= 1.1.42
+Requires: libgcrypt-devel >= 1.1.43
Requires: libidn-devel >= 0.1.0
-Requires: libtasn1-devel >= 0.2.0
+Requires: libtasn1-devel >= 0.2.5
%description devel
Header files for Shishi library.
%description static -l pl
Statyczna biblioteka Shishi.
-%package telnet
-Summary: Kerberized Telnet client
-Summary(pl): Klient skerberyzowanego Telneta
-Group: Networking/Utilities
-Requires: %{name} = %{version}
-
-%description telnet
-Kerberized Telnet client.
-
-%description telnet -l pl
-Klient skerberyzowanego Telneta.
-
-%package telnetd
-Summary: Kerberized DARPA TELNET protocol server
-Summary(pl): Serwer skerberyzowanego protoko³u DARPA TELNET
-Group: Networking/Daemons
-PreReq: rc-inetd
-Requires: %{name} = %{version}
-
-%description telnetd
-Kerberized DARPA TELNET protocol server.
-
-%description telnetd -l pl
-Serwer skerberyzowanego protoko³u DARPA TELNET.
-
%package -n pam-pam_shishi
Summary: PAM module for RFC 1510 (Kerberos V5) authentication
Summary(pl): Modu³ PAM do uwierzytelniania RFC 1510 (Kerberos V5)
Group: Libraries
Requires: %{name} = %{version}
+Obsoletes: pam_shishi
%description -n pam-pam_shishi
PAM module for RFC 1510 (Kerberos V5) authentication.
%prep
%setup -q
%patch0 -p1
-%patch1 -p1
-%patch2 -p1
%build
%configure \
--with-html-dir=%{_gtkdocdir}
%{__make}
+%{__make} extra
%install
rm -rf $RPM_BUILD_ROOT
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
+%{__make} -C extra install \
+ DESTDIR=$RPM_BUILD_ROOT
+
install -d $RPM_BUILD_ROOT/lib/security
mv -f $RPM_BUILD_ROOT%{_libdir}/pam_shishi.so* $RPM_BUILD_ROOT/lib/security
rm -f $RPM_BUILD_ROOT%{_libdir}/pam_shishi.{la,a}
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/libshishi.so
%{_libdir}/libshishi.la
-%{_includedir}/shishi.h
+%{_includedir}/shishi*.h
%{_pkgconfigdir}/shishi.pc
+%{_mandir}/man3/*
%{_gtkdocdir}/shishi
%files static
%defattr(644,root,root,755)
%{_libdir}/libshishi.a
-%files telnet
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/shishi-telnet
-%{_mandir}/man1/shishi-telnet.1*
-
-%files telnetd
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_sbindir}/shishi-telnetd
-%{_mandir}/man8/shishi-telnetd.8*
-
%files -n pam-pam_shishi
%defattr(644,root,root,755)
%attr(755,root,root) /lib/security/pam_shishi.so*