@@ -128,6 +128,7 @@ static void telnet_send_and_proceed (void *data, _i16 Len, telnet_connected_subs
128128static telnet_result_t telnet_send_non_blocking (void * data , _i16 Len );
129129static telnet_result_t telnet_recv_text_non_blocking (void * buff , _i16 Maxlen , _i16 * rxLen );
130130static void telnet_process (void );
131+ static int telnet_process_credential (char * credential , _i16 rxLen );
131132static void telnet_parse_input (uint8_t * str , int16_t * len );
132133static bool telnet_send_with_retries (int16_t sd , const void * pBuf , int16_t len );
133134static void telnet_reset (void );
@@ -142,28 +143,6 @@ void telnet_init (void) {
142143 telnet_data .state = E_TELNET_STE_DISABLED ;
143144}
144145
145-
146- static int telnet_process_credential (char * credential , _i16 rxLen ) {
147- telnet_data .rxWindex += rxLen ;
148- if (telnet_data .rxWindex >= SERVERS_USER_PASS_LEN_MAX ) {
149- telnet_data .rxWindex = SERVERS_USER_PASS_LEN_MAX ;
150- }
151-
152- uint8_t * p = telnet_data .rxBuffer + SERVERS_USER_PASS_LEN_MAX ;
153- // if a '\r' is found, or the length exceeds the max username length
154- if ((p = memchr (telnet_data .rxBuffer , '\r' , telnet_data .rxWindex )) || (telnet_data .rxWindex >= SERVERS_USER_PASS_LEN_MAX )) {
155- uint8_t len = p - telnet_data .rxBuffer ;
156-
157- telnet_data .rxWindex = 0 ;
158- if ((len > 0 ) && (memcmp (credential , telnet_data .rxBuffer , MAX (len , strlen (credential ))) == 0 )) {
159- return 1 ;
160- }
161- return -1 ;
162- }
163- return 0 ;
164- }
165-
166-
167146void telnet_run (void ) {
168147 _i16 rxLen ;
169148 switch (telnet_data .state ) {
@@ -451,6 +430,26 @@ static void telnet_process (void) {
451430 }
452431}
453432
433+ static int telnet_process_credential (char * credential , _i16 rxLen ) {
434+ telnet_data .rxWindex += rxLen ;
435+ if (telnet_data .rxWindex >= SERVERS_USER_PASS_LEN_MAX ) {
436+ telnet_data .rxWindex = SERVERS_USER_PASS_LEN_MAX ;
437+ }
438+
439+ uint8_t * p = telnet_data .rxBuffer + SERVERS_USER_PASS_LEN_MAX ;
440+ // if a '\r' is found, or the length exceeds the max username length
441+ if ((p = memchr (telnet_data .rxBuffer , '\r' , telnet_data .rxWindex )) || (telnet_data .rxWindex >= SERVERS_USER_PASS_LEN_MAX )) {
442+ uint8_t len = p - telnet_data .rxBuffer ;
443+
444+ telnet_data .rxWindex = 0 ;
445+ if ((len > 0 ) && (memcmp (credential , telnet_data .rxBuffer , MAX (len , strlen (credential ))) == 0 )) {
446+ return 1 ;
447+ }
448+ return -1 ;
449+ }
450+ return 0 ;
451+ }
452+
454453static void telnet_parse_input (uint8_t * str , int16_t * len ) {
455454 int16_t b_len = * len ;
456455 uint8_t * b_str = str ;
0 commit comments