diff mbox

tftp: fake support for netascii protocol

Message ID 20161117122000.22577-1-Vincent.Bernat@exoscale.ch
State New
Headers show

Commit Message

Vincent Bernat Nov. 17, 2016, 12:20 p.m. UTC
From: Vincent Bernat <vincent@bernat.im>

Some network equipments are requesting a file using the netascii
protocol and this is not configurable. Currently, qemu's tftpd only
supports the octet protocol. This commit makes it accept the netascii
protocol as well but do not perform the requested transformation (LF ->
CR,LF) as it would be far more complex. The current implementation is
good enough. A user has always the choice to preencode the served file
correctly.
---
 slirp/tftp.c | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

Comments

no-reply@patchew.org Nov. 17, 2016, 3:27 p.m. UTC | #1
Hi,

Your series seems to have some coding style problems. See output below for
more information:

Subject: [Qemu-devel] [PATCH] tftp: fake support for netascii protocol
Type: series
Message-id: 20161117122000.22577-1-Vincent.Bernat@exoscale.ch

=== TEST SCRIPT BEGIN ===
#!/bin/bash

BASE=base
n=1
total=$(git log --oneline $BASE.. | wc -l)
failed=0

# Useful git options
git config --local diff.renamelimit 0
git config --local diff.renames True

commits="$(git log --format=%H --reverse $BASE..)"
for c in $commits; do
    echo "Checking PATCH $n/$total: $(git log -n 1 --format=%s $c)..."
    if ! git show $c --format=email | ./scripts/checkpatch.pl --mailback -; then
        failed=1
        echo
    fi
    n=$((n+1))
done

exit $failed
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 * [new tag]         patchew/20161117122000.22577-1-Vincent.Bernat@exoscale.ch -> patchew/20161117122000.22577-1-Vincent.Bernat@exoscale.ch
Switched to a new branch 'test'
bfea015 tftp: fake support for netascii protocol

=== OUTPUT BEGIN ===
Checking PATCH 1/1: tftp: fake support for netascii protocol...
ERROR: suspect code indent for conditional statements (2, 6)
#24: FILE: slirp/tftp.c:329:
+  if (strcasecmp(&tp->x.tp_buf[k], "octet") == 0) {
+      k += 6;

ERROR: suspect code indent for conditional statements (2, 6)
#26: FILE: slirp/tftp.c:331:
+  } else if (strcasecmp(&tp->x.tp_buf[k], "netascii") == 0) {
+      k += 9;

ERROR: Missing Signed-off-by: line(s)

total: 3 errors, 0 warnings, 18 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

=== OUTPUT END ===

Test command exited with code: 1


---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@freelists.org
Vincent Bernat Nov. 17, 2016, 3:58 p.m. UTC | #2
❦ 17 novembre 2016 07:27 -0800, no-reply@patchew.org :

> === OUTPUT BEGIN ===
> Checking PATCH 1/1: tftp: fake support for netascii protocol...
> ERROR: suspect code indent for conditional statements (2, 6)
> #24: FILE: slirp/tftp.c:329:
> +  if (strcasecmp(&tp->x.tp_buf[k], "octet") == 0) {
> +      k += 6;
>
> ERROR: suspect code indent for conditional statements (2, 6)
> #26: FILE: slirp/tftp.c:331:
> +  } else if (strcasecmp(&tp->x.tp_buf[k], "netascii") == 0) {
> +      k += 9;

Indentation is consistent with what the remaining of the file.

> ERROR: Missing Signed-off-by: line(s)

Should I resend the patch for that or the amendment I sent in another
mail is sufficient?
Samuel Thibault Nov. 18, 2016, 5:52 p.m. UTC | #3
Hello,

Vincent Bernat, on Thu 17 Nov 2016 13:22:32 +0100, wrote:
>  ❦ 17 novembre 2016 13:20 +0100, Vincent Bernat <Vincent.Bernat@exoscale.ch> :
> 
> > Some network equipments are requesting a file using the netascii
> > protocol and this is not configurable. Currently, qemu's tftpd only
> > supports the octet protocol. This commit makes it accept the netascii
> > protocol as well but do not perform the requested transformation (LF ->
> > CR,LF) as it would be far more complex. The current implementation is
> > good enough. A user has always the choice to preencode the served file
> > correctly.
> 
> Signed-off-by: Vincent Bernat <vincent@bernat.im>

Thanks, I've pushed to my tree and requested a pull.

Samuel
diff mbox

Patch

diff --git a/slirp/tftp.c b/slirp/tftp.c
index c1859066ccb2..ab1c05d5d42c 100644
--- a/slirp/tftp.c
+++ b/slirp/tftp.c
@@ -326,13 +326,15 @@  static void tftp_handle_rrq(Slirp *slirp, struct sockaddr_storage *srcsas,
     return;
   }
 
-  if (strcasecmp(&tp->x.tp_buf[k], "octet") != 0) {
+  if (strcasecmp(&tp->x.tp_buf[k], "octet") == 0) {
+      k += 6;
+  } else if (strcasecmp(&tp->x.tp_buf[k], "netascii") == 0) {
+      k += 9;
+  } else {
       tftp_send_error(spt, 4, "Unsupported transfer mode", tp);
       return;
   }
 
-  k += 6; /* skipping octet */
-
   /* do sanity checks on the filename */
   if (!strncmp(req_fname, "../", 3) ||
       req_fname[strlen(req_fname) - 1] == '/' ||