|
@@ -167,7 +167,6 @@ typedef struct{
|
|
|
uint8_t login_err;
|
|
|
uint8_t num_connect;
|
|
|
bool active_conn;
|
|
|
- bool flagWhiteListTelnet;
|
|
|
bool flag_telnet_ip_option;
|
|
|
}telnetd_state_t;
|
|
|
|
|
@@ -190,10 +189,6 @@ static struct fd_set master_set, read_set, write_set;
|
|
|
static int max_sd;
|
|
|
static struct sockaddr_in sa;
|
|
|
|
|
|
-#ifdef HARDWARE_BT6708
|
|
|
-extern bool white_list_check(uint32_t check_remote_addr);
|
|
|
-#endif
|
|
|
-
|
|
|
const int8_t * const pcWarningMessage = ( const int8_t * ) "Количество соединенений превышено. Данное соединение будет закрыто\r\n";
|
|
|
#ifdef HARDWARE_BT6708
|
|
|
const int8_t * const pcWelcomeMessage = ( const int8_t * ) "BT6708 command server - connection accepted.\r\nlogin:";
|
|
@@ -740,11 +735,7 @@ void vBasicSocketsCommandInterpreterTask( void *pvParameters )
|
|
|
auth_tlnt_srvr_param[k].num_connect = new_sd;
|
|
|
auth_tlnt_srvr_param[k].telnetState = TELNET_AUTH;
|
|
|
auth_tlnt_srvr_param[k].state = STATE_NORMAL;
|
|
|
-#ifdef HARDWARE_BT6708
|
|
|
- auth_tlnt_srvr_param[k].flagWhiteListTelnet = white_list_check(sa_temp.sin_addr.s_addr);
|
|
|
-#elif HARDWARE_BT6706
|
|
|
- auth_tlnt_srvr_param[k].flagWhiteListTelnet = true;
|
|
|
-#endif
|
|
|
+
|
|
|
while(recv( new_sd, &auth_tlnt_srvr_param[k].buf[auth_tlnt_srvr_param[k].bufptr], 1, MSG_DONTWAIT ) > 0){
|
|
|
newdata(&auth_tlnt_srvr_param[k]);
|
|
|
vTaskDelay(10);
|
|
@@ -946,45 +937,37 @@ static portBASE_TYPE FreeRTOS_CLIAuthProcess( int8_t * pcWriteBuffer, telnetd_st
|
|
|
memset(password, 0, MAX_WEB_PASSWD_LEN);
|
|
|
len = strlen(s->buf);
|
|
|
strncpy(password, s->buf, len);
|
|
|
-#ifdef HARDWARE_BT6708
|
|
|
- if(!s->flagWhiteListTelnet){
|
|
|
- xReturn = pdFALSE;
|
|
|
- }
|
|
|
- else
|
|
|
-#endif
|
|
|
- {
|
|
|
- for (user_id = 0; user_id < MAX_WEB_USERS; user_id++) {
|
|
|
-
|
|
|
- GetUserLogin(user_id, WebLogin, &valueLen);
|
|
|
- GetUserPassword(user_id, WebPassword, &valueLen);
|
|
|
-
|
|
|
- /* Check login and password */
|
|
|
- if ((strncmp(WebLogin, s->login, MAX_WEB_LOGIN_LEN) == 0) &&
|
|
|
- (strncmp(WebPassword, password, MAX_WEB_PASSWD_LEN) == 0)) {
|
|
|
-
|
|
|
- /* Login and pass are valid */
|
|
|
- s->telnet_code_auth = user_id;
|
|
|
- s->login_err = 0;
|
|
|
- strcpy( ( char * ) pcWriteBuffer, "\r\nАвторизация успешно пройдена\r\n>" );
|
|
|
- s->telnetState = TELNET_CMD;
|
|
|
- switch (user_id) {
|
|
|
- case 0:
|
|
|
- snprintf(name_login_telnet, sizeof(name_login_telnet), "Администратор");
|
|
|
- break;
|
|
|
- case 1:
|
|
|
- snprintf(name_login_telnet, sizeof(name_login_telnet), "Пользователь");
|
|
|
- break;
|
|
|
- default:
|
|
|
- break;
|
|
|
- }
|
|
|
+ for (user_id = 0; user_id < MAX_WEB_USERS; user_id++) {
|
|
|
|
|
|
- log_event_data(LOG_LOGIN_TELNET, name_login_telnet);
|
|
|
- xReturn = pdTRUE;
|
|
|
- break;
|
|
|
- }
|
|
|
- else{
|
|
|
- xReturn = pdFALSE;
|
|
|
+ GetUserLogin(user_id, WebLogin, &valueLen);
|
|
|
+ GetUserPassword(user_id, WebPassword, &valueLen);
|
|
|
+
|
|
|
+ /* Check login and password */
|
|
|
+ if ((strncmp(WebLogin, s->login, MAX_WEB_LOGIN_LEN) == 0) &&
|
|
|
+ (strncmp(WebPassword, password, MAX_WEB_PASSWD_LEN) == 0)) {
|
|
|
+
|
|
|
+ /* Login and pass are valid */
|
|
|
+ s->telnet_code_auth = user_id;
|
|
|
+ s->login_err = 0;
|
|
|
+ strcpy( ( char * ) pcWriteBuffer, "\r\nАвторизация успешно пройдена\r\n>" );
|
|
|
+ s->telnetState = TELNET_CMD;
|
|
|
+ switch (user_id) {
|
|
|
+ case 0:
|
|
|
+ snprintf(name_login_telnet, sizeof(name_login_telnet), "Администратор");
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ snprintf(name_login_telnet, sizeof(name_login_telnet), "Пользователь");
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
}
|
|
|
+
|
|
|
+ log_event_data(LOG_LOGIN_TELNET, name_login_telnet);
|
|
|
+ xReturn = pdTRUE;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ xReturn = pdFALSE;
|
|
|
}
|
|
|
}
|
|
|
break;
|
|
@@ -999,12 +982,7 @@ static portBASE_TYPE FreeRTOS_CLIAuthProcess( int8_t * pcWriteBuffer, telnetd_st
|
|
|
s->telnetState = TELNET_AUTH;
|
|
|
if(s->login_err < 4){
|
|
|
s->login_err ++;
|
|
|
-#ifdef HARDWARE_BT6708
|
|
|
- if(!s->flagWhiteListTelnet)
|
|
|
- strcpy( ( char * ) pcWriteBuffer, "\r\nДоступ запрешен! Ваш IP-адрес находится вне диапазона доверительных хостов\r\n" );
|
|
|
- else
|
|
|
-#endif
|
|
|
- strcpy( ( char * ) pcWriteBuffer, "\r\nОшибка авторизации\r\n" );
|
|
|
+ strcpy( ( char * ) pcWriteBuffer, "\r\nОшибка авторизации\r\n" );
|
|
|
strncat( ( char * ) pcWriteBuffer, ( const char * ) pcLoginHeader, strlen( ( char * ) pcLoginHeader ) );
|
|
|
xReturn = pdTRUE;
|
|
|
}
|