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 - [email protected] + +- added disable_date_time.diff, to disable date and time hash in + binary + +------------------------------------------------------------------- +Sun Jan 28 22:39:35 CET 2007 - [email protected] + +- do apply patch2 +- fix build (include krb5.h instead of krb5_err.h) + +------------------------------------------------------------------- +Wed Jan 25 21:43:32 CET 2006 - [email protected] + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Tue Nov 22 15:26:47 CET 2005 - [email protected] + +- removed 4-clause-bsd-license base64 code (#134885) +- added gpl code instead + +------------------------------------------------------------------- +Wed Nov 9 13:17:07 CET 2005 - [email protected] + +- kerberos 4/5 support added + +------------------------------------------------------------------- +Fri Nov 4 11:03:26 CET 2005 - [email protected] + +- 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 <[email protected]> %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 <[email protected]>, 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 <[email protected]> */ -#ifdef HAVE_CONFIG_H -#include <config.h> -/*RCSID("$Id: base64.c,v 1.1.1.1 2000/09/14 14:06:23 mhe Exp $");*/ -#endif #include <stdlib.h> #include <string.h> -#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 <krb5_err.h> +# include <krb5.h> #elif defined(HAVE_GSSAPI_GSSAPI_H) # include <gssapi/gssapi.h> /* if we have gssapi/gssapi.h it might be safe to assume we have the ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
