Fixed SSID input validation
This commit is contained in:
parent
373e4d8274
commit
469740c86f
|
@ -141,7 +141,7 @@ void ss_loadSettings(void) {
|
||||||
symbolTable = eeprom_read_byte((void*)&nvSYMBOL_TABLE);
|
symbolTable = eeprom_read_byte((void*)&nvSYMBOL_TABLE);
|
||||||
symbol = eeprom_read_byte((void*)&nvSYMBOL);
|
symbol = eeprom_read_byte((void*)&nvSYMBOL);
|
||||||
message_autoAck = eeprom_read_byte((void*)&nvAUTOACK);
|
message_autoAck = eeprom_read_byte((void*)&nvAUTOACK);
|
||||||
|
|
||||||
custom_preamble = eeprom_read_word((void*)&nvPREAMBLE);
|
custom_preamble = eeprom_read_word((void*)&nvPREAMBLE);
|
||||||
custom_tail = eeprom_read_word((void*)&nvTAIL);
|
custom_tail = eeprom_read_word((void*)&nvTAIL);
|
||||||
|
|
||||||
|
@ -204,7 +204,7 @@ void ss_messageCallback(struct AX25Msg *msg) {
|
||||||
for (int i = 0; i < msg->rpt_count; i++)
|
for (int i = 0; i < msg->rpt_count; i++)
|
||||||
printf_P(PSTR("[%.6s-%d] "), msg->rpt_list[i].call, msg->rpt_list[i].ssid);
|
printf_P(PSTR("[%.6s-%d] "), msg->rpt_list[i].call, msg->rpt_list[i].ssid);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (PRINT_DATA) {
|
if (PRINT_DATA) {
|
||||||
if (PRINT_INFO) printf_P(PSTR("DATA: "), msg->len);
|
if (PRINT_INFO) printf_P(PSTR("DATA: "), msg->len);
|
||||||
for (int i = 0; i < msg->len; i++) {
|
for (int i = 0; i < msg->len; i++) {
|
||||||
|
@ -288,7 +288,7 @@ void ss_messageCallback(struct AX25Msg *msg) {
|
||||||
ack[11] = 'a';
|
ack[11] = 'a';
|
||||||
ack[12] = 'c';
|
ack[12] = 'c';
|
||||||
ack[13] = 'k';
|
ack[13] = 'k';
|
||||||
|
|
||||||
for (ii = 0; ii < msl; ii++) {
|
for (ii = 0; ii < msl; ii++) {
|
||||||
ack[14+ii] = mseq[ii+1];
|
ack[14+ii] = mseq[ii+1];
|
||||||
}
|
}
|
||||||
|
@ -417,42 +417,46 @@ void ss_serialCallback(void *_buffer, size_t length, AX25Ctx *ctx) {
|
||||||
} else if (buffer[0] == 's' && length > 2) {
|
} else if (buffer[0] == 's' && length > 2) {
|
||||||
buffer++; length--;
|
buffer++; length--;
|
||||||
if (buffer[0] == 'c') {
|
if (buffer[0] == 'c') {
|
||||||
if (length > 2 && buffer[2] > 48 && buffer[2] < 58) {
|
if (length > 2 && buffer[2] > 48 && buffer[2] < 58 && buffer[1] > 48) {
|
||||||
CALL_SSID = 10+buffer[2]-48;
|
CALL_SSID = 10+buffer[2]-48;
|
||||||
} else {
|
} else
|
||||||
CALL_SSID = buffer[1]-48;
|
if ( buffer[1] > 48 && buffer[1] < 58) {
|
||||||
}
|
CALL_SSID = buffer[1]-48;
|
||||||
|
}
|
||||||
if (VERBOSE) printf_P(PSTR("Callsign: %.6s-%d\n"), CALL, CALL_SSID);
|
if (VERBOSE) printf_P(PSTR("Callsign: %.6s-%d\n"), CALL, CALL_SSID);
|
||||||
if (!VERBOSE && !SILENT) printf_P(PSTR("1\n"));
|
if (!VERBOSE && !SILENT) printf_P(PSTR("1\n"));
|
||||||
}
|
}
|
||||||
if (buffer[0] == 'd') {
|
if (buffer[0] == 'd') {
|
||||||
if (length > 2 && buffer[2] > 48 && buffer[2] < 58) {
|
if (length > 2 && buffer[2] > 48 && buffer[2] < 58 && buffer[1] > 48) {
|
||||||
DST_SSID = 10+buffer[2]-48;
|
DST_SSID = 10+buffer[2]-48;
|
||||||
} else {
|
} else
|
||||||
DST_SSID = buffer[1]-48;
|
if ( buffer[1] > 48 && buffer[1] < 58) {
|
||||||
}
|
DST_SSID = buffer[1]-48;
|
||||||
|
}
|
||||||
if (VERBOSE) printf_P(PSTR("Destination: %.6s-%d\n"), DST, DST_SSID);
|
if (VERBOSE) printf_P(PSTR("Destination: %.6s-%d\n"), DST, DST_SSID);
|
||||||
if (!VERBOSE && !SILENT) printf_P(PSTR("1\n"));
|
if (!VERBOSE && !SILENT) printf_P(PSTR("1\n"));
|
||||||
}
|
}
|
||||||
if (buffer[0] == '1' && buffer[2] > 48 && buffer[2] < 58) {
|
if (buffer[0] == '1' ) {
|
||||||
if (length > 2) {
|
if (length > 2 && buffer[2] > 48 && buffer[2] < 58 && buffer[1] > 48) {
|
||||||
PATH1_SSID = 10+buffer[2]-48;
|
PATH1_SSID = 10+buffer[2]-48;
|
||||||
} else {
|
} else
|
||||||
PATH1_SSID = buffer[1]-48;
|
if ( buffer[1] > 48 && buffer[1] < 58) {
|
||||||
}
|
PATH1_SSID = buffer[1]-48;
|
||||||
|
}
|
||||||
if (VERBOSE) printf_P(PSTR("Path1: %.6s-%d\n"), PATH1, PATH1_SSID);
|
if (VERBOSE) printf_P(PSTR("Path1: %.6s-%d\n"), PATH1, PATH1_SSID);
|
||||||
if (!VERBOSE && !SILENT) printf_P(PSTR("1\n"));
|
if (!VERBOSE && !SILENT) printf_P(PSTR("1\n"));
|
||||||
}
|
}
|
||||||
if (buffer[0] == '2' && buffer[2] > 48 && buffer[2] < 58) {
|
if (buffer[0] == '2' ) {
|
||||||
if (length > 2) {
|
if (length > 2 && buffer[2] > 48 && buffer[2] < 58 && buffer[1] > 48) {
|
||||||
PATH2_SSID = 10+buffer[2]-48;
|
PATH2_SSID = 10+buffer[2]-48;
|
||||||
} else {
|
} else
|
||||||
|
if (buffer[2] > 48 && buffer[2] < 58) {
|
||||||
PATH2_SSID = buffer[1]-48;
|
PATH2_SSID = buffer[1]-48;
|
||||||
}
|
}
|
||||||
if (VERBOSE) printf_P(PSTR("Path2: %.6s-%d\n"), PATH2, PATH2_SSID);
|
if (VERBOSE) printf_P(PSTR("Path2: %.6s-%d\n"), PATH2, PATH2_SSID);
|
||||||
if (!VERBOSE && !SILENT) printf_P(PSTR("1\n"));
|
if (!VERBOSE && !SILENT) printf_P(PSTR("1\n"));
|
||||||
}
|
}
|
||||||
|
|
||||||
} else if (buffer[0] == 'p' && length > 2) {
|
} else if (buffer[0] == 'p' && length > 2) {
|
||||||
buffer++; length--;
|
buffer++; length--;
|
||||||
if (buffer[0] == 's') {
|
if (buffer[0] == 's') {
|
||||||
|
@ -593,7 +597,7 @@ void ss_serialCallback(void *_buffer, size_t length, AX25Ctx *ctx) {
|
||||||
}
|
}
|
||||||
if (VERBOSE) {
|
if (VERBOSE) {
|
||||||
printf_P(PSTR("Message recipient: %.6s"), message_recip);
|
printf_P(PSTR("Message recipient: %.6s"), message_recip);
|
||||||
if (message_recip_ssid != -1) {
|
if (message_recip_ssid != -1) {
|
||||||
printf_P(PSTR("-%d\n"), message_recip_ssid);
|
printf_P(PSTR("-%d\n"), message_recip_ssid);
|
||||||
} else {
|
} else {
|
||||||
printf_P(PSTR("\n"));
|
printf_P(PSTR("\n"));
|
||||||
|
@ -609,7 +613,7 @@ void ss_serialCallback(void *_buffer, size_t length, AX25Ctx *ctx) {
|
||||||
if (message_recip_ssid < 0 || message_recip_ssid > 15) message_recip_ssid = -1;
|
if (message_recip_ssid < 0 || message_recip_ssid > 15) message_recip_ssid = -1;
|
||||||
if (VERBOSE) {
|
if (VERBOSE) {
|
||||||
printf_P(PSTR("Message recipient: %.6s"), message_recip);
|
printf_P(PSTR("Message recipient: %.6s"), message_recip);
|
||||||
if (message_recip_ssid != -1) {
|
if (message_recip_ssid != -1) {
|
||||||
printf_P(PSTR("-%d\n"), message_recip_ssid);
|
printf_P(PSTR("-%d\n"), message_recip_ssid);
|
||||||
} else {
|
} else {
|
||||||
printf_P(PSTR("\n"));
|
printf_P(PSTR("\n"));
|
||||||
|
@ -769,7 +773,7 @@ void ss_sendMsg(void *_buffer, size_t length, AX25Ctx *ax25) {
|
||||||
packet[12+length] = h+48;
|
packet[12+length] = h+48;
|
||||||
packet[13+length] = d+48;
|
packet[13+length] = d+48;
|
||||||
packet[14+length] = n+48;
|
packet[14+length] = n+48;
|
||||||
|
|
||||||
//printf_P(PSTR("Assembled packet:\n%.*s\n", payloadLength, packet);
|
//printf_P(PSTR("Assembled packet:\n%.*s\n", payloadLength, packet);
|
||||||
ss_sendPkt(packet, payloadLength, ax25);
|
ss_sendPkt(packet, payloadLength, ax25);
|
||||||
|
|
||||||
|
@ -854,4 +858,4 @@ void ss_printSettings(void) {
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue