--- gftp-2.0.18.orig/Makefile.in +++ gftp-2.0.18/Makefile.in @@ -166,7 +166,7 @@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ -SUBDIRS = intl docs intl lib po src +SUBDIRS = docs intl lib po src EXTRA_DIST = config.rpath mkinstalldirs config.rpath mkinstalldirs ChangeLog-old README THANKS TODO \ gftp.spec.in debian/changelog debian/compat debian/control debian/copyright \ debian/gftp-common.dirs debian/gftp-common.docs debian/gftp-common.install \ --- gftp-2.0.18.orig/Makefile.am +++ gftp-2.0.18/Makefile.am @@ -1,6 +1,6 @@ ## Process this file with automake to produce Makefile.in -SUBDIRS= intl docs intl lib po src +SUBDIRS= docs intl lib po src EXTRA_DIST= config.rpath mkinstalldirs config.rpath mkinstalldirs ChangeLog-old README THANKS TODO \ gftp.spec.in debian/changelog debian/compat debian/control debian/copyright \ debian/gftp-common.dirs debian/gftp-common.docs debian/gftp-common.install \ --- gftp-2.0.18.orig/debian/gftp-common.dirs +++ gftp-2.0.18/debian/gftp-common.dirs @@ -1 +1,2 @@ +etc/gftp usr/share/doc/gftp-common/examples --- gftp-2.0.18.orig/debian/gftp-text.postinst +++ gftp-2.0.18/debian/gftp-text.postinst @@ -5,7 +5,7 @@ case "$1" in configure|abort-upgrade) - update-alternatives --install /usr/bin/ftp ftp /usr/bin/gftp-text 100 \ + update-alternatives --install /usr/bin/ftp ftp /usr/bin/gftp-text 90 \ --slave /usr/share/man/man1/ftp.1.gz ftp.1.gz /usr/share/man/man1/gftp.1.gz ;; --- gftp-2.0.18.orig/debian/gftp-gtk.menu +++ gftp-2.0.18/debian/gftp-gtk.menu @@ -2,5 +2,5 @@ needs="X11" \ section="Apps/Net" \ title="gFTP" \ - command="gftp" \ + command="/usr/bin/gftp-gtk" \ icon="/usr/share/pixmaps/gftp.xpm" --- gftp-2.0.18.orig/debian/changelog +++ gftp-2.0.18/debian/changelog @@ -1,8 +1,135 @@ -gftp (2.0.18-1) unstable; urgency=low +gftp (2.0.18-10) unstable; urgency=low - * New release. See the ChangeLog file for details on changes in this release + * Build-depends on libreadline5-dev | libreadline-dev instead of + libreadline4-dev (closes: bug#326357). + + -- Aurelien Jarno Fri, 2 Sep 2005 23:07:03 +0200 + +gftp (2.0.18-9) unstable; urgency=low + + * Fixed the previous patch, when ai_canonname == NULL (closes: bug#325587). + + -- Aurelien Jarno Mon, 29 Aug 2005 18:01:46 +0200 + +gftp (2.0.18-8) unstable; urgency=low + + * The struct addrinfo are linked-list, copy them properly (closes: + bug#323874, bug#324912, #315018). + + -- Aurelien Jarno Sat, 27 Aug 2005 01:19:20 +0200 + +gftp (2.0.18-7) unstable; urgency=low + + * Fix default protocol option when SSL is disabled (closes: bug#321452). + * Preserve date/time and permissions on directory (closes: bug#320783). + + -- Aurelien Jarno Fri, 5 Aug 2005 23:46:13 +0200 + +gftp (2.0.18-6) unstable; urgency=low + + * German translation fixes by Jens Seidel (closes: bug#314094). + + -- Aurelien Jarno Thu, 16 Jun 2005 15:58:00 +0200 + +gftp (2.0.18-5) unstable; urgency=low + + * Fixed a small typos in gftp.1 (closes: bug#301927). + * Downgrade alternative value to 90 instead of 100. + + -- Aurelien Jarno Fri, 15 Apr 2005 11:45:46 +0200 + +gftp (2.0.18-4) unstable; urgency=medium + + * Copy more data in gftp_copy_request() (closes: bug#298619). + + -- Aurelien Jarno Wed, 9 Mar 2005 00:59:35 +0100 + +gftp (2.0.18-3) unstable; urgency=medium + + * Fixed SSH mode flag when reading files (closes: bug#297647). + + -- Aurelien Jarno Wed, 2 Mar 2005 16:59:43 +0100 + +gftp (2.0.18-2) unstable; urgency=high + + * Fixed SSH offset computation on big endian machines + (closes: bug#296608). + + -- Aurelien Jarno Thu, 24 Feb 2005 16:16:42 +0100 + +gftp (2.0.18-1) unstable; urgency=medium + + * New upstream version. + + -- Aurelien Jarno Fri, 4 Feb 2005 17:33:37 +0100 + +gftp (2.0.17+cvs20050102-3) unstable; urgency=low + + * Added a patch to differentiate upload and download in the progress + list (closes: bug#289957). + + -- Aurelien Jarno Wed, 12 Jan 2005 02:54:06 +0100 + +gftp (2.0.17+cvs20050102-2) unstable; urgency=low + + * Added a patch to fix segfault when dragging an URL during dialog + with the FTP server (closes: bug#222882). + + -- Aurelien Jarno Mon, 3 Jan 2005 02:37:19 +0100 + +gftp (2.0.17+cvs20050102-1) unstable; urgency=low + + * New CVS version. + * Added a patch to fix crash when renaming a file or creating a new + directory (closes: bug#288292). + + -- Aurelien Jarno Sun, 2 Jan 2005 23:35:51 +0100 + +gftp (2.0.17+cvs20041230-1) unstable; urgency=low + + * New CVS version. + * All patches from the previous version have been included in + the CVS. + * Support for passive connections to servers behind a firewall has + been added (closes: bug#155044). + + -- Aurelien Jarno Thu, 30 Dec 2004 10:35:26 +0100 + +gftp (2.0.17+cvs20041201-1) unstable; urgency=medium + + * New CVS version. + * Patches pulled from bugzilla.gnome.org (not yet in CVS): + - gnome#157713: filename display in transfer dialog (closes: + bug#280308) + - gnome#160118: chmod command (closes: bug#283834) + - gnome#159963: rename command with ssh connections (closes: + bug#282507) + + -- Aurelien Jarno Thu, 2 Dec 2004 01:50:33 +0100 + +gftp (2.0.17+cvs20041105-1) unstable; urgency=low + + * New CVS version: + - Fixed gftp.desktop (closes: bug#279848). + + -- Aurelien Jarno Fri, 5 Nov 2004 16:58:57 +0000 + +gftp (2.0.17+cvs20041030-1) unstable; urgency=low + + * New CVS version. + * Fixed protocol list generation (really closes: bug#278756). + + -- Aurelien Jarno Sun, 31 Oct 2004 13:50:18 +0000 + +gftp (2.0.17+cvs20041029-1) unstable; urgency=low + + * New CVS version: + - Better SSH handling (closes: bug#138250, bug#205016). + - Fixed segfault when modifying bookmarks (closes: bug#230848). + - Fixed segfault when deleting files (closes: bug#277386). + - Fixed default protocol selection (closes: bug#278756). - -- Brian Masney Fri, 04 Feb 2005 10:48:01 -0500 + -- Aurelien Jarno Fri, 29 Oct 2004 13:52:58 +0000 gftp (2.0.17-1) unstable; urgency=low --- gftp-2.0.18.orig/debian/rules +++ gftp-2.0.18/debian/rules @@ -11,15 +11,9 @@ DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) DEB_ARCH_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_ARCH) -ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS))) - CFLAGS += -g -endif ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) INSTALL_PROGRAM += -s endif -ifeq ($(DEB_ARCH_GNU_TYPE), "alpha") - CFLAGS += -mieee -endif config.status: configure dh_testdir @@ -28,14 +22,16 @@ cp -f /usr/share/misc/config.sub config.sub -test -r /usr/share/misc/config.guess && \ cp -f /usr/share/misc/config.guess config.guess - - ./configure \ + + chmod +x ./configure + CFLAGS="-O2 -g -Wall -D_GNU_SOURCE" ./configure \ --host=$(DEB_HOST_GNU_TYPE) \ --build=$(DEB_BUILD_GNU_TYPE) \ --prefix=/usr \ --mandir=\$${prefix}/share/man \ --infodir=\$${prefix}/share/info \ - --enable-textport=yes + --enable-textport=yes \ + --disable-ssl build: build-stamp build-stamp: config.status @@ -70,7 +66,13 @@ # Install parse-netrc.pl install -m 755 $(CURDIR)/docs/parse-netrc.pl $(CURDIR)/debian/gftp-common/usr/share/doc/gftp-common/examples - + + # Move bookmarks and gftprc to /etc/gftp + mv $(CURDIR)/debian/gftp-common/usr/share/gftp/gftprc $(CURDIR)/debian/gftp-common/etc/gftp + mv $(CURDIR)/debian/gftp-common/usr/share/gftp/bookmarks $(CURDIR)/debian/gftp-common/etc/gftp + ln -s /etc/gftp/gftprc $(CURDIR)/debian/gftp-common/usr/share/gftp/gftprc + ln -s /etc/gftp/bookmarks $(CURDIR)/debian/gftp-common/usr/share/gftp/bookmarks + # Build architecture-independent files here. binary-indep: build install dh_testdir -i @@ -106,11 +108,6 @@ dh_testdir -a dh_testroot -a - # Hack to remove files from the upstream tarball - -rm -f debian/dirs - -rm -f debian/docs - -rm -f debian/menu - dh_installdebconf -a dh_installdocs -a # dh_installexamples --- gftp-2.0.18.orig/debian/control +++ gftp-2.0.18/debian/control @@ -2,7 +2,7 @@ Section: net Priority: optional Maintainer: Aurelien Jarno -Build-Depends: debhelper (>> 4.0.0), autotools-dev, libreadline4-dev, libgtk2.0-dev (>= 2.0.9), libglib2.0-dev (>= 2.2.0), imagemagick +Build-Depends: debhelper (>> 4.0.0), autotools-dev, libreadline5-dev | libreadline-dev, libgtk2.0-dev (>= 2.0.9), libglib2.0-dev (>= 2.2.0), imagemagick Standards-Version: 3.6.1 Package: gftp --- gftp-2.0.18.orig/docs/gftp.1 +++ gftp-2.0.18/docs/gftp.1 @@ -1,4 +1,4 @@ -.TH GFTP 1 "FEBURARY 2001" +.TH GFTP 1 "FEBRUARY 2001" .SH NAME gftp - a graphical ftp client .SH SYNOPSIS @@ -14,7 +14,7 @@ .I directory .B ]] .SH DESCRIPTION -gFTP is a multiprotocol file transfer program for X Windows and the console. It features support for the FTP, SSH, HTTP, and local file system protocols, simultaneous downloads, resuming of interrupted file transfers, file transfer queues, downloading of entire directores, ftp and http proxy support, remote directory caching, bookmarks menu, stop button and many more features +gFTP is a multiprotocol file transfer program for X Windows and the console. It features support for the FTP, SSH, HTTP, and local file system protocols, simultaneous downloads, resuming of interrupted file transfers, file transfer queues, downloading of entire directories, ftp and http proxy support, remote directory caching, bookmarks menu, stop button and many more features .SH OPTIONS You may enter a url on the command line that gFTP will automatically connect to when it starts up. --- gftp-2.0.18.orig/src/uicommon/gftpui.c +++ gftp-2.0.18/src/uicommon/gftpui.c @@ -1295,6 +1295,11 @@ gettimeofday (&tdata->starttime, NULL); memcpy (&tdata->lasttime, &tdata->starttime, sizeof (tdata->lasttime)); + gftp_lookup_request_option (tdata->fromreq, "preserve_permissions", + &preserve_permissions); + gftp_lookup_request_option (tdata->fromreq, "preserve_time", + &preserve_time); + while (tdata->curfle != NULL) { num_read = -1; @@ -1333,6 +1338,14 @@ tdata->toreq->mkdir (tdata->toreq, curfle->destfile); if (!GFTP_IS_CONNECTED (tdata->toreq)) break; + + if (preserve_permissions && curfle->st_mode != 0) + gftp_chmod (tdata->toreq, curfle->destfile, + curfle->st_mode & (S_IRWXU | S_IRWXG | S_IRWXO)); + + if (preserve_time && curfle->datetime != 0) + gftp_set_file_time (tdata->toreq, curfle->destfile, + curfle->datetime); } if (g_thread_supported ()) @@ -1476,11 +1489,6 @@ } } - gftp_lookup_request_option (tdata->fromreq, "preserve_permissions", - &preserve_permissions); - gftp_lookup_request_option (tdata->fromreq, "preserve_time", - &preserve_time); - if (!curfle->is_fd) { if (preserve_permissions && curfle->st_mode != 0) --- gftp-2.0.18.orig/src/gtk/gftp-gtk.c +++ gftp-2.0.18/src/gtk/gftp-gtk.c @@ -432,7 +432,7 @@ GtkWidget *toolbar, *box, *tempwid; gftp_config_list_vars * tmplistvar; char *default_protocol, *tempstr; - int i, num; + int i, j, num; toolbar = gtk_handle_box_new (); @@ -548,7 +548,7 @@ optionmenu = gtk_option_menu_new (); gtk_box_pack_start (GTK_BOX (tempwid), optionmenu, TRUE, FALSE, 0); - num = 0; + num = 0; j = 0; gftp_lookup_global_option ("default_protocol", &default_protocol); protocol_menu = gtk_menu_new (); for (i = 0; gftp_protocols[i].name; i++) @@ -558,7 +558,9 @@ if (default_protocol != NULL && strcmp (gftp_protocols[i].name, default_protocol) == 0) - num = i; + num = j; + + j++; tempwid = gtk_menu_item_new_with_label (gftp_protocols[i].name); gtk_object_set_user_data (GTK_OBJECT (tempwid), GINT_TO_POINTER(i)); --- gftp-2.0.18.orig/src/gtk/misc-gtk.c +++ gftp-2.0.18/src/gtk/misc-gtk.c @@ -1003,6 +1003,8 @@ ddata->checkbox, TRUE, TRUE, 0); gtk_widget_show (ddata->checkbox); } + else + ddata->checkbox = NULL; #if GTK_MAJOR_VERSION == 1 switch (okbutton) --- gftp-2.0.18.orig/src/gtk/transfer.c +++ gftp-2.0.18/src/gtk/transfer.c @@ -686,7 +686,7 @@ static void update_file_status (gftp_transfer * tdata) { - char totstr[150], dlstr[150], winstr[150], gotstr[50], ofstr[50]; + char totstr[150], dlstr[150], winstr[150], gotstr[50], ofstr[50], dirstr[50]; unsigned long remaining_secs, lkbs; int hours, mins, secs, pcent, st; intptr_t show_trans_in_title; @@ -731,6 +731,11 @@ pcent, hours, mins, secs, tdata->current_file_number, tdata->numdirs + tdata->numfiles); + if (tdata->fromreq->protonum == GFTP_LOCAL_NUM) + strncpy(dirstr, _("Sent"), sizeof(dirstr)); + else + strncpy(dirstr, _("Recv"), sizeof(dirstr)); + *dlstr = '\0'; if (!tdata->stalled) { @@ -757,7 +762,7 @@ if (!(hours < 0 || mins < 0 || secs < 0)) { g_snprintf (dlstr, sizeof (dlstr), - _("Recv %s of %s at %.2fKB/s, %02d:%02d:%02d est. time remaining"), gotstr, ofstr, tdata->kbs, hours, mins, secs); + _("%s %s of %s at %.2fKB/s, %02d:%02d:%02d est. time remaining"), dirstr, gotstr, ofstr, tdata->kbs, hours, mins, secs); st = 0; } } @@ -766,8 +771,8 @@ { tdata->stalled = 1; g_snprintf (dlstr, sizeof (dlstr), - _("Recv %s of %s, transfer stalled, unknown time remaining"), - gotstr, ofstr); + _("%s %s of %s, transfer stalled, unknown time remaining"), + dirstr, gotstr, ofstr); } } --- gftp-2.0.18.orig/lib/misc.c +++ gftp-2.0.18/lib/misc.c @@ -569,8 +569,37 @@ newreq->use_proxy = req->use_proxy; newreq->logging_function = req->logging_function; newreq->ai_family = req->ai_family; - newreq->free_hostp = 0; - newreq->hostp = NULL; + + if (req->hostp) + { +#if defined (HAVE_GETADDRINFO) && defined (HAVE_GAI_STRERROR) + struct addrinfo *hostp = req->hostp; + struct addrinfo *newhostp = newreq->hostp; + + while (hostp != NULL) + { + newhostp = g_malloc (sizeof(struct addrinfo)); + memcpy(newhostp, hostp, sizeof(struct addrinfo)); + newhostp->ai_addr = g_malloc (sizeof(struct sockaddr)); + memcpy(newhostp->ai_addr, hostp->ai_addr, sizeof(struct sockaddr)); + if (hostp->ai_canonname) + newhostp->ai_canonname = strdup(hostp->ai_canonname); + + if (req->current_hostp == hostp) + newreq->current_hostp = newhostp; + + hostp = hostp->ai_next; newhostp = newhostp->ai_next; + } +#else + newreq->hostp = g_malloc (sizeof(struct hostent)); + memcpy(newreq->hostp, req->hostp, sizeof(struct hostent)); + newreq->host = req->host; + newreq->curhost = req->curhost; +#endif + } + else + newreq->hostp = NULL; + newreq->free_hostp = 1; gftp_copy_local_options (&newreq->local_options_vars, &newreq->local_options_hash, --- gftp-2.0.18.orig/lib/sshv2.c +++ gftp-2.0.18/lib/sshv2.c @@ -1841,7 +1841,7 @@ { int ret; - if ((ret = sshv2_open_file (request, file, startsize, SSH_FXP_OPEN)) < 0) + if ((ret = sshv2_open_file (request, file, startsize, SSH_FXF_READ)) < 0) return (ret); return (sshv2_get_file_size (request, file)); @@ -1867,31 +1867,13 @@ } -#ifdef G_HAVE_GINT64 - -static gint64 -sshv2_hton64 (gint64 val) -{ -#if G_BYTE_ORDER != G_BIG_ENDIAN - return (GINT64_TO_BE (val)); -#else - return (val); -#endif -} - -#endif - - static void sshv2_setup_file_offset (sshv2_params * params, char *buf) { guint32 hinum, lownum; #ifdef G_HAVE_GINT64 - gint64 offset; - - offset = sshv2_hton64 (params->offset); - lownum = offset >> 32; - hinum = (guint32) offset; + hinum = htonl(params->offset >> 32); + lownum = htonl((guint32) params->offset); #else hinum = 0; lownum = htonl (params->offset); --- gftp-2.0.18.orig/po/de.po +++ gftp-2.0.18/po/de.po @@ -172,7 +172,7 @@ "this, all passwords were stored in plaintext." msgstr "" "Beachte: Die Passwörter in dieser Datei sind nur verschleiert. Dies ist " -"nicht sicher, es soll nur verhindern, daß jemand, der ihnen über die " +"nicht sicher, es soll nur verhindern, dass jemand, der ihnen über die " "Schulter schaut, das Passwort einfach lesen kann während sie diese Datei " "bearbeiten. Früher wurden alle Passwörter im Klartext abgespeichert." @@ -473,12 +473,12 @@ #: lib/options.h:69 msgid "Overwrite by Default" -msgstr "Standardmässig überschreiben" +msgstr "Standardmäßig überschreiben" #: lib/options.h:72 msgid "Overwrite files by default or set to resume file transfers" msgstr "" -"Überschreibe Dateien standardmässig oder setzen um Dateiübertragungen " +"Überschreibe Dateien standardmäßig oder setzen um Dateiübertragungen " "wiederaufzunehmen" #: lib/options.h:74 @@ -1102,7 +1102,7 @@ msgstr "" "Wenn dies aktiviert ist, dann öffnet der entfernte FTP Server einen Port für " "die Datenübertragung. Wenn sie sich hinter einer Firewall , müssen sie diese " -"einschalten. Sie sollten diese Option generell einschalten, ausser sie " +"einschalten. Sie sollten diese Option generell einschalten, außer sie " "wollen zu einem veralteten FTP Server verbinden, der diese Möglichkeit nicht " "unterstützt. Falls diese Option deaktiviert ist, wird gFTP einen Port auf " "der Klientenseite öffnen und der entfernte Server wird versuchen dorthin zu " @@ -2171,7 +2171,7 @@ "There are file transfers in progress.\n" "Are you sure you want to exit?" msgstr "" -"Momentan werden noch Dateien übertragen.nd Sie sicher, dass Sie beenden " +"Momentan werden noch Dateien übertragen. Sind Sie sicher, dass Sie beenden " "möchten?" #: src/gtk/gftp-gtk.c:198 @@ -2565,7 +2565,7 @@ #: src/gtk/gtkui.c:274 msgid "Operation canceled...you must enter a string\n" -msgstr "Vorgang abgebrochen...Sie müssen eine Zeichenkette eingeben\n" +msgstr "Vorgang abgebrochen... Sie müssen eine Zeichenkette eingeben\n" #: src/gtk/gtkui.c:320 msgid "Mkdir" @@ -2664,7 +2664,7 @@ #: src/gtk/menu-items.c:37 msgid "Change Filespec: Operation canceled...you must enter a string\n" msgstr "" -"Ändere Dateimaske: Operation abgebrochen...Sie müssen eine Zeichenkette " +"Ändere Dateimaske: Operation abgebrochen... Sie müssen eine Zeichenkette " "eingeben\n" #: src/gtk/menu-items.c:74 src/gtk/menu-items.c:77