Mercurial > hg > freeDiameter
annotate libfdcore/fdd.l @ 1396:188c82b6690b
Add ProcessingPeersPattern and ProcessingPeersMinimum parameters.
If this is configured, the process will accept all connections from
peers matching ProcessingPeersPattern, but will NOT accept connections
from other peers until ProcessingPeersMinimum peers of the first
type are connected.
This allows relays to only go online if there are enough worker
peers connected behind them.
author | Thomas Klausner <tk@giga.or.at> |
---|---|
date | Fri, 15 Nov 2019 11:38:30 +0100 |
parents | f17a56536790 |
children | 239ba25870d8 |
rev | line source |
---|---|
8
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
1 /********************************************************************************************************* |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
2 * Software License Agreement (BSD License) * |
740
4a9f08d6b6ba
Updated my mail address
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
662
diff
changeset
|
3 * Author: Sebastien Decugis <sdecugis@freediameter.net> * |
8
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
4 * * |
928
5053f1abcf5d
Updated copyright information
Sebastien Decugis <sdecugis@freediameter.net>
parents:
925
diff
changeset
|
5 * Copyright (c) 2013, WIDE Project and NICT * |
8
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
6 * All rights reserved. * |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
7 * * |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
8 * Redistribution and use of this software in source and binary forms, with or without modification, are * |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
9 * permitted provided that the following conditions are met: * |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
10 * * |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
11 * * Redistributions of source code must retain the above * |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
12 * copyright notice, this list of conditions and the * |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
13 * following disclaimer. * |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
14 * * |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
15 * * Redistributions in binary form must reproduce the above * |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
16 * copyright notice, this list of conditions and the * |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
17 * following disclaimer in the documentation and/or other * |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
18 * materials provided with the distribution. * |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
19 * * |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
20 * * Neither the name of the WIDE Project or NICT nor the * |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
21 * names of its contributors may be used to endorse or * |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
22 * promote products derived from this software without * |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
23 * specific prior written permission of WIDE Project and * |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
24 * NICT. * |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
25 * * |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
26 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED * |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
27 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A * |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
28 * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR * |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
29 * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
30 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
31 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR * |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
32 * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF * |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
33 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
34 *********************************************************************************************************/ |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
35 |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
36 /* Lex configuration parser. |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
37 * |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
38 * This file defines the token for parsing the daemon's configuration file |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
39 * Note that each extension has a separate independant configuration file. |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
40 * |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
41 * Note : This module is NOT thread-safe. All processing must be done from one thread only. |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
42 */ |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
43 %{ |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
44 /* Include the daemon's header files */ |
658
f198d16fa7f4
Initial commit for 1.1.0:
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
578
diff
changeset
|
45 #include "fdcore-internal.h" |
8
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
46 /* Include yacc tokens definitions */ |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
47 #include "fdd.tab.h" |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
48 |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
49 /* Update the column information */ |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
50 #ifdef DEBUG_LEX |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
51 #define YY_USER_ACTION { \ |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
52 yylloc->first_column = yylloc->last_column + 1; \ |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
53 yylloc->last_column = yylloc->first_column + yyleng - 1; \ |
940
9b00b868e308
Change to debug function instead of error macro in fdd.l debug
Sebastien Decugis <sdecugis@freediameter.net>
parents:
928
diff
changeset
|
54 fd_log_debug( \ |
979 | 55 "(%d:%d-%d:%d) matched rule %d, length=%d, txt='%s'", \ |
8
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
56 yylloc->first_line, yylloc->first_column, \ |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
57 yylloc->last_line, yylloc->last_column, \ |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
58 yy_act, yyleng, yytext); \ |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
59 } |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
60 #else /* DEBUG_LEX */ |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
61 #define YY_USER_ACTION { \ |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
62 yylloc->first_column = yylloc->last_column + 1; \ |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
63 yylloc->last_column = yylloc->first_column + yyleng - 1; \ |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
64 } |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
65 #endif |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
66 |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
67 /* %option noinput ? */ |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
68 #define YY_NO_INPUT |
925
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
69 |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
70 /* Additional for files inclusion */ |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
71 #include <glob.h> |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
72 #include <string.h> |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
73 |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
74 #define MAX_NESTED_CONF_FILES 5 |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
75 |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
76 struct nested_conffiles_t { |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
77 YY_BUFFER_STATE parent_level_state; |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
78 glob_t filelist; |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
79 int current_file; |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
80 } nested_conffiles[MAX_NESTED_CONF_FILES]; |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
81 |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
82 int current_nested_level = 0; |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
83 |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
84 int globerrfct(const char *epath, int eerrno) |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
85 { |
974
2091bf698fb1
Remove newlines from fd_log_debug, TRACE_DEBUG, TRACE_ERROR, and TRACE_DEBUG_ERROR
Thomas Klausner <tk@giga.or.at>
parents:
969
diff
changeset
|
86 TRACE_ERROR("Failed to scan %s: %s", epath, strerror(eerrno)); |
925
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
87 return 1; |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
88 } |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
89 |
8
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
90 %} |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
91 |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
92 %option bison-bridge bison-locations |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
93 %option noyywrap |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
94 %option nounput |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
95 |
925
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
96 %x in_include |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
97 |
8
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
98 /* Quoted string. Multilines do not match. */ |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
99 qstring \"[^\"\n]*\" |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
100 |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
101 %% |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
102 <*>\n { |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
103 /* Update the line count */ |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
104 yylloc->first_line++; |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
105 yylloc->last_line++; |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
106 yylloc->last_column=0; |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
107 } |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
108 |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
109 <*>([[:space:]]{-}[\n])+ ; /* Eat all spaces, not new lines */ |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
110 <*>#.*$ ; /* Eat all comments */ |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
111 |
925
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
112 |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
113 include BEGIN(in_include); |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
114 /* Following an "include" keyword */ |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
115 <in_include>{ |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
116 {qstring} { /* Name of the file to include. This is directly sent to glob. */ |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
117 int globerror=0; |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
118 char * buf = strdup(yytext+1); |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
119 if (buf[yyleng-2] != '"') |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
120 { |
974
2091bf698fb1
Remove newlines from fd_log_debug, TRACE_DEBUG, TRACE_ERROR, and TRACE_DEBUG_ERROR
Thomas Klausner <tk@giga.or.at>
parents:
969
diff
changeset
|
121 TRACE_ERROR("Unterminated string: %s", yytext); |
925
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
122 return LEX_ERROR; |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
123 } |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
124 buf[yyleng-2] = '\0'; |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
125 |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
126 if (current_nested_level >= MAX_NESTED_CONF_FILES) |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
127 { |
974
2091bf698fb1
Remove newlines from fd_log_debug, TRACE_DEBUG, TRACE_ERROR, and TRACE_DEBUG_ERROR
Thomas Klausner <tk@giga.or.at>
parents:
969
diff
changeset
|
128 TRACE_ERROR("Too many recursion levels in configuration files includes"); |
925
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
129 return LEX_ERROR; |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
130 } |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
131 |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
132 /* glob the include */ |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
133 globerror = glob(buf, GLOB_ERR, globerrfct, &nested_conffiles[current_nested_level].filelist); |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
134 |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
135 if (globerror == GLOB_NOSPACE) |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
136 { |
974
2091bf698fb1
Remove newlines from fd_log_debug, TRACE_DEBUG, TRACE_ERROR, and TRACE_DEBUG_ERROR
Thomas Klausner <tk@giga.or.at>
parents:
969
diff
changeset
|
137 TRACE_ERROR("Not enough memory to parse include directive."); |
925
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
138 return LEX_ERROR; |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
139 } |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
140 if (globerror == GLOB_ABORTED) |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
141 { |
974
2091bf698fb1
Remove newlines from fd_log_debug, TRACE_DEBUG, TRACE_ERROR, and TRACE_DEBUG_ERROR
Thomas Klausner <tk@giga.or.at>
parents:
969
diff
changeset
|
142 TRACE_ERROR("An error was encountered in include directive."); |
925
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
143 return LEX_ERROR; |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
144 } |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
145 if (globerror == GLOB_NOMATCH) |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
146 { |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
147 globfree(&nested_conffiles[current_nested_level].filelist); |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
148 goto nomatch; |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
149 } |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
150 if (globerror) |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
151 { |
974
2091bf698fb1
Remove newlines from fd_log_debug, TRACE_DEBUG, TRACE_ERROR, and TRACE_DEBUG_ERROR
Thomas Klausner <tk@giga.or.at>
parents:
969
diff
changeset
|
152 TRACE_ERROR("Unexpected error in glob (%d).", globerror); |
925
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
153 return LEX_ERROR; |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
154 } |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
155 |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
156 /* We have a list of files to include. */ |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
157 |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
158 /* save the current buffer for returning when this include has been parsed */ |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
159 nested_conffiles[current_nested_level].parent_level_state = YY_CURRENT_BUFFER; |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
160 |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
161 /* Start with the first match */ |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
162 nested_conffiles[current_nested_level].current_file = 0; |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
163 |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
164 yyin = fopen( nested_conffiles[current_nested_level].filelist.gl_pathv[0], "r" ); |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
165 |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
166 if ( ! yyin ) |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
167 { |
965
9b37f34c1b1f
Some modifications to logging code:
Sebastien Decugis <sdecugis@freediameter.net>
parents:
961
diff
changeset
|
168 TRACE_ERROR("Error in %s: %s", nested_conffiles[current_nested_level].filelist.gl_pathv[0], strerror(errno)); |
925
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
169 return LEX_ERROR; |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
170 } |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
171 |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
172 yy_switch_to_buffer(yy_create_buffer( yyin, YY_BUF_SIZE )); |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
173 |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
174 /* In case of recursive includes */ |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
175 current_nested_level++; |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
176 |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
177 nomatch: |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
178 BEGIN(INITIAL); |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
179 } |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
180 } |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
181 |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
182 <<EOF>> { |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
183 if (current_nested_level == 0) |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
184 { |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
185 /* We are at the end of parsing */ |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
186 yyterminate(); |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
187 } |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
188 |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
189 /* Otherwise we are doing an include statement */ |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
190 --current_nested_level; |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
191 yy_delete_buffer(YY_CURRENT_BUFFER); |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
192 |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
193 /* Go to next file, if any */ |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
194 nested_conffiles[current_nested_level].current_file++; |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
195 if ( nested_conffiles[current_nested_level].filelist.gl_pathv[nested_conffiles[current_nested_level].current_file] == NULL ) |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
196 { |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
197 /* We have finished with this list of includes */ |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
198 globfree(&nested_conffiles[current_nested_level].filelist); |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
199 yy_switch_to_buffer(nested_conffiles[current_nested_level].parent_level_state); |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
200 } |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
201 else |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
202 { |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
203 /* Proceed to next included file */ |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
204 yyin = fopen( nested_conffiles[current_nested_level].filelist.gl_pathv[nested_conffiles[current_nested_level].current_file], "r" ); |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
205 |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
206 if ( ! yyin ) |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
207 { |
965
9b37f34c1b1f
Some modifications to logging code:
Sebastien Decugis <sdecugis@freediameter.net>
parents:
961
diff
changeset
|
208 TRACE_ERROR("Error in %s: %s", nested_conffiles[current_nested_level].filelist.gl_pathv[nested_conffiles[current_nested_level].current_file], strerror(errno)); |
925
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
209 return LEX_ERROR; |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
210 } |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
211 |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
212 yy_switch_to_buffer(yy_create_buffer( yyin, YY_BUF_SIZE )); |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
213 |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
214 /* In case of recursive includes */ |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
215 current_nested_level++; |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
216 } |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
217 |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
218 } |
e5a09fab5ef3
Add support for 'include' in freeDiameter configuration file
Sebastien Decugis <sdecugis@freediameter.net>
parents:
918
diff
changeset
|
219 |
8
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
220 {qstring} { |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
221 /* First copy the string without the quotes for use in the yacc parser */ |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
222 CHECK_MALLOC_DO( yylval->string = strdup(yytext+1), /* This allocates one useless tail char but... it's easier :D */ |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
223 return LEX_ERROR );/* on error, trig an error in yacc parser */ |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
224 |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
225 yylval->string[yyleng-2] = '\0'; |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
226 |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
227 /* the yacc parser will check the string is valid */ |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
228 return QSTRING; |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
229 } |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
230 |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
231 [[:digit:]]+ { |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
232 /* Convert this to an integer value */ |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
233 int ret = sscanf(yytext, "%i", &yylval->integer); |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
234 if (ret != 1) { |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
235 /* No matching: an error occurred */ |
974
2091bf698fb1
Remove newlines from fd_log_debug, TRACE_DEBUG, TRACE_ERROR, and TRACE_DEBUG_ERROR
Thomas Klausner <tk@giga.or.at>
parents:
969
diff
changeset
|
236 TRACE_ERROR("Unable to convert the value '%s' to a valid number: %s", yytext, strerror(errno)); |
8
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
237 return LEX_ERROR; /* trig an error in yacc parser */ |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
238 /* Maybe we could REJECT instead of failing here? */ |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
239 } |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
240 return INTEGER; |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
241 } |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
242 |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
243 /* Full words tokens (keywords) */ |
1394
f17a56536790
fdd.l: whitespace simplification
Thomas Klausner <tk@giga.or.at>
parents:
1189
diff
changeset
|
244 (?i:"Identity") { return IDENTITY; } |
f17a56536790
fdd.l: whitespace simplification
Thomas Klausner <tk@giga.or.at>
parents:
1189
diff
changeset
|
245 (?i:"Realm") { return REALM; } |
f17a56536790
fdd.l: whitespace simplification
Thomas Klausner <tk@giga.or.at>
parents:
1189
diff
changeset
|
246 (?i:"Port") { return PORT; } |
f17a56536790
fdd.l: whitespace simplification
Thomas Klausner <tk@giga.or.at>
parents:
1189
diff
changeset
|
247 (?i:"SecPort") { return SECPORT; } |
f17a56536790
fdd.l: whitespace simplification
Thomas Klausner <tk@giga.or.at>
parents:
1189
diff
changeset
|
248 /* (?i:"SctpSec3436") { return SEC3436; } */ |
f17a56536790
fdd.l: whitespace simplification
Thomas Klausner <tk@giga.or.at>
parents:
1189
diff
changeset
|
249 (?i:"No_IPv6") { return NOIP6; } |
f17a56536790
fdd.l: whitespace simplification
Thomas Klausner <tk@giga.or.at>
parents:
1189
diff
changeset
|
250 (?i:"No_IP") { return NOIP; } |
f17a56536790
fdd.l: whitespace simplification
Thomas Klausner <tk@giga.or.at>
parents:
1189
diff
changeset
|
251 (?i:"No_TCP") { return NOTCP; } |
f17a56536790
fdd.l: whitespace simplification
Thomas Klausner <tk@giga.or.at>
parents:
1189
diff
changeset
|
252 (?i:"No_SCTP") { return NOSCTP; } |
f17a56536790
fdd.l: whitespace simplification
Thomas Klausner <tk@giga.or.at>
parents:
1189
diff
changeset
|
253 (?i:"Prefer_TCP") { return PREFERTCP; } |
f17a56536790
fdd.l: whitespace simplification
Thomas Klausner <tk@giga.or.at>
parents:
1189
diff
changeset
|
254 (?i:"TLS_old_method") { return OLDTLS; } |
f17a56536790
fdd.l: whitespace simplification
Thomas Klausner <tk@giga.or.at>
parents:
1189
diff
changeset
|
255 (?i:"SCTP_streams") { return SCTPSTREAMS; } |
f17a56536790
fdd.l: whitespace simplification
Thomas Klausner <tk@giga.or.at>
parents:
1189
diff
changeset
|
256 (?i:"AppServThreads") { return APPSERVTHREADS; } |
f17a56536790
fdd.l: whitespace simplification
Thomas Klausner <tk@giga.or.at>
parents:
1189
diff
changeset
|
257 (?i:"ListenOn") { return LISTENON; } |
f17a56536790
fdd.l: whitespace simplification
Thomas Klausner <tk@giga.or.at>
parents:
1189
diff
changeset
|
258 (?i:"ThreadsPerServer") { return THRPERSRV; } |
1396
188c82b6690b
Add ProcessingPeersPattern and ProcessingPeersMinimum parameters.
Thomas Klausner <tk@giga.or.at>
parents:
1394
diff
changeset
|
259 (?i:"ProcessingPeersPattern") { return PROCESSINGPEERSPATTERN; } |
188c82b6690b
Add ProcessingPeersPattern and ProcessingPeersMinimum parameters.
Thomas Klausner <tk@giga.or.at>
parents:
1394
diff
changeset
|
260 (?i:"ProcessingPeersMinimum") { return PROCESSINGPEERSMINIMUM; } |
1394
f17a56536790
fdd.l: whitespace simplification
Thomas Klausner <tk@giga.or.at>
parents:
1189
diff
changeset
|
261 (?i:"TcTimer") { return TCTIMER; } |
f17a56536790
fdd.l: whitespace simplification
Thomas Klausner <tk@giga.or.at>
parents:
1189
diff
changeset
|
262 (?i:"TwTimer") { return TWTIMER; } |
f17a56536790
fdd.l: whitespace simplification
Thomas Klausner <tk@giga.or.at>
parents:
1189
diff
changeset
|
263 (?i:"NoRelay") { return NORELAY; } |
f17a56536790
fdd.l: whitespace simplification
Thomas Klausner <tk@giga.or.at>
parents:
1189
diff
changeset
|
264 (?i:"LoadExtension") { return LOADEXT; } |
f17a56536790
fdd.l: whitespace simplification
Thomas Klausner <tk@giga.or.at>
parents:
1189
diff
changeset
|
265 (?i:"ConnectPeer") { return CONNPEER; } |
f17a56536790
fdd.l: whitespace simplification
Thomas Klausner <tk@giga.or.at>
parents:
1189
diff
changeset
|
266 (?i:"ConnectTo") { return CONNTO; } |
f17a56536790
fdd.l: whitespace simplification
Thomas Klausner <tk@giga.or.at>
parents:
1189
diff
changeset
|
267 (?i:"No_TLS") { return NOTLS; } |
f17a56536790
fdd.l: whitespace simplification
Thomas Klausner <tk@giga.or.at>
parents:
1189
diff
changeset
|
268 (?i:"TLS_Cred") { return TLS_CRED; } |
f17a56536790
fdd.l: whitespace simplification
Thomas Klausner <tk@giga.or.at>
parents:
1189
diff
changeset
|
269 (?i:"TLS_CA") { return TLS_CA; } |
f17a56536790
fdd.l: whitespace simplification
Thomas Klausner <tk@giga.or.at>
parents:
1189
diff
changeset
|
270 (?i:"TLS_CRL") { return TLS_CRL; } |
f17a56536790
fdd.l: whitespace simplification
Thomas Klausner <tk@giga.or.at>
parents:
1189
diff
changeset
|
271 (?i:"TLS_Prio") { return TLS_PRIO; } |
f17a56536790
fdd.l: whitespace simplification
Thomas Klausner <tk@giga.or.at>
parents:
1189
diff
changeset
|
272 (?i:"TLS_DH_bits") { return TLS_DH_BITS; } |
f17a56536790
fdd.l: whitespace simplification
Thomas Klausner <tk@giga.or.at>
parents:
1189
diff
changeset
|
273 (?i:"TLS_DH_file") { return TLS_DH_FILE; } |
8
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
274 |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
275 |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
276 /* Valid single characters for yyparse */ |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
277 <*>[=,:;{}] { return yytext[0]; } |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
278 |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
279 /* Unrecognized token */ |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
280 <*>[[:alnum:]]+ | /* This rule is only useful to print a complete token in error messages */ |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
281 /* Unrecognized character */ |
918
46f9982b7d26
Use logging routines for configuration file parsing (based on patch by Thomas)
Sebastien Decugis <sdecugis@freediameter.net>
parents:
740
diff
changeset
|
282 <*>. { |
974
2091bf698fb1
Remove newlines from fd_log_debug, TRACE_DEBUG, TRACE_ERROR, and TRACE_DEBUG_ERROR
Thomas Klausner <tk@giga.or.at>
parents:
969
diff
changeset
|
283 TRACE_ERROR("Unrecognized text on line %d col %d: '%s'.", yylloc->first_line, yylloc->first_column, yytext); |
8
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
284 return LEX_ERROR; |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
285 } |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
286 |
3e143f047f78
Backup for the week-end
Sebastien Decugis <sdecugis@nict.go.jp>
parents:
diff
changeset
|
287 %% |