|
myMPD
Internal API documentation
|
String validation functions. More...
#include "compile_time.h"#include "src/lib/validate.h"#include "dist/utf8/utf8.h"#include "src/lib/log.h"#include "src/lib/mpdclient.h"#include "src/lib/search.h"#include "src/lib/sticker.h"#include "src/lib/webradio.h"#include "src/mympd_client/playlists.h"#include <ctype.h>#include <limits.h>#include <string.h>
Functions | |
| static bool | check_for_invalid_chars (sds data, const char *invalid_chars) |
| static bool | validate_json (sds data, char start, char end) |
| static bool | is_mympd_field (sds token) |
| bool | validate_json_object (sds data) |
| bool | validate_json_array (sds data) |
| bool | vcb_isalnum (sds data) |
| bool | vcb_isdigit (sds data) |
| bool | vcb_isprint (sds data) |
| bool | vcb_ishexcolor (sds data) |
| bool | vcb_isname (sds data) |
| bool | vcb_isstickername (sds data) |
| bool | vcb_istext (sds data) |
| bool | vcb_isuri (sds data) |
| bool | vcb_isstreamuri (sds data) |
| bool | vcb_isfilename_silent (sds data) |
| bool | vcb_isfilename (sds data) |
| bool | check_dir_traversal (const char *str) |
| bool | vcb_isfilepath (sds data) |
| bool | vcb_ispathfilename (sds data) |
| bool | vcb_isfield (sds data) |
| bool | vcb_istaglist (sds data) |
| bool | vcb_ismpdtag (sds data) |
| bool | vcb_ismpdtag_or_any (sds data) |
| bool | vcb_ismpdstickertype (sds data) |
| bool | vcb_ismpdsort (sds data) |
| bool | vcb_isplaylistsort (sds data) |
| bool | vcb_iswebradiosort (sds data) |
| bool | vcb_isstickersort (sds data) |
| bool | vcb_ismpd_sticker_sort (sds data) |
| bool | vcb_isstickerop (sds data) |
| bool | vcb_issearchexpression_song (sds data) |
| bool | vcb_issearchexpression_webradio (sds data) |
Variables | |
| static const char * | invalid_json_chars = "\a\b\f\v" |
| static const char * | invalid_name_chars = "\a\b\f\n\r\t\v" |
| static const char * | invalid_filename_chars = "\a\b\f\n\r\t\v/\\" |
| static const char * | invalid_filepath_chars = "\a\b\f\n\r\t\v" |
| static const char * | mympd_fields [] |
String validation functions.
| bool check_dir_traversal | ( | const char * | str | ) |
Checks for dir traversal attempts in string
| str | string to check |
|
static |
Private functions Helper function to check for invalid chars in a string
| data | sds string to check |
| invalid_chars | invalid characters |
|
static |
Helper function that checks if token is a valid field name
| token | string to check |
|
static |
Helper function that checks string for json validity
| data | sds string to check |
| start | char the string must start with |
| end | char the string must end with |
| bool validate_json_array | ( | sds | data | ) |
Checks if string is a json array
| data | sds string to check |
| bool validate_json_object | ( | sds | data | ) |
Public functions Checks if string is a json object
| data | sds string to check |
| bool vcb_isalnum | ( | sds | data | ) |
Checks if string is alphanumeric, including chars "_-"
| data | sds string to check |
| bool vcb_isdigit | ( | sds | data | ) |
Checks if string is a number
| data | sds string to check |
| bool vcb_isfield | ( | sds | data | ) |
Checks if string is a valid column name
| data | sds string to check |
| bool vcb_isfilename | ( | sds | data | ) |
Checks if string is a valid filename
| data | sds string to check |
| bool vcb_isfilename_silent | ( | sds | data | ) |
Checks if string is a valid filename Does not emit a warning
| data | sds string to check |
| bool vcb_isfilepath | ( | sds | data | ) |
Checks if string is a valid filename with path or path only
| data | sds string to check |
| bool vcb_ishexcolor | ( | sds | data | ) |
Checks if string is a hexcolor starting with #
| data | sds string to check |
| bool vcb_ismpd_sticker_sort | ( | sds | data | ) |
Checks if string is valid sticker or mpd sort type
| data | sds string to check |
| bool vcb_ismpdsort | ( | sds | data | ) |
Checks if string is a valid sort tag for mpd
| data | sds string to check |
| bool vcb_ismpdstickertype | ( | sds | data | ) |
Checks if string is a valid MPD sticker type
| data | sds string to check |
| bool vcb_ismpdtag | ( | sds | data | ) |
Checks if string is a valid MPD tag
| data | sds string to check |
| bool vcb_ismpdtag_or_any | ( | sds | data | ) |
Checks if string is a valid MPD tag or special value "any"
| data | sds string to check |
| bool vcb_isname | ( | sds | data | ) |
Checks if string contains invalid chars Invalid chars are "\a\b\f\n\r\t\v"
| data | sds string to check |
| bool vcb_ispathfilename | ( | sds | data | ) |
Checks if string is a valid path + filename
| data | sds string to check |
| bool vcb_isplaylistsort | ( | sds | data | ) |
Checks if string is a valid sort tag for mpd
| data | sds string to check |
| bool vcb_isprint | ( | sds | data | ) |
Checks if string is printable
| data | sds string to check |
| bool vcb_issearchexpression_song | ( | sds | data | ) |
Checks if string is a valid song search expression
| data | sds string to check |
| bool vcb_issearchexpression_webradio | ( | sds | data | ) |
Checks if string is a valid song search expression
| data | sds string to check |
| bool vcb_isstickername | ( | sds | data | ) |
Checks if string is a valid sticker name
| data | sds string to check |
| bool vcb_isstickerop | ( | sds | data | ) |
Checks if string is a compare operator
| data | sds string to check |
| bool vcb_isstickersort | ( | sds | data | ) |
Checks if string is a valid sticker sort type
| data | sds string to check |
| bool vcb_isstreamuri | ( | sds | data | ) |
Checks if string is a valid stream uri
| data | sds string to check |
| bool vcb_istaglist | ( | sds | data | ) |
Checks if string is a valid comma separated list of tags
| data | sds string to check |
| bool vcb_istext | ( | sds | data | ) |
Checks if string contains invalid chars Invalid chars are "\a\b\f\r\v"
| data | sds string to check |
| bool vcb_isuri | ( | sds | data | ) |
Checks if string is a valid uri or filepath
| data | sds string to check |
| bool vcb_iswebradiosort | ( | sds | data | ) |
Checks if string is a valid sort tag for webradios
| data | sds string to check |
|
static |
Invalid characters for filenmes
|
static |
Invalid characters for filepaths
|
static |
Private definitions Invalid characters for json strings
|
static |
Invalid characters for keys and names
|
static |
Valid fields for views