Hello community,
here is the log from the commit of package yafc for openSUSE:Factory
checked in at Wed Jun 1 15:14:19 CEST 2011.
--------
New Changes file:
--- /dev/null 2010-08-26 16:28:41.000000000 +0200
+++ /mounts/work_src_done/STABLE/yafc/yafc.changes 2011-04-11 09:48:35.000000000 +0200
@@ -0,0 +1,33 @@
+-------------------------------------------------------------------
+Mon Apr 11 06:47:44 UTC 2011 - mseben@gmail.com
+
+- added disable_date_time.diff, to disable date and time hash in
+ binary
+
+-------------------------------------------------------------------
+Sun Jan 28 22:39:35 CET 2007 - ro@suse.de
+
+- do apply patch2
+- fix build (include krb5.h instead of krb5_err.h)
+
+-------------------------------------------------------------------
+Wed Jan 25 21:43:32 CET 2006 - mls@suse.de
+
+- converted neededforbuild to BuildRequires
+
+-------------------------------------------------------------------
+Tue Nov 22 15:26:47 CET 2005 - sscheler@suse.de
+
+- removed 4-clause-bsd-license base64 code (#134885)
+- added gpl code instead
+
+-------------------------------------------------------------------
+Wed Nov 9 13:17:07 CET 2005 - sscheler@suse.de
+
+- kerberos 4/5 support added
+
+-------------------------------------------------------------------
+Fri Nov 4 11:03:26 CET 2005 - sscheler@suse.de
+
+- initial version
+
calling whatdependson for head-i586
New:
----
disable_date_time.diff
kerberos_warnings.diff
patch_utils.diff
remove_bsd_code.diff
yafc-1.1.1.tar.bz2
yafc-krb5.diff
yafc.changes
yafc.spec
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yafc.spec ++++++
#
# spec file for package yafc
#
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
Name: yafc
BuildRequires: krb5-devel openssl-devel readline-devel
Summary: Yet Another FTP Client
Version: 1.1.1
Release: 154
License: GNU General Public License (GPL)
Group: Productivity/Networking/Ftp/Clients
Url: http://yafc.sourceforge.net/
Source: %{name}-%{version}.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Prefix: /usr
PreReq: %install_info_prereq
Patch: patch_utils.diff
Patch1: kerberos_warnings.diff
Patch2: remove_bsd_code.diff
Patch3: yafc-krb5.diff
Patch4: disable_date_time.diff
%description
Yafc is an OpenSource console mode FTP client. It has support for
Kerberos 4/5 authentication and sftp (ssh2). Other features include tab
completion, directory cache, powerful aliases, recursive file commands
and bookmarks with autologin.
Authors:
--------
Martin Hedenfalk
%prep
%setup -q
%patch
%patch1
%patch2
%patch3
%patch4 -p1
%build
CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" ./configure --prefix=%{prefix} --infodir=%{_infodir} --mandir=%{_mandir}
make
%install
make DESTDIR=$RPM_BUILD_ROOT install
%clean
rm -rf $RPM_BUILD_ROOT
%post
%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
%preun
%install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
%files
%defattr(-,root,root)
%doc BUGS COPYING NEWS README THANKS TODO inputrc.sample yafcrc.sample
%doc %{_mandir}/man1/yafc.1.gz
%{_bindir}/yafc
%{_infodir}/yafc.info.gz
%changelog
++++++ disable_date_time.diff ++++++
Index: yafc-1.1.1/src/help.c
===================================================================
--- yafc-1.1.1.orig/src/help.c
+++ yafc-1.1.1/src/help.c
@@ -66,7 +66,6 @@ void cmd_version(int argc, char **argv)
printf(FULLVER "\n");
- printf(_("Compiled " __TIME__ " " __DATE__ " (" HOSTTYPE ")\n"));
#if (HAVE_LIBREADLINE >= 210)
printf(_("Using Readline version %s\n"), rl_library_version);
#elif defined(HAVE_LIBREADLINE)
++++++ kerberos_warnings.diff ++++++
--- lib/gssapi.c 2002-12-05 23:12:36.000000000 +0100
+++ /home/sscheler/BUILD/yafc-1.1.1/lib/gssapi.c 2005-11-08 17:05:53.000000000 +0100
@@ -72,7 +72,7 @@
static gss_OID_desc gss_c_nt_hostbased_service_oid_desc =
{10, (void *)"\x2a\x86\x48\x86\xf7\x12" "\x01\x02\x01\x04"};
-static gss_OID GSS_C_NT_HOSTBASED_SERVICE = &gss_c_nt_hostbased_service_oid_desc;
+gss_OID GSS_C_NT_HOSTBASED_SERVICE = &gss_c_nt_hostbased_service_oid_desc;
--- lib/kauth.c 2003-07-12 12:25:41.000000000 +0200
+++ /home/sscheler/BUILD/yafc-1.1.1/lib/kauth.c 2005-11-08 17:11:47.000000000 +0100
@@ -116,9 +116,9 @@
if (des_read_pw_string (passwd, sizeof(passwd)-1, pwbuf, 0))
*passwd = '\0';
free(pwbuf);
- des_string_to_key(passwd, &key);
+ des_string_to_key(passwd, key);
- des_key_sched(&key, schedule);
+ des_key_sched(key, schedule);
des_pcbc_encrypt((des_cblock*)tkt.dat, (des_cblock*)tktcopy.dat,
tkt.length,
@@ -128,8 +128,8 @@
KRB_TICKET_GRANTING_TICKET) != 0)
{
afs_string_to_key (passwd,
- krb_realmofhost(ftp->host->ohostname), &key);
- des_key_sched (&key, schedule);
+ krb_realmofhost(ftp->host->ohostname), key);
+ des_key_sched (key, schedule);
des_pcbc_encrypt((des_cblock*)tkt.dat, (des_cblock*)tktcopy.dat,
tkt.length,
schedule, &key, DES_DECRYPT);
--- lib/modechange.c 2000-09-14 16:06:25.000000000 +0200
+++ /home/sscheler/BUILD/yafc-1.1.1/lib/modechange.c 2005-11-08 16:57:33.000000000 +0100
@@ -327,7 +327,7 @@
static int
oatoi (s)
- char *s;
+ const char *s;
{
register int i;
--- src/ftp/socket.c 2005-11-09 12:25:14.000000000 +0100
+++ /home/sscheler/BUILD/yafc-1.1.1/src/ftp/socket.c 2005-11-09 12:26:22.000000000 +0100
@@ -153,7 +153,7 @@
{
int s;
struct sockaddr sa;
- int l = sizeof(sa);
+ unsigned int l = sizeof(sa);
int tfd;
if(!pasvmode) {
--- lib/krb4.c 2002-12-05 23:12:37.000000000 +0100
+++ /home/sscheler/BUILD/yafc-1.1.1/lib/krb4.c 2005-11-09 12:29:17.000000000 +0100
@@ -158,7 +158,7 @@
strlcpy(realm, krb_realmofhost(host), sizeof(realm));
ret = krb_get_cred(sname, inst, realm, &cred);
memmove(&d->key, &cred.session, sizeof(des_cblock));
- des_key_sched(&d->key, d->schedule);
+ des_key_sched(d->key, d->schedule);
memset(&cred, 0, sizeof(cred));
return ret;
}
--- src/ftp/ftpsend.c 2005-10-05 21:32:47.000000000 +0200
+++ /home/sscheler/BUILD/yafc-1.1.1/src/ftp/ftpsend.c 2005-11-09 13:06:46.000000000 +0100
@@ -971,7 +971,7 @@
}
if(rp > 0L) {
- if(fseeko(fp, rp, SEEK_SET) != 0) {
+ if(fseek(fp, rp, SEEK_SET) != 0) {
ftp_err(_("%s: %s, transfer cancelled\n"),
outfile, strerror(errno));
close_func(fp);
@@ -1044,7 +1044,7 @@
if(ftp->restart_offset > 0L) {
- if(fseeko(fp, ftp->restart_offset, SEEK_SET) != 0) {
+ if(fseek(fp, ftp->restart_offset, SEEK_SET) != 0) {
ftp_err(_("%s: %s, transfer cancelled\n"),
outfile, strerror(errno));
fclose(fp);
++++++ patch_utils.diff ++++++
--- src/utils.c.orig 2005-11-04 13:31:01.000000000 +0100
+++ src/utils.c 2005-11-04 13:31:14.000000000 +0100
@@ -207,11 +207,11 @@
pid = fork();
if(pid == 0) { /* child thread */
if(cmdline)
- execl(shell, shell, "-c", cmdline, 0);
+ execl(shell, shell, "-c", cmdline, NULL);
else {
printf(_("Executing '%s', use 'exit' to exit from shell...\n"),
shell);
- execl(shell, shell, 0);
+ execl(shell, shell, NULL);
}
perror(shell);
exit(1);
++++++ remove_bsd_code.diff ++++++
--- lib/base64.c 2000-09-14 16:06:23.000000000 +0200
+++ /home/sscheler/BUILD/yafc-1.1.1/lib/base64.c 2005-11-22 15:05:12.000000000 +0100
@@ -1,151 +1,147 @@
+/* base64.c base64 encoding and decoding functions
+ * Copyright (C) 2002 Simon Josefsson
+ *
+ * This file is part of Shishi.
+ *
+ * Shishi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Shishi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Shishi; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ *
+ */
+
+/*
+ * This code is heavily modified from fetchmail (also GPL'd, of
+ * course) by Brendan Cully , via Mutt.
+ *
+ * Original copyright notice:
+ *
+ * The code in the fetchmail distribution is Copyright 1997 by Eric
+ * S. Raymond. Portions are also copyrighted by Carl Harris, 1993
+ * and 1995. Copyright retained for the purpose of protecting free
+ * redistribution of source.
+ *
+ */
+
/*
- * Copyright (c) 1995, 1996, 1997 Kungliga Tekniska H�gskolan
- * (Royal Institute of Technology, Stockholm, Sweden).
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. 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.
- *
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the Kungliga Tekniska
- * H�gskolan and its contributors.
- *
- * 4. Neither the name of the Institute 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 INSTITUTE 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 INSTITUTE 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.
+ * Adapted for use with yafc by Stefan Scheler
*/
-#ifdef HAVE_CONFIG_H
-#include
-/*RCSID("$Id: base64.c,v 1.1.1.1 2000/09/14 14:06:23 mhe Exp $");*/
-#endif
#include
#include
-#include "base64.h"
-static char base64[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
+static char B64Chars[64] = {
+ 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',
+ 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'a', 'b', 'c', 'd',
+ 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's',
+ 't', 'u', 'v', 'w', 'x', 'y', 'z', '0', '1', '2', '3', '4', '5', '6', '7',
+ '8', '9', '+', '/'
+};
+
+#define BAD -1
+
+static const char base64val[] = {
+ BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD,
+ BAD,
+ BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD,
+ BAD,
+ BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD, BAD, 62, BAD, BAD, BAD,
+ 63,
+ 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, BAD, BAD, BAD, BAD, BAD, BAD,
+ BAD, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
+ 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, BAD, BAD, BAD, BAD, BAD,
+ BAD, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,
+ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, BAD, BAD, BAD, BAD, BAD
+};
-static int pos(char c)
-{
- char *p;
- for(p = base64; *p; p++)
- if(*p == c)
- return p - base64;
- return -1;
-}
+#define base64val(c) B64Chars[(unsigned int)(c)]
-int base64_encode(const void *data, int size, char **str)
+#define DECODE64(c) (isascii(c) ? base64val[c] : BAD)
+
+/* raw bytes to null-terminated base 64 string */
+int base64_encode (const void *data, int len, char **str)
{
- char *s, *p;
- int i;
- int c;
- unsigned char *q;
-
- p = s = (char*)malloc(size*4/3+4);
- if (p == NULL)
- return -1;
- q = (unsigned char*)data;
- i=0;
- for(i = 0; i < size;){
- c=q[i++];
- c*=256;
- if(i < size)
- c+=q[i];
- i++;
- c*=256;
- if(i < size)
- c+=q[i];
- i++;
- p[0]=base64[(c&0x00fc0000) >> 18];
- p[1]=base64[(c&0x0003f000) >> 12];
- p[2]=base64[(c&0x00000fc0) >> 6];
- p[3]=base64[(c&0x0000003f) >> 0];
- if(i > size)
- p[3]='=';
- if(i > size+1)
- p[2]='=';
- p+=4;
- }
- *p=0;
- *str = s;
- return strlen(s);
+ unsigned char* in = (unsigned char *)data;
+ char *out = (char*)malloc(len*4/3+4);
+ *str = out;
+ while (len >= 3)
+ {
+ *out++ = B64Chars[in[0] >> 2];
+ *out++ = B64Chars[((in[0] << 4) & 0x30) | (in[1] >> 4)];
+ *out++ = B64Chars[((in[1] << 2) & 0x3c) | (in[2] >> 6)];
+ *out++ = B64Chars[in[2] & 0x3f];
+ len -= 3;
+ in += 3;
+ }
+
+ /* clean up remainder */
+ if (len > 0)
+ {
+ unsigned char fragment;
+
+ *out++ = B64Chars[in[0] >> 2];
+ fragment = (in[0] << 4) & 0x30;
+ if (len > 1)
+ fragment |= in[1] >> 4;
+ *out++ = B64Chars[fragment];
+ *out++ = (len < 2) ? '=' : B64Chars[(in[1] << 2) & 0x3c];
+ *out++ = '=';
+ }
+ *out = '\0';
+ return strlen(*str);
}
-int base64_decode(const char *str, void *data)
+/* Convert '\0'-terminated base 64 string to raw bytes.
+ * Returns length of returned buffer, or -1 on error */
+int
+base64_decode (const char *in, void *data)
{
- const char *p;
- unsigned char *q;
- int c;
- int x;
- int done = 0;
- q=(unsigned char*)data;
- for(p=str; *p && !done; p+=4){
- x = pos(p[0]);
- if(x >= 0)
- c = x;
- else{
- done = 3;
- break;
- }
- c*=64;
-
- x = pos(p[1]);
- if(x >= 0)
- c += x;
- else
- return -1;
- c*=64;
-
- if(p[2] == '=')
- done++;
- else{
- x = pos(p[2]);
- if(x >= 0)
- c += x;
- else
+ int len = 0;
+ register unsigned char digit1, digit2, digit3, digit4;
+ unsigned char *out=(unsigned char*)data;
+
+ do
+ {
+ digit1 = in[0];
+ if (digit1 > 127 || DECODE64 (digit1) == BAD)
return -1;
- }
- c*=64;
-
- if(p[3] == '=')
- done++;
- else{
- if(done)
+ digit2 = in[1];
+ if (digit2 > 127 || DECODE64 (digit2) == BAD)
return -1;
- x = pos(p[3]);
- if(x >= 0)
- c += x;
- else
+ digit3 = in[2];
+ if (digit3 > 127 || ((digit3 != '=') && (DECODE64 (digit3) == BAD)))
return -1;
+ digit4 = in[3];
+ if (digit4 > 127 || ((digit4 != '=') && (DECODE64 (digit4) == BAD)))
+ return -1;
+ in += 4;
+
+ /* digits are already sanity-checked */
+ *out++ = (DECODE64 (digit1) << 2) | (DECODE64 (digit2) >> 4);
+ len++;
+ if (digit3 != '=')
+ {
+ *out++ =
+ ((DECODE64 (digit2) << 4) & 0xf0) | (DECODE64 (digit3) >> 2);
+ len++;
+ if (digit4 != '=')
+ {
+ *out++ = ((DECODE64 (digit3) << 6) & 0xc0) | DECODE64 (digit4);
+ len++;
+ }
+ }
}
- if(done < 3)
- *q++=(c&0x00ff0000)>>16;
-
- if(done < 2)
- *q++=(c&0x0000ff00)>>8;
- if(done < 1)
- *q++=(c&0x000000ff)>>0;
- }
- return q - (unsigned char*)data;
+ while (*in && digit4 != '=');
+
+ return len;
}
+
--- lib/base64.h 2000-09-14 16:06:26.000000000 +0200
+++ /home/sscheler/BUILD/yafc-1.1.1/lib/base64.h 2005-11-22 15:01:47.000000000 +0100
@@ -1,47 +1,5 @@
-/*
- * Copyright (c) 1995, 1996, 1997 Kungliga Tekniska H�gskolan
- * (Royal Institute of Technology, Stockholm, Sweden).
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. 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.
- *
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the Kungliga Tekniska
- * H�gskolan and its contributors.
- *
- * 4. Neither the name of the Institute 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 INSTITUTE 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 INSTITUTE 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.
- */
-
-/* $Id: base64.h,v 1.1.1.1 2000/09/14 14:06:26 mhe Exp $ */
-
-#ifndef _BASE64_H_
-#define _BASE64_H_
-
-int base64_encode(const void *data, int size, char **str);
-int base64_decode(const char *str, void *data);
-
+#ifndef __BASE64_H
+#define __BASE64_H
+int base64_encode(const void *data, int len, char **str);
+int base64_decode(const char *in, void *data);
#endif
++++++ yafc-krb5.diff ++++++
--- lib/gssapi.c
+++ lib/gssapi.c
@@ -41,7 +41,7 @@
* against Heimdal, which needs krb5_err.h to define *
* KRB5KDC_ERR_S_PRINCIPAL_UNKNOWN
*/
-# include
+# include
#elif defined(HAVE_GSSAPI_GSSAPI_H)
# include
/* if we have gssapi/gssapi.h it might be safe to assume we have the
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org