mirror of
http://git.openwrt.org/packages.git
synced 2025-01-09 04:19:54 +08:00
atftp: moved to github
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> git-svn-id: svn://svn.openwrt.org/openwrt/packages@47526 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
063f7e3f0e
commit
813f27ef72
@ -1,71 +0,0 @@
|
|||||||
#
|
|
||||||
# Copyright (C) 2006-2014 OpenWrt.org
|
|
||||||
#
|
|
||||||
# This is free software, licensed under the GNU General Public License v2.
|
|
||||||
# See /LICENSE for more information.
|
|
||||||
#
|
|
||||||
|
|
||||||
include $(TOPDIR)/rules.mk
|
|
||||||
|
|
||||||
PKG_NAME:=atftp
|
|
||||||
PKG_VERSION:=0.7
|
|
||||||
PKG_RELEASE:=2
|
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
|
||||||
PKG_SOURCE_URL:=http://www.mirrorservice.org/sites/www.ibiblio.org/gentoo/distfiles/
|
|
||||||
PKG_MD5SUM:=3b27365772d918050b2251d98a9c7c82
|
|
||||||
|
|
||||||
PKG_BUILD_DEPENDS:=libncurses libpcre libreadline
|
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
|
||||||
|
|
||||||
define Package/atftp/Default
|
|
||||||
SECTION:=net
|
|
||||||
CATEGORY:=Network
|
|
||||||
TITLE:=TFTP
|
|
||||||
SUBMENU:=File Transfer
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/atftp
|
|
||||||
$(call Package/atftp/Default)
|
|
||||||
DEPENDS:=+libreadline +libncurses
|
|
||||||
TITLE+= client
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/atftpd
|
|
||||||
$(call Package/atftp/Default)
|
|
||||||
DEPENDS:=+libpcre +libpthread
|
|
||||||
TITLE+= server
|
|
||||||
endef
|
|
||||||
|
|
||||||
CONFIGURE_ARGS += \
|
|
||||||
--disable-libwrap
|
|
||||||
CONFIGURE_VARS += \
|
|
||||||
LDFLAGS="$(TARGET_LDFLAGS) $(TARGET_CFLAGS)"
|
|
||||||
|
|
||||||
ifdef CONFIG_USE_GLIBC
|
|
||||||
TARGET_CFLAGS += -DHAVE_ARGZ=1
|
|
||||||
|
|
||||||
define Build/Prepare
|
|
||||||
$(Build/Prepare/Default)
|
|
||||||
echo '#include_next <argz.h>' > $(PKG_BUILD_DIR)/argz.h
|
|
||||||
endef
|
|
||||||
endif
|
|
||||||
|
|
||||||
MAKE_FLAGS += \
|
|
||||||
CFLAGS="$(TARGET_CFLAGS) -Wall -D_REENTRANT" \
|
|
||||||
all
|
|
||||||
|
|
||||||
define Package/atftp/install
|
|
||||||
$(INSTALL_DIR) $(1)/usr/sbin
|
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/atftp $(1)/usr/sbin/
|
|
||||||
endef
|
|
||||||
|
|
||||||
define Package/atftpd/install
|
|
||||||
$(INSTALL_DIR) $(1)/etc
|
|
||||||
$(INSTALL_DIR) $(1)/usr/sbin
|
|
||||||
$(INSTALL_BIN) $(PKG_BUILD_DIR)/atftpd $(1)/usr/sbin/
|
|
||||||
endef
|
|
||||||
|
|
||||||
$(eval $(call BuildPackage,atftp))
|
|
||||||
$(eval $(call BuildPackage,atftpd))
|
|
@ -1,21 +0,0 @@
|
|||||||
Index: atftp-0.7/MCONFIG
|
|
||||||
===================================================================
|
|
||||||
--- /dev/null 1970-01-01 00:00:00.000000000 +0000
|
|
||||||
+++ atftp-0.7/MCONFIG 2007-08-02 23:04:23.000000000 +0200
|
|
||||||
@@ -0,0 +1,16 @@
|
|
||||||
+# Generated by configure (confgen version 2) on Sun Jun 19 21:13:24 CEST 2005
|
|
||||||
+#
|
|
||||||
+
|
|
||||||
+BINDIR=/usr/bin
|
|
||||||
+SBINDIR=/usr/sbin
|
|
||||||
+MANDIR=/usr/man
|
|
||||||
+BINMODE=755
|
|
||||||
+DAEMONMODE=755
|
|
||||||
+MANMODE=644
|
|
||||||
+PREFIX=/usr
|
|
||||||
+EXECPREFIX=/usr
|
|
||||||
+INSTALLROOT=
|
|
||||||
+CC=
|
|
||||||
+CFLAGS=
|
|
||||||
+LDFLAGS=
|
|
||||||
+LIBS=
|
|
@ -1,79 +0,0 @@
|
|||||||
Index: atftp-0.7/tftp.c
|
|
||||||
===================================================================
|
|
||||||
--- atftp-0.7.orig/tftp.c 2007-08-02 23:04:23.000000000 +0200
|
|
||||||
+++ atftp-0.7/tftp.c 2007-08-02 23:04:23.000000000 +0200
|
|
||||||
@@ -409,7 +409,7 @@
|
|
||||||
int set_peer(int argc, char **argv)
|
|
||||||
{
|
|
||||||
struct hostent *host; /* for host name lookup */
|
|
||||||
- struct servent *sp; /* server entry for tftp service */
|
|
||||||
+ int port = htons(69);
|
|
||||||
|
|
||||||
/* sanity check */
|
|
||||||
if ((argc < 2) || (argc > 3))
|
|
||||||
@@ -418,13 +418,6 @@
|
|
||||||
return ERR;
|
|
||||||
}
|
|
||||||
|
|
||||||
- /* get the server entry */
|
|
||||||
- sp = getservbyname("tftp", "udp");
|
|
||||||
- if (sp == 0) {
|
|
||||||
- fprintf(stderr, "tftp: udp/tftp, unknown service.\n");
|
|
||||||
- return ERR;
|
|
||||||
- }
|
|
||||||
-
|
|
||||||
/* look up the host */
|
|
||||||
host = gethostbyname(argv[1]);
|
|
||||||
/* if valid, update s_inn structure */
|
|
||||||
@@ -437,7 +430,7 @@
|
|
||||||
Strncpy(data.hostname, host->h_name,
|
|
||||||
sizeof(data.hostname));
|
|
||||||
data.hostname[sizeof(data.hostname)-1] = 0;
|
|
||||||
- data.sa_peer.sin_port = sp->s_port;
|
|
||||||
+ data.sa_peer.sin_port = port;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
@@ -448,17 +441,17 @@
|
|
||||||
/* get the server port */
|
|
||||||
if (argc == 3)
|
|
||||||
{
|
|
||||||
- sp->s_port = htons(atoi(argv[2]));
|
|
||||||
- if (sp->s_port < 0)
|
|
||||||
+ port = htons(atoi(argv[2]));
|
|
||||||
+ if (port < 0)
|
|
||||||
{
|
|
||||||
fprintf(stderr, "%s: bad port number.\n", argv[2]);
|
|
||||||
data.connected = 0;
|
|
||||||
return ERR;
|
|
||||||
}
|
|
||||||
- data.sa_peer.sin_port = sp->s_port;
|
|
||||||
+ data.sa_peer.sin_port = port;
|
|
||||||
}
|
|
||||||
/* copy port number to data structure */
|
|
||||||
- data.port = ntohs(sp->s_port);
|
|
||||||
+ data.port = ntohs(port);
|
|
||||||
|
|
||||||
data.connected = 1;
|
|
||||||
return OK;
|
|
||||||
Index: atftp-0.7/tftpd.c
|
|
||||||
===================================================================
|
|
||||||
--- atftp-0.7.orig/tftpd.c 2007-08-02 23:04:23.000000000 +0200
|
|
||||||
+++ atftp-0.7/tftpd.c 2007-08-02 23:04:23.000000000 +0200
|
|
||||||
@@ -230,14 +230,8 @@
|
|
||||||
|
|
||||||
/* find the port */
|
|
||||||
if (tftpd_port == 0)
|
|
||||||
- {
|
|
||||||
- if ((serv = getservbyname("tftp", "udp")) == NULL)
|
|
||||||
- {
|
|
||||||
- logger(LOG_ERR, "atftpd: udp/tftp, unknown service");
|
|
||||||
- exit(1);
|
|
||||||
- }
|
|
||||||
- tftpd_port = ntohs(serv->s_port);
|
|
||||||
- }
|
|
||||||
+ tftpd_port = htons(69);
|
|
||||||
+
|
|
||||||
/* initialise sockaddr_in structure */
|
|
||||||
memset(&sa, 0, sizeof(sa));
|
|
||||||
sa.sin_family = AF_INET;
|
|
@ -1,121 +0,0 @@
|
|||||||
Index: atftp-0.7/tftp.c
|
|
||||||
===================================================================
|
|
||||||
--- atftp-0.7.orig/tftp.c 2007-08-02 23:04:23.000000000 +0200
|
|
||||||
+++ atftp-0.7/tftp.c 2007-08-02 23:04:23.000000000 +0200
|
|
||||||
@@ -967,6 +967,7 @@
|
|
||||||
{ "tftp-timeout", 1, NULL, 'T'},
|
|
||||||
{ "mode", 1, NULL, 'M'},
|
|
||||||
{ "option", 1, NULL, 'O'},
|
|
||||||
+ { "retry", 1, NULL, 'R'},
|
|
||||||
#if 1
|
|
||||||
{ "timeout", 1, NULL, 't'},
|
|
||||||
{ "blksize", 1, NULL, 'b'},
|
|
||||||
@@ -986,11 +987,16 @@
|
|
||||||
};
|
|
||||||
|
|
||||||
/* Support old argument until 0.8 */
|
|
||||||
- while ((c = getopt_long(argc, argv, /*"gpl:r:Vh"*/ "gpl:r:Vht:b:sm",
|
|
||||||
+ while ((c = getopt_long(argc, argv, /*"gpl:r:Vh"*/ "gpl:r:Vht:b:smR:",
|
|
||||||
options, &option_index)) != EOF)
|
|
||||||
{
|
|
||||||
switch (c)
|
|
||||||
{
|
|
||||||
+ case 'R':
|
|
||||||
+ snprintf(string, sizeof(string), "option retry %s", optarg);
|
|
||||||
+ make_arg(string, &ac, &av);
|
|
||||||
+ process_cmd(ac, av);
|
|
||||||
+ break;
|
|
||||||
case 'g':
|
|
||||||
interactive = 0;
|
|
||||||
if ((action == PUT) || (action == MGET))
|
|
||||||
Index: atftp-0.7/tftp_def.c
|
|
||||||
===================================================================
|
|
||||||
--- atftp-0.7.orig/tftp_def.c 2007-08-02 23:04:23.000000000 +0200
|
|
||||||
+++ atftp-0.7/tftp_def.c 2007-08-02 23:04:23.000000000 +0200
|
|
||||||
@@ -37,6 +37,7 @@
|
|
||||||
{ "timeout", "5", 0, 1 }, /* 2348, 2349, 2090. */
|
|
||||||
{ "blksize", "512", 0, 1 }, /* This is the default option */
|
|
||||||
{ "multicast", "", 0, 1 }, /* structure */
|
|
||||||
+ { "retry", "5", 0, 1 },
|
|
||||||
{ "", "", 0, 0}
|
|
||||||
};
|
|
||||||
|
|
||||||
Index: atftp-0.7/tftp_def.h
|
|
||||||
===================================================================
|
|
||||||
--- atftp-0.7.orig/tftp_def.h 2007-08-02 23:04:23.000000000 +0200
|
|
||||||
+++ atftp-0.7/tftp_def.h 2007-08-02 23:04:23.000000000 +0200
|
|
||||||
@@ -40,7 +40,8 @@
|
|
||||||
#define OPT_TIMEOUT 3
|
|
||||||
#define OPT_BLKSIZE 4
|
|
||||||
#define OPT_MULTICAST 5
|
|
||||||
-#define OPT_NUMBER 7
|
|
||||||
+#define OPT_RETRY 6
|
|
||||||
+#define OPT_NUMBER 8
|
|
||||||
|
|
||||||
#define OPT_SIZE 12
|
|
||||||
#define VAL_SIZE MAXLEN
|
|
||||||
Index: atftp-0.7/tftp_file.c
|
|
||||||
===================================================================
|
|
||||||
--- atftp-0.7.orig/tftp_file.c 2007-08-02 23:04:23.000000000 +0200
|
|
||||||
+++ atftp-0.7/tftp_file.c 2007-08-02 23:04:23.000000000 +0200
|
|
||||||
@@ -123,6 +123,7 @@
|
|
||||||
struct tftphdr *tftphdr = (struct tftphdr *)data->data_buffer;
|
|
||||||
FILE *fp = NULL; /* the local file pointer */
|
|
||||||
int number_of_timeout = 0;
|
|
||||||
+ int num_retry = atoi(data->tftp_options[OPT_RETRY].value);
|
|
||||||
int convert = 0; /* if true, do netascii convertion */
|
|
||||||
|
|
||||||
int oacks = 0; /* count OACK for improved error checking */
|
|
||||||
@@ -141,7 +142,7 @@
|
|
||||||
|
|
||||||
int prev_block_number = 0; /* needed to support netascii convertion */
|
|
||||||
int temp = 0;
|
|
||||||
-
|
|
||||||
+
|
|
||||||
data->file_size = 0;
|
|
||||||
tftp_cancel = 0;
|
|
||||||
from.sin_addr.s_addr = 0;
|
|
||||||
@@ -288,7 +289,7 @@
|
|
||||||
case GET_TIMEOUT:
|
|
||||||
number_of_timeout++;
|
|
||||||
fprintf(stderr, "timeout: retrying...\n");
|
|
||||||
- if (number_of_timeout > NB_OF_RETRY)
|
|
||||||
+ if ((num_retry > 0) && (number_of_timeout > num_retry))
|
|
||||||
state = S_ABORT;
|
|
||||||
else
|
|
||||||
state = timeout_state;
|
|
||||||
@@ -325,7 +326,7 @@
|
|
||||||
number_of_timeout++;
|
|
||||||
fprintf(stderr, "tftp: packet discard <%s:%d>.\n",
|
|
||||||
inet_ntoa(from.sin_addr), ntohs(from.sin_port));
|
|
||||||
- if (number_of_timeout > NB_OF_RETRY)
|
|
||||||
+ if ((num_retry > 0) && (number_of_timeout > num_retry))
|
|
||||||
state = S_ABORT;
|
|
||||||
break;
|
|
||||||
case ERR:
|
|
||||||
@@ -614,6 +615,7 @@
|
|
||||||
struct tftphdr *tftphdr = (struct tftphdr *)data->data_buffer;
|
|
||||||
FILE *fp; /* the local file pointer */
|
|
||||||
int number_of_timeout = 0;
|
|
||||||
+ int num_retry = atoi(data->tftp_options[OPT_RETRY].value);
|
|
||||||
struct stat file_stat;
|
|
||||||
int convert = 0; /* if true, do netascii convertion */
|
|
||||||
char string[MAXLEN];
|
|
||||||
@@ -751,7 +753,7 @@
|
|
||||||
case GET_TIMEOUT:
|
|
||||||
number_of_timeout++;
|
|
||||||
fprintf(stderr, "timeout: retrying...\n");
|
|
||||||
- if (number_of_timeout > NB_OF_RETRY)
|
|
||||||
+ if ((num_retry > 0) && (number_of_timeout > num_retry))
|
|
||||||
state = S_ABORT;
|
|
||||||
else
|
|
||||||
state = timeout_state;
|
|
||||||
@@ -797,7 +799,7 @@
|
|
||||||
number_of_timeout++;
|
|
||||||
fprintf(stderr, "tftp: packet discard <%s:%d>.\n",
|
|
||||||
inet_ntoa(from.sin_addr), ntohs(from.sin_port));
|
|
||||||
- if (number_of_timeout > NB_OF_RETRY)
|
|
||||||
+ if ((num_retry > 0) && (number_of_timeout > num_retry))
|
|
||||||
state = S_ABORT;
|
|
||||||
break;
|
|
||||||
case ERR:
|
|
@ -1,21 +0,0 @@
|
|||||||
--- a/stats.c
|
|
||||||
+++ b/stats.c
|
|
||||||
@@ -18,6 +18,7 @@
|
|
||||||
|
|
||||||
#include <limits.h>
|
|
||||||
#include <string.h>
|
|
||||||
+#include <time.h>
|
|
||||||
#include "tftp_def.h"
|
|
||||||
#include "stats.h"
|
|
||||||
#include "logger.h"
|
|
||||||
@@ -157,8 +158,8 @@
|
|
||||||
|
|
||||||
logger(LOG_INFO, " Load measurements:");
|
|
||||||
logger(LOG_INFO, " User: %8.3fs Sys:%8.3fs",
|
|
||||||
- (double)(s_stats.tms.tms_utime) / CLK_TCK,
|
|
||||||
- (double)(s_stats.tms.tms_stime) / CLK_TCK);
|
|
||||||
+ (double)(s_stats.tms.tms_utime) / CLOCKS_PER_SEC,
|
|
||||||
+ (double)(s_stats.tms.tms_stime) / CLOCKS_PER_SEC);
|
|
||||||
logger(LOG_INFO, " Total:%8.3fs CPU:%8.3f%%",
|
|
||||||
(double)(tmp.tv_sec + tmp.tv_usec * 1e-6),
|
|
||||||
(double)(s_stats.tms.tms_utime + s_stats.tms.tms_stime) /
|
|
Loading…
Reference in New Issue
Block a user