Blob


1 /*
2 * Copyright (c) 2020-2022 Martijn van Duren <martijn@openbsd.org>
3 *
4 * Permission to use, copy, modify, and distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
7 *
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
11 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
13 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
14 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
17 /* RFC 5234 - Augmented BNF for Syntax Specifications: ABNF */
18 const char *osmtpd_ltok_skip_alpha(const char *, int);
19 const char *osmtpd_ltok_skip_bit(const char *, int);
20 const char *osmtpd_ltok_skip_char(const char *, int);
21 const char *osmtpd_ltok_skip_cr(const char *, int);
22 const char *osmtpd_ltok_skip_crlf(const char *, int);
23 const char *osmtpd_ltok_skip_ctl(const char *, int);
24 const char *osmtpd_ltok_skip_digit(const char *, int);
25 const char *osmtpd_ltok_skip_dquote(const char *, int);
26 const char *osmtpd_ltok_skip_hexdig(const char *, int);
27 const char *osmtpd_ltok_skip_htab(const char *, int);
28 const char *osmtpd_ltok_skip_lf(const char *, int);
29 const char *osmtpd_ltok_skip_octet(const char *, int);
30 const char *osmtpd_ltok_skip_sp(const char *, int);
31 const char *osmtpd_ltok_skip_vchar(const char *, int);
32 const char *osmtpd_ltok_skip_wsp(const char *, int);
34 /* RFC 5321 - Simple Mail Transfer Protocol */
35 const char *osmtpd_ltok_skip_keyword(const char *, int);
36 const char *osmtpd_ltok_skip_sub_domain(const char *, int);
37 const char *osmtpd_ltok_skip_let_dig(const char *, int);
38 const char *osmtpd_ltok_skip_ldh_string(const char *, int);
40 /* RFC 5322 - Internet Message Format */
41 const char *osmtpd_ltok_skip_quoted_pair(const char *, int);
42 const char *osmtpd_ltok_skip_fws(const char *, int);
43 const char *osmtpd_ltok_skip_ctext(const char *, int);
44 const char *osmtpd_ltok_skip_ccontent(const char *, int);
45 const char *osmtpd_ltok_skip_comment(const char *, int);
46 const char *osmtpd_ltok_skip_cfws(const char *, int);
47 const char *osmtpd_ltok_skip_atext(const char *, int);
48 const char *osmtpd_ltok_skip_atom(const char *, int);
49 const char *osmtpd_ltok_skip_dot_atom_text(const char *, int);
50 const char *osmtpd_ltok_skip_dot_atom(const char *, int);
51 const char *osmtpd_ltok_skip_qtext(const char *, int);
52 const char *osmtpd_ltok_skip_qcontent(const char *, int);
53 const char *osmtpd_ltok_skip_quoted_string(const char *, int);
54 const char *osmtpd_ltok_skip_word(const char *, int);
55 const char *osmtpd_ltok_skip_phrase(const char *, int);
56 const char *osmtpd_ltok_skip_name_addr(const char *, int);
57 const char *osmtpd_ltok_skip_angle_addr(const char *, int);
58 const char *osmtpd_ltok_skip_display_name(const char *, int);
59 const char *osmtpd_ltok_skip_addr_spec(const char *, int);
60 const char *osmtpd_ltok_skip_local_part(const char *, int);
61 const char *osmtpd_ltok_skip_domain(const char *, int);
62 const char *osmtpd_ltok_skip_domain_literal(const char *, int);
63 const char *osmtpd_ltok_skip_dtext(const char *, int);
64 const char *osmtpd_ltok_skip_field_name(const char *, int);
65 const char *osmtpd_ltok_skip_ftext(const char *, int);
66 const char *osmtpd_ltok_skip_obs_no_ws_ctl(const char *, int);
67 const char *osmtpd_ltok_skip_obs_ctext(const char *, int);
68 const char *osmtpd_ltok_skip_obs_qtext(const char *, int);
69 const char *osmtpd_ltok_skip_obs_qp(const char *, int);
70 const char *osmtpd_ltok_skip_obs_phrase(const char *, int);
71 const char *osmtpd_ltok_skip_obs_fws(const char *, int);
72 const char *osmtpd_ltok_skip_obs_angle_addr(const char *, int);
73 const char *osmtpd_ltok_skip_obs_route(const char *, int);
74 const char *osmtpd_ltok_skip_obs_domain_list(const char *, int);
75 const char *osmtpd_ltok_skip_obs_local_part(const char *, int);
76 const char *osmtpd_ltok_skip_obs_domain(const char *, int);
77 const char *osmtpd_ltok_skip_obs_dtext(const char *, int);
79 /* RFC 2045 - Multipurpose Internet Mail Extensions */
80 const char *osmtpd_ltok_skip_value(const char *, int);
81 const char *osmtpd_ltok_skip_token(const char *, int);
82 const char *osmtpd_ltok_skip_tspecials(const char *, int);
83 const char *osmtpd_ltok_skip_qp_section(const char *, int);
84 const char *osmtpd_ltok_skip_ptext(const char *, int);
85 const char *osmtpd_ltok_skip_safe_char(const char *, int);
86 const char *osmtpd_ltok_skip_hex_octet(const char *, int);
88 /* RFC 6376 - DomainKeys Identified Mail (DKIM) Signatures */
89 const char *osmtpd_ltok_skip_hyphenated_word(const char *, int);
90 const char *osmtpd_ltok_skip_alphadigitps(const char *, int);
91 const char *osmtpd_ltok_skip_base64string(const char *, int);
92 const char *osmtpd_ltok_skip_hdr_name(const char *, int);
93 const char *osmtpd_ltok_skip_qp_hdr_value(const char *, int);
94 const char *osmtpd_ltok_skip_dkim_quoted_printable(const char *, int);
95 const char *osmtpd_ltok_skip_dkim_safe_char(const char *, int);
96 const char *osmtpd_ltok_skip_selector(const char *, int);
97 const char *osmtpd_ltok_skip_tag_list(const char *, int);
98 const char *osmtpd_ltok_skip_tag_spec(const char *, int);
99 const char *osmtpd_ltok_skip_tag_name(const char *, int);
100 const char *osmtpd_ltok_skip_tag_value(const char *, int);
101 const char *osmtpd_ltok_skip_tval(const char *, int);
102 const char *osmtpd_ltok_skip_valchar(const char *, int);
103 const char *osmtpd_ltok_skip_alnumpunc(const char *, int);
104 const char *osmtpd_ltok_skip_sig_v_tag(const char *, int);
105 const char *osmtpd_ltok_skip_sig_v_tag_value(const char *, int);
106 const char *osmtpd_ltok_skip_sig_a_tag(const char *, int);
107 const char *osmtpd_ltok_skip_sig_a_tag_value(const char *, int);
108 const char *osmtpd_ltok_skip_sig_a_tag_alg(const char *, int);
109 const char *osmtpd_ltok_skip_sig_a_tag_k(const char *, int);
110 const char *osmtpd_ltok_skip_sig_a_tag_h(const char *, int);
111 const char *osmtpd_ltok_skip_x_sig_a_tag_k(const char *, int);
112 const char *osmtpd_ltok_skip_x_sig_a_tag_h(const char *, int);
113 const char *osmtpd_ltok_skip_sig_b_tag(const char *, int);
114 const char *osmtpd_ltok_skip_sig_b_tag_value(const char *, int);
115 const char *osmtpd_ltok_skip_sig_b_tag_data(const char *, int);
116 const char *osmtpd_ltok_skip_sig_bh_tag(const char *, int);
117 const char *osmtpd_ltok_skip_sig_bh_tag_value(const char *, int);
118 const char *osmtpd_ltok_skip_sig_bh_tag_data(const char *, int);
119 const char *osmtpd_ltok_skip_sig_c_tag(const char *, int);
120 const char *osmtpd_ltok_skip_sig_c_tag_value(const char *, int);
121 const char *osmtpd_ltok_skip_sig_c_tag_alg(const char *, int);
122 const char *osmtpd_ltok_skip_x_sig_c_tag_alg(const char *, int);
123 const char *osmtpd_ltok_skip_sig_d_tag(const char *, int);
124 const char *osmtpd_ltok_skip_sig_d_tag_value(const char *, int);
125 const char *osmtpd_ltok_skip_domain_name(const char *, int);
126 const char *osmtpd_ltok_skip_sig_h_tag(const char *, int);
127 const char *osmtpd_ltok_skip_sig_h_tag_value(const char *, int);
128 const char *osmtpd_ltok_skip_sig_i_tag(const char *, int);
129 const char *osmtpd_ltok_skip_sig_i_tag_value(const char *, int);
130 const char *osmtpd_ltok_skip_sig_l_tag(const char *, int);
131 const char *osmtpd_ltok_skip_sig_l_tag_value(const char *, int);
132 const char *osmtpd_ltok_skip_sig_q_tag(const char *, int);
133 const char *osmtpd_ltok_skip_sig_q_tag_value(const char *, int);
134 const char *osmtpd_ltok_skip_sig_q_tag_method(const char *, int);
135 const char *osmtpd_ltok_skip_x_sig_q_tag_type(const char *, int);
136 const char *osmtpd_ltok_skip_x_sig_q_tag_args(const char *, int);
137 const char *osmtpd_ltok_skip_sig_s_tag(const char *, int);
138 const char *osmtpd_ltok_skip_sig_s_tag_value(const char *, int);
139 const char *osmtpd_ltok_skip_sig_t_tag(const char *, int);
140 const char *osmtpd_ltok_skip_sig_t_tag_value(const char *, int);
141 const char *osmtpd_ltok_skip_sig_x_tag(const char *, int);
142 const char *osmtpd_ltok_skip_sig_x_tag_value(const char *, int);
143 const char *osmtpd_ltok_skip_sig_z_tag(const char *, int);
144 const char *osmtpd_ltok_skip_sig_z_tag_value(const char *, int);
145 const char *osmtpd_ltok_skip_sig_z_tag_copy(const char *, int);
146 const char *osmtpd_ltok_skip_key_v_tag(const char *, int);
147 const char *osmtpd_ltok_skip_key_v_tag_value(const char *, int);
148 const char *osmtpd_ltok_skip_key_h_tag(const char *, int);
149 const char *osmtpd_ltok_skip_key_h_tag_value(const char *, int);
150 const char *osmtpd_ltok_skip_key_h_tag_alg(const char *, int);
151 const char *osmtpd_ltok_skip_x_key_h_tag_alg(const char *, int);
152 const char *osmtpd_ltok_skip_key_k_tag(const char *, int);
153 const char *osmtpd_ltok_skip_key_k_tag_value(const char *, int);
154 const char *osmtpd_ltok_skip_key_k_tag_type(const char *, int);
155 const char *osmtpd_ltok_skip_x_key_k_tag_type(const char *, int);
156 const char *osmtpd_ltok_skip_key_n_tag(const char *, int);
157 const char *osmtpd_ltok_skip_key_n_tag_value(const char *, int);
158 const char *osmtpd_ltok_skip_key_p_tag(const char *, int);
159 const char *osmtpd_ltok_skip_key_p_tag_value(const char *, int);
160 const char *osmtpd_ltok_skip_key_s_tag(const char *, int);
161 const char *osmtpd_ltok_skip_key_s_tag_value(const char *, int);
162 const char *osmtpd_ltok_skip_key_s_tag_type(const char *, int);
163 const char *osmtpd_ltok_skip_x_key_s_tag_type(const char *, int);
164 const char *osmtpd_ltok_skip_key_t_tag(const char *, int);
165 const char *osmtpd_ltok_skip_key_t_tag_value(const char *, int);
166 const char *osmtpd_ltok_skip_key_t_tag_flag(const char *, int);
167 const char *osmtpd_ltok_skip_x_key_t_tag_flag(const char *, int);
169 /* Authentication-Results */
170 const char *osmtpd_ltok_skip_ar_pvalue(const char *, int);
172 const char *osmtpd_ltok_domain_uncomment(const char *);
173 const char *osmtpd_ltok_from_domain(const char *);
175 const char *osmtpd_ltok_quoted_string_normalize(const char *);