kvalid_string man page on DragonFly

Man page or keyword search:  
man Server   44335 pages
apropos Keyword Search (all sections)
Output format
DragonFly logo
[printable version]

KVALID_STRING(3)	 BSD Library Functions Manual	      KVALID_STRING(3)

NAME
     kutil_invalidate, kvalid_date, kvalid_double, kvalid_email, kvalid_int,
     kvalid_string, kvalid_stringne, kvalid_udouble, kvalid_uint — basic vali‐
     dation functions for kcgi

LIBRARY
     library “libkcgi”

SYNOPSIS
     #include <stdint.h>
     #include <kcgi.h>

     void
     kutil_invalidate(struct kreq *req, 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 kvalid_date, kvalid_double, kvalid_email, kvalid_int, kvalid_string,
     kvalid_stringne, kvalid_udouble and kvalid_uint, functions are basic val‐
     idators for kcgi(3) and are passed into the khttp_parse(3) or
     khttp_fcgi_init(3) functions to validate input data.  If a field is
     checked for validation during parse, it will first be noted in fields of
     struct kreq.  If validated, the pair will be bucketed into the field-cor‐
     responding index of cookiemap or fieldmap, depending on the input source.
     If not, it will be bucketed into cookienmap or fieldnmap.	Thus, a (e.g.,
     cookie) field that appears in the input stream will appear in either
     cookiemap or cookienmap of struct kreq after parse.

     The kutil_invalidate marks a validated input pair as invalid, moving it
     from the cookiemap or fieldmap bucket into the appropriate cookienmap or
     fieldnmap bucket of struct kreq.  If the field is not valid to begin
     with, this fuction does nothing.

     The validators perform the following validations:

     kvalid_date()
	     An ISO 8601 YYYY-MM-DD date.  Set as a KPAIR_INTEGER in the num‐
	     ber of seconds since the UNIX epoch.

     kvalid_double()
	     A signed double-precision floating-point number.  See strtod(3).
	     Note: this might use the locale and should be re-written.	It
	     sets as 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 domain
	     part (at least 4 characters).  The validated string is trimmed
	     for white-space and lowercased.  It sets as KPAIR_STRING.

     kvalid_int()
	     A 64-bit signed integer.  Sets KPAIR_INTEGER.

     kvalid_string()
	     A nil-terminated (possibly-empty) string.	(Since all field
	     entries are binary, this checks whether the binary length is the
	     same as the nil-terminated string, so no truncation occurs.)
	     This sets KPAIR_STRING.

     kvalid_stringne()
	     A non-empty string via kvalid_string().

     kvalid_udouble()
	     A double-precision floating-point number via kvalid_double()
	     that's strictly greater than zero.

     kvalid_uint()
	     A 64-bit integer via kvalid_int() that's weakly greater than
	     zero.

RETURN VALUES
     kvalid_date, kvalid_double, kvalid_email, kvalid_int, kvalid_string,
     kvalid_stringne, kvalid_udouble, and kvalid_uint return 0 if validation
     fails.  If validation succeeds, the pair's parsed and type fields are set
     accordingly.

AUTHORS
     The kutil_invalidate, kvalid_date, kvalid_double, kvalid_email,
     kvalid_int, kvalid_string, kvalid_stringne, kvalid_udouble and
     kvalid_uint functions were written by Kristaps Dzonsons
     ⟨kristaps@bsd.lv⟩.

BSD				April 28, 2024				   BSD
[top]

List of man pages available for DragonFly

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net