hardened WiFi-String stuff
This commit is contained in:
36
Software/include/utilities.h
Normal file
36
Software/include/utilities.h
Normal file
@@ -0,0 +1,36 @@
|
||||
#ifndef UTILITIES_H
|
||||
#define UTILITIES_H
|
||||
|
||||
#include <Arduino.h>
|
||||
|
||||
/**
|
||||
* @brief Validates whether a given string contains only characters allowed in WiFi SSIDs and passwords.
|
||||
*
|
||||
* This function checks each character in the provided string to ensure
|
||||
* that it contains only characters allowed in WiFi SSIDs and passwords.
|
||||
* It considers characters from 'A' to 'Z', 'a' to 'z', '0' to '9', as well as
|
||||
* the following special characters: ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~
|
||||
*
|
||||
* @param string Pointer to the string to be validated.
|
||||
* @param size Size of the string including the null-terminator.
|
||||
* @return true if the string contains only allowed characters or is NULL,
|
||||
* false otherwise.
|
||||
*/
|
||||
bool validateWiFiString(char *string, size_t size);
|
||||
|
||||
/**
|
||||
* @brief Copies a string to a buffer, replacing invalid WiFi SSID characters with a placeholder.
|
||||
*
|
||||
* This function checks each character in the provided input string to ensure
|
||||
* that it contains only characters allowed in WiFi SSIDs and passwords. If a character
|
||||
* is invalid, it replaces it with a placeholder character (e.g., '_').
|
||||
* It considers characters from 'A' to 'Z', 'a' to 'z', '0' to '9', as well as
|
||||
* the following special characters: ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \ ] ^ _ ` { | } ~
|
||||
*
|
||||
* @param input Pointer to the input string to be validated and copied.
|
||||
* @param buffer Pointer to the buffer where the output string will be copied.
|
||||
* @param bufferSize Size of the buffer including the null-terminator.
|
||||
*/
|
||||
void sanitizeWiFiString(const char *input, char *buffer, size_t bufferSize);
|
||||
|
||||
#endif // UTILITIES_H
|
Reference in New Issue
Block a user