summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /net-ftp/atftp/files
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'net-ftp/atftp/files')
-rw-r--r--net-ftp/atftp/files/atftp-0.7-blockno.patch136
-rw-r--r--net-ftp/atftp/files/atftp-0.7-glibc24.patch22
-rw-r--r--net-ftp/atftp/files/atftp-0.7-illreply.patch12
-rw-r--r--net-ftp/atftp/files/atftp-0.7-password.patch94
-rw-r--r--net-ftp/atftp/files/atftp-0.7-pcre.patch14
-rw-r--r--net-ftp/atftp/files/atftp-0.7-spaced_filename.patch96
-rw-r--r--net-ftp/atftp/files/atftp-0.7-tests.patch23
-rw-r--r--net-ftp/atftp/files/atftp.confd4
-rwxr-xr-xnet-ftp/atftp/files/atftp.init28
-rw-r--r--net-ftp/atftp/files/atftp.service9
-rw-r--r--net-ftp/atftp/files/atftp.service.conf2
11 files changed, 440 insertions, 0 deletions
diff --git a/net-ftp/atftp/files/atftp-0.7-blockno.patch b/net-ftp/atftp/files/atftp-0.7-blockno.patch
new file mode 100644
index 00000000000..6a3184f98be
--- /dev/null
+++ b/net-ftp/atftp/files/atftp-0.7-blockno.patch
@@ -0,0 +1,136 @@
+--- atftp-0.7/tftp_file.c~ 2010-05-27 13:05:12.000000000 -0500
++++ atftp-0.7/tftp_file.c 2010-05-27 12:50:05.000000000 -0500
+@@ -133,19 +133,21 @@
+ int mcast_sockfd = 0;
+ struct sockaddr_in sa_mcast;
+ struct ip_mreq mreq;
+ struct hostent *host;
+ int master_client = 0;
+ unsigned int file_bitmap[NB_BLOCK];
+ int prev_bitmap_hole = -1; /* the previous hole found in the bitmap */
+ char string[MAXLEN];
++ int rx_block_number;
+
+ int prev_block_number = 0; /* needed to support netascii convertion */
+ int temp = 0;
++ size_t ignore;
+
+ data->file_size = 0;
+ tftp_cancel = 0;
+ from.sin_addr.s_addr = 0;
+
+ memset(&sa_mcast, 0, sizeof(struct sockaddr_in));
+ memset(&file_bitmap, 0, sizeof(file_bitmap));
+
+@@ -300,17 +302,17 @@
+ {
+ connect(sockfd, (struct sockaddr *)&sa, sizeof(sa));
+ connected = 1;
+ }
+ state = S_OACK_RECEIVED;
+ break;
+ case GET_ERROR:
+ fprintf(stderr, "tftp: error received from server <");
+- fwrite(tftphdr->th_msg, 1, data_size - 4 - 1, stderr);
++ ignore = fwrite(tftphdr->th_msg, 1, data_size - 4 - 1, stderr);
+ fprintf(stderr, ">\n");
+ state = S_ABORT;
+ break;
+ case GET_DATA:
+ number_of_timeout = 0;
+ /* if the socket if not connected, connect it */
+ if (!connected)
+ {
+@@ -513,21 +515,24 @@
+ state = S_WAIT_PACKET;
+ break;
+ case S_DATA_RECEIVED:
+ if ((multicast && master_client) || (!multicast))
+ timeout_state = S_SEND_ACK;
+ else
+ timeout_state = S_WAIT_PACKET;
+
+- block_number = ntohs(tftphdr->th_block);
++ rx_block_number = ntohs(tftphdr->th_block);
+ if (data->trace)
+ fprintf(stderr, "received DATA <block: %d, size: %d>\n",
+ ntohs(tftphdr->th_block), data_size - 4);
+
++ if ((uint16_t)rx_block_number == (uint16_t)(block_number+1))
++ ++block_number;
++
+ if (tftp_file_write(fp, tftphdr->th_data, data->data_buffer_size - 4, block_number,
+ data_size - 4, convert, &prev_block_number, &temp)
+ != data_size - 4)
+ {
+
+ fprintf(stderr, "tftp: error writing to file %s\n",
+ data->local_file);
+ tftp_send_error(sockfd, &sa, ENOSPACE, data->data_buffer,
+@@ -613,19 +618,21 @@
+ int connected; /* 1 when sockfd is connected */
+ struct tftphdr *tftphdr = (struct tftphdr *)data->data_buffer;
+ FILE *fp; /* the local file pointer */
+ int number_of_timeout = 0;
+ struct stat file_stat;
+ int convert = 0; /* if true, do netascii convertion */
+ char string[MAXLEN];
+
++ int ack_block_number;
+ int prev_block_number = 0; /* needed to support netascii convertion */
+ int prev_file_pos = 0;
+ int temp = 0;
++ size_t ignore;
+
+ data->file_size = 0;
+ tftp_cancel = 0;
+ from.sin_addr.s_addr = 0;
+
+ /* make sure the socket is not connected */
+ sa.sin_family = AF_UNSPEC;
+ connect(sockfd, (struct sockaddr *)&sa, sizeof(sa));
+@@ -759,20 +766,23 @@
+ case GET_ACK:
+ number_of_timeout = 0;
+ /* if the socket if not connected, connect it */
+ if (!connected)
+ {
+ //connect(sockfd, (struct sockaddr *)&sa, sizeof(sa));
+ connected = 1;
+ }
+- block_number = ntohs(tftphdr->th_block);
++ ack_block_number = ntohs(tftphdr->th_block);
++ if ((uint16_t)(block_number+1) == ack_block_number)
++ ++block_number;
+ if (data->trace)
+ fprintf(stderr, "received ACK <block: %d>\n",
+- block_number);
++ ack_block_number);
++
+ if ((last_block != -1) && (block_number > last_block))
+ {
+ state = S_END;
+ break;
+ }
+ state = S_SEND_DATA;
+ break;
+ case GET_OACK:
+@@ -782,17 +792,17 @@
+ {
+ //connect(sockfd, (struct sockaddr *)&sa, sizeof(sa));
+ connected = 1;
+ }
+ state = S_OACK_RECEIVED;
+ break;
+ case GET_ERROR:
+ fprintf(stderr, "tftp: error received from server <");
+- fwrite(tftphdr->th_msg, 1, data_size - 4 - 1, stderr);
++ ignore = fwrite(tftphdr->th_msg, 1, data_size - 4 - 1, stderr);
+ fprintf(stderr, ">\n");
+ state = S_ABORT;
+ break;
+ case GET_DISCARD:
+ /* consider discarded packet as timeout to make sure when don't lock up
+ if routing is broken */
+ number_of_timeout++;
+ fprintf(stderr, "tftp: packet discard <%s:%d>.\n",
diff --git a/net-ftp/atftp/files/atftp-0.7-glibc24.patch b/net-ftp/atftp/files/atftp-0.7-glibc24.patch
new file mode 100644
index 00000000000..195aec69b02
--- /dev/null
+++ b/net-ftp/atftp/files/atftp-0.7-glibc24.patch
@@ -0,0 +1,22 @@
+--- atftp-0.7/stats.c.org
++++ atftp-0.7/stats.c
+@@ -18,6 +18,7 @@
+
+ #include <limits.h>
+ #include <string.h>
++#include <unistd.h>
+ #include "tftp_def.h"
+ #include "stats.h"
+ #include "logger.h"
+@@ -157,8 +158,9 @@
+
+ logger(LOG_INFO, " Load measurements:");
++ long sc_clk_tck = sysconf(_SC_CLK_TCK);
+ 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) / sc_clk_tck,
++ (double)(s_stats.tms.tms_stime) / sc_clk_tck);
+ 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) /
diff --git a/net-ftp/atftp/files/atftp-0.7-illreply.patch b/net-ftp/atftp/files/atftp-0.7-illreply.patch
new file mode 100644
index 00000000000..e18bbd99c9e
--- /dev/null
+++ b/net-ftp/atftp/files/atftp-0.7-illreply.patch
@@ -0,0 +1,12 @@
+*** tftp_def.old.c 2009-02-28 17:56:12.000000000 +0100
+--- tftp_def.c 2009-02-28 17:57:02.000000000 +0100
+***************
+*** 141,146 ****
+--- 141,147 ----
+ */
+ inline char *Strncpy(char *to, const char *from, size_t size)
+ {
++ if (size <= 0) { *to = '\000'; return to; }
+ to[size-1] = '\000';
+ return strncpy(to, from, size - 1);
+ }
diff --git a/net-ftp/atftp/files/atftp-0.7-password.patch b/net-ftp/atftp/files/atftp-0.7-password.patch
new file mode 100644
index 00000000000..26b59085dde
--- /dev/null
+++ b/net-ftp/atftp/files/atftp-0.7-password.patch
@@ -0,0 +1,94 @@
+diff -Naur atftp-0.7.orig/tftp.c atftp-0.7/tftp.c
+--- atftp-0.7.orig/tftp.c 2004-03-15 18:55:56.000000000 -0500
++++ atftp-0.7/tftp.c 2005-08-29 21:40:06.000000000 -0400
+@@ -525,6 +525,10 @@
+ fprintf(stderr, " multicast: enabled\n");
+ else
+ fprintf(stderr, " multicast: disabled\n");
++ if (data.tftp_options[OPT_PASSWORD].specified)
++ fprintf(stderr, " password: enabled\n");
++ else
++ fprintf(stderr, " password: disabled\n");
+ return ERR;
+ }
+ /* if disabling an option */
+@@ -971,6 +975,7 @@
+ { "put", 0, NULL, 'p'},
+ { "local-file", 1, NULL, 'l'},
+ { "remote-file", 1, NULL, 'r'},
++ { "password", 1, NULL, 'P'},
+ { "tftp-timeout", 1, NULL, 'T'},
+ { "mode", 1, NULL, 'M'},
+ { "option", 1, NULL, 'O'},
+@@ -993,7 +998,7 @@
+ };
+
+ /* 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:smP:",
+ options, &option_index)) != EOF)
+ {
+ switch (c)
+@@ -1028,6 +1033,11 @@
+ else
+ action = PUT;
+ break;
++ case 'P':
++ snprintf(string, sizeof(string), "option password %s", optarg);
++ make_arg(string, &ac, &av);
++ process_cmd(ac, av);
++ break;
+ case 'l':
+ interactive = 0;
+ Strncpy(local_file, optarg, MAXLEN);
+@@ -1169,6 +1179,7 @@
+ " -p, --put : put file\n"
+ " -l, --local-file <file> : local file name\n"
+ " -r, --remote-file <file> : remote file name\n"
++ " -P, --password <password>: specify password (Linksys ext.)\n"
+ " --tftp-timeout <value> : delay before retransmission, client side\n"
+ #if 0
+ " t, --timeout <value> : delay before retransmission, "
+diff -Naur atftp-0.7.orig/tftp_def.c atftp-0.7/tftp_def.c
+--- atftp-0.7.orig/tftp_def.c 2004-02-12 22:16:09.000000000 -0500
++++ atftp-0.7/tftp_def.c 2005-08-29 21:36:57.000000000 -0400
+@@ -37,6 +37,7 @@
+ { "timeout", "5", 0, 1 }, /* 2348, 2349, 2090. */
+ { "blksize", "512", 0, 1 }, /* This is the default option */
+ { "multicast", "", 0, 1 }, /* structure */
++ { "password", "", 0, 1}, /* password */
+ { "", "", 0, 0}
+ };
+
+diff -Naur atftp-0.7.orig/tftp_def.h atftp-0.7/tftp_def.h
+--- atftp-0.7.orig/tftp_def.h 2004-02-12 22:16:09.000000000 -0500
++++ atftp-0.7/tftp_def.h 2005-08-29 20:16:27.000000000 -0400
+@@ -40,6 +40,7 @@
+ #define OPT_TIMEOUT 3
+ #define OPT_BLKSIZE 4
+ #define OPT_MULTICAST 5
++#define OPT_PASSWORD 6
+ #define OPT_NUMBER 7
+
+ #define OPT_SIZE 12
+diff -Naur atftp-0.7.orig/tftp_io.c atftp-0.7/tftp_io.c
+--- atftp-0.7.orig/tftp_io.c 2004-02-18 20:30:00.000000000 -0500
++++ atftp-0.7/tftp_io.c 2005-08-29 22:05:11.000000000 -0400
+@@ -70,10 +70,13 @@
+ break;
+ if (tftp_options[i].enabled && tftp_options[i].specified)
+ {
+- Strncpy(data_buffer + buf_index, tftp_options[i].option,
+- data_buffer_size - buf_index);
+- buf_index += strlen(tftp_options[i].option);
+- buf_index++;
++ if (i != OPT_PASSWORD)
++ {
++ Strncpy(data_buffer + buf_index, tftp_options[i].option,
++ data_buffer_size - buf_index);
++ buf_index += strlen(tftp_options[i].option);
++ buf_index++;
++ }
+ Strncpy(data_buffer + buf_index, tftp_options[i].value,
+ data_buffer_size - buf_index);
+ buf_index += strlen(tftp_options[i].value);
diff --git a/net-ftp/atftp/files/atftp-0.7-pcre.patch b/net-ftp/atftp/files/atftp-0.7-pcre.patch
new file mode 100644
index 00000000000..1f24b67471e
--- /dev/null
+++ b/net-ftp/atftp/files/atftp-0.7-pcre.patch
@@ -0,0 +1,14 @@
+--- atftp-0.7/tftpd_pcre.c~ 2005-10-17 23:14:52.000000000 +0200
++++ atftp-0.7/tftpd_pcre.c 2005-10-17 23:14:52.000000000 +0200
+@@ -211,9 +211,9 @@
+ chp++; /* point to value indicating substring */
+ rc = pcre_get_substring(str, ovector, matches, *chp - 0x30, &tmpstr);
+ /* found string */
+- if (rc > 0)
++ if (rc > 0 && outchp - outstr + rc+1 < outsize)
+ {
+- Strncpy(outchp, tmpstr, rc);
++ Strncpy(outchp, tmpstr, rc+1);
+ outchp += rc;
+ pcre_free_substring(tmpstr);
+ continue;
diff --git a/net-ftp/atftp/files/atftp-0.7-spaced_filename.patch b/net-ftp/atftp/files/atftp-0.7-spaced_filename.patch
new file mode 100644
index 00000000000..da96d9f6b82
--- /dev/null
+++ b/net-ftp/atftp/files/atftp-0.7-spaced_filename.patch
@@ -0,0 +1,96 @@
+--- atftp-0.7/tftp.c~ 2010-06-03 08:51:14.000000000 -0500
++++ atftp-0.7/tftp.c 2010-06-03 09:40:56.000000000 -0500
+@@ -18,16 +18,17 @@
+ #include "config.h"
+
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include <unistd.h>
+ #include <getopt.h>
+ #include <string.h>
++#include <stdarg.h>
+
+ #include <sys/types.h>
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
+ #include <netdb.h>
+
+ #include <signal.h>
+@@ -344,16 +345,41 @@
+
+ /* If no names matched, then return NULL. */
+ return NULL;
+ }
+ # endif
+ #endif
+
+ /*
++ * set argc/argv from variadic string arguments
++*/
++void make_arg_vector(int *argc, char***argv, ...)
++{
++ char **p;
++ char *s;
++ va_list argp;
++
++ // how many args?
++ *argc = 0;
++ va_start(argp, argv);
++ while ( (s=va_arg(argp, char*)) )
++ ++*argc;
++
++ // allocate storage
++ *argv = malloc(*argc * sizeof (char*));
++
++ // store args
++ p = *argv;
++ va_start(argp, argv);
++ while ( (s=va_arg(argp, char*)) )
++ *p++ = s;
++}
++
++/*
+ * Split a string into args.
+ */
+ void make_arg(char *string, int *argc, char ***argv)
+ {
+ static char *tmp = NULL;
+ size_t argz_len;
+
+ /* split the string to an argz vector */
+@@ -1142,30 +1168,26 @@
+ argv[optind+1]);
+ make_arg(string, &ac, &av);
+ process_cmd(ac, av);
+ }
+
+ if (!interactive)
+ {
+ if (action == PUT)
+- snprintf(string, sizeof(string), "put %s %s", local_file,
+- remote_file);
++ make_arg_vector(&ac,&av,"put",local_file,remote_file,NULL);
+ else if (action == GET)
+- snprintf(string, sizeof(string), "get %s %s", remote_file,
+- local_file);
++ make_arg_vector(&ac,&av,"get",remote_file,local_file,NULL);
+ else if (action == MGET)
+- snprintf(string, sizeof(string), "mget %s %s", remote_file,
+- local_file);
++ make_arg_vector(&ac,&av,"mget",remote_file,local_file,NULL);
+ else
+ {
+ fprintf(stderr, "No action specified in batch mode!\n");
+ exit(ERR);
+ }
+- make_arg(string, &ac, &av);
+ if (process_cmd(ac, av) == ERR)
+ exit(ERR);
+ }
+ return OK;
+ }
+
+ void tftp_usage(void)
+ {
diff --git a/net-ftp/atftp/files/atftp-0.7-tests.patch b/net-ftp/atftp/files/atftp-0.7-tests.patch
new file mode 100644
index 00000000000..9e087950e65
--- /dev/null
+++ b/net-ftp/atftp/files/atftp-0.7-tests.patch
@@ -0,0 +1,23 @@
+diff -Naur atftp-0.7.orig/test/test.sh atftp-0.7/test/test.sh
+--- atftp-0.7.orig/test/test.sh 2003-04-28 21:59:51.000000000 -0400
++++ atftp-0.7/test/test.sh 2005-10-26 22:42:15.000000000 -0400
+@@ -151,7 +151,7 @@
+ test_blocksize 1428
+ test_blocksize 16000
+ test_blocksize 64000
+-test_blocksize 65465
++test_blocksize 65464
+
+ #
+ # testing fot tsize
+@@ -162,9 +162,9 @@
+ TSIZE=`grep "OACK <tsize:" out | sed -e "s/[^0-9]//g"`
+ if [ "$TSIZE" != "2048" ]; then
+ echo "ERROR (server report $TSIZE bytes but it should be 2048)"
++ ERROR=1
+ else
+ echo "OK"
+- ERROR=1
+ fi
+
+ #
diff --git a/net-ftp/atftp/files/atftp.confd b/net-ftp/atftp/files/atftp.confd
new file mode 100644
index 00000000000..a46a7047dbb
--- /dev/null
+++ b/net-ftp/atftp/files/atftp.confd
@@ -0,0 +1,4 @@
+# Config file for tftp server
+
+TFTPD_ROOT="/tftproot"
+TFTPD_OPTS="--daemon --user nobody --group nobody"
diff --git a/net-ftp/atftp/files/atftp.init b/net-ftp/atftp/files/atftp.init
new file mode 100755
index 00000000000..4fc8b14413b
--- /dev/null
+++ b/net-ftp/atftp/files/atftp.init
@@ -0,0 +1,28 @@
+#!/sbin/runscript
+
+depend() {
+ use logger
+ need net
+}
+
+checkconfig() {
+ if [ ! -d ${TFTPD_ROOT} ]
+ then
+ eerror "You need a tftp root directory"
+ return 1
+ fi
+}
+
+start() {
+ checkconfig || return 1
+ ebegin "Starting tftpd"
+ start-stop-daemon --start --quiet --exec /usr/sbin/in.tftpd \
+ -- ${TFTPD_OPTS} ${TFTPD_ROOT}
+ eend $?
+}
+
+stop() {
+ ebegin "Stopping tftpd"
+ start-stop-daemon --stop --quiet --exec /usr/sbin/in.tftpd
+ eend $?
+}
diff --git a/net-ftp/atftp/files/atftp.service b/net-ftp/atftp/files/atftp.service
new file mode 100644
index 00000000000..e6570f63445
--- /dev/null
+++ b/net-ftp/atftp/files/atftp.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Advanced TFTP implementation client/server
+After=syslog.target network.target
+
+[Service]
+ExecStart=/usr/sbin/atftpd --daemon --no-fork --user nobody --group nobody $TFTPD_ROOT
+
+[Install]
+WantedBy=multi-user.target
diff --git a/net-ftp/atftp/files/atftp.service.conf b/net-ftp/atftp/files/atftp.service.conf
new file mode 100644
index 00000000000..d8aa19abe32
--- /dev/null
+++ b/net-ftp/atftp/files/atftp.service.conf
@@ -0,0 +1,2 @@
+[Service]
+Environment="TFTPD_ROOT=/tftproot"