diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /net-ftp/atftp/files | |
download | gentoo-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.patch | 136 | ||||
-rw-r--r-- | net-ftp/atftp/files/atftp-0.7-glibc24.patch | 22 | ||||
-rw-r--r-- | net-ftp/atftp/files/atftp-0.7-illreply.patch | 12 | ||||
-rw-r--r-- | net-ftp/atftp/files/atftp-0.7-password.patch | 94 | ||||
-rw-r--r-- | net-ftp/atftp/files/atftp-0.7-pcre.patch | 14 | ||||
-rw-r--r-- | net-ftp/atftp/files/atftp-0.7-spaced_filename.patch | 96 | ||||
-rw-r--r-- | net-ftp/atftp/files/atftp-0.7-tests.patch | 23 | ||||
-rw-r--r-- | net-ftp/atftp/files/atftp.confd | 4 | ||||
-rwxr-xr-x | net-ftp/atftp/files/atftp.init | 28 | ||||
-rw-r--r-- | net-ftp/atftp/files/atftp.service | 9 | ||||
-rw-r--r-- | net-ftp/atftp/files/atftp.service.conf | 2 |
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 000000000000..6a3184f98bec --- /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 000000000000..195aec69b021 --- /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 000000000000..e18bbd99c9e9 --- /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 000000000000..26b59085dde5 --- /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 000000000000..1f24b67471e2 --- /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 000000000000..da96d9f6b820 --- /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 000000000000..9e087950e659 --- /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 000000000000..a46a7047dbb6 --- /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 000000000000..4fc8b14413b4 --- /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 000000000000..e6570f63445c --- /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 000000000000..d8aa19abe32f --- /dev/null +++ b/net-ftp/atftp/files/atftp.service.conf @@ -0,0 +1,2 @@ +[Service] +Environment="TFTPD_ROOT=/tftproot" |