You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nuttx.apache.org by gn...@apache.org on 2020/02/27 19:00:51 UTC

[incubator-nuttx-apps] branch pr108 updated: Fix some wrong state handler in _negotiate

This is an automated email from the ASF dual-hosted git repository.

gnutt pushed a commit to branch pr108
in repository https://gitbox.apache.org/repos/asf/incubator-nuttx-apps.git


The following commit(s) were added to refs/heads/pr108 by this push:
     new 7055196  Fix some wrong state handler in _negotiate
7055196 is described below

commit 70551968c3a7167f42d9e9b0927e81427ad92751
Author: Xiang Xiao <xi...@xiaomi.com>
AuthorDate: Wed Feb 5 15:19:38 2020 +0800

    Fix some wrong state handler in _negotiate
    
    Change-Id: I34d62c1cc916a7f464e4f16173f50e8f9d41452b
    Signed-off-by: Xiang Xiao <xi...@xiaomi.com>
---
 netutils/telnetc/telnetc.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/netutils/telnetc/telnetc.c b/netutils/telnetc/telnetc.c
index 73ac248..286f2b7 100644
--- a/netutils/telnetc/telnetc.c
+++ b/netutils/telnetc/telnetc.c
@@ -534,7 +534,6 @@ static void _negotiate(struct telnet_s *telnet, unsigned char telopt)
 
         case Q_WANTNO_OP:
           _set_rfc1143(telnet, telopt, Q_US(q), Q_YES);
-          NEGOTIATE_EVENT(telnet, TELNET_EV_WILL, telopt);
           _error(telnet, __LINE__, __func__, TELNET_EPROTOCOL, 0,
                  "DONT answered by WILL");
           break;
@@ -570,7 +569,8 @@ static void _negotiate(struct telnet_s *telnet, unsigned char telopt)
 
         case Q_WANTNO_OP:
           _set_rfc1143(telnet, telopt, Q_US(q), Q_WANTYES);
-          NEGOTIATE_EVENT(telnet, TELNET_EV_DO, telopt);
+          _send_negotiate(telnet, TELNET_DO, telopt);
+          NEGOTIATE_EVENT(telnet, TELNET_EV_WONT, telopt);
           break;
 
         case Q_WANTYES:
@@ -605,7 +605,6 @@ static void _negotiate(struct telnet_s *telnet, unsigned char telopt)
 
         case Q_WANTNO_OP:
           _set_rfc1143(telnet, telopt, Q_YES, Q_HIM(q));
-          NEGOTIATE_EVENT(telnet, TELNET_EV_DO, telopt);
           _error(telnet, __LINE__, __func__, TELNET_EPROTOCOL, 0,
                  "WONT answered by DO");
           break;
@@ -636,13 +635,13 @@ static void _negotiate(struct telnet_s *telnet, unsigned char telopt)
 
         case Q_WANTNO:
           _set_rfc1143(telnet, telopt, Q_NO, Q_HIM(q));
-          NEGOTIATE_EVENT(telnet, TELNET_EV_WONT, telopt);
+          NEGOTIATE_EVENT(telnet, TELNET_EV_DONT, telopt);
           break;
 
         case Q_WANTNO_OP:
           _set_rfc1143(telnet, telopt, Q_WANTYES, Q_HIM(q));
           _send_negotiate(telnet, TELNET_WILL, telopt);
-          NEGOTIATE_EVENT(telnet, TELNET_EV_WILL, telopt);
+          NEGOTIATE_EVENT(telnet, TELNET_EV_DONT, telopt);
           break;
 
         case Q_WANTYES: