FreeBSD Manual Pages
KVALID_STRING(3) Library Functions Manual KVALID_STRING(3) NAME kvalid_bit, kvalid_date, kvalid_double, kvalid_email, kvalid_int, kvalid_string, kvalid_stringne, kvalid_udouble, kvalid_uint -- prede- fined validation functions for kcgi LIBRARY library "libkcgi" SYNOPSIS #include <sys/types.h> #include <stdarg.h> #include <stdint.h> #include <kcgi.h> int kvalid_bit(struct kpair *kp); int kvalid_date(struct kpair *kp); int kvalid_double(struct kpair *kp); int kvalid_email(struct kpair *kp); int kvalid_int(struct kpair *kp); int kvalid_string(struct kpair *kp); int kvalid_stringne(struct kpair *kp); int kvalid_udouble(struct kpair *kp); int kvalid_uint(struct kpair *kp); DESCRIPTION The predefined kcgi(3) validation functions check kp->val and kp->valsz. On successful validation, the appropriate kp->parsed field is set to the validated value and its type stored in kp->type. These functions are designed for use in the valid field of struct kvalid, documented in khttp_parse(3). The validation functions perform the following validations: kvalid_bit() A bit number in the range from 1 to 64 (first bit, second bit, and so on) or 0 to indicate no bit. Sets KPAIR_INTEGER. kvalid_date() Converts an ISO 8601 YYYY-MM-DD date to the number of seconds since or before the UNIX Epoch, 1970-01-01. Dates before 1582 are not accepted. Beyond syntax, dates are checked for cor- rectness (days in month, leap years, etc.). Sets KPAIR_INTEGER. kvalid_double() A signed double-precision floating-point number in strtod(3) format. Sets KPAIR_DOUBLE. kvalid_email() A loosely-validated e-mail address consisting of at most 254 characters, with a user part (at least one character) and a do- main part (at least one character). This will allow many in- valid e-mail addresses, but will not prevent any otherwise valid ones by over-strict testing. The validated string is trimmed for white-space and lowercased. Sets KPAIR_STRING. kvalid_int() A 64-bit signed integer. Sets KPAIR_INTEGER. kvalid_string() A NUL-terminated string that is allowed to be empty. The vali- dation fails if kp->valsz does not match strlen(kp->val). Sets KPAIR_STRING. kvalid_stringne() The same as kvalid_string() except that validation fails if the string is empty. kvalid_udouble() The same as kvalid_double() except that validation fails if the number is zero or negative. kvalid_uint() The same as kvalid_int() except that validation fails if the number is negative. The range does not extend to UINT64_MAX, but is limited to INT64_MAX. RETURN VALUES All validation functions return 1 if validation succeeds or 0 if it fails. SEE ALSO kcgi(3), khttp_fcgi_init(3), khttp_parse(3), kutil_invalidate(3) AUTHORS These functions were written by Kristaps Dzonsons <kristaps@bsd.lv>. BUGS The functions kvalid_double() and kvalid_udouble() might attempt to ac- cess locale information, which might fail in a sandbox. FreeBSD Ports 14.quarterly $Mdocdate$ KVALID_STRING(3)
NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | SEE ALSO | AUTHORS | BUGS
Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=kvalid_string&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>