qemu-devel
[Top][All Lists]
Advanced

[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.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]