summaryrefslogtreecommitdiff
path: root/net-ftp/atftp/files/atftp-0.7-password.patch
diff options
context:
space:
mode:
Diffstat (limited to 'net-ftp/atftp/files/atftp-0.7-password.patch')
-rw-r--r--net-ftp/atftp/files/atftp-0.7-password.patch94
1 files changed, 94 insertions, 0 deletions
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);