[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [v2] tftp: fake support for netascii protocol
From: |
hpa |
Subject: |
Re: [Qemu-devel] [v2] tftp: fake support for netascii protocol |
Date: |
Mon, 21 Nov 2016 06:51:48 -0800 |
User-agent: |
K-9 Mail for Android |
On November 21, 2016 6:46:16 AM PST, Stefan Hajnoczi <address@hidden> wrote:
>On Sun, Nov 20, 2016 at 09:41:36AM +0100, Vincent Bernat wrote:
>> From: Vincent Bernat <address@hidden>
>>
>> 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 <address@hidden>
>> ---
>> slirp/tftp.c | 11 ++++++++---
>> 1 file changed, 8 insertions(+), 3 deletions(-)
>>
>> diff --git a/slirp/tftp.c b/slirp/tftp.c
>> index c1859066ccb2..6907d5b92074 100644
>> --- a/slirp/tftp.c
>> +++ b/slirp/tftp.c
>> @@ -26,6 +26,7 @@
>> #include "slirp.h"
>> #include "qemu-common.h"
>> #include "qemu/cutils.h"
>> +#include "qemu/log.h"
>>
>> static inline int tftp_session_in_use(struct tftp_session *spt)
>> {
>> @@ -326,13 +327,17 @@ 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) {
>> + qemu_log_mask(LOG_UNIMP, "tftp: netascii protocol not
>implemented, "
>> + "no CR-LF conversion\n");
>> + k += 9;
>> + } else {
>
>This is an RFC violation. I don't think it's suitable for upstream
>QEMU.
>
>The commit description says it would be "far more complex" to implement
>netascii. Is the LF -> CR LF and CR -> CR NUL transformation so hard?
>
>CCing H. Peter Anvin who has TFTP expertise in case I'm missing
>something.
>
>Stefan
It should be trivial to do. The one caveat is that the tsize extension needs
to be disabled for a netascii read.
--
Sent from my Android device with K-9 Mail. Please excuse my brevity.
- [Qemu-devel] [v2] tftp: fake support for netascii protocol, (continued)
- [Qemu-devel] [v2] tftp: fake support for netascii protocol, Vincent Bernat, 2016/11/20
- Re: [Qemu-devel] [v2] tftp: fake support for netascii protocol, no-reply, 2016/11/20
- Re: [Qemu-devel] [v2] tftp: fake support for netascii protocol, no-reply, 2016/11/20
- Re: [Qemu-devel] [v2] tftp: fake support for netascii protocol, Thomas Huth, 2016/11/21
- Re: [Qemu-devel] [v2] tftp: fake support for netascii protocol, Stefan Hajnoczi, 2016/11/21
- Re: [Qemu-devel] [v2] tftp: fake support for netascii protocol, Samuel Thibault, 2016/11/21
- Re: [Qemu-devel] [v2] tftp: fake support for netascii protocol, hpa, 2016/11/21
- Re: [Qemu-devel] [v2] tftp: fake support for netascii protocol, Stefan Hajnoczi, 2016/11/22
- Re: [Qemu-devel] [v2] tftp: fake support for netascii protocol, Vincent Bernat, 2016/11/23
- Re: [Qemu-devel] [v2] tftp: fake support for netascii protocol, Stefan Hajnoczi, 2016/11/23
- Re: [Qemu-devel] [v2] tftp: fake support for netascii protocol,
hpa <=
- Re: [Qemu-devel] [v2] tftp: fake support for netascii protocol, Vincent Bernat, 2016/11/21
- Re: [Qemu-devel] [v2] tftp: fake support for netascii protocol, hpa, 2016/11/21
- Re: [Qemu-devel] [PULL] tftp: fake support for netascii protocol, Vincent Bernat, 2016/11/20
[Qemu-devel] [PULL] tftp: fake support for netascii protocol, Samuel Thibault, 2016/11/20