Imported Debian patch 1.3.3-1
Robert S. Edmonds
12 years ago
34 | 34 | libtool=@libtool@ |
35 | 35 | ldnsdir=@ldnsdir@ |
36 | 36 | staticexe=@staticexe@ |
37 | EXEEXT=@EXEEXT@ | |
37 | 38 | configfile=@ub_conf_file@ |
38 | 39 | UNBOUND_RUN_DIR=@UNBOUND_RUN_DIR@ |
39 | 40 | CHECKLOCK_SRC=@CHECKLOCK_SRC@ |
45 | 46 | SWIG=@SWIG@ |
46 | 47 | YACC=@YACC@ |
47 | 48 | LEX=@LEX@ |
49 | STRIP=@STRIP@ | |
48 | 50 | CC=@CC@ |
49 | 51 | CPPFLAGS=-I. @CPPFLAGS@ |
50 | 52 | ifneq "$(srcdir)" "." |
64 | 66 | endif |
65 | 67 | BUILD=build/ |
66 | 68 | |
67 | WINDRES=windres | |
69 | WINDRES=@WINDRES@ | |
68 | 70 | LINT=splint |
69 | 71 | LINTFLAGS=+quiet -weak -warnposix -unrecog -Din_addr_t=uint32_t -Du_int=unsigned -Du_char=uint8_t -preproc -Drlimit=rlimit64 -D__gnuc_va_list=va_list -Dglob64=glob -Dglobfree64=globfree |
70 | 72 | # compat with openssl linux edition. |
81 | 83 | $(srcdir)/iterator/*.c $(srcdir)/validator/*.c $(PYTHONMOD_SRC))) \ |
82 | 84 | util/configparser.c util/configlexer.c $(CHECKLOCK_SRC) |
83 | 85 | COMMON_OBJ=$(addprefix $(BUILD),$(COMMON_SRC:.c=.lo)) |
86 | COMPAT_SRC=$(addprefix compat/,$(LIBOBJS:.o=.c)) | |
84 | 87 | COMPAT_OBJ=$(addprefix $(BUILD)compat/,$(LIBOBJS:.o=.lo)) |
85 | 88 | UNITTEST_SRC=$(patsubst $(srcdir)/%,%, \ |
86 | 89 | $(wildcard $(srcdir)/testcode/unit*.c)) \ |
138 | 141 | CONTROL_OBJ+=$(BUILD)winrc/rsrc_unbound_control.o |
139 | 142 | CHECKCONF_OBJ+=$(BUILD)winrc/rsrc_unbound_checkconf.o |
140 | 143 | |
141 | WINAPPS=unbound-service-install unbound-service-remove anchor-update | |
144 | WINAPPS=$(addsuffix $(EXEEXT), unbound-service-install \ | |
145 | unbound-service-remove anchor-update) | |
142 | 146 | SVCINST_SRC=winrc/unbound-service-install.c winrc/w_inst.c |
143 | 147 | SVCINST_OBJ=$(addprefix $(BUILD),$(SVCINST_SRC:.c=.lo)) $(COMPAT_OBJ) \ |
144 | 148 | $(BUILD)winrc/rsrc_svcinst.o |
172 | 176 | @-if test ! -d $(dir $@); then $(INSTALL) -d $(patsubst %/,%,$(dir $@)); fi |
173 | 177 | $Q$(COMPILE) -c $< -o $@ |
174 | 178 | |
175 | all: $(COMMON_OBJ) unbound unbound-checkconf lib unbound-host unbound-control unbound-control-setup $(WINAPPS) | |
176 | ||
177 | TEST_BIN=asynclook delayer harvest lock-verify memstats perf pktview signit \ | |
178 | streamtcp testbound unittest | |
179 | all: $(COMMON_OBJ) unbound$(EXEEXT) unbound-checkconf$(EXEEXT) lib unbound-host$(EXEEXT) unbound-control$(EXEEXT) unbound-control-setup $(WINAPPS) | |
180 | ||
181 | TEST_BIN=$(addsuffix $(EXEEXT),asynclook delayer harvest lock-verify \ | |
182 | memstats perf pktview signit streamtcp testbound unittest) | |
179 | 183 | tests: all $(TEST_BIN) |
180 | 184 | |
181 | 185 | test: tests |
189 | 193 | |
190 | 194 | ifeq ($(patsubst ldns-src%,ldns-src,$(ldnsdir)),ldns-src) |
191 | 195 | ldnslib=$(ldnsdir)/lib/libldns.a |
192 | $(ldnslib): | |
196 | $(ldnslib): $(ldnsdir)/lib | |
197 | $(ldnsdir)/lib: | |
193 | 198 | @if test ! -z "$(ldnsdir)"; \ |
194 | 199 | then (cd $(ldnsdir) && $(MAKE)); fi |
195 | 200 | else |
196 | 201 | ldnslib= |
197 | 202 | endif |
198 | 203 | |
199 | unbound: $(DAEMON_OBJ) $(ldnslib) | |
204 | unbound$(EXEEXT): $(DAEMON_OBJ) $(ldnslib) | |
200 | 205 | $(INFO) Link $@ |
201 | 206 | $Q$(LINK) -o $@ $(sort $(DAEMON_OBJ)) -lssl $(LIBS) |
202 | 207 | |
203 | unbound-checkconf: $(CHECKCONF_OBJ) $(ldnslib) | |
208 | unbound-checkconf$(EXEEXT): $(CHECKCONF_OBJ) $(ldnslib) | |
204 | 209 | $(INFO) Link $@ |
205 | 210 | $Q$(LINK) -o $@ $(sort $(CHECKCONF_OBJ)) $(LIBS) |
206 | 211 | |
207 | unbound-control: $(CONTROL_OBJ) $(ldnslib) | |
212 | unbound-control$(EXEEXT): $(CONTROL_OBJ) $(ldnslib) | |
208 | 213 | $(INFO) Link $@ |
209 | 214 | $Q$(LINK) -o $@ $(sort $(CONTROL_OBJ)) -lssl $(LIBS) |
210 | 215 | |
211 | unbound-host: $(HOST_OBJ) libunbound.la $(ldnslib) | |
216 | unbound-host$(EXEEXT): $(HOST_OBJ) libunbound.la $(ldnslib) | |
212 | 217 | $(INFO) Link $@ |
213 | 218 | $Q$(LINK) -o $@ $(sort $(HOST_OBJ)) -L. -L.libs -lunbound $(LIBS) |
214 | 219 | |
215 | unbound-service-install: $(SVCINST_OBJ) | |
220 | unbound-service-install$(EXEEXT): $(SVCINST_OBJ) | |
216 | 221 | $(INFO) Link $@ |
217 | 222 | $Q$(LINK) -o $@ $(sort $(SVCINST_OBJ)) $(LIBS) |
218 | 223 | |
219 | unbound-service-remove: $(SVCUNINST_OBJ) | |
224 | unbound-service-remove$(EXEEXT): $(SVCUNINST_OBJ) | |
220 | 225 | $(INFO) Link $@ |
221 | 226 | $Q$(LINK) -o $@ $(sort $(SVCUNINST_OBJ)) $(LIBS) |
222 | 227 | |
223 | anchor-update: $(ANCHORUPD_OBJ) libunbound.la $(ldnslib) | |
228 | anchor-update$(EXEEXT): $(ANCHORUPD_OBJ) libunbound.la $(ldnslib) | |
224 | 229 | $(INFO) Link $@ |
225 | 230 | $Q$(LINK) -o $@ $(sort $(ANCHORUPD_OBJ)) -L. -L.libs -lunbound $(LIBS) |
226 | 231 | |
227 | unittest: $(UNITTEST_OBJ) $(ldnslib) | |
232 | unittest$(EXEEXT): $(UNITTEST_OBJ) $(ldnslib) | |
228 | 233 | $(INFO) Link $@ |
229 | 234 | $Q$(LINK) -o $@ $(sort $(UNITTEST_OBJ)) $(LIBS) |
230 | 235 | |
231 | testbound: $(TESTBOUND_OBJ) $(ldnslib) | |
236 | testbound$(EXEEXT): $(TESTBOUND_OBJ) $(ldnslib) | |
232 | 237 | $(INFO) Link $@ |
233 | 238 | $Q$(LINK) -o $@ $(sort $(TESTBOUND_OBJ)) -lssl $(LIBS) |
234 | 239 | |
235 | lock-verify: $(LOCKVERIFY_OBJ) $(ldnslib) | |
240 | lock-verify$(EXEEXT): $(LOCKVERIFY_OBJ) $(ldnslib) | |
236 | 241 | $(INFO) Link $@ |
237 | 242 | $Q$(LINK) -o $@ $(sort $(LOCKVERIFY_OBJ)) $(LIBS) |
238 | 243 | |
239 | pktview: $(PKTVIEW_OBJ) $(ldnslib) | |
244 | pktview$(EXEEXT): $(PKTVIEW_OBJ) $(ldnslib) | |
240 | 245 | $(INFO) Link $@ |
241 | 246 | $Q$(LINK) -o $@ $(sort $(PKTVIEW_OBJ)) $(LIBS) |
242 | 247 | |
243 | signit: $(SIGNIT_OBJ) $(ldnslib) | |
248 | signit$(EXEEXT): $(SIGNIT_OBJ) $(ldnslib) | |
244 | 249 | $(INFO) Link $@ |
245 | 250 | $Q$(LINK) -o $@ $(sort $(SIGNIT_OBJ)) $(LIBS) |
246 | 251 | |
247 | memstats: $(MEMSTATS_OBJ) $(ldnslib) | |
252 | memstats$(EXEEXT): $(MEMSTATS_OBJ) $(ldnslib) | |
248 | 253 | $(INFO) Link $@ |
249 | 254 | $Q$(LINK) -o $@ $(sort $(MEMSTATS_OBJ)) $(LIBS) |
250 | 255 | |
251 | asynclook: $(ASYNCLOOK_OBJ) $(ldnslib) libunbound.la | |
256 | asynclook$(EXEEXT): $(ASYNCLOOK_OBJ) $(ldnslib) libunbound.la | |
252 | 257 | $(INFO) Link $@ |
253 | 258 | $Q$(LINK) -o $@ $(sort $(ASYNCLOOK_OBJ)) $(LIBS) -L. -L.libs -lunbound |
254 | 259 | |
255 | streamtcp: $(STREAMTCP_OBJ) $(ldnslib) | |
260 | streamtcp$(EXEEXT): $(STREAMTCP_OBJ) $(ldnslib) | |
256 | 261 | $(INFO) Link $@ |
257 | 262 | $Q$(LINK) -o $@ $(sort $(STREAMTCP_OBJ)) $(LIBS) |
258 | 263 | |
259 | perf: $(PERF_OBJ) $(ldnslib) | |
264 | perf$(EXEEXT): $(PERF_OBJ) $(ldnslib) | |
260 | 265 | $(INFO) Link $@ |
261 | 266 | $Q$(LINK) -o $@ $(sort $(PERF_OBJ)) $(LIBS) |
262 | 267 | |
263 | delayer: $(DELAYER_OBJ) $(ldnslib) | |
268 | delayer$(EXEEXT): $(DELAYER_OBJ) $(ldnslib) | |
264 | 269 | $(INFO) Link $@ |
265 | 270 | $Q$(LINK) -o $@ $(sort $(DELAYER_OBJ)) $(LIBS) |
266 | 271 | |
267 | harvest: $(HARVEST_OBJ) $(ldnslib) libunbound.la | |
272 | harvest$(EXEEXT): $(HARVEST_OBJ) $(ldnslib) libunbound.la | |
268 | 273 | $(INFO) Link $@ |
269 | 274 | $Q$(LINK) -o $@ $(sort $(HARVEST_OBJ)) $(LIBS) -L. -L.libs -lunbound |
270 | 275 | |
317 | 322 | |
318 | 323 | clean: |
319 | 324 | rm -f *.o *.d *.lo *~ tags |
320 | rm -f unbound unbound-checkconf unbound-host unbound-control unbound-control-setup libunbound.la | |
325 | rm -f unbound$(EXEEXT) unbound-checkconf$(EXEEXT) unbound-host$(EXEEXT) unbound-control$(EXEEXT) unbound-control-setup libunbound.la | |
321 | 326 | rm -rf autom4te.cache .libs build doc/html doc/xml |
322 | 327 | |
323 | 328 | realclean: clean |
348 | 353 | fi |
349 | 354 | |
350 | 355 | strip: |
351 | strip unbound | |
352 | strip unbound-checkconf | |
353 | strip unbound-control | |
354 | strip unbound-host | |
356 | $(STRIP) unbound$(EXEEXT) | |
357 | $(STRIP) unbound-checkconf$(EXEEXT) | |
358 | $(STRIP) unbound-control$(EXEEXT) | |
359 | $(STRIP) unbound-host$(EXEEXT) | |
355 | 360 | |
356 | 361 | install: |
357 | 362 | $(INSTALL) -m 755 -d $(DESTDIR)$(sbindir) |
362 | 367 | $(INSTALL) -m 755 -d $(DESTDIR)$(mandir)/man1 |
363 | 368 | $(INSTALL) -m 755 -d $(DESTDIR)$(libdir) |
364 | 369 | $(INSTALL) -m 755 -d $(DESTDIR)$(includedir) |
365 | $(LIBTOOL) --mode=install cp unbound $(DESTDIR)$(sbindir)/unbound | |
366 | $(LIBTOOL) --mode=install cp unbound-checkconf $(DESTDIR)$(sbindir)/unbound-checkconf | |
367 | $(LIBTOOL) --mode=install cp unbound-control $(DESTDIR)$(sbindir)/unbound-control | |
368 | $(LIBTOOL) --mode=install cp unbound-host $(DESTDIR)$(sbindir)/unbound-host | |
370 | $(LIBTOOL) --mode=install cp unbound$(EXEEXT) $(DESTDIR)$(sbindir)/unbound$(EXEEXT) | |
371 | $(LIBTOOL) --mode=install cp unbound-checkconf$(EXEEXT) $(DESTDIR)$(sbindir)/unbound-checkconf$(EXEEXT) | |
372 | $(LIBTOOL) --mode=install cp unbound-control$(EXEEXT) $(DESTDIR)$(sbindir)/unbound-control$(EXEEXT) | |
373 | $(LIBTOOL) --mode=install cp unbound-host$(EXEEXT) $(DESTDIR)$(sbindir)/unbound-host$(EXEEXT) | |
369 | 374 | ifeq "$(WITH_PYTHONMODULE)" "yes" |
370 | 375 | $(INSTALL) -m 755 -d $(DESTDIR)$(PYTHON_SITE_PKG) |
371 | 376 | $(INSTALL) -c -m 644 pythonmod/unboundmodule.py $(DESTDIR)$(PYTHON_SITE_PKG)/unboundmodule.py |
388 | 393 | $(LIBTOOL) --mode=finish $(DESTDIR)$(libdir) |
389 | 394 | |
390 | 395 | uninstall: |
391 | rm -f -- $(DESTDIR)$(sbindir)/unbound $(DESTDIR)$(sbindir)/unbound-checkconf $(DESTDIR)$(sbindir)/unbound-host $(DESTDIR)$(sbindir)/unbound-control $(DESTDIR)$(sbindir)/unbound-control-setup | |
396 | rm -f -- $(DESTDIR)$(sbindir)/unbound$(EXEEXT) $(DESTDIR)$(sbindir)/unbound-checkconf$(EXEEXT) $(DESTDIR)$(sbindir)/unbound-host$(EXEEXT) $(DESTDIR)$(sbindir)/unbound-control$(EXEEXT) $(DESTDIR)$(sbindir)/unbound-control-setup | |
392 | 397 | rm -f -- $(DESTDIR)$(mandir)/man8/unbound.8 $(DESTDIR)$(mandir)/man8/unbound-checkconf.8 $(DESTDIR)$(mandir)/man5/unbound.conf.5 $(DESTDIR)$(mandir)/man8/unbound-control.8 |
393 | 398 | rm -f -- $(DESTDIR)$(mandir)/man1/unbound-host.1 $(DESTDIR)$(mandir)/man3/libunbound.3 |
394 | 399 | rm -f -- $(DESTDIR)$(includedir)/unbound.h |
426 | 431 | ifneq ($(MAKECMDGOALS),clean) |
427 | 432 | ifneq ($(MAKECMDGOALS),realclean) |
428 | 433 | ifeq ($(debug_enabled),yes) |
429 | -include $(addprefix $(BUILD),$(ALL_SRC:.c=.d)) | |
430 | endif | |
431 | endif | |
432 | endif | |
434 | -include $(addprefix $(BUILD),$(ALL_SRC:.c=.d) $(COMPAT_SRC:.c=.d)) | |
435 | endif | |
436 | endif | |
437 | endif |
1 | 1 | # Copyright 2009, Wouter Wijngaards, NLnet Labs. |
2 | 2 | # BSD licensed. |
3 | 3 | # |
4 | # Version 2 | |
5 | # 2009-07-03 | |
4 | # Version 4 | |
6 | 5 | # Changelog |
7 | # - fixup LDFLAGS for empty ssl dir. | |
6 | # 2009-07-14 U_CHAR detection improved for windows crosscompile. | |
7 | # added ACX_FUNC_MALLOC | |
8 | # fixup some #if to #ifdef | |
9 | # NONBLOCKING test for mingw crosscompile. | |
10 | # 2009-07-13 added ACX_WITH_SSL_OPTIONAL | |
11 | # 2009-07-03 fixup LDFLAGS for empty ssl dir. | |
8 | 12 | # |
9 | 13 | # Automates some of the checking constructs. Aims at portability for POSIX. |
10 | 14 | # Documentation for functions is below. |
29 | 33 | # ACX_TYPE_IN_PORT_T - in_port_t type. |
30 | 34 | # ACX_ARG_RPATH - add --disable-rpath option. |
31 | 35 | # ACX_WITH_SSL - add --with-ssl option, link -lcrypto. |
36 | # ACX_WITH_SSL_OPTIONAL - add --with-ssl option, link -lcrypto, | |
37 | where --without-ssl is also accepted | |
32 | 38 | # ACX_LIB_SSL - setup to link -lssl. |
33 | 39 | # ACX_SYS_LARGEFILE - improved sys_largefile, fseeko, >2G files. |
34 | 40 | # ACX_CHECK_GETADDRINFO_WITH_INCLUDES - find getaddrinfo, portably. |
36 | 42 | # ACX_CHECK_NONBLOCKING_BROKEN - see if nonblocking sockets really work. |
37 | 43 | # ACX_MKDIR_ONE_ARG - determine mkdir(2) number of arguments. |
38 | 44 | # ACX_FUNC_IOCTLSOCKET - find ioctlsocket, portably. |
45 | # ACX_FUNC_MALLOC - check malloc, define replacement . | |
39 | 46 | # AHX_CONFIG_FORMAT_ATTRIBUTE - config.h text for format. |
40 | 47 | # AHX_CONFIG_UNUSED_ATTRIBUTE - config.h text for unused. |
41 | 48 | # AHX_CONFIG_FSEEKO - define fseeko, ftello fallback. |
479 | 486 | |
480 | 487 | dnl Detect if u_char type is defined, otherwise define it. |
481 | 488 | AC_DEFUN([ACX_TYPE_U_CHAR], |
482 | [AC_CHECK_TYPE(u_char, unsigned char)]) | |
489 | [AC_CHECK_TYPE([u_char], , | |
490 | [AC_DEFINE([u_char], [unsigned char], [Define to 'unsigned char if not defined])], [ | |
491 | AC_INCLUDES_DEFAULT | |
492 | #ifdef HAVE_WINSOCK2_H | |
493 | # include <winsock2.h> | |
494 | #endif | |
495 | ]) ]) | |
483 | 496 | |
484 | 497 | dnl Detect if rlim_t type is defined, otherwise define it. |
485 | 498 | AC_DEFUN([ACX_TYPE_RLIM_T], |
486 | 499 | [AC_CHECK_TYPE(rlim_t, , |
487 | 500 | [AC_DEFINE([rlim_t], [unsigned long], [Define to 'int' if not defined])], [ |
488 | 501 | AC_INCLUDES_DEFAULT |
489 | #if HAVE_SYS_RESOURCE_H | |
502 | #ifdef HAVE_SYS_RESOURCE_H | |
490 | 503 | # include <sys/resource.h> |
491 | 504 | #endif |
492 | 505 | ]) ]) |
497 | 510 | AC_CHECK_TYPE(socklen_t, , |
498 | 511 | [AC_DEFINE([socklen_t], [int], [Define to 'int' if not defined])], [ |
499 | 512 | AC_INCLUDES_DEFAULT |
500 | #if HAVE_SYS_SOCKET_H | |
513 | #ifdef HAVE_SYS_SOCKET_H | |
501 | 514 | # include <sys/socket.h> |
502 | 515 | #endif |
516 | #ifdef HAVE_WS2TCPIP_H | |
517 | # include <ws2tcpip.h> | |
518 | #endif | |
503 | 519 | ]) ]) |
504 | 520 | |
505 | dnl Detect if socklen_t type is defined, otherwise define it. | |
521 | dnl Detect if in_addr_t type is defined, otherwise define it. | |
506 | 522 | AC_DEFUN([ACX_TYPE_IN_ADDR_T], |
507 | 523 | [ AC_CHECK_TYPE(in_addr_t, [], [AC_DEFINE([in_addr_t], [uint32_t], [in_addr_t])], [ |
508 | 524 | AC_INCLUDES_DEFAULT |
509 | #if HAVE_SYS_TYPES_H | |
525 | #ifdef HAVE_SYS_TYPES_H | |
510 | 526 | # include <sys/types.h> |
511 | 527 | #endif |
512 | #if HAVE_NETINET_IN_H | |
528 | #ifdef HAVE_NETINET_IN_H | |
513 | 529 | # include <netinet/in.h> |
514 | 530 | #endif |
515 | 531 | ]) ]) |
516 | 532 | |
517 | dnl Detect if socklen_t type is defined, otherwise define it. | |
533 | dnl Detect if in_port_t type is defined, otherwise define it. | |
518 | 534 | AC_DEFUN([ACX_TYPE_IN_PORT_T], |
519 | 535 | [ AC_CHECK_TYPE(in_port_t, [], [AC_DEFINE([in_port_t], [uint16_t], [in_port_t])], [ |
520 | 536 | AC_INCLUDES_DEFAULT |
521 | #if HAVE_SYS_TYPES_H | |
537 | #ifdef HAVE_SYS_TYPES_H | |
522 | 538 | # include <sys/types.h> |
523 | 539 | #endif |
524 | #if HAVE_NETINET_IN_H | |
540 | #ifdef HAVE_NETINET_IN_H | |
525 | 541 | # include <netinet/in.h> |
526 | 542 | #endif |
527 | 543 | ]) ]) |
554 | 570 | fi |
555 | 571 | ]) |
556 | 572 | |
557 | dnl Check for SSL. | |
558 | dnl Adds --with-ssl option, searches for openssl and defines HAVE_SSL if found | |
559 | dnl Setup of CPPFLAGS, CFLAGS. Adds -lcrypto to LIBS. | |
560 | dnl Checks main header files of SSL. | |
561 | dnl | |
562 | AC_DEFUN([ACX_WITH_SSL], | |
563 | [ | |
564 | AC_ARG_WITH(ssl, AC_HELP_STRING([--with-ssl=pathname], | |
565 | [enable SSL (will check /usr/local/ssl | |
566 | /usr/lib/ssl /usr/ssl /usr/pkg /usr/local /opt/local /usr/sfw /usr)]),[ | |
567 | ],[ | |
568 | withval="yes" | |
569 | ]) | |
570 | if test x_$withval = x_no; then | |
571 | AC_MSG_ERROR([Need SSL library to do digital signature cryptography]) | |
572 | fi | |
573 | dnl Common code for both ACX_WITH_SSL and ACX_WITH_SSL_OPTIONAL | |
574 | dnl Takes one argument; the withval checked in those 2 functions | |
575 | dnl sets up the environment for the given openssl path | |
576 | AC_DEFUN([ACX_SSL_CHECKS], [ | |
577 | withval=$1 | |
573 | 578 | if test x_$withval != x_no; then |
574 | 579 | AC_MSG_CHECKING(for SSL) |
575 | 580 | if test x_$withval = x_ -o x_$withval = x_yes; then |
580 | 585 | if test -f "$dir/include/openssl/ssl.h"; then |
581 | 586 | found_ssl="yes" |
582 | 587 | AC_DEFINE_UNQUOTED([HAVE_SSL], [], [Define if you have the SSL libraries installed.]) |
583 | dnl assume /usr/include is already in the include-path. | |
584 | if test "$ssldir" != "/usr"; then | |
585 | CPPFLAGS="$CPPFLAGS -I$ssldir/include" | |
586 | fi | |
588 | dnl assume /usr/include is already in the include-path. | |
589 | if test "$ssldir" != "/usr"; then | |
590 | CPPFLAGS="$CPPFLAGS -I$ssldir/include" | |
591 | fi | |
587 | 592 | break; |
588 | 593 | fi |
589 | 594 | done |
592 | 597 | else |
593 | 598 | AC_MSG_RESULT(found in $ssldir) |
594 | 599 | HAVE_SSL=yes |
595 | dnl assume /usr is already in the lib and dynlib paths. | |
596 | if test "$ssldir" != "/usr" -a "$ssldir" != ""; then | |
600 | dnl assume /usr is already in the lib and dynlib paths. | |
601 | if test "$ssldir" != "/usr" -a "$ssldir" != ""; then | |
597 | 602 | LDFLAGS="$LDFLAGS -L$ssldir/lib" |
598 | ACX_RUNTIME_PATH_ADD([$ssldir/lib]) | |
599 | fi | |
600 | ||
601 | AC_MSG_CHECKING([for HMAC_CTX_init in -lcrypto]) | |
602 | LIBS="$LIBS -lcrypto" | |
603 | AC_TRY_LINK(, [ | |
604 | int HMAC_CTX_init(void); | |
605 | (void)HMAC_CTX_init(); | |
606 | ], [ | |
607 | AC_MSG_RESULT(yes) | |
608 | AC_DEFINE([HAVE_HMAC_CTX_INIT], 1, | |
609 | [If you have HMAC_CTX_init]) | |
610 | ], [ | |
611 | AC_MSG_RESULT(no) | |
612 | # check if -lwsock32 or -lgdi32 are needed. | |
613 | BAKLIBS="$LIBS" | |
614 | LIBS="$LIBS -lgdi32" | |
615 | AC_MSG_CHECKING([if -lcrypto needs -lgdi32]) | |
616 | AC_TRY_LINK([], [ | |
617 | int HMAC_CTX_init(void); | |
618 | (void)HMAC_CTX_init(); | |
619 | ],[ | |
620 | AC_DEFINE([HAVE_HMAC_CTX_INIT], 1, | |
621 | [If you have HMAC_CTX_init]) | |
622 | AC_MSG_RESULT(yes) | |
623 | ],[ | |
624 | AC_MSG_RESULT(no) | |
625 | LIBS="$BAKLIBS" | |
626 | LIBS="$LIBS -ldl" | |
627 | AC_MSG_CHECKING([if -lcrypto needs -ldl]) | |
628 | AC_TRY_LINK([], [ | |
629 | int HMAC_CTX_init(void); | |
630 | (void)HMAC_CTX_init(); | |
631 | ],[ | |
632 | AC_DEFINE([HAVE_HMAC_CTX_INIT], 1, | |
633 | [If you have HMAC_CTX_init]) | |
634 | AC_MSG_RESULT(yes) | |
635 | ],[ | |
636 | AC_MSG_RESULT(no) | |
603 | ACX_RUNTIME_PATH_ADD([$ssldir/lib]) | |
604 | fi | |
605 | ||
606 | AC_MSG_CHECKING([for HMAC_CTX_init in -lcrypto]) | |
607 | LIBS="$LIBS -lcrypto" | |
608 | AC_TRY_LINK(, [ | |
609 | int HMAC_CTX_init(void); | |
610 | (void)HMAC_CTX_init(); | |
611 | ], [ | |
612 | AC_MSG_RESULT(yes) | |
613 | AC_DEFINE([HAVE_HMAC_CTX_INIT], 1, | |
614 | [If you have HMAC_CTX_init]) | |
615 | ], [ | |
616 | AC_MSG_RESULT(no) | |
617 | # check if -lwsock32 or -lgdi32 are needed. | |
618 | BAKLIBS="$LIBS" | |
619 | LIBS="$LIBS -lgdi32" | |
620 | AC_MSG_CHECKING([if -lcrypto needs -lgdi32]) | |
621 | AC_TRY_LINK([], [ | |
622 | int HMAC_CTX_init(void); | |
623 | (void)HMAC_CTX_init(); | |
624 | ],[ | |
625 | AC_DEFINE([HAVE_HMAC_CTX_INIT], 1, | |
626 | [If you have HMAC_CTX_init]) | |
627 | AC_MSG_RESULT(yes) | |
628 | ],[ | |
629 | AC_MSG_RESULT(no) | |
630 | LIBS="$BAKLIBS" | |
631 | LIBS="$LIBS -ldl" | |
632 | AC_MSG_CHECKING([if -lcrypto needs -ldl]) | |
633 | AC_TRY_LINK([], [ | |
634 | int HMAC_CTX_init(void); | |
635 | (void)HMAC_CTX_init(); | |
636 | ],[ | |
637 | AC_DEFINE([HAVE_HMAC_CTX_INIT], 1, | |
638 | [If you have HMAC_CTX_init]) | |
639 | AC_MSG_RESULT(yes) | |
640 | ],[ | |
641 | AC_MSG_RESULT(no) | |
637 | 642 | AC_MSG_ERROR([OpenSSL found in $ssldir, but version 0.9.7 or higher is required]) |
638 | ]) | |
639 | ]) | |
643 | ]) | |
644 | ]) | |
640 | 645 | ]) |
641 | 646 | fi |
642 | 647 | AC_SUBST(HAVE_SSL) |
643 | AC_SUBST(RUNTIME_PATH) | |
648 | AC_SUBST(RUNTIME_PATH) | |
644 | 649 | fi |
645 | 650 | AC_CHECK_HEADERS([openssl/ssl.h],,, [AC_INCLUDES_DEFAULT]) |
646 | 651 | AC_CHECK_HEADERS([openssl/err.h],,, [AC_INCLUDES_DEFAULT]) |
647 | 652 | AC_CHECK_HEADERS([openssl/rand.h],,, [AC_INCLUDES_DEFAULT]) |
653 | ])dnl End of ACX_SSL_CHECKS | |
654 | ||
655 | dnl Check for SSL, where SSL is mandatory | |
656 | dnl Adds --with-ssl option, searches for openssl and defines HAVE_SSL if found | |
657 | dnl Setup of CPPFLAGS, CFLAGS. Adds -lcrypto to LIBS. | |
658 | dnl Checks main header files of SSL. | |
659 | dnl | |
660 | AC_DEFUN([ACX_WITH_SSL], | |
661 | [ | |
662 | AC_ARG_WITH(ssl, AC_HELP_STRING([--with-ssl=pathname], | |
663 | [enable SSL (will check /usr/local/ssl | |
664 | /usr/lib/ssl /usr/ssl /usr/pkg /usr/local /opt/local /usr/sfw /usr)]),[ | |
665 | ],[ | |
666 | withval="yes" | |
667 | ]) | |
668 | if test x_$withval = x_no; then | |
669 | AC_MSG_ERROR([Need SSL library to do digital signature cryptography]) | |
670 | fi | |
671 | ACX_SSL_CHECKS($withval) | |
648 | 672 | ])dnl End of ACX_WITH_SSL |
673 | ||
674 | dnl Check for SSL, where ssl is optional (--without-ssl is allowed) | |
675 | dnl Adds --with-ssl option, searches for openssl and defines HAVE_SSL if found | |
676 | dnl Setup of CPPFLAGS, CFLAGS. Adds -lcrypto to LIBS. | |
677 | dnl Checks main header files of SSL. | |
678 | dnl | |
679 | AC_DEFUN([ACX_WITH_SSL_OPTIONAL], | |
680 | [ | |
681 | AC_ARG_WITH(ssl, AC_HELP_STRING([--with-ssl=pathname], | |
682 | [enable SSL (will check /usr/local/ssl | |
683 | /usr/lib/ssl /usr/ssl /usr/pkg /usr/local /opt/local /usr/sfw /usr)]),[ | |
684 | ],[ | |
685 | withval="yes" | |
686 | ]) | |
687 | ACX_SSL_CHECKS($withval) | |
688 | ])dnl End of ACX_WITH_SSL_OPTIONAL | |
649 | 689 | |
650 | 690 | dnl Setup to use -lssl |
651 | 691 | dnl To use -lcrypto, use the ACX_WITH_SSL setup (before this one). |
778 | 818 | AC_DEFUN([ACX_CHECK_NONBLOCKING_BROKEN], |
779 | 819 | [ |
780 | 820 | AC_MSG_CHECKING([if nonblocking sockets work]) |
821 | if echo $target | grep mingw32 >/dev/null; then | |
822 | AC_MSG_RESULT([no (windows)]) | |
823 | AC_DEFINE([NONBLOCKING_IS_BROKEN], 1, [Define if the network stack does not fully support nonblocking io (causes lower performance).]) | |
824 | else | |
781 | 825 | AC_RUN_IFELSE(AC_LANG_PROGRAM([ |
782 | 826 | #include <stdio.h> |
783 | 827 | #include <string.h> |
903 | 947 | ], [ |
904 | 948 | AC_MSG_RESULT([crosscompile(yes)]) |
905 | 949 | ]) |
950 | fi | |
906 | 951 | ])dnl End of ACX_CHECK_NONBLOCKING_BROKEN |
907 | 952 | |
908 | 953 | dnl Check if mkdir has one or two arguments. |
945 | 990 | AC_DEFINE(HAVE_IOCTLSOCKET, 1, [if the function 'ioctlsocket' is available]) |
946 | 991 | ],[AC_MSG_RESULT(no)]) |
947 | 992 | ])dnl end of ACX_FUNC_IOCTLSOCKET |
993 | ||
994 | dnl detect malloc and provide malloc compat prototype. | |
995 | dnl $1: unique name for compat code | |
996 | AC_DEFUN([ACX_FUNC_MALLOC], | |
997 | [ | |
998 | AC_FUNC_MALLOC | |
999 | if test "$ac_cv_func_malloc_0_nonnull" = no; then | |
1000 | AC_DEFINE_UNQUOTED([malloc], [rpl_malloc_$1], [Define if replacement function should be used.]) | |
1001 | fi | |
1002 | ]) | |
948 | 1003 | |
949 | 1004 | dnl Define fallback for fseeko and ftello if needed. |
950 | 1005 | AC_DEFUN([AHX_CONFIG_FSEEKO], |
2 | 2 | |
3 | 3 | #include "config.h" |
4 | 4 | #undef malloc |
5 | ||
6 | 5 | #include <sys/types.h> |
7 | 6 | |
8 | 7 | void *malloc (); |
11 | 10 | If N is zero, allocate a 1-byte block. */ |
12 | 11 | |
13 | 12 | void * |
14 | rpl_malloc (size_t n) | |
13 | rpl_malloc_unbound (size_t n) | |
15 | 14 | { |
16 | 15 | if (n == 0) |
17 | 16 | n = 1; |
493 | 493 | /* Define to `signed char' if <sys/types.h> does not define. */ |
494 | 494 | #undef int8_t |
495 | 495 | |
496 | /* Define to rpl_malloc if the replacement function should be used. */ | |
496 | /* Define if replacement function should be used. */ | |
497 | 497 | #undef malloc |
498 | 498 | |
499 | 499 | /* Define to `long int' if <sys/types.h> does not define. */ |
514 | 514 | /* Define to `int' if <sys/types.h> does not define. */ |
515 | 515 | #undef ssize_t |
516 | 516 | |
517 | /* Define to `unsigned char' if <sys/types.h> does not define. */ | |
517 | /* Define to 'unsigned char if not defined */ | |
518 | 518 | #undef u_char |
519 | 519 | |
520 | 520 | /* Define to `int' if <sys/types.h> doesn't define. */ |
655 | 655 | #define fseeko fseek |
656 | 656 | #define ftello ftell |
657 | 657 | #endif /* HAVE_FSEEKO */ |
658 | ||
659 | ||
660 | #ifndef RAND_MAX | |
661 | #define RAND_MAX 2147483647 | |
662 | #endif | |
663 | 658 | |
664 | 659 | |
665 | 660 | #ifndef MAXHOSTNAMELEN |
0 | 0 | #! /bin/sh |
1 | 1 | # Guess values for system-dependent variables and create Makefiles. |
2 | # Generated by GNU Autoconf 2.63 for unbound 1.3.2. | |
2 | # Generated by GNU Autoconf 2.63 for unbound 1.3.3. | |
3 | 3 | # |
4 | 4 | # Report bugs to <unbound-bugs@nlnetlabs.nl>. |
5 | 5 | # |
744 | 744 | # Identity of this package. |
745 | 745 | PACKAGE_NAME='unbound' |
746 | 746 | PACKAGE_TARNAME='unbound' |
747 | PACKAGE_VERSION='1.3.2' | |
748 | PACKAGE_STRING='unbound 1.3.2' | |
747 | PACKAGE_VERSION='1.3.3' | |
748 | PACKAGE_STRING='unbound 1.3.3' | |
749 | 749 | PACKAGE_BUGREPORT='unbound-bugs@nlnetlabs.nl' |
750 | 750 | |
751 | 751 | # Factoring default headers for most tests. |
788 | 788 | ac_subst_vars='LTLIBOBJS |
789 | 789 | subdirs |
790 | 790 | ldnsdir |
791 | WINDRES | |
791 | 792 | UB_ON_WINDOWS |
792 | 793 | LIBOBJS |
793 | 794 | CHECKLOCK_SRC |
817 | 818 | DSYMUTIL |
818 | 819 | lt_ECHO |
819 | 820 | RANLIB |
820 | STRIP | |
821 | 821 | OBJDUMP |
822 | 822 | LN_S |
823 | 823 | NM |
837 | 837 | build_cpu |
838 | 838 | build |
839 | 839 | libtool |
840 | STRIP | |
840 | 841 | doxygen |
841 | 842 | YFLAGS |
842 | 843 | YACC |
1496 | 1497 | # Omit some internal or obsolete options to make the list less imposing. |
1497 | 1498 | # This message is too long to be a string in the A/UX 3.1 sh. |
1498 | 1499 | cat <<_ACEOF |
1499 | \`configure' configures unbound 1.3.2 to adapt to many kinds of systems. | |
1500 | \`configure' configures unbound 1.3.3 to adapt to many kinds of systems. | |
1500 | 1501 | |
1501 | 1502 | Usage: $0 [OPTION]... [VAR=VALUE]... |
1502 | 1503 | |
1561 | 1562 | |
1562 | 1563 | if test -n "$ac_init_help"; then |
1563 | 1564 | case $ac_init_help in |
1564 | short | recursive ) echo "Configuration of unbound 1.3.2:";; | |
1565 | short | recursive ) echo "Configuration of unbound 1.3.3:";; | |
1565 | 1566 | esac |
1566 | 1567 | cat <<\_ACEOF |
1567 | 1568 | |
1706 | 1707 | test -n "$ac_init_help" && exit $ac_status |
1707 | 1708 | if $ac_init_version; then |
1708 | 1709 | cat <<\_ACEOF |
1709 | unbound configure 1.3.2 | |
1710 | unbound configure 1.3.3 | |
1710 | 1711 | generated by GNU Autoconf 2.63 |
1711 | 1712 | |
1712 | 1713 | Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, |
1720 | 1721 | This file contains any messages produced by compilers while |
1721 | 1722 | running configure, to aid debugging if configure makes a mistake. |
1722 | 1723 | |
1723 | It was created by unbound $as_me 1.3.2, which was | |
1724 | It was created by unbound $as_me 1.3.3, which was | |
1724 | 1725 | generated by GNU Autoconf 2.63. Invocation command line was |
1725 | 1726 | |
1726 | 1727 | $ $0 $@ |
2090 | 2091 | |
2091 | 2092 | |
2092 | 2093 | LIBUNBOUND_CURRENT=1 |
2093 | LIBUNBOUND_REVISION=2 | |
2094 | LIBUNBOUND_REVISION=3 | |
2094 | 2095 | LIBUNBOUND_AGE=0 |
2095 | 2096 | # 1.0.0 had 0:12:0 |
2096 | 2097 | # 1.0.1 had 0:13:0 |
2102 | 2103 | # 1.3.0 had 1:0:0 # ub_cancel and -export-symbols. |
2103 | 2104 | # 1.3.1 had 1:1:0 |
2104 | 2105 | # 1.3.2 had 1:2:0 |
2106 | # 1.3.3 had 1:3:0 | |
2105 | 2107 | |
2106 | 2108 | # Current -- the number of the binary API that we're implementing |
2107 | 2109 | # Revision -- which iteration of the implementation of the binary |
3925 | 3927 | |
3926 | 3928 | # are we on MinGW? |
3927 | 3929 | if uname -s 2>&1 | grep MINGW32 >/dev/null; then on_mingw="yes" |
3928 | else on_mingw="no"; fi | |
3930 | else | |
3931 | if echo $target | grep mingw32 >/dev/null; then on_mingw="yes" | |
3932 | else on_mingw="no"; fi | |
3933 | fi | |
3929 | 3934 | |
3930 | 3935 | # |
3931 | 3936 | # Determine configuration file |
6438 | 6443 | $as_echo "no" >&6; } |
6439 | 6444 | fi |
6440 | 6445 | |
6446 | ||
6447 | if test -n "$ac_tool_prefix"; then | |
6448 | # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. | |
6449 | set dummy ${ac_tool_prefix}strip; ac_word=$2 | |
6450 | { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 | |
6451 | $as_echo_n "checking for $ac_word... " >&6; } | |
6452 | if test "${ac_cv_prog_STRIP+set}" = set; then | |
6453 | $as_echo_n "(cached) " >&6 | |
6454 | else | |
6455 | if test -n "$STRIP"; then | |
6456 | ac_cv_prog_STRIP="$STRIP" # Let the user override the test. | |
6457 | else | |
6458 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | |
6459 | for as_dir in $PATH | |
6460 | do | |
6461 | IFS=$as_save_IFS | |
6462 | test -z "$as_dir" && as_dir=. | |
6463 | for ac_exec_ext in '' $ac_executable_extensions; do | |
6464 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | |
6465 | ac_cv_prog_STRIP="${ac_tool_prefix}strip" | |
6466 | $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | |
6467 | break 2 | |
6468 | fi | |
6469 | done | |
6470 | done | |
6471 | IFS=$as_save_IFS | |
6472 | ||
6473 | fi | |
6474 | fi | |
6475 | STRIP=$ac_cv_prog_STRIP | |
6476 | if test -n "$STRIP"; then | |
6477 | { $as_echo "$as_me:$LINENO: result: $STRIP" >&5 | |
6478 | $as_echo "$STRIP" >&6; } | |
6479 | else | |
6480 | { $as_echo "$as_me:$LINENO: result: no" >&5 | |
6481 | $as_echo "no" >&6; } | |
6482 | fi | |
6483 | ||
6484 | ||
6485 | fi | |
6486 | if test -z "$ac_cv_prog_STRIP"; then | |
6487 | ac_ct_STRIP=$STRIP | |
6488 | # Extract the first word of "strip", so it can be a program name with args. | |
6489 | set dummy strip; ac_word=$2 | |
6490 | { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 | |
6491 | $as_echo_n "checking for $ac_word... " >&6; } | |
6492 | if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then | |
6493 | $as_echo_n "(cached) " >&6 | |
6494 | else | |
6495 | if test -n "$ac_ct_STRIP"; then | |
6496 | ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test. | |
6497 | else | |
6498 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | |
6499 | for as_dir in $PATH | |
6500 | do | |
6501 | IFS=$as_save_IFS | |
6502 | test -z "$as_dir" && as_dir=. | |
6503 | for ac_exec_ext in '' $ac_executable_extensions; do | |
6504 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | |
6505 | ac_cv_prog_ac_ct_STRIP="strip" | |
6506 | $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | |
6507 | break 2 | |
6508 | fi | |
6509 | done | |
6510 | done | |
6511 | IFS=$as_save_IFS | |
6512 | ||
6513 | fi | |
6514 | fi | |
6515 | ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP | |
6516 | if test -n "$ac_ct_STRIP"; then | |
6517 | { $as_echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5 | |
6518 | $as_echo "$ac_ct_STRIP" >&6; } | |
6519 | else | |
6520 | { $as_echo "$as_me:$LINENO: result: no" >&5 | |
6521 | $as_echo "no" >&6; } | |
6522 | fi | |
6523 | ||
6524 | if test "x$ac_ct_STRIP" = x; then | |
6525 | STRIP="" | |
6526 | else | |
6527 | case $cross_compiling:$ac_tool_warned in | |
6528 | yes:) | |
6529 | { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 | |
6530 | $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} | |
6531 | ac_tool_warned=yes ;; | |
6532 | esac | |
6533 | STRIP=$ac_ct_STRIP | |
6534 | fi | |
6535 | else | |
6536 | STRIP="$ac_cv_prog_STRIP" | |
6537 | fi | |
6441 | 6538 | |
6442 | 6539 | ac_aux_dir= |
6443 | 6540 | for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do |
7161 | 7258 | else |
7162 | 7259 | lt_cv_nm_interface="BSD nm" |
7163 | 7260 | echo "int some_variable = 0;" > conftest.$ac_ext |
7164 | (eval echo "\"\$as_me:7165: $ac_compile\"" >&5) | |
7261 | (eval echo "\"\$as_me:7262: $ac_compile\"" >&5) | |
7165 | 7262 | (eval "$ac_compile" 2>conftest.err) |
7166 | 7263 | cat conftest.err >&5 |
7167 | (eval echo "\"\$as_me:7168: $NM \\\"conftest.$ac_objext\\\"\"" >&5) | |
7264 | (eval echo "\"\$as_me:7265: $NM \\\"conftest.$ac_objext\\\"\"" >&5) | |
7168 | 7265 | (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) |
7169 | 7266 | cat conftest.err >&5 |
7170 | (eval echo "\"\$as_me:7171: output\"" >&5) | |
7267 | (eval echo "\"\$as_me:7268: output\"" >&5) | |
7171 | 7268 | cat conftest.out >&5 |
7172 | 7269 | if $GREP 'External.*some_variable' conftest.out > /dev/null; then |
7173 | 7270 | lt_cv_nm_interface="MS dumpbin" |
8372 | 8469 | ;; |
8373 | 8470 | *-*-irix6*) |
8374 | 8471 | # Find out which ABI we are using. |
8375 | echo '#line 8376 "configure"' > conftest.$ac_ext | |
8472 | echo '#line 8473 "configure"' > conftest.$ac_ext | |
8376 | 8473 | if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 |
8377 | 8474 | (eval $ac_compile) 2>&5 |
8378 | 8475 | ac_status=$? |
9739 | 9836 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ |
9740 | 9837 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ |
9741 | 9838 | -e 's:$: $lt_compiler_flag:'` |
9742 | (eval echo "\"\$as_me:9743: $lt_compile\"" >&5) | |
9839 | (eval echo "\"\$as_me:9840: $lt_compile\"" >&5) | |
9743 | 9840 | (eval "$lt_compile" 2>conftest.err) |
9744 | 9841 | ac_status=$? |
9745 | 9842 | cat conftest.err >&5 |
9746 | echo "$as_me:9747: \$? = $ac_status" >&5 | |
9843 | echo "$as_me:9844: \$? = $ac_status" >&5 | |
9747 | 9844 | if (exit $ac_status) && test -s "$ac_outfile"; then |
9748 | 9845 | # The compiler can only warn and ignore the option if not recognized |
9749 | 9846 | # So say no if there are warnings other than the usual output. |
10078 | 10175 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ |
10079 | 10176 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ |
10080 | 10177 | -e 's:$: $lt_compiler_flag:'` |
10081 | (eval echo "\"\$as_me:10082: $lt_compile\"" >&5) | |
10178 | (eval echo "\"\$as_me:10179: $lt_compile\"" >&5) | |
10082 | 10179 | (eval "$lt_compile" 2>conftest.err) |
10083 | 10180 | ac_status=$? |
10084 | 10181 | cat conftest.err >&5 |
10085 | echo "$as_me:10086: \$? = $ac_status" >&5 | |
10182 | echo "$as_me:10183: \$? = $ac_status" >&5 | |
10086 | 10183 | if (exit $ac_status) && test -s "$ac_outfile"; then |
10087 | 10184 | # The compiler can only warn and ignore the option if not recognized |
10088 | 10185 | # So say no if there are warnings other than the usual output. |
10183 | 10280 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ |
10184 | 10281 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ |
10185 | 10282 | -e 's:$: $lt_compiler_flag:'` |
10186 | (eval echo "\"\$as_me:10187: $lt_compile\"" >&5) | |
10283 | (eval echo "\"\$as_me:10284: $lt_compile\"" >&5) | |
10187 | 10284 | (eval "$lt_compile" 2>out/conftest.err) |
10188 | 10285 | ac_status=$? |
10189 | 10286 | cat out/conftest.err >&5 |
10190 | echo "$as_me:10191: \$? = $ac_status" >&5 | |
10287 | echo "$as_me:10288: \$? = $ac_status" >&5 | |
10191 | 10288 | if (exit $ac_status) && test -s out/conftest2.$ac_objext |
10192 | 10289 | then |
10193 | 10290 | # The compiler can only warn and ignore the option if not recognized |
10238 | 10335 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ |
10239 | 10336 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ |
10240 | 10337 | -e 's:$: $lt_compiler_flag:'` |
10241 | (eval echo "\"\$as_me:10242: $lt_compile\"" >&5) | |
10338 | (eval echo "\"\$as_me:10339: $lt_compile\"" >&5) | |
10242 | 10339 | (eval "$lt_compile" 2>out/conftest.err) |
10243 | 10340 | ac_status=$? |
10244 | 10341 | cat out/conftest.err >&5 |
10245 | echo "$as_me:10246: \$? = $ac_status" >&5 | |
10342 | echo "$as_me:10343: \$? = $ac_status" >&5 | |
10246 | 10343 | if (exit $ac_status) && test -s out/conftest2.$ac_objext |
10247 | 10344 | then |
10248 | 10345 | # The compiler can only warn and ignore the option if not recognized |
13041 | 13138 | lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 |
13042 | 13139 | lt_status=$lt_dlunknown |
13043 | 13140 | cat > conftest.$ac_ext <<_LT_EOF |
13044 | #line 13045 "configure" | |
13141 | #line 13142 "configure" | |
13045 | 13142 | #include "confdefs.h" |
13046 | 13143 | |
13047 | 13144 | #if HAVE_DLFCN_H |
13137 | 13234 | lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 |
13138 | 13235 | lt_status=$lt_dlunknown |
13139 | 13236 | cat > conftest.$ac_ext <<_LT_EOF |
13140 | #line 13141 "configure" | |
13237 | #line 13238 "configure" | |
13141 | 13238 | #include "confdefs.h" |
13142 | 13239 | |
13143 | 13240 | #if HAVE_DLFCN_H |
14746 | 14843 | cat confdefs.h >>conftest.$ac_ext |
14747 | 14844 | cat >>conftest.$ac_ext <<_ACEOF |
14748 | 14845 | /* end confdefs.h. */ |
14846 | ||
14749 | 14847 | $ac_includes_default |
14848 | #ifdef HAVE_WINSOCK2_H | |
14849 | # include <winsock2.h> | |
14850 | #endif | |
14851 | ||
14852 | ||
14750 | 14853 | int |
14751 | 14854 | main () |
14752 | 14855 | { |
14780 | 14883 | cat confdefs.h >>conftest.$ac_ext |
14781 | 14884 | cat >>conftest.$ac_ext <<_ACEOF |
14782 | 14885 | /* end confdefs.h. */ |
14886 | ||
14783 | 14887 | $ac_includes_default |
14888 | #ifdef HAVE_WINSOCK2_H | |
14889 | # include <winsock2.h> | |
14890 | #endif | |
14891 | ||
14892 | ||
14784 | 14893 | int |
14785 | 14894 | main () |
14786 | 14895 | { |
14832 | 14941 | : |
14833 | 14942 | else |
14834 | 14943 | |
14835 | cat >>confdefs.h <<_ACEOF | |
14944 | cat >>confdefs.h <<\_ACEOF | |
14836 | 14945 | #define u_char unsigned char |
14837 | 14946 | _ACEOF |
14838 | 14947 | |
14852 | 14961 | /* end confdefs.h. */ |
14853 | 14962 | |
14854 | 14963 | $ac_includes_default |
14855 | #if HAVE_SYS_RESOURCE_H | |
14964 | #ifdef HAVE_SYS_RESOURCE_H | |
14856 | 14965 | # include <sys/resource.h> |
14857 | 14966 | #endif |
14858 | 14967 | |
14892 | 15001 | /* end confdefs.h. */ |
14893 | 15002 | |
14894 | 15003 | $ac_includes_default |
14895 | #if HAVE_SYS_RESOURCE_H | |
15004 | #ifdef HAVE_SYS_RESOURCE_H | |
14896 | 15005 | # include <sys/resource.h> |
14897 | 15006 | #endif |
14898 | 15007 | |
14969 | 15078 | /* end confdefs.h. */ |
14970 | 15079 | |
14971 | 15080 | $ac_includes_default |
14972 | #if HAVE_SYS_SOCKET_H | |
15081 | #ifdef HAVE_SYS_SOCKET_H | |
14973 | 15082 | # include <sys/socket.h> |
15083 | #endif | |
15084 | #ifdef HAVE_WS2TCPIP_H | |
15085 | # include <ws2tcpip.h> | |
14974 | 15086 | #endif |
14975 | 15087 | |
14976 | 15088 | |
15009 | 15121 | /* end confdefs.h. */ |
15010 | 15122 | |
15011 | 15123 | $ac_includes_default |
15012 | #if HAVE_SYS_SOCKET_H | |
15124 | #ifdef HAVE_SYS_SOCKET_H | |
15013 | 15125 | # include <sys/socket.h> |
15126 | #endif | |
15127 | #ifdef HAVE_WS2TCPIP_H | |
15128 | # include <ws2tcpip.h> | |
15014 | 15129 | #endif |
15015 | 15130 | |
15016 | 15131 | |
15085 | 15200 | /* end confdefs.h. */ |
15086 | 15201 | |
15087 | 15202 | $ac_includes_default |
15088 | #if HAVE_SYS_TYPES_H | |
15203 | #ifdef HAVE_SYS_TYPES_H | |
15089 | 15204 | # include <sys/types.h> |
15090 | 15205 | #endif |
15091 | #if HAVE_NETINET_IN_H | |
15206 | #ifdef HAVE_NETINET_IN_H | |
15092 | 15207 | # include <netinet/in.h> |
15093 | 15208 | #endif |
15094 | 15209 | |
15128 | 15243 | /* end confdefs.h. */ |
15129 | 15244 | |
15130 | 15245 | $ac_includes_default |
15131 | #if HAVE_SYS_TYPES_H | |
15246 | #ifdef HAVE_SYS_TYPES_H | |
15132 | 15247 | # include <sys/types.h> |
15133 | 15248 | #endif |
15134 | #if HAVE_NETINET_IN_H | |
15249 | #ifdef HAVE_NETINET_IN_H | |
15135 | 15250 | # include <netinet/in.h> |
15136 | 15251 | #endif |
15137 | 15252 | |
15207 | 15322 | /* end confdefs.h. */ |
15208 | 15323 | |
15209 | 15324 | $ac_includes_default |
15210 | #if HAVE_SYS_TYPES_H | |
15325 | #ifdef HAVE_SYS_TYPES_H | |
15211 | 15326 | # include <sys/types.h> |
15212 | 15327 | #endif |
15213 | #if HAVE_NETINET_IN_H | |
15328 | #ifdef HAVE_NETINET_IN_H | |
15214 | 15329 | # include <netinet/in.h> |
15215 | 15330 | #endif |
15216 | 15331 | |
15250 | 15365 | /* end confdefs.h. */ |
15251 | 15366 | |
15252 | 15367 | $ac_includes_default |
15253 | #if HAVE_SYS_TYPES_H | |
15368 | #ifdef HAVE_SYS_TYPES_H | |
15254 | 15369 | # include <sys/types.h> |
15255 | 15370 | #endif |
15256 | #if HAVE_NETINET_IN_H | |
15371 | #ifdef HAVE_NETINET_IN_H | |
15257 | 15372 | # include <netinet/in.h> |
15258 | 15373 | #endif |
15259 | 15374 | |
16862 | 16977 | $as_echo "$as_me: error: Need SSL library to do digital signature cryptography" >&2;} |
16863 | 16978 | { (exit 1); exit 1; }; } |
16864 | 16979 | fi |
16980 | ||
16981 | withval=$withval | |
16865 | 16982 | if test x_$withval != x_no; then |
16866 | 16983 | { $as_echo "$as_me:$LINENO: checking for SSL" >&5 |
16867 | 16984 | $as_echo_n "checking for SSL... " >&6; } |
16877 | 16994 | #define HAVE_SSL /**/ |
16878 | 16995 | _ACEOF |
16879 | 16996 | |
16880 | if test "$ssldir" != "/usr"; then | |
16881 | CPPFLAGS="$CPPFLAGS -I$ssldir/include" | |
16882 | fi | |
16997 | if test "$ssldir" != "/usr"; then | |
16998 | CPPFLAGS="$CPPFLAGS -I$ssldir/include" | |
16999 | fi | |
16883 | 17000 | break; |
16884 | 17001 | fi |
16885 | 17002 | done |
16891 | 17008 | { $as_echo "$as_me:$LINENO: result: found in $ssldir" >&5 |
16892 | 17009 | $as_echo "found in $ssldir" >&6; } |
16893 | 17010 | HAVE_SSL=yes |
16894 | if test "$ssldir" != "/usr" -a "$ssldir" != ""; then | |
17011 | if test "$ssldir" != "/usr" -a "$ssldir" != ""; then | |
16895 | 17012 | LDFLAGS="$LDFLAGS -L$ssldir/lib" |
16896 | 17013 | |
16897 | 17014 | if test "x$enable_rpath" = xyes; then |
16900 | 17017 | fi |
16901 | 17018 | fi |
16902 | 17019 | |
16903 | fi | |
16904 | ||
16905 | { $as_echo "$as_me:$LINENO: checking for HMAC_CTX_init in -lcrypto" >&5 | |
17020 | fi | |
17021 | ||
17022 | { $as_echo "$as_me:$LINENO: checking for HMAC_CTX_init in -lcrypto" >&5 | |
16906 | 17023 | $as_echo_n "checking for HMAC_CTX_init in -lcrypto... " >&6; } |
16907 | LIBS="$LIBS -lcrypto" | |
16908 | cat >conftest.$ac_ext <<_ACEOF | |
17024 | LIBS="$LIBS -lcrypto" | |
17025 | cat >conftest.$ac_ext <<_ACEOF | |
16909 | 17026 | /* confdefs.h. */ |
16910 | 17027 | _ACEOF |
16911 | 17028 | cat confdefs.h >>conftest.$ac_ext |
16916 | 17033 | main () |
16917 | 17034 | { |
16918 | 17035 | |
16919 | int HMAC_CTX_init(void); | |
16920 | (void)HMAC_CTX_init(); | |
17036 | int HMAC_CTX_init(void); | |
17037 | (void)HMAC_CTX_init(); | |
16921 | 17038 | |
16922 | 17039 | ; |
16923 | 17040 | return 0; |
16945 | 17062 | $as_test_x conftest$ac_exeext |
16946 | 17063 | }; then |
16947 | 17064 | |
16948 | { $as_echo "$as_me:$LINENO: result: yes" >&5 | |
17065 | { $as_echo "$as_me:$LINENO: result: yes" >&5 | |
16949 | 17066 | $as_echo "yes" >&6; } |
16950 | 17067 | |
16951 | 17068 | cat >>confdefs.h <<\_ACEOF |
16958 | 17075 | sed 's/^/| /' conftest.$ac_ext >&5 |
16959 | 17076 | |
16960 | 17077 | |
16961 | { $as_echo "$as_me:$LINENO: result: no" >&5 | |
17078 | { $as_echo "$as_me:$LINENO: result: no" >&5 | |
16962 | 17079 | $as_echo "no" >&6; } |
16963 | # check if -lwsock32 or -lgdi32 are needed. | |
16964 | BAKLIBS="$LIBS" | |
16965 | LIBS="$LIBS -lgdi32" | |
16966 | { $as_echo "$as_me:$LINENO: checking if -lcrypto needs -lgdi32" >&5 | |
17080 | # check if -lwsock32 or -lgdi32 are needed. | |
17081 | BAKLIBS="$LIBS" | |
17082 | LIBS="$LIBS -lgdi32" | |
17083 | { $as_echo "$as_me:$LINENO: checking if -lcrypto needs -lgdi32" >&5 | |
16967 | 17084 | $as_echo_n "checking if -lcrypto needs -lgdi32... " >&6; } |
16968 | cat >conftest.$ac_ext <<_ACEOF | |
17085 | cat >conftest.$ac_ext <<_ACEOF | |
16969 | 17086 | /* confdefs.h. */ |
16970 | 17087 | _ACEOF |
16971 | 17088 | cat confdefs.h >>conftest.$ac_ext |
16976 | 17093 | main () |
16977 | 17094 | { |
16978 | 17095 | |
16979 | int HMAC_CTX_init(void); | |
16980 | (void)HMAC_CTX_init(); | |
17096 | int HMAC_CTX_init(void); | |
17097 | (void)HMAC_CTX_init(); | |
16981 | 17098 | |
16982 | 17099 | ; |
16983 | 17100 | return 0; |
17010 | 17127 | #define HAVE_HMAC_CTX_INIT 1 |
17011 | 17128 | _ACEOF |
17012 | 17129 | |
17013 | { $as_echo "$as_me:$LINENO: result: yes" >&5 | |
17130 | { $as_echo "$as_me:$LINENO: result: yes" >&5 | |
17014 | 17131 | $as_echo "yes" >&6; } |
17015 | 17132 | |
17016 | 17133 | else |
17018 | 17135 | sed 's/^/| /' conftest.$ac_ext >&5 |
17019 | 17136 | |
17020 | 17137 | |
17021 | { $as_echo "$as_me:$LINENO: result: no" >&5 | |
17138 | { $as_echo "$as_me:$LINENO: result: no" >&5 | |
17022 | 17139 | $as_echo "no" >&6; } |
17023 | LIBS="$BAKLIBS" | |
17024 | LIBS="$LIBS -ldl" | |
17025 | { $as_echo "$as_me:$LINENO: checking if -lcrypto needs -ldl" >&5 | |
17140 | LIBS="$BAKLIBS" | |
17141 | LIBS="$LIBS -ldl" | |
17142 | { $as_echo "$as_me:$LINENO: checking if -lcrypto needs -ldl" >&5 | |
17026 | 17143 | $as_echo_n "checking if -lcrypto needs -ldl... " >&6; } |
17027 | cat >conftest.$ac_ext <<_ACEOF | |
17144 | cat >conftest.$ac_ext <<_ACEOF | |
17028 | 17145 | /* confdefs.h. */ |
17029 | 17146 | _ACEOF |
17030 | 17147 | cat confdefs.h >>conftest.$ac_ext |
17035 | 17152 | main () |
17036 | 17153 | { |
17037 | 17154 | |
17038 | int HMAC_CTX_init(void); | |
17039 | (void)HMAC_CTX_init(); | |
17155 | int HMAC_CTX_init(void); | |
17156 | (void)HMAC_CTX_init(); | |
17040 | 17157 | |
17041 | 17158 | ; |
17042 | 17159 | return 0; |
17069 | 17186 | #define HAVE_HMAC_CTX_INIT 1 |
17070 | 17187 | _ACEOF |
17071 | 17188 | |
17072 | { $as_echo "$as_me:$LINENO: result: yes" >&5 | |
17189 | { $as_echo "$as_me:$LINENO: result: yes" >&5 | |
17073 | 17190 | $as_echo "yes" >&6; } |
17074 | 17191 | |
17075 | 17192 | else |
17077 | 17194 | sed 's/^/| /' conftest.$ac_ext >&5 |
17078 | 17195 | |
17079 | 17196 | |
17080 | { $as_echo "$as_me:$LINENO: result: no" >&5 | |
17197 | { $as_echo "$as_me:$LINENO: result: no" >&5 | |
17081 | 17198 | $as_echo "no" >&6; } |
17082 | 17199 | { { $as_echo "$as_me:$LINENO: error: OpenSSL found in $ssldir, but version 0.9.7 or higher is required" >&5 |
17083 | 17200 | $as_echo "$as_me: error: OpenSSL found in $ssldir, but version 0.9.7 or higher is required" >&2;} |
17289 | 17406 | fi |
17290 | 17407 | |
17291 | 17408 | done |
17409 | ||
17292 | 17410 | |
17293 | 17411 | |
17294 | 17412 | |
18582 | 18700 | staticexe="-static" |
18583 | 18701 | if test "$on_mingw" = yes; then |
18584 | 18702 | staticexe="-all-static" |
18703 | # for static crosscompile, include gdi32 and zlib here. | |
18704 | if test "`uname`" = "Linux"; then | |
18705 | LIBS="$LIBS -lgdi32 -lz" | |
18706 | fi | |
18585 | 18707 | fi |
18586 | 18708 | fi |
18587 | 18709 | |
18614 | 18736 | _ACEOF |
18615 | 18737 | |
18616 | 18738 | else |
18739 | ||
18617 | 18740 | |
18618 | 18741 | for ac_header in stdlib.h |
18619 | 18742 | do |
18857 | 18980 | fi |
18858 | 18981 | |
18859 | 18982 | |
18983 | ||
18984 | if test "$ac_cv_func_malloc_0_nonnull" = no; then | |
18985 | ||
18986 | cat >>confdefs.h <<_ACEOF | |
18987 | #define malloc rpl_malloc_unbound | |
18988 | _ACEOF | |
18989 | ||
18990 | fi | |
18860 | 18991 | |
18861 | 18992 | fi |
18862 | 18993 | |
20357 | 20488 | |
20358 | 20489 | UB_ON_WINDOWS=yes |
20359 | 20490 | |
20491 | if test -n "$ac_tool_prefix"; then | |
20492 | # Extract the first word of "${ac_tool_prefix}windres", so it can be a program name with args. | |
20493 | set dummy ${ac_tool_prefix}windres; ac_word=$2 | |
20494 | { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 | |
20495 | $as_echo_n "checking for $ac_word... " >&6; } | |
20496 | if test "${ac_cv_prog_WINDRES+set}" = set; then | |
20497 | $as_echo_n "(cached) " >&6 | |
20498 | else | |
20499 | if test -n "$WINDRES"; then | |
20500 | ac_cv_prog_WINDRES="$WINDRES" # Let the user override the test. | |
20501 | else | |
20502 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | |
20503 | for as_dir in $PATH | |
20504 | do | |
20505 | IFS=$as_save_IFS | |
20506 | test -z "$as_dir" && as_dir=. | |
20507 | for ac_exec_ext in '' $ac_executable_extensions; do | |
20508 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | |
20509 | ac_cv_prog_WINDRES="${ac_tool_prefix}windres" | |
20510 | $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | |
20511 | break 2 | |
20512 | fi | |
20513 | done | |
20514 | done | |
20515 | IFS=$as_save_IFS | |
20516 | ||
20517 | fi | |
20518 | fi | |
20519 | WINDRES=$ac_cv_prog_WINDRES | |
20520 | if test -n "$WINDRES"; then | |
20521 | { $as_echo "$as_me:$LINENO: result: $WINDRES" >&5 | |
20522 | $as_echo "$WINDRES" >&6; } | |
20523 | else | |
20524 | { $as_echo "$as_me:$LINENO: result: no" >&5 | |
20525 | $as_echo "no" >&6; } | |
20526 | fi | |
20527 | ||
20528 | ||
20529 | fi | |
20530 | if test -z "$ac_cv_prog_WINDRES"; then | |
20531 | ac_ct_WINDRES=$WINDRES | |
20532 | # Extract the first word of "windres", so it can be a program name with args. | |
20533 | set dummy windres; ac_word=$2 | |
20534 | { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 | |
20535 | $as_echo_n "checking for $ac_word... " >&6; } | |
20536 | if test "${ac_cv_prog_ac_ct_WINDRES+set}" = set; then | |
20537 | $as_echo_n "(cached) " >&6 | |
20538 | else | |
20539 | if test -n "$ac_ct_WINDRES"; then | |
20540 | ac_cv_prog_ac_ct_WINDRES="$ac_ct_WINDRES" # Let the user override the test. | |
20541 | else | |
20542 | as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | |
20543 | for as_dir in $PATH | |
20544 | do | |
20545 | IFS=$as_save_IFS | |
20546 | test -z "$as_dir" && as_dir=. | |
20547 | for ac_exec_ext in '' $ac_executable_extensions; do | |
20548 | if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then | |
20549 | ac_cv_prog_ac_ct_WINDRES="windres" | |
20550 | $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | |
20551 | break 2 | |
20552 | fi | |
20553 | done | |
20554 | done | |
20555 | IFS=$as_save_IFS | |
20556 | ||
20557 | fi | |
20558 | fi | |
20559 | ac_ct_WINDRES=$ac_cv_prog_ac_ct_WINDRES | |
20560 | if test -n "$ac_ct_WINDRES"; then | |
20561 | { $as_echo "$as_me:$LINENO: result: $ac_ct_WINDRES" >&5 | |
20562 | $as_echo "$ac_ct_WINDRES" >&6; } | |
20563 | else | |
20564 | { $as_echo "$as_me:$LINENO: result: no" >&5 | |
20565 | $as_echo "no" >&6; } | |
20566 | fi | |
20567 | ||
20568 | if test "x$ac_ct_WINDRES" = x; then | |
20569 | WINDRES="" | |
20570 | else | |
20571 | case $cross_compiling:$ac_tool_warned in | |
20572 | yes:) | |
20573 | { $as_echo "$as_me:$LINENO: WARNING: using cross tools not prefixed with host triplet" >&5 | |
20574 | $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} | |
20575 | ac_tool_warned=yes ;; | |
20576 | esac | |
20577 | WINDRES=$ac_ct_WINDRES | |
20578 | fi | |
20579 | else | |
20580 | WINDRES="$ac_cv_prog_WINDRES" | |
20581 | fi | |
20582 | ||
20360 | 20583 | fi |
20361 | 20584 | if test $ac_cv_func_getaddrinfo = no; then |
20362 | 20585 | case " $LIBOBJS " in |
20736 | 20959 | |
20737 | 20960 | { $as_echo "$as_me:$LINENO: checking if nonblocking sockets work" >&5 |
20738 | 20961 | $as_echo_n "checking if nonblocking sockets work... " >&6; } |
20962 | if echo $target | grep mingw32 >/dev/null; then | |
20963 | { $as_echo "$as_me:$LINENO: result: no (windows)" >&5 | |
20964 | $as_echo "no (windows)" >&6; } | |
20965 | ||
20966 | cat >>confdefs.h <<\_ACEOF | |
20967 | #define NONBLOCKING_IS_BROKEN 1 | |
20968 | _ACEOF | |
20969 | ||
20970 | else | |
20739 | 20971 | if test "$cross_compiling" = yes; then |
20740 | 20972 | |
20741 | 20973 | { $as_echo "$as_me:$LINENO: result: crosscompile(yes)" >&5 |
20921 | 21153 | fi |
20922 | 21154 | |
20923 | 21155 | |
21156 | fi | |
20924 | 21157 | |
20925 | 21158 | |
20926 | 21159 | { $as_echo "$as_me:$LINENO: checking whether mkdir has one arg" >&5 |
22571 | 22804 | # report actual input values of CONFIG_FILES etc. instead of their |
22572 | 22805 | # values after options handling. |
22573 | 22806 | ac_log=" |
22574 | This file was extended by unbound $as_me 1.3.2, which was | |
22807 | This file was extended by unbound $as_me 1.3.3, which was | |
22575 | 22808 | generated by GNU Autoconf 2.63. Invocation command line was |
22576 | 22809 | |
22577 | 22810 | CONFIG_FILES = $CONFIG_FILES |
22634 | 22867 | _ACEOF |
22635 | 22868 | cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 |
22636 | 22869 | ac_cs_version="\\ |
22637 | unbound config.status 1.3.2 | |
22870 | unbound config.status 1.3.3 | |
22638 | 22871 | configured by $0, generated by GNU Autoconf 2.63, |
22639 | 22872 | with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" |
22640 | 22873 |
5 | 5 | sinclude(acx_python.m4) |
6 | 6 | sinclude(ac_pkg_swig.m4) |
7 | 7 | |
8 | AC_INIT(unbound, 1.3.2, unbound-bugs@nlnetlabs.nl, unbound) | |
8 | AC_INIT(unbound, 1.3.3, unbound-bugs@nlnetlabs.nl, unbound) | |
9 | 9 | |
10 | 10 | LIBUNBOUND_CURRENT=1 |
11 | LIBUNBOUND_REVISION=2 | |
11 | LIBUNBOUND_REVISION=3 | |
12 | 12 | LIBUNBOUND_AGE=0 |
13 | 13 | # 1.0.0 had 0:12:0 |
14 | 14 | # 1.0.1 had 0:13:0 |
20 | 20 | # 1.3.0 had 1:0:0 # ub_cancel and -export-symbols. |
21 | 21 | # 1.3.1 had 1:1:0 |
22 | 22 | # 1.3.2 had 1:2:0 |
23 | # 1.3.3 had 1:3:0 | |
23 | 24 | |
24 | 25 | # Current -- the number of the binary API that we're implementing |
25 | 26 | # Revision -- which iteration of the implementation of the binary |
57 | 58 | |
58 | 59 | # are we on MinGW? |
59 | 60 | if uname -s 2>&1 | grep MINGW32 >/dev/null; then on_mingw="yes" |
60 | else on_mingw="no"; fi | |
61 | else | |
62 | if echo $target | grep mingw32 >/dev/null; then on_mingw="yes" | |
63 | else on_mingw="no"; fi | |
64 | fi | |
61 | 65 | |
62 | 66 | # |
63 | 67 | # Determine configuration file |
179 | 183 | AC_PROG_LEX |
180 | 184 | AC_PROG_YACC |
181 | 185 | AC_CHECK_PROG(doxygen, doxygen, doxygen) |
186 | AC_CHECK_TOOL(STRIP, strip) | |
182 | 187 | ACX_LIBTOOL_C_ONLY |
183 | 188 | |
184 | 189 | # Checks for header files. |
441 | 446 | staticexe="-static" |
442 | 447 | if test "$on_mingw" = yes; then |
443 | 448 | staticexe="-all-static" |
449 | # for static crosscompile, include gdi32 and zlib here. | |
450 | if test "`uname`" = "Linux"; then | |
451 | LIBS="$LIBS -lgdi32 -lz" | |
452 | fi | |
444 | 453 | fi |
445 | 454 | fi |
446 | 455 | |
461 | 470 | if test x_$enable_alloc_checks = x_yes; then |
462 | 471 | AC_DEFINE(UNBOUND_ALLOC_STATS, 1, [use statistics for allocs and frees, for debug use]) |
463 | 472 | else |
464 | AC_FUNC_MALLOC | |
473 | ACX_FUNC_MALLOC([unbound]) | |
465 | 474 | fi |
466 | 475 | |
467 | 476 | AC_FUNC_CHOWN |
475 | 484 | AC_DEFINE(UB_ON_WINDOWS, 1, [Use win32 resources and API]) |
476 | 485 | UB_ON_WINDOWS=yes |
477 | 486 | AC_SUBST(UB_ON_WINDOWS) |
487 | AC_CHECK_TOOL(WINDRES, windres) | |
478 | 488 | fi |
479 | 489 | if test $ac_cv_func_getaddrinfo = no; then |
480 | 490 | AC_LIBOBJ([fake-rfc2553]) |
633 | 643 | AHX_CONFIG_FORMAT_ATTRIBUTE |
634 | 644 | AHX_CONFIG_UNUSED_ATTRIBUTE |
635 | 645 | AHX_CONFIG_FSEEKO |
636 | AHX_CONFIG_RAND_MAX | |
637 | 646 | AHX_CONFIG_MAXHOSTNAMELEN |
638 | 647 | AHX_CONFIG_SNPRINTF(unbound) |
639 | 648 | AHX_CONFIG_INET_PTON(unbound) |
Binary diff not shown
7 | 7 | |
8 | 8 | usage ( ) |
9 | 9 | { |
10 | echo "usage: update-anchor [-b] <zone name> <trust anchor file>" | |
10 | echo "usage: update-anchor [-r hs] [-b] <zone name> <trust anchor file>" | |
11 | 11 | echo " performs an update of trust anchor file" |
12 | 12 | echo " the trust anchor file is overwritten with the latest keys" |
13 | 13 | echo " the trust anchor file should contain only keys for one zone" |
15 | 15 | echo " without -b the file is made in unbound format." |
16 | 16 | echo " " |
17 | 17 | echo "alternate:" |
18 | echo " update-anchor [-b] -d directory" | |
18 | echo " update-anchor [-r hints] [-b] -d directory" | |
19 | 19 | echo " update all <zone>.anchor files in the directory." |
20 | 20 | echo " " |
21 | 21 | echo " name the files br.anchor se.anchor ..., and include them in" |
22 | 22 | echo " the validating resolver config file." |
23 | 23 | echo " put keys for the root in a file with the name root.anchor." |
24 | echo "" | |
25 | echo "-r root.hints use different root hints. Strict option order." | |
24 | 26 | echo "" |
25 | 27 | echo "Exit code 0 means anchors updated, 1 no changes, others are errors." |
26 | 28 | exit 2 |
31 | 33 | fi |
32 | 34 | bindformat="no" |
33 | 35 | filearg='-f' |
36 | roothints="" | |
37 | if test X"$1" = "X-r"; then | |
38 | shift | |
39 | roothints="$1" | |
40 | shift | |
41 | fi | |
34 | 42 | if test X"$1" = "X-b"; then |
35 | 43 | shift |
36 | 44 | bindformat="yes" |
45 | 53 | # arguments: <zonename> <keyfile> |
46 | 54 | zonename="$1" |
47 | 55 | keyfile="$2" |
56 | tmpfile="/tmp/update-anchor.$$" | |
48 | 57 | tmp2=$tmpfile.2 |
49 | ||
50 | tmpfile="/tmp/update-anchor.$$" | |
51 | $ubhost -v $filearg "$keyfile" -t DNSKEY "$zonename" >$tmpfile | |
58 | tmp3=$tmpfile.3 | |
59 | rh="" | |
60 | if test -n "$roothints"; then | |
61 | echo "server: root-hints: '$roothints'" > $tmp3 | |
62 | rh="-C $tmp3" | |
63 | fi | |
64 | $ubhost -v $rh $filearg "$keyfile" -t DNSKEY "$zonename" >$tmpfile | |
52 | 65 | if test $? -ne 0; then |
53 | 66 | rm -f $tmpfile |
54 | 67 | echo "Error: Could not update zone $zonename anchor file $keyfile" |
64 | 77 | rm -f $tmpfile |
65 | 78 | echo "Error: Could not update zone $zonename anchor file $keyfile" |
66 | 79 | echo "Cause: result of lookup was not secure" |
67 | echo " (keys too far out of date? domain changed ownership?)" | |
80 | echo " (keys too far out of date? domain changed ownership? need root hints?)" | |
68 | 81 | return 3 |
69 | 82 | fi |
70 | 83 | |
114 | 127 | echo "$zonename key file $keyfile unchanged." |
115 | 128 | fi |
116 | 129 | |
117 | rm -f $tmpfile $tmp2 | |
130 | rm -f $tmpfile $tmp2 $tmp3 | |
118 | 131 | } |
119 | 132 | |
120 | 133 | no_updated=1 |
0 | unbound (1.3.3-1) unstable; urgency=low | |
1 | ||
2 | * New upstream release. | |
3 | * Drop .la file from libunbound-dev; closes: #541640. | |
4 | ||
5 | -- Robert S. Edmonds <edmonds@debian.org> Sun, 23 Aug 2009 13:25:53 -0400 | |
6 | ||
0 | 7 | unbound (1.3.2-1) unstable; urgency=low |
1 | 8 | |
2 | 9 | * New upstream release. |
0 | 0 | usr/include/unbound.h usr/include |
1 | 1 | usr/lib/libunbound.a usr/lib |
2 | usr/lib/libunbound.la usr/lib | |
3 | 2 | usr/lib/libunbound.so usr/lib |
4 | 3 | usr/share/man/man3/libunbound.3 usr/share/man/man3 |
0 | 4 August 2009: Wouter | |
1 | - Added test that the examples from draft rsasha256-14 verify. | |
2 | - iana portlist updated. | |
3 | ||
4 | 3 August 2009: Wouter | |
5 | - nicer warning when algorithm not supported, tells you to upgrade. | |
6 | - iana portlist updated. | |
7 | ||
8 | 27 July 2009: Wouter | |
9 | - Updated unbound-cacti contribution from Dmitriy Demidov, with | |
10 | the queue statistics displayed in its own graph. | |
11 | - iana portlist updated. | |
12 | ||
13 | 22 July 2009: Wouter | |
14 | - Fix bug found by Michael Tokarev where unbound would try to | |
15 | prime the root servers even though forwarders are configured for | |
16 | the root. | |
17 | - tagged 1.3.3rc1 | |
18 | ||
19 | 21 July 2009: Wouter | |
20 | - Fix server selection, so that it waits for open target queries when | |
21 | faced with lameness. | |
22 | ||
23 | 20 July 2009: Wouter | |
24 | - Ignore transient sendto errors, no route to host, and host, net down. | |
25 | - contrib/update-anchor.sh has -r option for root-hints. | |
26 | - feature val-log-level: 1 prints validation failures so you can | |
27 | keep track of them during dnssec deployment. | |
28 | ||
29 | 16 July 2009: Wouter | |
30 | - fix replacement malloc code. Used in crosscompile. | |
31 | - makedist -w creates crosscompiled setup.exe on fedora11. | |
32 | ||
33 | 15 July 2009: Wouter | |
34 | - dependencies for compat items, for crosscompile. | |
35 | - mingw32 crosscompile changes, dependencies and zipfile creation. | |
36 | and with System.dll from the windows NSIS you can make setup.exe. | |
37 | - package libgcc_s_sjlj exception handler for NSISdl.dll. | |
38 | ||
39 | 14 July 2009: Wouter | |
40 | - updated ldns tarball for solaris x64 compile assistance. | |
41 | - no need to define RAND_MAX from config.h. | |
42 | - iana portlist updated. | |
43 | - configure changes and ldns update for mingw32 crosscompile. | |
44 | ||
0 | 45 | 13 July 2009: Wouter |
1 | 46 | - Fix for crash at start on windows. |
47 | - tag for release 1.3.2. | |
48 | - trunk has version 1.3.3. | |
49 | - Fix for ID bits on windows to use all 16. RAND_MAX was not | |
50 | defined like you'd expect on mingw. Reported by Mees de Roo. | |
2 | 51 | |
3 | 52 | 9 July 2009: Wouter |
4 | 53 | - tag for release 1.3.1. |
0 | README for Unbound 1.3.2 | |
0 | README for Unbound 1.3.3 | |
1 | 1 | Copyright 2007 NLnet Labs |
2 | 2 | http://unbound.net |
3 | 3 | |
94 | 94 | the unbound-control-setup script creates the keys with restricted |
95 | 95 | permissions, and the files need to be made readable or ownered by both the |
96 | 96 | unbound daemon and unbound-control. |
97 | o Crosscompile seems to hang. You tried to install unbound under wine. | |
98 | wine regedit and remove all the unbound entries from the registry or | |
99 | delete .wine/drive_c. | |
97 | 100 | |
98 | 101 | Acknowledgements |
99 | 102 | ---------------- |
141 | 141 | The dnssec retry scheme works without this cache entry. |
142 | 142 | * If the key cache entry 'being-backed-off' is true and isdata then: |
143 | 143 | The parent is backedoff, it must be the childs fault. Retry to child. |
144 | if the child-dnskey is bogus, then retry is useless, stop. | |
144 | 145 | Perform a child-retry - purge dataonly, childside, mark |
145 | 146 | data-IPaddress from child as to avoid-forquery. counterperquery, |
146 | 147 | max is 3, if reached, set this data element RRset&msg to the |
340 | 340 | # result in interesting log files and possibly the AD bit in |
341 | 341 | # replies if the message is found secure. The default is off. |
342 | 342 | # val-permissive-mode: no |
343 | ||
344 | # Have the validator log failed validations for your diagnosis. | |
345 | # 0: off. 1: A line per failed user query. | |
346 | # val-log-level: 0 | |
343 | 347 | |
344 | 348 | # It is possible to configure NSEC3 maximum iteration counts per |
345 | 349 | # keysize. Keep this table very short, as linear search is done. |
0 | .TH "libunbound" "3" "Jul 13, 2009" "NLnet Labs" "unbound 1.3.2" | |
0 | .TH "libunbound" "3" "Aug 4, 2009" "NLnet Labs" "unbound 1.3.3" | |
1 | 1 | .\" |
2 | 2 | .\" libunbound.3 -- unbound library functions manual |
3 | 3 | .\" |
40 | 40 | .B ub_ctx_zone_remove, |
41 | 41 | .B ub_ctx_data_add, |
42 | 42 | .B ub_ctx_data_remove |
43 | \- Unbound DNS validating resolver 1.3.2 functions. | |
43 | \- Unbound DNS validating resolver 1.3.3 functions. | |
44 | 44 | .SH "SYNOPSIS" |
45 | 45 | .LP |
46 | 46 | .B #include <unbound.h> |
0 | .TH "unbound-checkconf" "8" "Jul 13, 2009" "NLnet Labs" "unbound 1.3.2" | |
0 | .TH "unbound-checkconf" "8" "Aug 4, 2009" "NLnet Labs" "unbound 1.3.3" | |
1 | 1 | .\" |
2 | 2 | .\" unbound-checkconf.8 -- unbound configuration checker manual |
3 | 3 | .\" |
0 | .TH "unbound-control" "8" "Jul 13, 2009" "NLnet Labs" "unbound 1.3.2" | |
0 | .TH "unbound-control" "8" "Aug 4, 2009" "NLnet Labs" "unbound 1.3.3" | |
1 | 1 | .\" |
2 | 2 | .\" unbound-control.8 -- unbound remote control manual |
3 | 3 | .\" |
0 | .TH "unbound\-host" "1" "Jul 13, 2009" "NLnet Labs" "unbound 1.3.2" | |
0 | .TH "unbound\-host" "1" "Aug 4, 2009" "NLnet Labs" "unbound 1.3.3" | |
1 | 1 | .\" |
2 | 2 | .\" unbound-host.1 -- unbound DNS lookup utility |
3 | 3 | .\" |
0 | .TH "unbound" "8" "Jul 13, 2009" "NLnet Labs" "unbound 1.3.2" | |
0 | .TH "unbound" "8" "Aug 4, 2009" "NLnet Labs" "unbound 1.3.3" | |
1 | 1 | .\" |
2 | 2 | .\" unbound.8 -- unbound manual |
3 | 3 | .\" |
9 | 9 | .SH "NAME" |
10 | 10 | .LP |
11 | 11 | .B unbound |
12 | \- Unbound DNS validating resolver 1.3.2. | |
12 | \- Unbound DNS validating resolver 1.3.3. | |
13 | 13 | .SH "SYNOPSIS" |
14 | 14 | .LP |
15 | 15 | .B unbound |
0 | .TH "unbound.conf" "5" "Jul 13, 2009" "NLnet Labs" "unbound 1.3.2" | |
0 | .TH "unbound.conf" "5" "Aug 4, 2009" "NLnet Labs" "unbound 1.3.3" | |
1 | 1 | .\" |
2 | 2 | .\" unbound.conf.5 -- unbound.conf manual |
3 | 3 | .\" |
561 | 561 | indeterminate or unchecked are not affected. Default is yes. Use this setting |
562 | 562 | to protect the users that rely on this validator for authentication from |
563 | 563 | protentially bad data in the additional section. |
564 | .TP | |
565 | .B val\-log\-level: \fI<number> | |
566 | Have the validator print validation failures to the log. Regardless of the | |
567 | verbosity setting. Default is 0, off. At 1, for every user query that fails | |
568 | a line is printed to the logs. This way you can monitor what happens with | |
569 | validation. Use a diagnosis tool, such as dig or drill, to find out why | |
570 | validation is failing for these queries. | |
564 | 571 | .TP |
565 | 572 | .B val\-permissive\-mode: \fI<yes or no> |
566 | 573 | Instruct the validator to mark bogus messages as indeterminate. The security |
344 | 344 | return NULL; |
345 | 345 | } |
346 | 346 | |
347 | struct delegpt* | |
348 | forwards_lookup_root(struct iter_forwards* fwd, uint16_t qclass) | |
349 | { | |
350 | uint8_t root = 0; | |
351 | return forwards_lookup(fwd, &root, qclass); | |
352 | } | |
353 | ||
347 | 354 | size_t |
348 | 355 | forwards_get_mem(struct iter_forwards* fwd) |
349 | 356 | { |
119 | 119 | uint8_t* qname, uint16_t qclass); |
120 | 120 | |
121 | 121 | /** |
122 | * Same as forwards_lookup, but for the root only | |
123 | * @param fwd: forward storage. | |
124 | * @param qclass: The qclass of the query. | |
125 | * @return: A delegation point if root forward exists, otherwise null. | |
126 | */ | |
127 | struct delegpt* forwards_lookup_root(struct iter_forwards* fwd, | |
128 | uint16_t qclass); | |
129 | ||
130 | /** | |
122 | 131 | * Get memory in use by forward storage |
123 | 132 | * @param fwd: forward storage. |
124 | 133 | * @return bytes in use |
232 | 232 | static int |
233 | 233 | iter_filter_order(struct iter_env* iter_env, struct module_env* env, |
234 | 234 | uint8_t* name, size_t namelen, uint16_t qtype, uint32_t now, |
235 | struct delegpt* dp, int* selected_rtt) | |
235 | struct delegpt* dp, int* selected_rtt, int open_target) | |
236 | 236 | { |
237 | 237 | int got_num = 0, low_rtt = 0, swap_to_front; |
238 | 238 | struct delegpt_addr* a, *n, *prev=NULL; |
243 | 243 | if(got_num == 0) |
244 | 244 | return 0; |
245 | 245 | if(low_rtt >= USEFUL_SERVER_TOP_TIMEOUT && |
246 | delegpt_count_missing_targets(dp) > 0) | |
246 | (delegpt_count_missing_targets(dp) > 0 || open_target > 0)) | |
247 | 247 | return 0; /* we want more choice. The best choice is a bad one. |
248 | 248 | return 0 to force the caller to fetch more */ |
249 | 249 | |
285 | 285 | iter_server_selection(struct iter_env* iter_env, |
286 | 286 | struct module_env* env, struct delegpt* dp, |
287 | 287 | uint8_t* name, size_t namelen, uint16_t qtype, int* dnssec_expected, |
288 | int* chase_to_rd) | |
288 | int* chase_to_rd, int open_target) | |
289 | 289 | { |
290 | 290 | int sel; |
291 | 291 | int selrtt; |
292 | 292 | struct delegpt_addr* a, *prev; |
293 | 293 | int num = iter_filter_order(iter_env, env, name, namelen, qtype, |
294 | *env->now, dp, &selrtt); | |
294 | *env->now, dp, &selrtt, open_target); | |
295 | 295 | |
296 | 296 | if(num == 0) |
297 | 297 | return NULL; |
78 | 78 | * these are not preferred, but are used as a last resort. |
79 | 79 | * @param chase_to_rd: set to 1 if a known recursion lame server is selected |
80 | 80 | * these are not preferred, but are used as a last resort. |
81 | * @param open_target: number of currently outstanding target queries. | |
82 | * If we wait for these, perhaps more server addresses become available. | |
81 | 83 | * @return best target or NULL if no target. |
82 | 84 | * if not null, that target is removed from the result list in the dp. |
83 | 85 | */ |
84 | 86 | struct delegpt_addr* iter_server_selection(struct iter_env* iter_env, |
85 | 87 | struct module_env* env, struct delegpt* dp, uint8_t* name, |
86 | 88 | size_t namelen, uint16_t qtype, int* dnssec_expected, |
87 | int* chase_to_rd); | |
89 | int* chase_to_rd, int open_target); | |
88 | 90 | |
89 | 91 | /** |
90 | 92 | * Allocate dns_msg from parsed msg, in regional. |
950 | 950 | /* If the cache has returned nothing, then we have a |
951 | 951 | * root priming situation. */ |
952 | 952 | if(iq->dp == NULL) { |
953 | if(forwards_lookup_root(qstate->env->fwds, | |
954 | iq->qchase.qclass)) { | |
955 | /* forward zone root, no root prime needed */ | |
956 | /* fill in some dp - safety belt */ | |
957 | iq->dp = hints_lookup_root(ie->hints, | |
958 | iq->qchase.qclass); | |
959 | if(!iq->dp) { | |
960 | log_err("internal error: no hints dp"); | |
961 | return error_response(qstate, id, | |
962 | LDNS_RCODE_SERVFAIL); | |
963 | } | |
964 | iq->dp = delegpt_copy(iq->dp, qstate->region); | |
965 | if(!iq->dp) { | |
966 | log_err("out of memory in safety belt"); | |
967 | return error_response(qstate, id, | |
968 | LDNS_RCODE_SERVFAIL); | |
969 | } | |
970 | return next_state(iq, INIT_REQUEST_2_STATE); | |
971 | } | |
953 | 972 | /* Note that the result of this will set a new |
954 | 973 | * DelegationPoint based on the result of priming. */ |
955 | 974 | if(!prime_root(qstate, iq, ie, id, iq->qchase.qclass)) |
1325 | 1344 | /* Select the next usable target, filtering out unsuitable targets. */ |
1326 | 1345 | target = iter_server_selection(ie, qstate->env, iq->dp, |
1327 | 1346 | iq->dp->name, iq->dp->namelen, iq->qchase.qtype, |
1328 | &iq->dnssec_expected, &iq->chase_to_rd); | |
1347 | &iq->dnssec_expected, &iq->chase_to_rd, iq->num_target_queries); | |
1329 | 1348 | |
1330 | 1349 | /* If no usable target was selected... */ |
1331 | 1350 | if(!target) { |
Binary diff not shown
174 | 174 | else O_STR(opt, "dlv-anchor-file", dlv_anchor_file) |
175 | 175 | else O_DEC(opt, "val-bogus-ttl", bogus_ttl) |
176 | 176 | else O_YNO(opt, "val-clean-additional", val_clean_additional) |
177 | else O_DEC(opt, "val-log-level", val_log_level) | |
177 | 178 | else O_YNO(opt, "val-permissive-mode", val_permissive_mode) |
178 | 179 | else O_STR(opt, "val-nsec3-keysize-iterations",val_nsec3_key_iterations) |
179 | 180 | else O_MEM(opt, "key-cache-size", key_cache_size) |
359 | 359 | (unsigned)tv.tv_sec, (unsigned)tv.tv_usec); |
360 | 360 | log_addr(1, "from client", &p->addr, p->addr_len); |
361 | 361 | /* send it */ |
362 | sent = sendto(p->s, ldns_buffer_begin(pkt), | |
362 | sent = sendto(p->s, (void*)ldns_buffer_begin(pkt), | |
363 | 363 | ldns_buffer_limit(pkt), 0, |
364 | 364 | (struct sockaddr*)srv_addr, srv_len); |
365 | 365 | if(sent == -1) { |
383 | 383 | int i; |
384 | 384 | ssize_t r; |
385 | 385 | for(i=0; i<TRIES_PER_SELECT; i++) { |
386 | r = recv(p->s, ldns_buffer_begin(pkt), | |
386 | r = recv(p->s, (void*)ldns_buffer_begin(pkt), | |
387 | 387 | ldns_buffer_capacity(pkt), 0); |
388 | 388 | if(r == -1) { |
389 | 389 | #ifndef USE_WINSOCK |
402 | 402 | log_addr(1, "return reply to client", &p->addr, p->addr_len); |
403 | 403 | /* send reply back to the real client */ |
404 | 404 | p->numreturn++; |
405 | r = sendto(retsock, ldns_buffer_begin(pkt), (size_t)r, 0, | |
406 | (struct sockaddr*)&p->addr, p->addr_len); | |
405 | r = sendto(retsock, (void*)ldns_buffer_begin(pkt), (size_t)r, | |
406 | 0, (struct sockaddr*)&p->addr, p->addr_len); | |
407 | 407 | if(r == -1) { |
408 | 408 | #ifndef USE_WINSOCK |
409 | 409 | log_err("sendto: %s", strerror(errno)); |
491 | 491 | struct proxy* p; |
492 | 492 | for(i=0; i<TRIES_PER_SELECT; i++) { |
493 | 493 | from_len = (socklen_t)sizeof(from); |
494 | len = recvfrom(s, ldns_buffer_begin(pkt), | |
494 | len = recvfrom(s, (void*)ldns_buffer_begin(pkt), | |
495 | 495 | ldns_buffer_capacity(pkt), 0, |
496 | 496 | (struct sockaddr*)&from, &from_len); |
497 | 497 | if(len < 0) { |
635 | 635 | struct timeval* delay, ldns_buffer* pkt) |
636 | 636 | { |
637 | 637 | struct tcp_send_list* item; |
638 | ssize_t r = recv(s, ldns_buffer_begin(pkt), | |
638 | ssize_t r = recv(s, (void*)ldns_buffer_begin(pkt), | |
639 | 639 | ldns_buffer_capacity(pkt), 0); |
640 | 640 | if(r == -1) { |
641 | 641 | #ifndef USE_WINSOCK |
271 | 271 | perfsend(struct perfinfo* info, size_t n, struct timeval* now) |
272 | 272 | { |
273 | 273 | ssize_t r; |
274 | r = sendto(info->io[n].fd, info->qlist_data[info->qlist_idx], | |
274 | r = sendto(info->io[n].fd, (void*)info->qlist_data[info->qlist_idx], | |
275 | 275 | info->qlist_len[info->qlist_idx], 0, |
276 | 276 | (struct sockaddr*)&info->dest, info->destlen); |
277 | 277 | /*log_hex("send", info->qlist_data[info->qlist_idx], |
298 | 298 | perfreply(struct perfinfo* info, size_t n, struct timeval* now) |
299 | 299 | { |
300 | 300 | ssize_t r; |
301 | r = recv(info->io[n].fd, ldns_buffer_begin(info->buf), | |
301 | r = recv(info->io[n].fd, (void*)ldns_buffer_begin(info->buf), | |
302 | 302 | ldns_buffer_capacity(info->buf), 0); |
303 | 303 | if(r == -1) { |
304 | 304 | #ifndef USE_WINSOCK |
136 | 136 | exit(1); |
137 | 137 | } |
138 | 138 | } |
139 | if(send(fd, ldns_buffer_begin(buf), ldns_buffer_limit(buf), 0) < | |
139 | if(send(fd, (void*)ldns_buffer_begin(buf), ldns_buffer_limit(buf), 0) < | |
140 | 140 | (ssize_t)ldns_buffer_limit(buf)) { |
141 | 141 | #ifndef USE_WINSOCK |
142 | 142 | perror("send() data failed"); |
169 | 169 | len = ntohs(len); |
170 | 170 | ldns_buffer_clear(buf); |
171 | 171 | ldns_buffer_set_limit(buf, len); |
172 | if(recv(fd, ldns_buffer_begin(buf), len, 0) < (ssize_t)len) { | |
172 | if(recv(fd, (void*)ldns_buffer_begin(buf), len, 0) < | |
173 | (ssize_t)len) { | |
173 | 174 | #ifndef USE_WINSOCK |
174 | 175 | perror("read() data failed"); |
175 | 176 | #else |
181 | 182 | } else { |
182 | 183 | ssize_t l; |
183 | 184 | ldns_buffer_clear(buf); |
184 | if((l=recv(fd, ldns_buffer_begin(buf), | |
185 | if((l=recv(fd, (void*)ldns_buffer_begin(buf), | |
185 | 186 | ldns_buffer_capacity(buf), 0)) < 0) { |
186 | 187 | #ifndef USE_WINSOCK |
187 | 188 | perror("read() data failed"); |
406 | 406 | for(i=0; i<num; i++) { |
407 | 407 | a[i] = ub_random(r); |
408 | 408 | unit_assert(a[i] >= 0); |
409 | unit_assert((size_t)a[i] <= (size_t)RAND_MAX); | |
409 | unit_assert((size_t)a[i] <= (size_t)0x7fffffff); | |
410 | 410 | if(i > 5) |
411 | 411 | unit_assert(a[i] != a[i-1] || a[i] != a[i-2] || |
412 | 412 | a[i] != a[i-3] || a[i] != a[i-4] || |
476 | 476 | #if defined(HAVE_EVP_SHA256) && defined(USE_SHA2) |
477 | 477 | verifytest_file("testdata/test_signatures.9", "20070829144150"); |
478 | 478 | verifytest_file("testdata/test_signatures.11", "20070829144150"); |
479 | verifytest_file("testdata/test_signatures.14", "20090101000000"); | |
479 | 480 | #endif |
480 | 481 | #if defined(HAVE_EVP_SHA512) && defined(USE_SHA2) |
481 | /* Skip test. Algorithm number uncertainty | |
482 | 482 | verifytest_file("testdata/test_signatures.10", "20070829144150"); |
483 | */ | |
484 | 483 | #endif |
485 | 484 | verifytest_file("testdata/test_signatures.12", "20090107100022"); |
486 | 485 | verifytest_file("testdata/test_signatures.13", "20080414005004"); |
0 | ; config options | |
1 | server: | |
2 | trust-anchor: "example.com. 3600 IN DS 2854 3 1 46e4ffc6e9a4793b488954bd3f0cc6af0dfb201b" | |
3 | val-override-date: "20070916134226" | |
4 | ||
5 | stub-zone: | |
6 | name: "." | |
7 | stub-addr: 193.0.14.129 # K.ROOT-SERVERS.NET. | |
8 | ||
9 | CONFIG_END | |
10 | ||
11 | SCENARIO_BEGIN Bug test dnssec-lame detection at ds point with target queries. | |
12 | ||
13 | ; K.ROOT-SERVERS.NET. | |
14 | RANGE_BEGIN 0 100 | |
15 | ADDRESS 193.0.14.129 | |
16 | ENTRY_BEGIN | |
17 | MATCH opcode qtype qname | |
18 | ADJUST copy_id | |
19 | REPLY QR NOERROR | |
20 | SECTION QUESTION | |
21 | . IN NS | |
22 | SECTION ANSWER | |
23 | . IN NS K.ROOT-SERVERS.NET. | |
24 | SECTION ADDITIONAL | |
25 | K.ROOT-SERVERS.NET. IN A 193.0.14.129 | |
26 | ENTRY_END | |
27 | ||
28 | ENTRY_BEGIN | |
29 | MATCH opcode subdomain | |
30 | ADJUST copy_id copy_query | |
31 | REPLY QR NOERROR | |
32 | SECTION QUESTION | |
33 | com. IN A | |
34 | SECTION AUTHORITY | |
35 | com. IN NS a.gtld-servers.net. | |
36 | SECTION ADDITIONAL | |
37 | a.gtld-servers.net. IN A 192.5.6.30 | |
38 | ENTRY_END | |
39 | ||
40 | ENTRY_BEGIN | |
41 | MATCH opcode subdomain | |
42 | ADJUST copy_id copy_query | |
43 | REPLY QR NOERROR | |
44 | SECTION QUESTION | |
45 | net. IN A | |
46 | SECTION AUTHORITY | |
47 | net. IN NS e.gtld-servers.net. | |
48 | SECTION ADDITIONAL | |
49 | e.gtld-servers.net. IN A 192.12.94.30 | |
50 | ENTRY_END | |
51 | ||
52 | ENTRY_BEGIN | |
53 | MATCH opcode qtype qname | |
54 | ADJUST copy_id | |
55 | REPLY QR NOERROR | |
56 | SECTION QUESTION | |
57 | ns.example.net. IN AAAA | |
58 | SECTION AUTHORITY | |
59 | net. IN NS e.gtld-servers.net. | |
60 | SECTION ADDITIONAL | |
61 | e.gtld-servers.net. IN A 192.12.94.30 | |
62 | ENTRY_END | |
63 | RANGE_END | |
64 | ||
65 | ; a.gtld-servers.net. | |
66 | RANGE_BEGIN 0 100 | |
67 | ADDRESS 192.5.6.30 | |
68 | ENTRY_BEGIN | |
69 | MATCH opcode qtype qname | |
70 | ADJUST copy_id | |
71 | REPLY QR NOERROR | |
72 | SECTION QUESTION | |
73 | com. IN NS | |
74 | SECTION ANSWER | |
75 | com. IN NS a.gtld-servers.net. | |
76 | SECTION ADDITIONAL | |
77 | a.gtld-servers.net. IN A 192.5.6.30 | |
78 | ENTRY_END | |
79 | ||
80 | ENTRY_BEGIN | |
81 | MATCH opcode subdomain | |
82 | ADJUST copy_id copy_query | |
83 | REPLY QR NOERROR | |
84 | SECTION QUESTION | |
85 | example.com. IN A | |
86 | SECTION AUTHORITY | |
87 | example.com. IN NS ns.example.com. | |
88 | SECTION ADDITIONAL | |
89 | ns.example.com. IN A 1.2.3.55 | |
90 | ENTRY_END | |
91 | RANGE_END | |
92 | ||
93 | ; e.gtld-servers.net. | |
94 | ; Note this timing is so it will provide answers at the beginning. | |
95 | RANGE_BEGIN 0 30 | |
96 | ADDRESS 192.12.94.30 | |
97 | ENTRY_BEGIN | |
98 | MATCH opcode qtype qname | |
99 | ADJUST copy_id | |
100 | REPLY QR NOERROR | |
101 | SECTION QUESTION | |
102 | net. IN NS | |
103 | SECTION ANSWER | |
104 | net. IN NS e.gtld-servers.net. | |
105 | SECTION ADDITIONAL | |
106 | e.gtld-servers.net. IN A 192.12.94.30 | |
107 | ENTRY_END | |
108 | ||
109 | ENTRY_BEGIN | |
110 | MATCH opcode qtype qname | |
111 | ADJUST copy_id | |
112 | REPLY QR AA NOERROR | |
113 | SECTION QUESTION | |
114 | e.gtld-servers.net. IN AAAA | |
115 | SECTION ANSWER | |
116 | ENTRY_END | |
117 | ||
118 | ENTRY_BEGIN | |
119 | MATCH opcode qtype qname | |
120 | ADJUST copy_id | |
121 | REPLY QR AA NOERROR | |
122 | SECTION QUESTION | |
123 | a.gtld-servers.net. IN AAAA | |
124 | SECTION ANSWER | |
125 | ENTRY_END | |
126 | ||
127 | ; no example.net delegation answers yet. | |
128 | ||
129 | RANGE_END | |
130 | ||
131 | ; e.gtld-servers.net. | |
132 | ; Note this timing is so it will not provide answers at the beginning, | |
133 | ; but only later on. | |
134 | RANGE_BEGIN 30 100 | |
135 | ADDRESS 192.12.94.30 | |
136 | ENTRY_BEGIN | |
137 | MATCH opcode qtype qname | |
138 | ADJUST copy_id | |
139 | REPLY QR NOERROR | |
140 | SECTION QUESTION | |
141 | net. IN NS | |
142 | SECTION ANSWER | |
143 | net. IN NS e.gtld-servers.net. | |
144 | SECTION ADDITIONAL | |
145 | e.gtld-servers.net. IN A 192.12.94.30 | |
146 | ENTRY_END | |
147 | ||
148 | ENTRY_BEGIN | |
149 | MATCH opcode qtype qname | |
150 | ADJUST copy_id | |
151 | REPLY QR AA NOERROR | |
152 | SECTION QUESTION | |
153 | e.gtld-servers.net. IN AAAA | |
154 | SECTION ANSWER | |
155 | ENTRY_END | |
156 | ||
157 | ENTRY_BEGIN | |
158 | MATCH opcode qtype qname | |
159 | ADJUST copy_id | |
160 | REPLY QR AA NOERROR | |
161 | SECTION QUESTION | |
162 | a.gtld-servers.net. IN AAAA | |
163 | SECTION ANSWER | |
164 | ENTRY_END | |
165 | ||
166 | ENTRY_BEGIN | |
167 | MATCH opcode qtype qname | |
168 | ADJUST copy_id | |
169 | REPLY QR NOERROR | |
170 | SECTION QUESTION | |
171 | ns.example.net. IN A | |
172 | SECTION AUTHORITY | |
173 | example.net. IN NS ns.example.net. | |
174 | SECTION ADDITIONAL | |
175 | ns.example.net. IN A 1.2.3.44 | |
176 | ENTRY_END | |
177 | ||
178 | ENTRY_BEGIN | |
179 | MATCH opcode qtype qname | |
180 | ADJUST copy_id | |
181 | REPLY QR NOERROR | |
182 | SECTION QUESTION | |
183 | ns.example.net. IN AAAA | |
184 | SECTION AUTHORITY | |
185 | example.net. IN NS ns.example.net. | |
186 | SECTION ADDITIONAL | |
187 | ns.example.net. IN A 1.2.3.44 | |
188 | ENTRY_END | |
189 | RANGE_END | |
190 | ||
191 | ; ns.example.net. | |
192 | ; Note this timing is so it will not provide answers at the beginning, | |
193 | ; but only later on. | |
194 | RANGE_BEGIN 30 100 | |
195 | ADDRESS 1.2.3.44 | |
196 | ENTRY_BEGIN | |
197 | MATCH opcode qtype qname | |
198 | ADJUST copy_id | |
199 | REPLY QR NOERROR | |
200 | SECTION QUESTION | |
201 | example.net. IN NS | |
202 | SECTION ANSWER | |
203 | example.net. IN NS ns.example.net. | |
204 | SECTION ADDITIONAL | |
205 | ns.example.net. IN A 1.2.3.44 | |
206 | ENTRY_END | |
207 | ||
208 | ENTRY_BEGIN | |
209 | MATCH opcode qtype qname | |
210 | ADJUST copy_id | |
211 | REPLY QR AA NOERROR | |
212 | SECTION QUESTION | |
213 | ns.example.net. IN A | |
214 | SECTION ANSWER | |
215 | ns.example.net. IN A 1.2.3.44 | |
216 | SECTION AUTHORITY | |
217 | example.net. IN NS ns.example.net. | |
218 | ENTRY_END | |
219 | ||
220 | ENTRY_BEGIN | |
221 | MATCH opcode qtype qname | |
222 | ADJUST copy_id | |
223 | REPLY QR AA NOERROR | |
224 | SECTION QUESTION | |
225 | ns.example.net. IN AAAA | |
226 | SECTION AUTHORITY | |
227 | example.net. IN NS ns.example.net. | |
228 | SECTION ADDITIONAL | |
229 | ns.example.net. IN A 1.2.3.44 | |
230 | ENTRY_END | |
231 | ||
232 | ; response to DNSKEY priming query | |
233 | ; sub.example.com. 3600 IN DS 30899 RSASHA1 1 f7ed618f24d5e5202927e1d27bc2e84a141cb4b3 | |
234 | ENTRY_BEGIN | |
235 | MATCH opcode qtype qname | |
236 | ADJUST copy_id | |
237 | REPLY QR AA NOERROR | |
238 | SECTION QUESTION | |
239 | sub.example.com. IN DNSKEY | |
240 | SECTION ANSWER | |
241 | sub.example.com. 3600 IN DNSKEY 256 3 5 AQPQ41chR9DEHt/aIzIFAqanbDlRflJoRs5yz1jFsoRIT7dWf0r+PeDuewdxkszNH6wnU4QL8pfKFRh5PIYVBLK3 ;{id = 30899 (zsk), size = 512b} | |
242 | sub.example.com. 3600 IN RRSIG DNSKEY 5 3 3600 20070926134150 20070829134150 30899 sub.example.com. uNGp99iznjD7oOX02XnQbDnbg75UwBHRvZSKYUorTKvPUnCWMHKdRsQ+mf+Fx3GZ+Fz9BVjoCmQqpnfgXLEYqw== ;{id = 30899} | |
243 | SECTION AUTHORITY | |
244 | ; no NS set. not needed for this test. | |
245 | SECTION ADDITIONAL | |
246 | ns.sub.example.com. IN A 1.2.3.6 | |
247 | ns.sub.example.com. 3600 IN RRSIG A 5 4 3600 20070926134150 20070829134150 30899 sub.example.com. UF7shD/gt1FOp2UHgLTNbPzVykklSXFMEtJ1xD+Hholwf/PIzd7zoaIttIYibNa4fUXCqMg22H9P7MRhfmFe6g== ;{id = 30899} | |
248 | ENTRY_END | |
249 | ||
250 | ENTRY_BEGIN | |
251 | MATCH opcode qtype qname | |
252 | ADJUST copy_id | |
253 | REPLY QR AA NOERROR | |
254 | SECTION QUESTION | |
255 | sub.example.com. IN NS | |
256 | SECTION ANSWER | |
257 | sub.example.com. IN NS ns.sub.example.com. | |
258 | sub.example.com. IN NS ns.example.net. | |
259 | sub.example.com. 3600 IN RRSIG NS 5 3 3600 20070926134150 20070829134150 30899 sub.example.com. C/0b+sqlsdSTkhd+aDXb6ELyuQreosIGBzLCtWxYGD+Q9QGB5rN8uB+4+48yhw36pd3MfeAn06AgAnJ6eu8tJg== ;{id = 30899} | |
260 | SECTION ADDITIONAL | |
261 | ns.sub.example.com. IN A 1.2.3.6 | |
262 | ns.sub.example.com. 3600 IN RRSIG A 5 4 3600 20070926134150 20070829134150 30899 sub.example.com. UF7shD/gt1FOp2UHgLTNbPzVykklSXFMEtJ1xD+Hholwf/PIzd7zoaIttIYibNa4fUXCqMg22H9P7MRhfmFe6g== ;{id = 30899} | |
263 | ENTRY_END | |
264 | ||
265 | ; response to query of interest | |
266 | ENTRY_BEGIN | |
267 | MATCH opcode qtype qname | |
268 | ADJUST copy_id | |
269 | REPLY QR AA NOERROR | |
270 | SECTION QUESTION | |
271 | www.sub.example.com. IN A | |
272 | SECTION ANSWER | |
273 | www.sub.example.com. IN A 11.11.11.11 | |
274 | www.sub.example.com. 3600 IN RRSIG A 5 4 3600 20070926134150 20070829134150 30899 sub.example.com. 0DqqRfRtm7VSEQ4mmBbzrKRqQAay3JAE8DPDGmjtokrrjN9F1G/HxozDV7bjdIh2EChlQea8FPwf/GepJMUVxg== ;{id = 30899} | |
275 | SECTION AUTHORITY | |
276 | SECTION ADDITIONAL | |
277 | ENTRY_END | |
278 | ||
279 | ENTRY_BEGIN | |
280 | MATCH opcode qtype qname | |
281 | ADJUST copy_id | |
282 | REPLY QR AA NOERROR | |
283 | SECTION QUESTION | |
284 | ns.sub.example.com. IN AAAA | |
285 | SECTION ANSWER | |
286 | ENTRY_END | |
287 | RANGE_END | |
288 | ||
289 | ; ns.example.com. | |
290 | RANGE_BEGIN 0 100 | |
291 | ADDRESS 1.2.3.55 | |
292 | ENTRY_BEGIN | |
293 | MATCH opcode qtype qname | |
294 | ADJUST copy_id | |
295 | REPLY QR NOERROR | |
296 | SECTION QUESTION | |
297 | example.com. IN NS | |
298 | SECTION ANSWER | |
299 | example.com. IN NS ns.example.com. | |
300 | SECTION ADDITIONAL | |
301 | ns.example.com. IN A 1.2.3.55 | |
302 | ENTRY_END | |
303 | ||
304 | ENTRY_BEGIN | |
305 | MATCH opcode qtype qname | |
306 | ADJUST copy_id | |
307 | REPLY QR AA NOERROR | |
308 | SECTION QUESTION | |
309 | ns.example.com. IN A | |
310 | SECTION ANSWER | |
311 | ns.example.com. IN A 1.2.3.55 | |
312 | ENTRY_END | |
313 | ||
314 | ENTRY_BEGIN | |
315 | MATCH opcode qtype qname | |
316 | ADJUST copy_id | |
317 | REPLY QR AA NOERROR | |
318 | SECTION QUESTION | |
319 | ns.example.com. IN AAAA | |
320 | ENTRY_END | |
321 | ||
322 | ; fine DNSKEY response. | |
323 | ENTRY_BEGIN | |
324 | MATCH opcode qtype qname | |
325 | ADJUST copy_id | |
326 | REPLY QR AA NOERROR | |
327 | SECTION QUESTION | |
328 | example.com. IN DNSKEY | |
329 | SECTION ANSWER | |
330 | example.com. 3600 IN DNSKEY 256 3 3 ALXLUsWqUrY3JYER3T4TBJII s70j+sDS/UT2QRp61SE7S3E EXopNXoFE73JLRmvpi/UrOO/Vz4Se 6wXv/CYCKjGw06U4WRgR YXcpEhJROyNapmdIKSx hOzfLVE1gqA0PweZR8d tY3aNQSRn3sPpwJr6Mi /PqQKAMMrZ9ckJpf1+b QMOOvxgzz2U1GS18b3y ZKcgTMEaJzd/GZYzi/B N2DzQ0MsrSwYXfsNLFO Bbs8PJMW4LYIxeeOe6rUgkWOF 7CC9Dh/dduQ1QrsJhmZAEFfd6ByYV+ ;{id = 2854 (zsk), size = 1688b} | |
331 | example.com. 3600 IN RRSIG DNSKEY DSA 2 3600 20070926134150 20070829134150 2854 example.com. MCwCFBQRtlR4BEv9ohi+PGFjp+AHsJuHAhRCvz0shggvnvI88DFnBDCczHUcVA== ;{id = 2854} | |
332 | SECTION AUTHORITY | |
333 | example.com. IN NS ns.example.com. | |
334 | example.com. 3600 IN RRSIG NS 3 2 3600 20070926134150 20070829134150 2854 example.com. MC0CFQCN+qHdJxoI/2tNKwsb08pra/G7aAIUAWA5sDdJTbrXA1/3OaesGBAO3sI= ;{id = 2854} | |
335 | ENTRY_END | |
336 | ||
337 | ||
338 | ; correct delegation with DS | |
339 | ENTRY_BEGIN | |
340 | MATCH opcode subdomain | |
341 | ADJUST copy_id copy_query | |
342 | REPLY QR AA NOERROR | |
343 | SECTION QUESTION | |
344 | sub.example.com. IN A | |
345 | SECTION ANSWER | |
346 | SECTION AUTHORITY | |
347 | sub.example.com. IN NS ns.sub.example.com. | |
348 | sub.example.com. IN NS ns.example.net. | |
349 | sub.example.com. 3600 IN DS 30899 RSASHA1 1 f7ed618f24d5e5202927e1d27bc2e84a141cb4b3 | |
350 | sub.example.com. 3600 IN RRSIG DS 3 3 3600 20070926134150 20070829134150 2854 example.com. MCwCFCW3ix0GD4BSvNLWIbROCJt5DAW9AhRt/kg9kBKJ20UBUdumrBUHqnskdA== ;{id = 2854} | |
351 | SECTION ADDITIONAL | |
352 | ns.sub.example.com. IN A 1.2.3.6 | |
353 | ENTRY_END | |
354 | ||
355 | ; response for delegation to sub.example.com. | |
356 | ENTRY_BEGIN | |
357 | MATCH opcode qtype qname | |
358 | ADJUST copy_id | |
359 | REPLY QR NOERROR | |
360 | SECTION QUESTION | |
361 | sub.example.com. IN DNSKEY | |
362 | SECTION ANSWER | |
363 | SECTION AUTHORITY | |
364 | sub.example.com. IN NS ns.sub.example.com. | |
365 | sub.example.com. IN NS ns.example.net. | |
366 | sub.example.com. 3600 IN DS 30899 RSASHA1 1 f7ed618f24d5e5202927e1d27bc2e84a141cb4b3 | |
367 | sub.example.com. 3600 IN RRSIG DS 3 3 3600 20070926134150 20070829134150 2854 example.com. MCwCFCW3ix0GD4BSvNLWIbROCJt5DAW9AhRt/kg9kBKJ20UBUdumrBUHqnskdA== ;{id = 2854} | |
368 | SECTION ADDITIONAL | |
369 | ns.sub.example.com. IN A 1.2.3.6 | |
370 | ENTRY_END | |
371 | RANGE_END | |
372 | ||
373 | ; This server is DNSSEC LAME! | |
374 | ; ns.sub.example.com. | |
375 | RANGE_BEGIN 0 100 | |
376 | ADDRESS 1.2.3.6 | |
377 | ||
378 | ENTRY_BEGIN | |
379 | MATCH opcode qtype qname | |
380 | ADJUST copy_id | |
381 | REPLY QR AA NOERROR | |
382 | SECTION QUESTION | |
383 | sub.example.com. IN NS | |
384 | SECTION ANSWER | |
385 | sub.example.com. IN NS ns.sub.example.com. | |
386 | sub.example.com. IN NS ns.example.net. | |
387 | SECTION ADDITIONAL | |
388 | ns.sub.example.com. IN A 1.2.3.6 | |
389 | ENTRY_END | |
390 | ||
391 | ||
392 | ; response to DNSKEY priming query | |
393 | ; sub.example.com. 3600 IN DS 30899 RSASHA1 1 f7ed618f24d5e5202927e1d27bc2e84a141cb4b3 | |
394 | ENTRY_BEGIN | |
395 | MATCH opcode qtype qname | |
396 | ADJUST copy_id | |
397 | REPLY QR AA NOERROR | |
398 | SECTION QUESTION | |
399 | sub.example.com. IN DNSKEY | |
400 | SECTION ANSWER | |
401 | sub.example.com. 3600 IN DNSKEY 256 3 5 AQPQ41chR9DEHt/aIzIFAqanbDlRflJoRs5yz1jFsoRIT7dWf0r+PeDuewdxkszNH6wnU4QL8pfKFRh5PIYVBLK3 ;{id = 30899 (zsk), size = 512b} | |
402 | SECTION AUTHORITY | |
403 | sub.example.com. IN NS ns.sub.example.com. | |
404 | sub.example.com. IN NS ns.example.net. | |
405 | SECTION ADDITIONAL | |
406 | ns.sub.example.com. IN A 1.2.3.6 | |
407 | ENTRY_END | |
408 | ||
409 | ENTRY_BEGIN | |
410 | MATCH opcode qtype qname | |
411 | ADJUST copy_id | |
412 | REPLY QR AA NOERROR | |
413 | SECTION QUESTION | |
414 | ns.sub.example.com. IN AAAA | |
415 | SECTION ANSWER | |
416 | ENTRY_END | |
417 | ||
418 | ; response to query of interest | |
419 | ENTRY_BEGIN | |
420 | MATCH opcode qtype qname | |
421 | ADJUST copy_id | |
422 | REPLY QR AA NOERROR | |
423 | SECTION QUESTION | |
424 | www.sub.example.com. IN A | |
425 | SECTION ANSWER | |
426 | www.sub.example.com. IN A 11.11.11.11 | |
427 | SECTION AUTHORITY | |
428 | ; dnssec-lameness detection depends on this information | |
429 | sub.example.com. IN NS ns.sub.example.com. | |
430 | sub.example.com. IN NS ns.example.net. | |
431 | SECTION ADDITIONAL | |
432 | ns.sub.example.com. IN A 1.2.3.6 | |
433 | ENTRY_END | |
434 | RANGE_END | |
435 | ||
436 | ||
437 | STEP 1 QUERY | |
438 | ENTRY_BEGIN | |
439 | REPLY RD DO | |
440 | SECTION QUESTION | |
441 | www.sub.example.com. IN A | |
442 | ENTRY_END | |
443 | ||
444 | STEP 10 NOTHING | |
445 | ; recursion at time 10. | |
446 | ; first recursion with answers in 0-30 time | |
447 | ; with bug it now resolves to the bad version | |
448 | ; fixed, it stops waiting for more target queries. | |
449 | ||
450 | STEP 40 NOTHING | |
451 | ; next recursion with more answers at time 40. | |
452 | ||
453 | ; recursion happens here. | |
454 | STEP 50 CHECK_ANSWER | |
455 | ENTRY_BEGIN | |
456 | MATCH all | |
457 | REPLY QR RD RA AD DO NOERROR | |
458 | SECTION QUESTION | |
459 | www.sub.example.com. IN A | |
460 | SECTION ANSWER | |
461 | www.sub.example.com. IN A 11.11.11.11 | |
462 | www.sub.example.com. 3600 IN RRSIG A 5 4 3600 20070926134150 20070829134150 30899 sub.example.com. 0DqqRfRtm7VSEQ4mmBbzrKRqQAay3JAE8DPDGmjtokrrjN9F1G/HxozDV7bjdIh2EChlQea8FPwf/GepJMUVxg== ;{id = 30899} | |
463 | ENTRY_END | |
464 | SCENARIO_END |
0 | ; config options | |
1 | server: | |
2 | target-fetch-policy: "0 0 0 0 0" | |
3 | ||
4 | stub-zone: | |
5 | name: "." | |
6 | stub-addr: 193.0.14.129 # K.ROOT-SERVERS.NET. | |
7 | forward-zone: | |
8 | name: "." | |
9 | forward-addr: 10.0.0.1 | |
10 | stub-zone: | |
11 | name: "sub.example.com" | |
12 | stub-addr: 10.0.0.2 | |
13 | CONFIG_END | |
14 | ||
15 | SCENARIO_BEGIN Test iterative resolve with a stub under a forward root zone | |
16 | ||
17 | ; K.ROOT-SERVERS.NET. | |
18 | RANGE_BEGIN 0 100 | |
19 | ADDRESS 193.0.14.129 | |
20 | ||
21 | ; No answers from the actual root, blocked. | |
22 | ||
23 | RANGE_END | |
24 | ||
25 | ; a.gtld-servers.net. | |
26 | RANGE_BEGIN 0 100 | |
27 | ADDRESS 192.5.6.30 | |
28 | ENTRY_BEGIN | |
29 | MATCH opcode qtype qname | |
30 | ADJUST copy_id | |
31 | REPLY QR NOERROR | |
32 | SECTION QUESTION | |
33 | com. IN NS | |
34 | SECTION ANSWER | |
35 | com. IN NS a.gtld-servers.net. | |
36 | SECTION ADDITIONAL | |
37 | a.gtld-servers.net. IN A 192.5.6.30 | |
38 | ENTRY_END | |
39 | ||
40 | ENTRY_BEGIN | |
41 | MATCH opcode qtype qname | |
42 | ADJUST copy_id | |
43 | REPLY QR NOERROR | |
44 | SECTION QUESTION | |
45 | www.example.com. IN A | |
46 | SECTION AUTHORITY | |
47 | example.com. IN NS ns.example.com. | |
48 | SECTION ADDITIONAL | |
49 | ns.example.com. IN A 1.2.3.4 | |
50 | ENTRY_END | |
51 | RANGE_END | |
52 | ||
53 | ; ns.example.com. | |
54 | RANGE_BEGIN 0 100 | |
55 | ADDRESS 1.2.3.4 | |
56 | ENTRY_BEGIN | |
57 | MATCH opcode qtype qname | |
58 | ADJUST copy_id | |
59 | REPLY QR NOERROR | |
60 | SECTION QUESTION | |
61 | example.com. IN NS | |
62 | SECTION ANSWER | |
63 | example.com. IN NS ns.example.com. | |
64 | SECTION ADDITIONAL | |
65 | ns.example.com. IN A 1.2.3.4 | |
66 | ENTRY_END | |
67 | ||
68 | ENTRY_BEGIN | |
69 | MATCH opcode qtype qname | |
70 | ADJUST copy_id | |
71 | REPLY QR NOERROR | |
72 | SECTION QUESTION | |
73 | www.example.com. IN A | |
74 | SECTION ANSWER | |
75 | www.example.com. IN A 10.20.30.40 | |
76 | SECTION AUTHORITY | |
77 | example.com. IN NS ns.example.com. | |
78 | SECTION ADDITIONAL | |
79 | ns.example.com. IN A 1.2.3.4 | |
80 | ENTRY_END | |
81 | RANGE_END | |
82 | ||
83 | ; forwarder for example.com. | |
84 | RANGE_BEGIN 0 100 | |
85 | ADDRESS 10.0.0.1 | |
86 | ENTRY_BEGIN | |
87 | MATCH opcode qtype qname | |
88 | ADJUST copy_id | |
89 | REPLY QR NOERROR | |
90 | SECTION QUESTION | |
91 | example.com. IN NS | |
92 | SECTION ANSWER | |
93 | example.com. IN NS ns.example.com. | |
94 | SECTION ADDITIONAL | |
95 | ns.example.com. IN A 1.2.3.4 | |
96 | ENTRY_END | |
97 | ||
98 | ENTRY_BEGIN | |
99 | MATCH opcode qtype qname | |
100 | ADJUST copy_id | |
101 | REPLY QR NOERROR | |
102 | SECTION QUESTION | |
103 | www.example.com. IN A | |
104 | SECTION ANSWER | |
105 | www.example.com. IN A 10.0.0.4 | |
106 | SECTION AUTHORITY | |
107 | example.com. IN NS ns.example.com. | |
108 | SECTION ADDITIONAL | |
109 | ns.example.com. IN A 1.2.3.4 | |
110 | ENTRY_END | |
111 | ||
112 | ; fail all other queries | |
113 | ENTRY_BEGIN | |
114 | MATCH opcode | |
115 | ADJUST copy_id copy_query | |
116 | REPLY QR SERVFAIL | |
117 | SECTION QUESTION | |
118 | example.com. IN A | |
119 | ENTRY_END | |
120 | RANGE_END | |
121 | ||
122 | ; stub for sub.example.com. | |
123 | RANGE_BEGIN 0 100 | |
124 | ADDRESS 10.0.0.2 | |
125 | ENTRY_BEGIN | |
126 | MATCH opcode qtype qname | |
127 | ADJUST copy_id | |
128 | REPLY QR NOERROR | |
129 | SECTION QUESTION | |
130 | sub.example.com. IN NS | |
131 | SECTION ANSWER | |
132 | sub.example.com. IN NS ns.sub.example.com. | |
133 | SECTION ADDITIONAL | |
134 | ns.sub.example.com. IN A 1.2.3.44 | |
135 | ENTRY_END | |
136 | ||
137 | ENTRY_BEGIN | |
138 | MATCH opcode qtype qname | |
139 | ADJUST copy_id | |
140 | REPLY QR NOERROR | |
141 | SECTION QUESTION | |
142 | www.sub.example.com. IN A | |
143 | SECTION ANSWER | |
144 | www.sub.example.com. IN A 10.0.0.5 | |
145 | SECTION AUTHORITY | |
146 | sub.example.com. IN NS ns.sub.example.com. | |
147 | SECTION ADDITIONAL | |
148 | ns.sub.example.com. IN A 1.2.3.44 | |
149 | ENTRY_END | |
150 | RANGE_END | |
151 | ||
152 | ; try to resolve from stub zone | |
153 | STEP 20 QUERY | |
154 | ENTRY_BEGIN | |
155 | REPLY RD | |
156 | SECTION QUESTION | |
157 | www.sub.example.com. IN A | |
158 | ENTRY_END | |
159 | ||
160 | STEP 30 CHECK_ANSWER | |
161 | ENTRY_BEGIN | |
162 | MATCH all | |
163 | REPLY QR RD RA NOERROR | |
164 | SECTION QUESTION | |
165 | www.sub.example.com. IN A | |
166 | SECTION ANSWER | |
167 | www.sub.example.com. IN A 10.0.0.5 | |
168 | SECTION AUTHORITY | |
169 | sub.example.com. IN NS ns.sub.example.com. | |
170 | SECTION ADDITIONAL | |
171 | ns.sub.example.com. IN A 1.2.3.44 | |
172 | ENTRY_END | |
173 | ||
174 | SCENARIO_END |
2 | 2 | ; first entry is a DNSKEY answer, with the DNSKEY rrset used for verification. |
3 | 3 | ; later entries are verified with it. |
4 | 4 | |
5 | ; Test RSASHA512 signatures. | |
5 | ; Test RSASHA512 signatures from draft-ietf-dnsext-dnssec-rsasha256-14 | |
6 | 6 | |
7 | ; RSA key from ldns tool | |
8 | 7 | ENTRY_BEGIN |
9 | 8 | SECTION QUESTION |
10 | sub.example.com. IN DNSKEY | |
9 | example.net. IN DNSKEY | |
11 | 10 | SECTION ANSWER |
12 | example.com. 3600 IN DNSKEY 256 3 9 AwEAAazmeO3BNv+xPYuFbQp8JN4XX+iKNuvJgD2QG5jRXI0IP5by+JGSob20OEmbPLqKcXWMRPICTyPBDaBh0tXA66DVlHV8rCtAT5Yqdrz2qw05SNYCGWJulscR6GM0e4gkO1FrBINr385IiMH3sJegBzm2HUbyb2I+xuFIfl7SgMuZ5fahHnhjDwsdgw+19OQlbYDRmNhMvtJemomIiGzPwrxEtKBlcUevcFPX7cPU7lpbcZwVP16xhLbtSNwMHvoCoRpJrAtdDGiSyAzTQef+jWuaUlFCPle6Qkghi51zmpBrPunqRCoYg7LIyJ9zS/KzPKX2zN2ASu9KJD3tDW9OSZM= ;{id = 48886 (zsk), size = 2048b} | |
13 | ||
11 | example.net. 3600 IN DNSKEY (256 3 10 AwEAAdHoNTOW+et86KuJOWRD p1pndvwb6Y83nSVXXyLA3DLroROUkN6X0O6pnWnjJQujX/AyhqFD xj13tOnD9u/1kTg7cV6rklMrZDtJCQ5PCl/D7QNPsgVsMu1J2Q8g pMpztNFLpPBz1bWXjDtaR7ZQBlZ3PFY12ZTSncorffcGmhOL);{id = 3740 (zsk), size = 1024b} | |
14 | 12 | ENTRY_END |
15 | 13 | |
16 | 14 | ; entry to test |
17 | 15 | ENTRY_BEGIN |
18 | 16 | SECTION QUESTION |
19 | www.example.com. IN A | |
17 | www.example.net. IN A | |
20 | 18 | SECTION ANSWER |
21 | www.example.com. 3600 IN A 192.0.2.66 | |
22 | www.example.com. 3600 IN RRSIG A 9 3 3600 20070926134150 20070829134150 48886 example.com. Ys6CGNAxJ+0lG/EoDJqZOoZTlX8Aa1k124VjnSE2A9NTecZUX44TiKtJQtUu7cnUcURuNsqX5rulr/70Vx+ANeUot/ewtY6fX6qaGZVgIaNyyDw0Gu7oiAsjOE0bt5RS4VGvDpLSdxDlPV0Kbbc4fYSTsqiSe2idMokfD2bgPcFrIx2TcX/sF8Jyhn2MGiQsWryMWyvhRTZ1+dwQcPhkeslGFLF/SQpGx5BbW/BYQG026xb6ckL/F/Pu4Jf5sQTimTZXHi9iASeRNO34DM9bS0yDgc+nm3bEg8/pEGCdFuCt6dVv7JTFgnR9fPTbEbBHIi4ORw1oef11G2sRV/Ubvw== ;{id = 48886} | |
23 | ||
19 | www.example.net. 3600 IN A 192.0.2.91 | |
20 | www.example.net. 3600 IN RRSIG (A 10 3 3600 20300101000000 20000101000000 3740 example.net. tsb4wnjRUDnB1BUi+t 6TMTXThjVnG+eCkWqjvvjhzQL1d0YRoOe0CbxrVDYd0xDtsuJRa eUw1ep94PzEWzr0iGYgZBWm/zpq+9fOuagYJRfDqfReKBzMweOL DiNa8iP5g9vMhpuv6OPlvpXwm9Sa9ZXIbNl1MBGk0fthPgxdDLw =);{id = 3740} | |
24 | 21 | ENTRY_END |
25 | 22 |
0 | ; Signature test file | |
1 | ||
2 | ; first entry is a DNSKEY answer, with the DNSKEY rrset used for verification. | |
3 | ; later entries are verified with it. | |
4 | ||
5 | ; Test RSASHA256 signatures from draft-ietf-dnsext-dnssec-rsasha256-14 | |
6 | ||
7 | ENTRY_BEGIN | |
8 | SECTION QUESTION | |
9 | example.net. IN DNSKEY | |
10 | SECTION ANSWER | |
11 | example.net. 3600 IN DNSKEY (256 3 8 AwEAAcFcGsaxxdgiuuGmCkVI my4h99CqT7jwY3pexPGcnUFtR2Fh36BponcwtkZ4cAgtvd4Qs8P kxUdp6p/DlUmObdk= );{id = 9033 (zsk), size = 512b} | |
12 | ENTRY_END | |
13 | ||
14 | ; entry to test | |
15 | ENTRY_BEGIN | |
16 | SECTION QUESTION | |
17 | www.example.net. IN A | |
18 | SECTION ANSWER | |
19 | www.example.net. 3600 IN A 192.0.2.91 | |
20 | www.example.net. 3600 IN RRSIG (A 8 3 3600 20300101000000 20000101000000 9033 example.net. kRCOH6u7l0QGy9qpC9 l1sLncJcOKFLJ7GhiUOibu4teYp5VE9RncriShZNz85mwlMgNEa cFYK/lPtPiVYP4bwg== ;{id = 9033} | |
21 | ENTRY_END | |
22 |
154 | 154 | cfg->val_sig_skew_min = 3600; /* at least daylight savings trouble */ |
155 | 155 | cfg->val_sig_skew_max = 86400; /* at most timezone settings trouble */ |
156 | 156 | cfg->val_clean_additional = 1; |
157 | cfg->val_log_level = 0; | |
157 | 158 | cfg->val_permissive_mode = 0; |
158 | 159 | cfg->key_cache_size = 4 * 1024 * 1024; |
159 | 160 | cfg->key_cache_slabs = 4; |
374 | 375 | } else if(strcmp(opt, "val-clean-additional:") == 0) { |
375 | 376 | IS_YES_OR_NO; |
376 | 377 | cfg->val_clean_additional = (strcmp(val, "yes") == 0); |
378 | } else if(strcmp(opt, "val-log-level:") == 0) { | |
379 | IS_NUMBER_OR_ZERO; | |
380 | cfg->val_log_level = atoi(val); | |
377 | 381 | } else if(strcmp(opt, "val-permissive-mode:") == 0) { |
378 | 382 | IS_YES_OR_NO; |
379 | 383 | cfg->val_permissive_mode = (strcmp(val, "yes") == 0); |
1033 | 1037 | * IPv6: (h.){32}.ip6.arpa. */ |
1034 | 1038 | |
1035 | 1039 | if(addr_is_ip6(&addr, addrlen)) { |
1036 | void* ad = &((struct sockaddr_in6*)&addr)->sin6_addr; | |
1040 | uint8_t ad[16]; | |
1037 | 1041 | const char* hex = "0123456789abcdef"; |
1038 | 1042 | char *p = buf; |
1039 | 1043 | int i; |
1044 | memmove(ad, &((struct sockaddr_in6*)&addr)->sin6_addr, | |
1045 | sizeof(ad)); | |
1040 | 1046 | for(i=15; i>=0; i--) { |
1041 | uint8_t b = ((uint8_t*)ad)[i]; | |
1047 | uint8_t b = ad[i]; | |
1042 | 1048 | *p++ = hex[ (b&0x0f) ]; |
1043 | 1049 | *p++ = '.'; |
1044 | 1050 | *p++ = hex[ (b&0xf0) >> 4 ]; |
1046 | 1052 | } |
1047 | 1053 | snprintf(buf+16*4, sizeof(buf)-16*4, "ip6.arpa. "); |
1048 | 1054 | } else { |
1049 | struct in_addr* ad = &((struct sockaddr_in*)&addr)->sin_addr; | |
1055 | uint8_t ad[4]; | |
1056 | memmove(ad, &((struct sockaddr_in*)&addr)->sin_addr, | |
1057 | sizeof(ad)); | |
1050 | 1058 | snprintf(buf, sizeof(buf), "%u.%u.%u.%u.in-addr.arpa. ", |
1051 | (unsigned)((uint8_t*)ad)[3], (unsigned)((uint8_t*)ad)[2], | |
1052 | (unsigned)((uint8_t*)ad)[1], (unsigned)((uint8_t*)ad)[0]); | |
1059 | (unsigned)ad[3], (unsigned)ad[2], | |
1060 | (unsigned)ad[1], (unsigned)ad[0]); | |
1053 | 1061 | } |
1054 | 1062 | |
1055 | 1063 | /* printed the reverse address, now the between goop and name on end */ |
212 | 212 | int bogus_ttl; |
213 | 213 | /** should validator clean additional section for secure msgs */ |
214 | 214 | int val_clean_additional; |
215 | /** log bogus messages by the validator */ | |
216 | int val_log_level; | |
215 | 217 | /** should validator allow bogus messages to go through */ |
216 | 218 | int val_permissive_mode; |
217 | 219 | /** nsec3 maximum iterations per key size, string */ |
360 | 360 | *yy_cp = '\0'; \ |
361 | 361 | (yy_c_buf_p) = yy_cp; |
362 | 362 | |
363 | #define YY_NUM_RULES 120 | |
364 | #define YY_END_OF_BUFFER 121 | |
363 | #define YY_NUM_RULES 121 | |
364 | #define YY_END_OF_BUFFER 122 | |
365 | 365 | /* This struct is not used in this scanner, |
366 | 366 | but its presence is necessary. */ |
367 | 367 | struct yy_trans_info |
369 | 369 | flex_int32_t yy_verify; |
370 | 370 | flex_int32_t yy_nxt; |
371 | 371 | }; |
372 | static yyconst flex_int16_t yy_accept[1111] = | |
372 | static yyconst flex_int16_t yy_accept[1121] = | |
373 | 373 | { 0, |
374 | 1, 1, 102, 102, 106, 106, 110, 110, 114, 114, | |
375 | 1, 1, 121, 118, 1, 100, 100, 119, 118, 118, | |
376 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
377 | 118, 118, 118, 118, 118, 118, 118, 118, 119, 102, | |
378 | 103, 103, 104, 119, 106, 107, 107, 108, 119, 113, | |
379 | 110, 111, 111, 112, 119, 114, 115, 115, 116, 119, | |
380 | 117, 101, 117, 105, 117, 119, 118, 0, 1, 0, | |
381 | 118, 0, 2, 0, 118, 118, 118, 118, 118, 118, | |
382 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
383 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
384 | ||
385 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
386 | 118, 102, 0, 106, 0, 113, 0, 110, 114, 0, | |
387 | 117, 0, 117, 0, 117, 118, 118, 118, 118, 118, | |
388 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
389 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
390 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
391 | 118, 118, 118, 118, 118, 118, 118, 117, 118, 118, | |
392 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
393 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
394 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
395 | ||
396 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
397 | 118, 118, 118, 118, 118, 118, 118, 118, 117, 118, | |
398 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
399 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
400 | 118, 118, 118, 118, 118, 118, 118, 118, 51, 118, | |
401 | 118, 118, 118, 118, 6, 118, 118, 118, 118, 118, | |
402 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
403 | 118, 118, 118, 118, 118, 118, 118, 117, 118, 118, | |
404 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
405 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
406 | ||
407 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
408 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
409 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
410 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
411 | 117, 118, 118, 20, 118, 118, 118, 118, 12, 13, | |
412 | 118, 15, 14, 118, 118, 118, 118, 118, 118, 118, | |
413 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
414 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
415 | 118, 118, 98, 118, 118, 118, 118, 3, 118, 118, | |
416 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
417 | ||
418 | 118, 118, 118, 118, 118, 118, 118, 118, 117, 118, | |
419 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
420 | 118, 118, 118, 118, 118, 118, 118, 118, 109, 118, | |
421 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 23, | |
422 | 118, 118, 118, 118, 118, 118, 118, 24, 118, 118, | |
423 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
424 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
425 | 118, 118, 118, 118, 64, 109, 118, 118, 118, 118, | |
426 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
427 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
428 | ||
429 | 63, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
430 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
431 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
432 | 118, 118, 118, 118, 118, 118, 118, 21, 118, 118, | |
433 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
434 | 118, 118, 118, 22, 118, 118, 118, 118, 118, 118, | |
435 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
436 | 118, 118, 118, 118, 17, 118, 118, 118, 118, 118, | |
437 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
438 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 52, | |
439 | ||
440 | 53, 118, 50, 118, 118, 118, 118, 118, 118, 118, | |
441 | 118, 118, 118, 118, 118, 5, 118, 118, 118, 118, | |
442 | 118, 118, 118, 118, 118, 66, 118, 118, 118, 118, | |
443 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
444 | 118, 118, 118, 118, 118, 118, 118, 118, 84, 83, | |
445 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
446 | 118, 118, 118, 118, 118, 25, 118, 118, 118, 118, | |
447 | 54, 118, 118, 118, 118, 118, 81, 118, 118, 118, | |
448 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
449 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
450 | ||
451 | 43, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
452 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
453 | 118, 118, 4, 118, 118, 118, 118, 118, 118, 118, | |
454 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
455 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
456 | 118, 118, 118, 118, 92, 118, 16, 118, 118, 118, | |
457 | 56, 57, 55, 118, 118, 118, 118, 118, 62, 118, | |
458 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
459 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
460 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
461 | ||
462 | 118, 118, 70, 118, 118, 118, 118, 118, 118, 118, | |
463 | 118, 118, 118, 31, 32, 118, 118, 118, 118, 118, | |
464 | 118, 118, 118, 118, 118, 118, 118, 118, 61, 118, | |
465 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
466 | 118, 65, 118, 118, 118, 118, 118, 118, 118, 118, | |
467 | 118, 118, 118, 97, 118, 118, 118, 118, 118, 118, | |
468 | 118, 118, 118, 118, 118, 118, 74, 118, 118, 118, | |
469 | 118, 118, 60, 118, 90, 118, 118, 118, 118, 118, | |
470 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
471 | 33, 34, 118, 39, 77, 118, 85, 82, 118, 27, | |
472 | ||
473 | 118, 79, 118, 118, 118, 118, 118, 7, 118, 49, | |
474 | 89, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
475 | 118, 118, 118, 118, 118, 118, 118, 118, 118, 118, | |
476 | 118, 67, 118, 118, 99, 118, 118, 118, 118, 118, | |
477 | 118, 118, 118, 118, 118, 78, 26, 28, 118, 118, | |
478 | 118, 118, 118, 48, 118, 118, 118, 93, 118, 118, | |
479 | 118, 118, 118, 118, 46, 118, 118, 118, 118, 118, | |
480 | 118, 118, 118, 95, 118, 118, 118, 118, 118, 118, | |
481 | 118, 11, 118, 118, 118, 118, 118, 118, 10, 118, | |
482 | 118, 29, 118, 94, 118, 118, 118, 118, 118, 118, | |
483 | ||
484 | 118, 118, 118, 118, 73, 72, 96, 91, 118, 118, | |
485 | 118, 118, 118, 118, 118, 118, 118, 35, 118, 118, | |
486 | 118, 118, 118, 30, 118, 118, 118, 68, 69, 118, | |
487 | 118, 118, 71, 118, 118, 118, 118, 118, 118, 118, | |
488 | 118, 118, 118, 118, 118, 18, 118, 118, 118, 118, | |
489 | 118, 118, 118, 118, 118, 118, 118, 88, 118, 118, | |
490 | 118, 118, 118, 118, 19, 118, 9, 118, 118, 86, | |
491 | 40, 118, 118, 118, 76, 58, 118, 118, 42, 45, | |
492 | 41, 118, 36, 118, 8, 118, 118, 75, 118, 118, | |
493 | 118, 37, 118, 87, 118, 118, 59, 44, 38, 118, | |
494 | ||
495 | 118, 118, 118, 47, 118, 118, 118, 118, 80, 0 | |
374 | 1, 1, 103, 103, 107, 107, 111, 111, 115, 115, | |
375 | 1, 1, 122, 119, 1, 101, 101, 120, 119, 119, | |
376 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
377 | 119, 119, 119, 119, 119, 119, 119, 119, 120, 103, | |
378 | 104, 104, 105, 120, 107, 108, 108, 109, 120, 114, | |
379 | 111, 112, 112, 113, 120, 115, 116, 116, 117, 120, | |
380 | 118, 102, 118, 106, 118, 120, 119, 0, 1, 0, | |
381 | 119, 0, 2, 0, 119, 119, 119, 119, 119, 119, | |
382 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
383 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
384 | ||
385 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
386 | 119, 103, 0, 107, 0, 114, 0, 111, 115, 0, | |
387 | 118, 0, 118, 0, 118, 119, 119, 119, 119, 119, | |
388 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
389 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
390 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
391 | 119, 119, 119, 119, 119, 119, 119, 118, 119, 119, | |
392 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
393 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
394 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
395 | ||
396 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
397 | 119, 119, 119, 119, 119, 119, 119, 119, 118, 119, | |
398 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
399 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
400 | 119, 119, 119, 119, 119, 119, 119, 119, 51, 119, | |
401 | 119, 119, 119, 119, 6, 119, 119, 119, 119, 119, | |
402 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
403 | 119, 119, 119, 119, 119, 119, 119, 119, 118, 119, | |
404 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
405 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
406 | ||
407 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
408 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
409 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
410 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
411 | 119, 119, 118, 119, 119, 20, 119, 119, 119, 119, | |
412 | 12, 13, 119, 15, 14, 119, 119, 119, 119, 119, | |
413 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
414 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
415 | 119, 119, 119, 119, 99, 119, 119, 119, 119, 3, | |
416 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
417 | ||
418 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
419 | 119, 118, 119, 119, 119, 119, 119, 119, 119, 119, | |
420 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
421 | 119, 110, 119, 119, 119, 119, 119, 119, 119, 119, | |
422 | 119, 119, 23, 119, 119, 119, 119, 119, 119, 119, | |
423 | 24, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
424 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
425 | 119, 119, 119, 119, 119, 119, 119, 119, 64, 110, | |
426 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
427 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
428 | ||
429 | 119, 119, 119, 119, 63, 119, 119, 119, 119, 119, | |
430 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
431 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
432 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
433 | 119, 21, 119, 119, 119, 119, 119, 119, 119, 119, | |
434 | 119, 119, 119, 119, 119, 119, 119, 119, 22, 119, | |
435 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
436 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 17, | |
437 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
438 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
439 | ||
440 | 119, 119, 119, 119, 52, 53, 119, 50, 119, 119, | |
441 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
442 | 119, 5, 119, 119, 119, 119, 119, 119, 119, 119, | |
443 | 119, 66, 119, 119, 119, 119, 119, 119, 119, 119, | |
444 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
445 | 119, 119, 119, 119, 85, 84, 119, 119, 119, 119, | |
446 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
447 | 119, 25, 119, 119, 119, 119, 54, 119, 119, 119, | |
448 | 119, 119, 82, 119, 119, 119, 119, 119, 119, 119, | |
449 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
450 | ||
451 | 119, 119, 119, 119, 119, 119, 119, 43, 119, 119, | |
452 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
453 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 4, | |
454 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
455 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
456 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
457 | 119, 119, 93, 119, 16, 119, 119, 119, 56, 57, | |
458 | 55, 119, 119, 119, 119, 119, 62, 119, 119, 119, | |
459 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
460 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
461 | ||
462 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
463 | 70, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
464 | 119, 119, 31, 32, 119, 119, 119, 119, 119, 119, | |
465 | 119, 119, 119, 119, 119, 119, 119, 61, 119, 119, | |
466 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
467 | 65, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
468 | 119, 119, 98, 119, 119, 119, 119, 119, 119, 119, | |
469 | 119, 119, 119, 119, 119, 74, 119, 77, 119, 119, | |
470 | 119, 119, 60, 119, 91, 119, 119, 119, 119, 119, | |
471 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
472 | ||
473 | 33, 34, 119, 39, 78, 119, 86, 83, 119, 27, | |
474 | 119, 80, 119, 119, 119, 119, 119, 7, 119, 49, | |
475 | 90, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
476 | 119, 119, 119, 119, 119, 119, 119, 119, 119, 119, | |
477 | 119, 67, 119, 119, 100, 119, 119, 119, 119, 119, | |
478 | 119, 119, 119, 119, 119, 79, 26, 28, 119, 119, | |
479 | 119, 119, 119, 48, 119, 119, 119, 94, 119, 119, | |
480 | 119, 119, 119, 119, 46, 119, 119, 119, 119, 119, | |
481 | 119, 119, 119, 96, 119, 119, 119, 119, 119, 119, | |
482 | 119, 11, 119, 119, 119, 119, 119, 119, 10, 119, | |
483 | ||
484 | 119, 29, 119, 95, 119, 119, 119, 119, 119, 119, | |
485 | 119, 119, 119, 119, 73, 72, 97, 92, 119, 119, | |
486 | 119, 119, 119, 119, 119, 119, 119, 35, 119, 119, | |
487 | 119, 119, 119, 30, 119, 119, 119, 68, 69, 119, | |
488 | 119, 119, 71, 119, 119, 119, 119, 119, 119, 119, | |
489 | 119, 119, 119, 119, 119, 18, 119, 119, 119, 119, | |
490 | 119, 119, 119, 119, 119, 119, 119, 89, 119, 119, | |
491 | 119, 119, 119, 119, 19, 119, 9, 119, 119, 87, | |
492 | 40, 119, 119, 119, 76, 58, 119, 119, 42, 45, | |
493 | 41, 119, 36, 119, 8, 119, 119, 75, 119, 119, | |
494 | ||
495 | 119, 37, 119, 88, 119, 119, 59, 44, 38, 119, | |
496 | 119, 119, 119, 47, 119, 119, 119, 119, 81, 0 | |
496 | 497 | } ; |
497 | 498 | |
498 | 499 | static yyconst flex_int32_t yy_ec[256] = |
538 | 539 | 1, 1, 1, 1, 1 |
539 | 540 | } ; |
540 | 541 | |
541 | static yyconst flex_int16_t yy_base[1125] = | |
542 | static yyconst flex_int16_t yy_base[1135] = | |
542 | 543 | { 0, |
543 | 544 | 0, 0, 63, 66, 69, 71, 77, 83, 88, 91, |
544 | 129, 135, 442, 402, 95, 3209, 3209, 3209, 116, 109, | |
545 | 129, 135, 442, 402, 95, 3229, 3229, 3229, 116, 109, | |
545 | 546 | 132, 122, 90, 50, 141, 149, 130, 143, 139, 164, |
546 | 547 | 177, 125, 193, 209, 196, 185, 180, 232, 257, 379, |
547 | 3209, 3209, 3209, 94, 370, 3209, 3209, 3209, 96, 362, | |
548 | 388, 3209, 3209, 3209, 107, 300, 3209, 3209, 3209, 102, | |
549 | 279, 3209, 275, 3209, 205, 263, 217, 279, 111, 249, | |
550 | 285, 240, 3209, 206, 212, 259, 255, 267, 265, 173, | |
548 | 3229, 3229, 3229, 94, 370, 3229, 3229, 3229, 96, 362, | |
549 | 388, 3229, 3229, 3229, 107, 300, 3229, 3229, 3229, 102, | |
550 | 279, 3229, 275, 3229, 205, 263, 217, 279, 111, 249, | |
551 | 285, 240, 3229, 206, 212, 259, 255, 267, 265, 173, | |
551 | 552 | 221, 264, 269, 270, 286, 293, 301, 276, 274, 302, |
552 | 553 | 312, 311, 306, 317, 310, 315, 326, 322, 332, 327, |
553 | 554 | |
564 | 565 | |
565 | 566 | 638, 646, 649, 636, 660, 662, 661, 664, 663, 674, |
566 | 567 | 666, 665, 670, 656, 686, 726, 679, 695, 682, 691, |
567 | 699, 696, 690, 719, 706, 730, 750, 724, 709, 738, | |
568 | 746, 755, 743, 749, 769, 765, 771, 770, 723, 777, | |
569 | 753, 788, 768, 784, 782, 795, 786, 798, 3209, 802, | |
570 | 787, 804, 810, 805, 3209, 813, 809, 836, 816, 832, | |
571 | 820, 826, 848, 834, 852, 835, 865, 842, 869, 858, | |
572 | 859, 861, 868, 872, 878, 883, 888, 885, 882, 893, | |
573 | 908, 899, 898, 915, 909, 919, 921, 927, 924, 928, | |
574 | 931, 929, 933, 935, 939, 936, 912, 942, 930, 964, | |
575 | ||
576 | 951, 954, 950, 961, 962, 968, 986, 977, 981, 982, | |
577 | 988, 978, 992, 1002, 1011, 990, 1001, 1009, 995, 1030, | |
578 | 1004, 1017, 1012, 1014, 1020, 1041, 1039, 1038, 1044, 1034, | |
579 | 1033, 1043, 1046, 1058, 1059, 1067, 1057, 1071, 1065, 1068, | |
580 | 1076, 1084, 1088, 3209, 1092, 1086, 1085, 1091, 3209, 3209, | |
581 | 1083, 3209, 3209, 1098, 1113, 1125, 1149, 1118, 1110, 1105, | |
582 | 1122, 1131, 1135, 1124, 1142, 1144, 1152, 1146, 1158, 1133, | |
583 | 1173, 1164, 1174, 1176, 1179, 1181, 1166, 1185, 1191, 1192, | |
584 | 1200, 1183, 3209, 1194, 1193, 1212, 1219, 3209, 1206, 1224, | |
585 | 1204, 1217, 1218, 1229, 1227, 1240, 1233, 1239, 1236, 1238, | |
586 | ||
587 | 1250, 1246, 1249, 1251, 1259, 1265, 1260, 1281, 1282, 1268, | |
588 | 1264, 1270, 1313, 1275, 1278, 1276, 1285, 1287, 1298, 1331, | |
589 | 1307, 1292, 1325, 1333, 1315, 1327, 1317, 1335, 3209, 1334, | |
590 | 1343, 1328, 1351, 1362, 1360, 1366, 1352, 1361, 1380, 3209, | |
591 | 1368, 1376, 1377, 1385, 1388, 1391, 1384, 3209, 1412, 1398, | |
592 | 1399, 1400, 1402, 1417, 1418, 1403, 1419, 1411, 1408, 1429, | |
593 | 1446, 1433, 1441, 1457, 1458, 1440, 1442, 1443, 1445, 266, | |
594 | 1447, 1466, 1461, 1456, 3209, 76, 1463, 1470, 1491, 1471, | |
595 | 1482, 1485, 1489, 1486, 1495, 1487, 1497, 1510, 1492, 1498, | |
596 | 1516, 1512, 1514, 1521, 1509, 1528, 1525, 1534, 1533, 1536, | |
597 | ||
598 | 3209, 1537, 1542, 1539, 1557, 1574, 1552, 1572, 1570, 1576, | |
599 | 1582, 1561, 1567, 1586, 1591, 1588, 1592, 1608, 1600, 1601, | |
600 | 1587, 1607, 1606, 1603, 1618, 1612, 1623, 1629, 1640, 1641, | |
601 | 1647, 1634, 1649, 1650, 1644, 1652, 1653, 3209, 1645, 1663, | |
602 | 1669, 1661, 1656, 1667, 1666, 1671, 1672, 1680, 1668, 1702, | |
603 | 1681, 1679, 1693, 3209, 1714, 1689, 1694, 1717, 1705, 1719, | |
604 | 1690, 1710, 1707, 1728, 1736, 1730, 1727, 1731, 1732, 1744, | |
605 | 1751, 1752, 1768, 1760, 3209, 1764, 1754, 1780, 1766, 1758, | |
606 | 1776, 1772, 1767, 1770, 1771, 1783, 1787, 1784, 1791, 1807, | |
607 | 1811, 1799, 1810, 1800, 1821, 1817, 1803, 1828, 1829, 3209, | |
608 | ||
609 | 3209, 1831, 3209, 1833, 1825, 1816, 1846, 1830, 1853, 1834, | |
610 | 1858, 1855, 1860, 1843, 1869, 3209, 1857, 1856, 1868, 1870, | |
611 | 1877, 1887, 1873, 1878, 1893, 3209, 1889, 1882, 1905, 1909, | |
612 | 1895, 1891, 1918, 1919, 1912, 1922, 1915, 1921, 1932, 1916, | |
613 | 1931, 1935, 1936, 1945, 1926, 1940, 1957, 1948, 3209, 3209, | |
614 | 1958, 1967, 1951, 1968, 1972, 1990, 1973, 1978, 1974, 1984, | |
615 | 1992, 1991, 1988, 1994, 1995, 3209, 2016, 2024, 2017, 2025, | |
616 | 3209, 2018, 2012, 2008, 2015, 2014, 3209, 2029, 2042, 2033, | |
617 | 2043, 2053, 2040, 2051, 2052, 2056, 2075, 2060, 2059, 2076, | |
618 | 2047, 2079, 2081, 2089, 2071, 2074, 2084, 2096, 2097, 2102, | |
619 | ||
620 | 3209, 2104, 2095, 2111, 2085, 2114, 2121, 2106, 2107, 2108, | |
621 | 2116, 2123, 2130, 2138, 2122, 2137, 2151, 2150, 2134, 2152, | |
622 | 2141, 2154, 3209, 2157, 2155, 2168, 2165, 2169, 2166, 2171, | |
623 | 2185, 2184, 2198, 2181, 2186, 2192, 2209, 2214, 2213, 2208, | |
624 | 2225, 2210, 2212, 2199, 2227, 2223, 2232, 2217, 2238, 2242, | |
625 | 2240, 2243, 2247, 2249, 3209, 2250, 3209, 2254, 2260, 2252, | |
626 | 3209, 3209, 3209, 2236, 2267, 2263, 2269, 2268, 3209, 2272, | |
627 | 2282, 2276, 2274, 2288, 2290, 2289, 2287, 2301, 2310, 2303, | |
628 | 2299, 2318, 2296, 2315, 2323, 2327, 2331, 2326, 2335, 2342, | |
629 | 2338, 2337, 2346, 2340, 2339, 2363, 2352, 2362, 2364, 2365, | |
630 | ||
631 | 2341, 2370, 3209, 2380, 2368, 2387, 2381, 2389, 2390, 2401, | |
632 | 2395, 2397, 2394, 3209, 3209, 2402, 2406, 2414, 2407, 2413, | |
633 | 2422, 2416, 2425, 2420, 2429, 2423, 2442, 2434, 3209, 2432, | |
634 | 2438, 2447, 2462, 2464, 2467, 2457, 2468, 2472, 2458, 2473, | |
635 | 2476, 3209, 2474, 2480, 2469, 2483, 2475, 2486, 2495, 2507, | |
636 | 2505, 2490, 2511, 3209, 2512, 2500, 2513, 2504, 2519, 2521, | |
637 | 2525, 2518, 2520, 2528, 2522, 2540, 3209, 2534, 2549, 2561, | |
638 | 2532, 2564, 3209, 2551, 3209, 2567, 2569, 2566, 2568, 2576, | |
639 | 2575, 2557, 2560, 2578, 2586, 2592, 2593, 2603, 2604, 2613, | |
640 | 3209, 3209, 2610, 3209, 3209, 2614, 3209, 3209, 2616, 3209, | |
641 | ||
642 | 2617, 3209, 2622, 2620, 2607, 2602, 2627, 3209, 2626, 3209, | |
643 | 3209, 2628, 2643, 2641, 2652, 2644, 2639, 2649, 2650, 2651, | |
644 | 2638, 2664, 2660, 2648, 2666, 2654, 2668, 2683, 2675, 2677, | |
645 | 2698, 3209, 2681, 2702, 3209, 2691, 2687, 2688, 2695, 2693, | |
646 | 2716, 2721, 2708, 2709, 2714, 3209, 3209, 3209, 2717, 2739, | |
647 | 2731, 2725, 2727, 3209, 2746, 2730, 2747, 3209, 2750, 2738, | |
648 | 2744, 2754, 2757, 2748, 3209, 2755, 2758, 2774, 2773, 2768, | |
649 | 2791, 2792, 2793, 3209, 2789, 2784, 2795, 2790, 2800, 2801, | |
650 | 2803, 3209, 2786, 2814, 2804, 2815, 2826, 2830, 3209, 2828, | |
651 | 2825, 3209, 2840, 3209, 2823, 2844, 2846, 2847, 2848, 2836, | |
652 | ||
653 | 2842, 2850, 2858, 2855, 3209, 3209, 3209, 3209, 2860, 2870, | |
654 | 2861, 2868, 2885, 2869, 2865, 2892, 2873, 3209, 2895, 2876, | |
655 | 2899, 2900, 2905, 3209, 2906, 2896, 2909, 3209, 3209, 2897, | |
656 | 2912, 2921, 3209, 2932, 2919, 2928, 2944, 2929, 2931, 2939, | |
657 | 2946, 2926, 2935, 2949, 2955, 3209, 2963, 2948, 2958, 2967, | |
658 | 2969, 2964, 2972, 2966, 2988, 2989, 2973, 3209, 2993, 2997, | |
659 | 3001, 3002, 2999, 3003, 3209, 3005, 3209, 3008, 3007, 3209, | |
660 | 3209, 3009, 3014, 3013, 3209, 3209, 3022, 3019, 3209, 3209, | |
661 | 3209, 3021, 3209, 3033, 3209, 3027, 3028, 3209, 3020, 3051, | |
662 | 3052, 3209, 3053, 3209, 3044, 3057, 3209, 3209, 3209, 3055, | |
663 | ||
664 | 3041, 3062, 3054, 3209, 3060, 3077, 3047, 3067, 3209, 3209, | |
665 | 3130, 3136, 3142, 3148, 3154, 82, 3160, 3166, 3172, 3178, | |
666 | 3184, 3190, 3196, 3202 | |
568 | 699, 696, 690, 719, 706, 730, 750, 724, 709, 743, | |
569 | 746, 754, 756, 749, 766, 755, 776, 769, 723, 773, | |
570 | 784, 791, 798, 786, 785, 794, 783, 807, 3229, 813, | |
571 | 796, 801, 811, 815, 3229, 810, 818, 824, 825, 843, | |
572 | 828, 831, 860, 842, 867, 844, 847, 840, 852, 851, | |
573 | 869, 870, 863, 878, 879, 874, 888, 887, 894, 908, | |
574 | 903, 734, 905, 904, 915, 909, 920, 923, 928, 926, | |
575 | 933, 932, 934, 936, 941, 944, 946, 937, 947, 942, | |
576 | ||
577 | 969, 961, 958, 967, 976, 973, 960, 994, 985, 979, | |
578 | 990, 996, 987, 984, 1010, 1011, 1026, 1014, 1018, 1021, | |
579 | 1034, 1013, 1031, 1004, 1029, 1037, 1040, 1038, 1045, 1050, | |
580 | 1041, 1044, 1046, 1062, 1065, 1068, 1073, 1076, 1067, 1080, | |
581 | 1074, 1077, 1088, 1095, 1108, 3229, 1084, 1101, 1105, 1106, | |
582 | 3229, 3229, 1099, 3229, 3229, 1114, 1120, 1103, 1148, 1122, | |
583 | 1111, 1112, 1131, 1135, 1144, 1138, 1156, 1158, 1143, 1151, | |
584 | 1172, 1162, 1169, 1168, 1178, 1170, 1183, 1184, 1180, 1197, | |
585 | 1199, 1209, 1216, 1194, 3229, 1211, 1201, 1219, 1224, 3229, | |
586 | 1221, 1218, 1204, 1225, 1239, 1231, 1241, 1236, 1240, 1246, | |
587 | ||
588 | 1247, 1251, 1248, 1271, 1243, 1257, 1258, 1264, 1283, 1261, | |
589 | 1289, 1290, 1278, 1270, 1286, 1325, 1287, 1280, 1288, 1297, | |
590 | 1292, 1305, 1339, 1317, 1299, 1322, 1332, 1327, 1329, 1350, | |
591 | 1346, 3229, 1352, 1348, 1353, 1358, 1355, 1367, 1378, 1361, | |
592 | 1370, 1390, 3229, 1374, 1386, 1388, 1395, 1397, 1401, 1394, | |
593 | 3229, 1403, 1409, 1399, 1405, 1416, 1418, 1430, 1434, 1420, | |
594 | 1422, 1427, 1439, 1443, 1450, 1445, 1455, 1459, 1458, 1460, | |
595 | 1449, 1464, 1462, 266, 1461, 1454, 1465, 1469, 3229, 76, | |
596 | 1483, 1502, 1503, 1488, 1490, 1495, 1507, 1498, 1508, 1496, | |
597 | 1510, 1511, 1499, 1523, 1524, 1517, 1533, 1530, 1506, 1529, | |
598 | ||
599 | 1546, 1538, 1541, 1554, 3229, 1544, 1556, 1550, 1557, 1582, | |
600 | 1559, 1571, 1565, 1589, 1586, 1581, 1578, 1604, 1605, 1597, | |
601 | 1599, 1601, 1607, 1591, 1609, 1598, 1616, 1632, 1623, 1620, | |
602 | 1629, 1649, 1651, 1647, 1653, 1637, 1650, 1655, 1643, 1659, | |
603 | 1656, 3229, 1670, 1673, 1666, 1677, 1672, 1675, 1678, 1691, | |
604 | 1676, 1686, 1687, 1683, 1708, 1692, 1690, 1693, 3229, 1726, | |
605 | 1698, 1713, 1722, 1710, 1725, 1728, 1718, 1741, 1738, 1737, | |
606 | 1745, 1748, 1752, 1754, 1746, 1757, 1780, 1782, 1784, 3229, | |
607 | 1778, 1771, 1786, 1791, 1773, 1789, 1801, 1787, 1796, 1802, | |
608 | 1805, 1811, 1799, 1812, 1803, 1830, 1822, 1828, 1816, 1840, | |
609 | ||
610 | 1839, 1826, 1845, 1849, 3229, 3229, 1850, 3229, 1853, 1843, | |
611 | 1854, 1855, 1859, 1865, 1848, 1877, 1862, 1880, 1886, 1869, | |
612 | 1889, 3229, 1875, 1883, 1892, 1902, 1896, 1904, 1873, 1906, | |
613 | 1908, 3229, 1919, 1907, 1925, 1936, 1920, 1923, 1935, 1939, | |
614 | 1927, 1951, 1930, 1941, 1949, 1931, 1947, 1946, 1957, 1959, | |
615 | 1964, 1965, 1981, 1973, 3229, 3229, 1991, 1986, 1978, 2002, | |
616 | 1992, 2003, 1982, 2005, 2010, 2008, 2013, 2015, 2030, 2018, | |
617 | 2021, 3229, 2019, 2040, 2037, 2046, 3229, 2036, 2029, 2032, | |
618 | 2052, 2054, 3229, 2042, 2061, 2070, 2078, 2079, 2071, 2063, | |
619 | 2076, 2073, 2081, 2098, 2089, 2069, 2103, 2077, 2106, 2117, | |
620 | ||
621 | 2123, 2100, 2102, 2124, 2126, 2131, 2129, 3229, 2127, 2116, | |
622 | 2139, 2112, 2138, 2144, 2133, 2135, 2143, 2148, 2146, 2150, | |
623 | 2156, 2158, 2160, 2173, 2172, 2162, 2185, 2165, 2177, 3229, | |
624 | 2192, 2202, 2189, 2194, 2205, 2208, 2203, 2199, 2206, 2216, | |
625 | 2218, 2213, 2224, 2215, 2257, 2235, 2236, 2243, 2244, 2242, | |
626 | 2247, 2233, 2251, 2245, 2268, 2254, 2255, 2276, 2271, 2274, | |
627 | 2281, 2280, 3229, 2278, 3229, 2298, 2270, 2282, 3229, 3229, | |
628 | 3229, 2284, 2275, 2295, 2311, 2300, 3229, 2301, 2319, 2303, | |
629 | 2317, 2322, 2323, 2316, 2312, 2328, 2339, 2318, 2343, 2342, | |
630 | 2327, 2359, 2355, 2360, 2362, 2354, 2351, 2377, 2369, 2356, | |
631 | ||
632 | 2376, 2385, 2381, 2388, 2386, 2394, 2392, 2387, 2402, 2403, | |
633 | 3229, 2404, 2398, 2417, 2411, 2419, 2416, 2420, 2431, 2436, | |
634 | 2427, 2442, 3229, 3229, 2443, 2448, 2450, 2437, 2454, 2453, | |
635 | 2445, 2456, 2446, 2455, 2464, 2477, 2469, 3229, 2468, 2480, | |
636 | 2481, 2496, 2499, 2500, 2492, 2502, 2503, 2487, 2509, 2510, | |
637 | 3229, 2508, 2511, 2512, 2515, 2507, 2516, 2538, 2543, 2518, | |
638 | 2527, 2528, 3229, 2547, 2524, 2552, 2536, 2551, 2539, 2557, | |
639 | 2549, 2558, 2563, 2561, 2565, 3229, 2573, 3229, 2586, 2580, | |
640 | 2601, 2597, 3229, 2590, 3229, 2600, 2577, 2605, 2607, 2609, | |
641 | 2610, 2594, 2596, 2613, 2619, 2620, 2615, 2630, 2636, 2646, | |
642 | ||
643 | 3229, 3229, 2649, 3229, 3229, 2651, 3229, 3229, 2652, 3229, | |
644 | 2654, 3229, 2653, 2655, 2643, 2638, 2661, 3229, 2664, 3229, | |
645 | 3229, 2662, 2670, 2663, 2669, 2673, 2674, 2686, 2690, 2691, | |
646 | 2684, 2705, 2697, 2681, 2689, 2701, 2696, 2708, 2710, 2716, | |
647 | 2726, 3229, 2727, 2737, 3229, 2730, 2728, 2732, 2724, 2725, | |
648 | 2756, 2731, 2747, 2741, 2743, 3229, 3229, 3229, 2749, 2758, | |
649 | 2775, 2764, 2766, 3229, 2778, 2767, 2780, 3229, 2781, 2770, | |
650 | 2789, 2790, 2794, 2793, 3229, 2785, 2805, 2809, 2788, 2804, | |
651 | 2818, 2823, 2824, 3229, 2828, 2817, 2831, 2826, 2830, 2837, | |
652 | 2840, 3229, 2827, 2844, 2842, 2843, 2851, 2867, 3229, 2865, | |
653 | ||
654 | 2855, 3229, 2848, 3229, 2857, 2879, 2878, 2883, 2885, 2869, | |
655 | 2875, 2892, 2891, 2893, 3229, 3229, 3229, 3229, 2884, 2890, | |
656 | 2894, 2899, 2895, 2908, 2905, 2914, 2909, 3229, 2930, 2916, | |
657 | 2937, 2935, 2936, 3229, 2938, 2932, 2921, 3229, 3229, 2948, | |
658 | 2950, 2940, 3229, 2963, 2960, 2954, 2970, 2966, 2964, 2976, | |
659 | 2980, 2962, 2967, 2992, 2993, 3229, 2999, 2981, 2978, 3002, | |
660 | 3004, 2995, 3005, 2996, 3018, 3021, 3011, 3229, 3019, 3033, | |
661 | 3034, 3035, 3031, 3037, 3229, 3038, 3229, 3040, 3042, 3229, | |
662 | 3229, 3041, 3050, 3048, 3229, 3229, 3032, 3051, 3229, 3229, | |
663 | 3229, 3054, 3229, 3066, 3229, 3056, 3057, 3229, 3067, 3071, | |
664 | ||
665 | 3073, 3229, 3086, 3229, 3075, 3088, 3229, 3229, 3229, 3091, | |
666 | 3076, 3090, 3083, 3229, 3093, 3097, 3082, 3104, 3229, 3229, | |
667 | 3150, 3156, 3162, 3168, 3174, 82, 3180, 3186, 3192, 3198, | |
668 | 3204, 3210, 3216, 3222 | |
667 | 669 | } ; |
668 | 670 | |
669 | static yyconst flex_int16_t yy_def[1125] = | |
671 | static yyconst flex_int16_t yy_def[1135] = | |
670 | 672 | { 0, |
671 | 1110, 1, 1111, 1111, 1112, 1112, 1113, 1113, 1114, 1114, | |
672 | 1115, 1115, 1110, 1116, 1110, 1110, 1110, 1110, 1117, 1116, | |
673 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
674 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1118, | |
675 | 1110, 1110, 1110, 1118, 1119, 1110, 1110, 1110, 1119, 1120, | |
676 | 1110, 1110, 1110, 1110, 1120, 1121, 1110, 1110, 1110, 1121, | |
677 | 1122, 1110, 1123, 1110, 1122, 1122, 1116, 1116, 1110, 1124, | |
678 | 1117, 1124, 1110, 1117, 1116, 1116, 1116, 1116, 1116, 1116, | |
679 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
680 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
681 | ||
682 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
683 | 1116, 1118, 1118, 1119, 1119, 1120, 1120, 1110, 1121, 1121, | |
684 | 1122, 1122, 1123, 1123, 1122, 1116, 1116, 1116, 1116, 1116, | |
685 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
686 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
687 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
688 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1122, 1116, 1116, | |
689 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
690 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
691 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
692 | ||
693 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
694 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1122, 1116, | |
695 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
696 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
697 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1110, 1116, | |
698 | 1116, 1116, 1116, 1116, 1110, 1116, 1116, 1116, 1116, 1116, | |
699 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
700 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1122, 1116, 1116, | |
701 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
702 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
703 | ||
704 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
705 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
706 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
707 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
708 | 1122, 1116, 1116, 1110, 1116, 1116, 1116, 1116, 1110, 1110, | |
709 | 1116, 1110, 1110, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
710 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
711 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
712 | 1116, 1116, 1110, 1116, 1116, 1116, 1116, 1110, 1116, 1116, | |
713 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
714 | ||
715 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1122, 1116, | |
716 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
717 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1110, 1116, | |
718 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1110, | |
719 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1110, 1116, 1116, | |
720 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
721 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
722 | 1116, 1116, 1116, 1116, 1110, 1122, 1116, 1116, 1116, 1116, | |
723 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
724 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
725 | ||
726 | 1110, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
727 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
728 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
729 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1110, 1116, 1116, | |
730 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
731 | 1116, 1116, 1116, 1110, 1116, 1116, 1116, 1116, 1116, 1116, | |
732 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
733 | 1116, 1116, 1116, 1116, 1110, 1116, 1116, 1116, 1116, 1116, | |
734 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
735 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1110, | |
736 | ||
737 | 1110, 1116, 1110, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
738 | 1116, 1116, 1116, 1116, 1116, 1110, 1116, 1116, 1116, 1116, | |
739 | 1116, 1116, 1116, 1116, 1116, 1110, 1116, 1116, 1116, 1116, | |
740 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
741 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1110, 1110, | |
742 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
743 | 1116, 1116, 1116, 1116, 1116, 1110, 1116, 1116, 1116, 1116, | |
744 | 1110, 1116, 1116, 1116, 1116, 1116, 1110, 1116, 1116, 1116, | |
745 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
746 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
747 | ||
748 | 1110, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
749 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
750 | 1116, 1116, 1110, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
751 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
752 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
753 | 1116, 1116, 1116, 1116, 1110, 1116, 1110, 1116, 1116, 1116, | |
754 | 1110, 1110, 1110, 1116, 1116, 1116, 1116, 1116, 1110, 1116, | |
755 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
756 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
757 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
758 | ||
759 | 1116, 1116, 1110, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
760 | 1116, 1116, 1116, 1110, 1110, 1116, 1116, 1116, 1116, 1116, | |
761 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1110, 1116, | |
762 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
763 | 1116, 1110, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
764 | 1116, 1116, 1116, 1110, 1116, 1116, 1116, 1116, 1116, 1116, | |
765 | 1116, 1116, 1116, 1116, 1116, 1116, 1110, 1116, 1116, 1116, | |
766 | 1116, 1116, 1110, 1116, 1110, 1116, 1116, 1116, 1116, 1116, | |
767 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
768 | 1110, 1110, 1116, 1110, 1110, 1116, 1110, 1110, 1116, 1110, | |
769 | ||
770 | 1116, 1110, 1116, 1116, 1116, 1116, 1116, 1110, 1116, 1110, | |
771 | 1110, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
772 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
773 | 1116, 1110, 1116, 1116, 1110, 1116, 1116, 1116, 1116, 1116, | |
774 | 1116, 1116, 1116, 1116, 1116, 1110, 1110, 1110, 1116, 1116, | |
775 | 1116, 1116, 1116, 1110, 1116, 1116, 1116, 1110, 1116, 1116, | |
776 | 1116, 1116, 1116, 1116, 1110, 1116, 1116, 1116, 1116, 1116, | |
777 | 1116, 1116, 1116, 1110, 1116, 1116, 1116, 1116, 1116, 1116, | |
778 | 1116, 1110, 1116, 1116, 1116, 1116, 1116, 1116, 1110, 1116, | |
779 | 1116, 1110, 1116, 1110, 1116, 1116, 1116, 1116, 1116, 1116, | |
780 | ||
781 | 1116, 1116, 1116, 1116, 1110, 1110, 1110, 1110, 1116, 1116, | |
782 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1110, 1116, 1116, | |
783 | 1116, 1116, 1116, 1110, 1116, 1116, 1116, 1110, 1110, 1116, | |
784 | 1116, 1116, 1110, 1116, 1116, 1116, 1116, 1116, 1116, 1116, | |
785 | 1116, 1116, 1116, 1116, 1116, 1110, 1116, 1116, 1116, 1116, | |
786 | 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1110, 1116, 1116, | |
787 | 1116, 1116, 1116, 1116, 1110, 1116, 1110, 1116, 1116, 1110, | |
788 | 1110, 1116, 1116, 1116, 1110, 1110, 1116, 1116, 1110, 1110, | |
789 | 1110, 1116, 1110, 1116, 1110, 1116, 1116, 1110, 1116, 1116, | |
790 | 1116, 1110, 1116, 1110, 1116, 1116, 1110, 1110, 1110, 1116, | |
791 | ||
792 | 1116, 1116, 1116, 1110, 1116, 1116, 1116, 1116, 1110, 0, | |
793 | 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, | |
794 | 1110, 1110, 1110, 1110 | |
673 | 1120, 1, 1121, 1121, 1122, 1122, 1123, 1123, 1124, 1124, | |
674 | 1125, 1125, 1120, 1126, 1120, 1120, 1120, 1120, 1127, 1126, | |
675 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
676 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1128, | |
677 | 1120, 1120, 1120, 1128, 1129, 1120, 1120, 1120, 1129, 1130, | |
678 | 1120, 1120, 1120, 1120, 1130, 1131, 1120, 1120, 1120, 1131, | |
679 | 1132, 1120, 1133, 1120, 1132, 1132, 1126, 1126, 1120, 1134, | |
680 | 1127, 1134, 1120, 1127, 1126, 1126, 1126, 1126, 1126, 1126, | |
681 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
682 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
683 | ||
684 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
685 | 1126, 1128, 1128, 1129, 1129, 1130, 1130, 1120, 1131, 1131, | |
686 | 1132, 1132, 1133, 1133, 1132, 1126, 1126, 1126, 1126, 1126, | |
687 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
688 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
689 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
690 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1132, 1126, 1126, | |
691 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
692 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
693 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
694 | ||
695 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
696 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1132, 1126, | |
697 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
698 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
699 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1120, 1126, | |
700 | 1126, 1126, 1126, 1126, 1120, 1126, 1126, 1126, 1126, 1126, | |
701 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
702 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1132, 1126, | |
703 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
704 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
705 | ||
706 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
707 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
708 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
709 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
710 | 1126, 1126, 1132, 1126, 1126, 1120, 1126, 1126, 1126, 1126, | |
711 | 1120, 1120, 1126, 1120, 1120, 1126, 1126, 1126, 1126, 1126, | |
712 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
713 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
714 | 1126, 1126, 1126, 1126, 1120, 1126, 1126, 1126, 1126, 1120, | |
715 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
716 | ||
717 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
718 | 1126, 1132, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
719 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
720 | 1126, 1120, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
721 | 1126, 1126, 1120, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
722 | 1120, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
723 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
724 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1120, 1132, | |
725 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
726 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
727 | ||
728 | 1126, 1126, 1126, 1126, 1120, 1126, 1126, 1126, 1126, 1126, | |
729 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
730 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
731 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
732 | 1126, 1120, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
733 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1120, 1126, | |
734 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
735 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1120, | |
736 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
737 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
738 | ||
739 | 1126, 1126, 1126, 1126, 1120, 1120, 1126, 1120, 1126, 1126, | |
740 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
741 | 1126, 1120, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
742 | 1126, 1120, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
743 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
744 | 1126, 1126, 1126, 1126, 1120, 1120, 1126, 1126, 1126, 1126, | |
745 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
746 | 1126, 1120, 1126, 1126, 1126, 1126, 1120, 1126, 1126, 1126, | |
747 | 1126, 1126, 1120, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
748 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
749 | ||
750 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1120, 1126, 1126, | |
751 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
752 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1120, | |
753 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
754 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
755 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
756 | 1126, 1126, 1120, 1126, 1120, 1126, 1126, 1126, 1120, 1120, | |
757 | 1120, 1126, 1126, 1126, 1126, 1126, 1120, 1126, 1126, 1126, | |
758 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
759 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
760 | ||
761 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
762 | 1120, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
763 | 1126, 1126, 1120, 1120, 1126, 1126, 1126, 1126, 1126, 1126, | |
764 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1120, 1126, 1126, | |
765 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
766 | 1120, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
767 | 1126, 1126, 1120, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
768 | 1126, 1126, 1126, 1126, 1126, 1120, 1126, 1120, 1126, 1126, | |
769 | 1126, 1126, 1120, 1126, 1120, 1126, 1126, 1126, 1126, 1126, | |
770 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
771 | ||
772 | 1120, 1120, 1126, 1120, 1120, 1126, 1120, 1120, 1126, 1120, | |
773 | 1126, 1120, 1126, 1126, 1126, 1126, 1126, 1120, 1126, 1120, | |
774 | 1120, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
775 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
776 | 1126, 1120, 1126, 1126, 1120, 1126, 1126, 1126, 1126, 1126, | |
777 | 1126, 1126, 1126, 1126, 1126, 1120, 1120, 1120, 1126, 1126, | |
778 | 1126, 1126, 1126, 1120, 1126, 1126, 1126, 1120, 1126, 1126, | |
779 | 1126, 1126, 1126, 1126, 1120, 1126, 1126, 1126, 1126, 1126, | |
780 | 1126, 1126, 1126, 1120, 1126, 1126, 1126, 1126, 1126, 1126, | |
781 | 1126, 1120, 1126, 1126, 1126, 1126, 1126, 1126, 1120, 1126, | |
782 | ||
783 | 1126, 1120, 1126, 1120, 1126, 1126, 1126, 1126, 1126, 1126, | |
784 | 1126, 1126, 1126, 1126, 1120, 1120, 1120, 1120, 1126, 1126, | |
785 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1120, 1126, 1126, | |
786 | 1126, 1126, 1126, 1120, 1126, 1126, 1126, 1120, 1120, 1126, | |
787 | 1126, 1126, 1120, 1126, 1126, 1126, 1126, 1126, 1126, 1126, | |
788 | 1126, 1126, 1126, 1126, 1126, 1120, 1126, 1126, 1126, 1126, | |
789 | 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1120, 1126, 1126, | |
790 | 1126, 1126, 1126, 1126, 1120, 1126, 1120, 1126, 1126, 1120, | |
791 | 1120, 1126, 1126, 1126, 1120, 1120, 1126, 1126, 1120, 1120, | |
792 | 1120, 1126, 1120, 1126, 1120, 1126, 1126, 1120, 1126, 1126, | |
793 | ||
794 | 1126, 1120, 1126, 1120, 1126, 1126, 1120, 1120, 1120, 1126, | |
795 | 1126, 1126, 1126, 1120, 1126, 1126, 1126, 1126, 1120, 0, | |
796 | 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, | |
797 | 1120, 1120, 1120, 1120 | |
795 | 798 | } ; |
796 | 799 | |
797 | static yyconst flex_int16_t yy_nxt[3275] = | |
800 | static yyconst flex_int16_t yy_nxt[3295] = | |
798 | 801 | { 0, |
799 | 802 | 14, 15, 16, 17, 18, 19, 18, 14, 14, 14, |
800 | 803 | 14, 18, 20, 14, 21, 22, 23, 24, 14, 25, |
825 | 828 | 97, 107, 73, 122, 110, 133, 98, 68, 111, 99, |
826 | 829 | 68, 73, 101, 126, 105, 68, 100, 125, 67, 68, |
827 | 830 | 67, 67, 102, 67, 121, 103, 121, 121, 67, 121, |
828 | 68, 110, 133, 127, 541, 111, 72, 73, 72, 72, | |
831 | 68, 110, 133, 127, 546, 111, 72, 73, 72, 72, | |
829 | 832 | 67, 72, 67, 67, 128, 67, 72, 73, 72, 72, |
830 | 833 | 67, 72, 129, 68, 130, 134, 72, 68, 135, 136, |
831 | 834 | |
844 | 847 | 164, 116, 169, 116, 116, 166, 116, 113, 161, 167, |
845 | 848 | 121, 173, 121, 121, 68, 121, 72, 73, 72, 72, |
846 | 849 | 122, 72, 170, 168, 68, 171, 174, 172, 181, 169, |
847 | 68, 1110, 182, 68, 68, 180, 68, 68, 173, 188, | |
848 | 1110, 1110, 184, 185, 190, 189, 191, 1110, 68, 196, | |
850 | 68, 1120, 182, 68, 68, 180, 68, 68, 173, 188, | |
851 | 1120, 1120, 184, 185, 190, 189, 191, 1120, 68, 196, | |
849 | 852 | 68, 68, 171, 124, 172, 181, 68, 68, 175, 182, |
850 | 853 | 192, 68, 180, 176, 68, 198, 188, 68, 177, 184, |
851 | 854 | 185, 190, 189, 186, 178, 179, 187, 68, 195, 193, |
852 | 855 | 68, 68, 197, 199, 68, 175, 68, 192, 68, 194, |
853 | 856 | |
854 | 176, 200, 201, 203, 1110, 177, 68, 1110, 68, 202, | |
857 | 176, 200, 201, 203, 1120, 177, 68, 1120, 68, 202, | |
855 | 858 | 186, 178, 179, 187, 68, 195, 68, 207, 204, 197, |
856 | 859 | 68, 68, 205, 68, 68, 206, 194, 211, 200, 201, |
857 | 860 | 203, 210, 68, 208, 68, 209, 202, 68, 68, 68, |
858 | 861 | 212, 214, 68, 213, 207, 204, 216, 68, 68, 205, |
859 | 1110, 217, 206, 220, 211, 223, 68, 221, 210, 219, | |
860 | 208, 68, 209, 215, 68, 224, 1110, 212, 218, 68, | |
862 | 1120, 217, 206, 220, 211, 223, 68, 221, 210, 219, | |
863 | 208, 68, 209, 215, 68, 224, 1120, 212, 218, 68, | |
861 | 864 | 213, 222, 68, 225, 122, 226, 68, 68, 217, 68, |
862 | 865 | 220, 228, 223, 68, 221, 227, 219, 229, 231, 68, |
863 | 866 | 215, 232, 224, 68, 230, 218, 68, 233, 222, 68, |
864 | 867 | |
865 | 225, 68, 226, 234, 68, 235, 68, 242, 228, 1110, | |
868 | 225, 68, 226, 234, 68, 235, 68, 242, 228, 1120, | |
866 | 869 | 237, 68, 227, 236, 229, 231, 68, 68, 232, 238, |
867 | 870 | 68, 230, 239, 68, 233, 68, 240, 241, 243, 245, |
868 | 871 | 234, 68, 244, 68, 242, 68, 68, 237, 249, 68, |
869 | 236, 1110, 68, 68, 250, 246, 238, 68, 68, 239, | |
872 | 236, 1120, 68, 68, 250, 246, 238, 68, 68, 239, | |
870 | 873 | 247, 248, 253, 240, 241, 243, 245, 255, 254, 244, |
871 | 68, 256, 257, 251, 68, 68, 252, 1110, 68, 259, | |
874 | 68, 256, 257, 251, 68, 68, 252, 1120, 68, 259, | |
872 | 875 | 267, 250, 246, 68, 68, 68, 68, 247, 248, 253, |
873 | 876 | 261, 263, 264, 262, 68, 254, 268, 68, 256, 257, |
874 | 877 | 251, 258, 260, 252, 68, 266, 265, 267, 68, 68, |
875 | 878 | |
876 | 68, 68, 68, 68, 68, 276, 280, 261, 68, 264, | |
877 | 262, 269, 68, 268, 278, 277, 282, 68, 258, 260, | |
878 | 122, 279, 266, 265, 68, 1110, 1110, 281, 68, 68, | |
879 | 300, 284, 276, 68, 68, 1110, 289, 68, 269, 270, | |
880 | 271, 278, 277, 282, 68, 1110, 285, 68, 279, 1110, | |
881 | 283, 272, 273, 274, 281, 288, 275, 68, 284, 286, | |
882 | 287, 68, 68, 289, 68, 290, 270, 271, 68, 302, | |
883 | 292, 291, 293, 285, 294, 304, 68, 283, 272, 273, | |
884 | 274, 68, 288, 275, 68, 297, 298, 68, 68, 295, | |
885 | 299, 68, 290, 68, 301, 1110, 302, 292, 291, 293, | |
886 | ||
887 | 303, 294, 296, 68, 305, 306, 68, 68, 68, 68, | |
888 | 309, 307, 297, 298, 310, 68, 295, 299, 308, 311, | |
889 | 68, 301, 68, 312, 68, 68, 68, 303, 314, 296, | |
890 | 313, 305, 306, 68, 316, 318, 68, 309, 307, 319, | |
891 | 68, 310, 68, 68, 315, 308, 311, 68, 68, 320, | |
892 | 312, 68, 317, 1110, 68, 314, 321, 313, 68, 327, | |
893 | 322, 316, 318, 1110, 68, 326, 329, 323, 328, 1110, | |
894 | 68, 315, 68, 68, 68, 324, 320, 330, 331, 317, | |
895 | 68, 332, 334, 321, 333, 325, 68, 322, 337, 342, | |
896 | 68, 335, 326, 329, 323, 328, 68, 68, 338, 68, | |
897 | ||
898 | 341, 336, 324, 68, 330, 331, 68, 68, 332, 334, | |
899 | 68, 333, 325, 339, 340, 337, 68, 343, 335, 344, | |
900 | 68, 68, 345, 122, 346, 338, 68, 341, 336, 347, | |
901 | 349, 68, 350, 348, 351, 352, 68, 68, 354, 353, | |
902 | 339, 340, 357, 360, 343, 355, 68, 68, 356, 345, | |
903 | 68, 346, 359, 68, 358, 362, 347, 68, 361, 68, | |
904 | 348, 367, 68, 366, 368, 68, 68, 68, 68, 68, | |
905 | 360, 68, 355, 68, 68, 356, 369, 68, 363, 359, | |
906 | 68, 358, 362, 364, 372, 361, 371, 365, 68, 68, | |
907 | 366, 368, 68, 373, 374, 375, 376, 382, 370, 68, | |
908 | ||
909 | 68, 383, 68, 369, 377, 363, 68, 378, 384, 386, | |
910 | 364, 372, 1110, 371, 365, 68, 68, 379, 380, 68, | |
911 | 68, 374, 375, 376, 68, 370, 68, 381, 68, 385, | |
912 | 68, 377, 390, 68, 378, 389, 386, 387, 391, 68, | |
913 | 68, 388, 68, 392, 379, 380, 393, 68, 394, 68, | |
914 | 68, 395, 68, 396, 381, 68, 385, 1110, 68, 390, | |
915 | 397, 398, 389, 399, 401, 391, 1110, 400, 68, 1110, | |
916 | 392, 68, 68, 393, 402, 403, 68, 68, 395, 68, | |
917 | 396, 68, 68, 404, 68, 407, 405, 397, 398, 406, | |
918 | 399, 401, 409, 408, 400, 68, 68, 68, 410, 413, | |
919 | ||
920 | 411, 402, 403, 68, 415, 68, 68, 1110, 412, 68, | |
921 | 404, 417, 407, 405, 122, 414, 406, 416, 418, 409, | |
922 | 408, 68, 68, 68, 68, 410, 68, 411, 419, 68, | |
923 | 68, 415, 420, 429, 426, 412, 68, 1110, 417, 427, | |
924 | 1110, 428, 414, 68, 416, 418, 1110, 431, 68, 430, | |
925 | 432, 68, 1110, 1110, 433, 419, 68, 1110, 434, 438, | |
926 | 68, 426, 68, 68, 421, 436, 427, 422, 428, 68, | |
927 | 437, 68, 423, 68, 431, 440, 430, 432, 424, 425, | |
928 | 68, 433, 68, 435, 68, 434, 438, 68, 441, 439, | |
929 | 68, 421, 436, 442, 422, 445, 68, 437, 443, 423, | |
930 | ||
931 | 444, 446, 68, 448, 68, 424, 425, 449, 451, 447, | |
932 | 435, 68, 68, 450, 68, 441, 439, 68, 452, 68, | |
933 | 442, 68, 445, 68, 453, 443, 456, 444, 446, 68, | |
934 | 68, 68, 68, 454, 458, 451, 447, 459, 68, 457, | |
935 | 450, 455, 68, 460, 68, 452, 461, 463, 464, 1110, | |
936 | 68, 453, 462, 456, 467, 68, 68, 68, 469, 466, | |
937 | 454, 458, 68, 470, 459, 68, 457, 68, 455, 465, | |
938 | 460, 68, 473, 461, 68, 464, 68, 68, 68, 462, | |
939 | 471, 467, 468, 472, 68, 469, 466, 68, 68, 68, | |
940 | 470, 474, 475, 476, 477, 479, 465, 68, 68, 478, | |
941 | ||
942 | 1110, 487, 68, 68, 486, 490, 68, 471, 68, 468, | |
943 | 472, 485, 489, 68, 68, 495, 68, 488, 474, 68, | |
944 | 122, 477, 479, 68, 1110, 68, 478, 480, 487, 481, | |
945 | 68, 486, 494, 482, 498, 483, 68, 496, 485, 489, | |
946 | 484, 502, 495, 491, 488, 68, 501, 500, 1110, 497, | |
947 | 492, 68, 499, 68, 480, 68, 481, 503, 504, 494, | |
948 | 482, 498, 483, 68, 496, 68, 68, 484, 493, 68, | |
949 | 491, 68, 68, 68, 500, 505, 497, 492, 506, 499, | |
950 | 507, 68, 508, 509, 503, 504, 510, 511, 1110, 68, | |
951 | 68, 518, 513, 514, 512, 493, 1110, 1110, 68, 68, | |
952 | ||
953 | 68, 515, 505, 517, 68, 506, 68, 507, 516, 508, | |
954 | 509, 1110, 521, 510, 68, 68, 524, 527, 68, 513, | |
955 | 514, 512, 68, 68, 519, 522, 68, 520, 515, 68, | |
956 | 517, 523, 530, 525, 526, 516, 68, 68, 68, 521, | |
957 | 68, 68, 529, 524, 527, 531, 68, 533, 528, 68, | |
958 | 68, 519, 522, 538, 520, 68, 68, 68, 523, 530, | |
959 | 525, 526, 532, 534, 535, 536, 537, 68, 1110, 529, | |
960 | 540, 68, 531, 539, 533, 528, 542, 547, 68, 68, | |
961 | 68, 68, 1110, 68, 68, 68, 543, 549, 546, 532, | |
962 | 534, 544, 545, 537, 68, 68, 68, 540, 548, 68, | |
963 | ||
964 | 539, 68, 1110, 542, 68, 552, 554, 550, 68, 68, | |
965 | 551, 1110, 553, 543, 549, 546, 555, 556, 544, 545, | |
966 | 68, 1110, 558, 68, 68, 68, 557, 68, 559, 68, | |
967 | 68, 560, 552, 68, 550, 68, 68, 551, 561, 553, | |
968 | 562, 564, 566, 555, 556, 1110, 1110, 68, 68, 558, | |
969 | 68, 563, 68, 557, 68, 559, 569, 565, 560, 68, | |
970 | 567, 571, 570, 68, 568, 561, 68, 562, 564, 566, | |
971 | 572, 68, 68, 573, 68, 68, 576, 68, 563, 577, | |
972 | 68, 574, 578, 569, 565, 575, 581, 567, 571, 570, | |
973 | 68, 568, 579, 583, 580, 68, 582, 572, 584, 68, | |
974 | ||
975 | 573, 1110, 1110, 576, 585, 68, 1110, 586, 68, 578, | |
976 | 68, 1110, 68, 581, 68, 591, 593, 1110, 1110, 579, | |
977 | 68, 580, 596, 582, 68, 68, 68, 592, 587, 68, | |
978 | 68, 585, 594, 588, 586, 589, 595, 590, 68, 68, | |
979 | 600, 68, 591, 593, 68, 68, 68, 597, 598, 596, | |
980 | 68, 601, 610, 599, 592, 587, 68, 602, 603, 594, | |
981 | 588, 68, 589, 595, 590, 604, 606, 68, 605, 608, | |
982 | 611, 609, 68, 607, 597, 598, 612, 616, 68, 68, | |
983 | 599, 613, 68, 68, 602, 68, 614, 68, 68, 615, | |
984 | 68, 68, 604, 606, 68, 605, 608, 620, 609, 68, | |
985 | ||
986 | 607, 68, 617, 618, 68, 68, 68, 68, 613, 68, | |
987 | 68, 619, 622, 614, 621, 623, 615, 68, 68, 68, | |
988 | 632, 625, 624, 628, 620, 626, 627, 68, 68, 617, | |
989 | 618, 68, 68, 629, 631, 633, 630, 634, 619, 622, | |
990 | 68, 621, 623, 68, 635, 68, 637, 632, 68, 624, | |
991 | 628, 639, 68, 627, 636, 68, 638, 68, 640, 643, | |
992 | 629, 631, 633, 630, 634, 68, 68, 642, 68, 68, | |
993 | 68, 635, 645, 637, 68, 644, 641, 650, 639, 653, | |
994 | 646, 636, 68, 638, 647, 640, 1110, 648, 651, 68, | |
995 | 68, 649, 68, 652, 642, 1110, 68, 654, 68, 645, | |
996 | ||
997 | 655, 656, 68, 641, 68, 68, 68, 646, 68, 68, | |
998 | 68, 647, 658, 657, 68, 651, 659, 660, 68, 661, | |
999 | 652, 68, 68, 663, 654, 68, 662, 655, 656, 68, | |
1000 | 664, 665, 666, 667, 668, 669, 670, 68, 68, 658, | |
1001 | 657, 68, 671, 659, 660, 68, 661, 672, 68, 68, | |
1002 | 663, 673, 674, 662, 68, 68, 676, 664, 665, 68, | |
1003 | 667, 668, 675, 68, 677, 678, 68, 68, 68, 68, | |
1004 | 679, 68, 68, 682, 672, 681, 1110, 680, 673, 674, | |
1005 | 690, 68, 1110, 676, 68, 683, 684, 685, 1110, 675, | |
1006 | 688, 68, 678, 68, 68, 68, 68, 679, 68, 686, | |
1007 | ||
1008 | 682, 687, 681, 689, 680, 693, 68, 68, 68, 691, | |
1009 | 692, 68, 683, 684, 685, 68, 68, 688, 694, 695, | |
1010 | 68, 696, 698, 701, 697, 68, 686, 68, 687, 68, | |
1011 | 689, 68, 693, 68, 699, 700, 691, 692, 702, 1110, | |
1012 | 1110, 706, 708, 68, 703, 694, 695, 68, 696, 698, | |
1013 | 68, 697, 704, 68, 68, 707, 68, 68, 711, 68, | |
1014 | 68, 699, 700, 705, 68, 702, 712, 709, 706, 68, | |
1015 | 68, 703, 716, 68, 68, 715, 710, 713, 68, 704, | |
1016 | 714, 718, 707, 68, 723, 711, 68, 717, 719, 68, | |
1017 | 705, 720, 721, 712, 709, 68, 68, 722, 725, 716, | |
1018 | ||
1019 | 729, 1110, 715, 710, 713, 68, 68, 714, 718, 724, | |
1020 | 68, 68, 68, 726, 717, 719, 68, 727, 720, 721, | |
1021 | 728, 730, 68, 732, 731, 725, 68, 729, 68, 68, | |
1022 | 68, 733, 68, 68, 734, 1110, 724, 737, 739, 735, | |
1023 | 726, 738, 740, 741, 727, 736, 68, 728, 730, 744, | |
1024 | 68, 731, 68, 68, 68, 68, 68, 743, 755, 745, | |
1025 | 742, 734, 68, 68, 737, 739, 735, 68, 738, 740, | |
1026 | 741, 68, 736, 746, 747, 749, 744, 748, 68, 750, | |
1027 | 68, 68, 751, 752, 743, 68, 745, 742, 753, 68, | |
1028 | 68, 68, 757, 754, 68, 761, 758, 68, 68, 756, | |
1029 | ||
1030 | 746, 747, 749, 759, 748, 760, 750, 762, 763, 68, | |
1031 | 752, 765, 68, 68, 68, 753, 764, 68, 767, 68, | |
1032 | 754, 768, 68, 68, 766, 769, 756, 68, 770, 771, | |
1033 | 759, 772, 760, 68, 68, 68, 773, 1110, 774, 775, | |
1034 | 68, 1110, 68, 764, 68, 68, 68, 776, 768, 68, | |
1035 | 779, 766, 68, 780, 68, 777, 771, 781, 772, 68, | |
1036 | 68, 68, 789, 773, 785, 774, 775, 778, 68, 782, | |
1037 | 783, 784, 68, 788, 776, 68, 68, 779, 786, 68, | |
1038 | 780, 787, 777, 791, 781, 792, 793, 1110, 68, 68, | |
1039 | 68, 785, 68, 68, 778, 68, 782, 783, 784, 790, | |
1040 | ||
1041 | 788, 798, 794, 68, 68, 786, 68, 68, 787, 68, | |
1042 | 791, 795, 792, 793, 796, 797, 801, 800, 799, 68, | |
1043 | 804, 802, 68, 68, 68, 803, 790, 808, 798, 794, | |
1044 | 68, 805, 806, 807, 810, 809, 68, 68, 795, 812, | |
1045 | 813, 796, 797, 825, 800, 799, 68, 68, 68, 814, | |
1046 | 68, 68, 68, 815, 808, 68, 811, 816, 805, 817, | |
1047 | 807, 68, 809, 68, 818, 68, 821, 813, 1110, 819, | |
1048 | 68, 1110, 824, 820, 68, 827, 68, 822, 68, 829, | |
1049 | 68, 68, 828, 811, 816, 68, 817, 68, 68, 823, | |
1050 | 68, 818, 68, 821, 831, 826, 819, 833, 68, 824, | |
1051 | ||
1052 | 820, 68, 827, 830, 822, 68, 68, 68, 832, 828, | |
1053 | 68, 834, 68, 835, 68, 836, 823, 838, 837, 841, | |
1054 | 68, 831, 826, 839, 833, 68, 68, 68, 68, 842, | |
1055 | 830, 844, 840, 843, 68, 832, 845, 68, 834, 68, | |
1056 | 835, 68, 836, 846, 838, 837, 841, 847, 68, 850, | |
1057 | 839, 854, 1110, 68, 851, 848, 68, 1110, 844, 840, | |
1058 | 843, 68, 855, 845, 68, 68, 849, 852, 862, 68, | |
1059 | 846, 853, 858, 68, 847, 68, 68, 68, 68, 68, | |
1060 | 68, 851, 848, 856, 68, 859, 857, 863, 860, 855, | |
1061 | 68, 1110, 867, 849, 852, 862, 861, 864, 853, 858, | |
1062 | ||
1063 | 68, 68, 68, 68, 865, 873, 68, 866, 68, 868, | |
1064 | 856, 871, 859, 857, 863, 860, 870, 875, 68, 68, | |
1065 | 869, 872, 874, 861, 864, 68, 876, 68, 68, 878, | |
1066 | 877, 865, 68, 68, 866, 68, 868, 879, 871, 68, | |
1067 | 68, 881, 880, 870, 68, 68, 887, 869, 872, 874, | |
1068 | 882, 68, 68, 876, 68, 884, 878, 877, 68, 883, | |
1069 | 68, 68, 888, 68, 879, 885, 886, 68, 881, 880, | |
1070 | 68, 889, 68, 887, 890, 891, 68, 882, 892, 894, | |
1071 | 68, 893, 884, 895, 897, 68, 883, 898, 896, 888, | |
1072 | 899, 900, 885, 886, 902, 68, 68, 1110, 889, 901, | |
1073 | ||
1074 | 68, 890, 68, 904, 903, 68, 68, 68, 893, 905, | |
1075 | 68, 68, 68, 68, 68, 896, 908, 899, 68, 906, | |
1076 | 909, 68, 910, 911, 68, 913, 901, 914, 68, 921, | |
1077 | 904, 903, 1110, 68, 907, 915, 905, 912, 68, 926, | |
1078 | 919, 917, 68, 68, 918, 68, 906, 909, 920, 68, | |
1079 | 68, 68, 913, 916, 914, 922, 68, 68, 68, 68, | |
1080 | 68, 907, 915, 68, 912, 923, 68, 919, 917, 924, | |
1081 | 68, 918, 68, 925, 929, 920, 927, 932, 68, 1110, | |
1082 | 916, 930, 922, 933, 928, 931, 935, 68, 936, 68, | |
1083 | 934, 937, 923, 939, 938, 68, 924, 1110, 68, 68, | |
1084 | ||
1085 | 925, 929, 68, 927, 68, 68, 68, 68, 930, 940, | |
1086 | 933, 928, 931, 68, 68, 936, 68, 934, 937, 942, | |
1087 | 941, 938, 945, 943, 68, 946, 944, 947, 948, 949, | |
1088 | 68, 68, 950, 1110, 951, 952, 940, 954, 1110, 1110, | |
1089 | 68, 68, 68, 953, 955, 68, 942, 941, 68, 945, | |
1090 | 943, 68, 68, 944, 68, 68, 956, 957, 68, 950, | |
1091 | 68, 951, 952, 958, 68, 68, 68, 959, 960, 964, | |
1092 | 953, 955, 961, 962, 963, 965, 68, 68, 969, 68, | |
1093 | 966, 68, 68, 956, 957, 967, 68, 68, 68, 68, | |
1094 | 68, 972, 68, 973, 959, 960, 964, 968, 68, 961, | |
1095 | ||
1096 | 962, 963, 68, 970, 68, 969, 68, 966, 971, 974, | |
1097 | 975, 977, 967, 68, 976, 68, 978, 979, 972, 68, | |
1098 | 973, 68, 980, 981, 968, 68, 68, 982, 983, 68, | |
1099 | 970, 68, 1110, 68, 984, 971, 68, 975, 977, 985, | |
1100 | 68, 976, 989, 978, 979, 986, 68, 68, 987, 980, | |
1101 | 981, 990, 68, 988, 68, 68, 991, 992, 994, 68, | |
1102 | 993, 984, 995, 68, 997, 68, 985, 1000, 68, 68, | |
1103 | 998, 996, 986, 999, 1002, 987, 68, 68, 990, 1005, | |
1104 | 988, 1001, 68, 991, 68, 68, 68, 993, 68, 995, | |
1105 | 1003, 997, 68, 68, 1000, 68, 68, 998, 996, 1004, | |
1106 | ||
1107 | 999, 1002, 1006, 1007, 1008, 1009, 68, 1010, 1001, 1011, | |
1108 | 1012, 68, 68, 1014, 1110, 1018, 1016, 1003, 1110, 1110, | |
1109 | 1013, 1110, 68, 1015, 68, 1110, 1004, 68, 68, 68, | |
1110 | 68, 68, 1009, 68, 1010, 1019, 1011, 1012, 68, 68, | |
1111 | 1014, 68, 68, 1016, 1017, 1020, 1021, 1013, 1022, 1023, | |
1112 | 1015, 1024, 68, 68, 1025, 1110, 1026, 1032, 1028, 1029, | |
1113 | 1027, 68, 1019, 68, 68, 1030, 68, 1031, 68, 1033, | |
1114 | 1034, 1017, 1020, 1021, 68, 1022, 1023, 1110, 68, 1110, | |
1115 | 68, 1025, 68, 1026, 68, 68, 68, 1027, 68, 1036, | |
1116 | 1035, 1037, 1030, 68, 1031, 1038, 68, 1034, 68, 68, | |
1117 | ||
1118 | 1040, 1039, 1041, 68, 1043, 1045, 68, 68, 68, 1044, | |
1119 | 1046, 68, 1042, 1052, 68, 1047, 1036, 1035, 1037, 1050, | |
1120 | 1110, 1110, 1038, 68, 1053, 1048, 1049, 1040, 1039, 1041, | |
1121 | 68, 1043, 1045, 68, 68, 68, 1044, 68, 68, 1042, | |
1122 | 1052, 1054, 1047, 68, 68, 1051, 1050, 68, 1055, 1056, | |
1123 | 68, 1053, 1048, 1049, 1057, 1058, 1059, 68, 1061, 68, | |
1124 | 1065, 1060, 1062, 1063, 68, 1064, 68, 68, 1054, 68, | |
1125 | 68, 1066, 1051, 68, 1067, 1055, 1056, 68, 1070, 1068, | |
1126 | 1071, 1057, 68, 1059, 68, 1061, 68, 68, 1060, 1062, | |
1127 | 1063, 1069, 1064, 68, 1072, 1073, 68, 1074, 1066, 1075, | |
1128 | ||
1129 | 1076, 68, 68, 1077, 68, 68, 1068, 68, 1079, 1078, | |
1130 | 68, 68, 1080, 1081, 1083, 1082, 1110, 1084, 1069, 1085, | |
1131 | 1110, 1072, 1073, 1086, 1074, 1088, 68, 68, 1087, 1089, | |
1132 | 1077, 68, 1092, 1110, 1091, 68, 1078, 68, 1094, 68, | |
1133 | 68, 68, 1082, 68, 1084, 68, 68, 68, 1093, 1096, | |
1134 | 1086, 68, 68, 1090, 1095, 1087, 1089, 68, 68, 68, | |
1135 | 68, 1091, 1097, 1098, 1099, 68, 68, 1100, 1110, 1101, | |
1136 | 1102, 68, 1103, 1104, 1105, 1093, 1096, 1108, 1109, 68, | |
1137 | 1090, 1095, 68, 1110, 1110, 68, 1106, 1110, 1110, 68, | |
1138 | 68, 68, 68, 68, 1100, 68, 1101, 1102, 68, 1103, | |
1139 | ||
1140 | 68, 1105, 1107, 1110, 1108, 68, 1110, 1110, 1110, 1110, | |
1141 | 1110, 1110, 1110, 1106, 1110, 68, 1110, 1110, 1110, 1110, | |
1142 | 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1107, | |
879 | 68, 68, 68, 68, 68, 277, 281, 261, 68, 264, | |
880 | 262, 269, 68, 268, 279, 278, 283, 68, 258, 260, | |
881 | 122, 280, 266, 265, 68, 1120, 1120, 282, 68, 68, | |
882 | 301, 285, 277, 68, 68, 1120, 290, 68, 269, 270, | |
883 | 271, 279, 278, 283, 68, 346, 286, 68, 280, 272, | |
884 | 284, 273, 274, 275, 282, 289, 276, 68, 285, 287, | |
885 | 288, 68, 68, 290, 68, 1120, 270, 271, 68, 293, | |
886 | 291, 292, 68, 286, 295, 298, 272, 284, 273, 274, | |
887 | 275, 68, 289, 276, 68, 294, 296, 68, 68, 300, | |
888 | 302, 299, 68, 68, 68, 1120, 293, 291, 292, 297, | |
889 | ||
890 | 303, 295, 298, 304, 68, 305, 306, 68, 307, 1120, | |
891 | 308, 68, 294, 296, 68, 309, 300, 302, 299, 310, | |
892 | 313, 68, 68, 68, 68, 311, 297, 303, 312, 68, | |
893 | 304, 314, 68, 306, 68, 307, 68, 308, 315, 68, | |
894 | 318, 316, 309, 317, 319, 68, 310, 313, 68, 68, | |
895 | 320, 68, 311, 68, 1120, 312, 68, 321, 314, 331, | |
896 | 1120, 322, 68, 68, 333, 315, 68, 318, 316, 68, | |
897 | 317, 319, 323, 327, 328, 330, 332, 334, 68, 324, | |
898 | 68, 68, 68, 329, 321, 68, 331, 325, 322, 68, | |
899 | 68, 333, 335, 337, 340, 339, 336, 326, 68, 323, | |
900 | ||
901 | 327, 68, 330, 332, 334, 68, 324, 68, 68, 343, | |
902 | 329, 338, 68, 342, 325, 344, 68, 68, 341, 335, | |
903 | 337, 340, 339, 336, 326, 68, 68, 345, 347, 349, | |
904 | 348, 351, 122, 350, 352, 353, 343, 354, 338, 356, | |
905 | 342, 68, 68, 68, 355, 341, 68, 68, 359, 1120, | |
906 | 357, 358, 1120, 68, 345, 347, 349, 348, 68, 360, | |
907 | 350, 68, 361, 363, 68, 369, 68, 364, 362, 1120, | |
908 | 68, 68, 68, 368, 68, 68, 374, 357, 358, 68, | |
909 | 68, 370, 68, 365, 68, 68, 360, 1120, 366, 361, | |
910 | 363, 371, 367, 377, 364, 362, 68, 373, 68, 68, | |
911 | ||
912 | 368, 375, 376, 374, 378, 68, 1120, 68, 370, 381, | |
913 | 365, 68, 379, 372, 68, 366, 380, 68, 371, 367, | |
914 | 377, 386, 68, 68, 373, 68, 382, 383, 68, 376, | |
915 | 393, 378, 68, 384, 68, 388, 381, 385, 387, 379, | |
916 | 372, 389, 68, 380, 391, 390, 392, 396, 68, 68, | |
917 | 397, 68, 68, 382, 383, 1120, 68, 393, 394, 68, | |
918 | 398, 1120, 388, 395, 68, 387, 399, 68, 400, 68, | |
919 | 402, 391, 68, 392, 401, 68, 68, 397, 68, 68, | |
920 | 403, 404, 68, 68, 68, 394, 405, 398, 68, 406, | |
921 | 395, 416, 407, 399, 410, 400, 408, 402, 409, 1120, | |
922 | ||
923 | 68, 401, 411, 68, 412, 68, 68, 403, 404, 413, | |
924 | 423, 68, 68, 405, 68, 68, 406, 1120, 68, 407, | |
925 | 414, 410, 68, 408, 418, 409, 122, 420, 415, 411, | |
926 | 417, 412, 419, 68, 421, 422, 413, 68, 429, 68, | |
927 | 430, 68, 432, 68, 68, 1120, 68, 414, 431, 68, | |
928 | 68, 418, 68, 433, 420, 415, 434, 417, 68, 419, | |
929 | 68, 421, 422, 424, 435, 429, 425, 430, 436, 68, | |
930 | 439, 426, 437, 68, 438, 431, 68, 427, 428, 443, | |
931 | 433, 68, 68, 434, 440, 442, 68, 445, 441, 68, | |
932 | 424, 435, 444, 425, 68, 436, 68, 439, 426, 437, | |
933 | ||
934 | 68, 438, 446, 447, 427, 428, 68, 68, 68, 448, | |
935 | 68, 440, 442, 449, 445, 441, 68, 450, 68, 444, | |
936 | 451, 68, 68, 452, 453, 454, 455, 1120, 1120, 446, | |
937 | 447, 456, 68, 460, 461, 68, 448, 68, 457, 68, | |
938 | 449, 459, 68, 466, 450, 462, 458, 68, 464, 68, | |
939 | 473, 453, 454, 455, 68, 467, 68, 68, 456, 68, | |
940 | 460, 461, 68, 68, 463, 457, 465, 470, 459, 68, | |
941 | 469, 474, 462, 458, 68, 464, 468, 68, 68, 68, | |
942 | 471, 68, 467, 472, 68, 68, 68, 475, 476, 68, | |
943 | 477, 463, 478, 465, 470, 68, 68, 469, 474, 68, | |
944 | ||
945 | 479, 480, 68, 468, 481, 482, 490, 471, 68, 68, | |
946 | 472, 483, 494, 491, 475, 476, 68, 493, 68, 478, | |
947 | 1120, 68, 499, 489, 68, 68, 68, 68, 122, 492, | |
948 | 68, 481, 482, 490, 500, 68, 1120, 68, 483, 484, | |
949 | 491, 485, 498, 68, 493, 486, 502, 487, 501, 499, | |
950 | 489, 495, 488, 1120, 503, 68, 492, 505, 496, 506, | |
951 | 68, 500, 507, 68, 1120, 68, 484, 68, 485, 498, | |
952 | 68, 510, 486, 502, 487, 501, 497, 68, 495, 488, | |
953 | 504, 503, 509, 508, 68, 496, 68, 511, 68, 507, | |
954 | 68, 68, 513, 68, 512, 514, 68, 515, 510, 68, | |
955 | ||
956 | 516, 522, 517, 497, 518, 68, 1120, 504, 68, 509, | |
957 | 508, 519, 68, 521, 511, 523, 68, 520, 524, 513, | |
958 | 1120, 512, 514, 525, 68, 526, 68, 516, 68, 517, | |
959 | 528, 518, 68, 68, 529, 68, 527, 68, 519, 68, | |
960 | 521, 68, 523, 68, 520, 524, 530, 68, 531, 532, | |
961 | 525, 534, 526, 533, 68, 535, 68, 528, 68, 536, | |
962 | 68, 529, 539, 527, 537, 68, 540, 538, 68, 1120, | |
963 | 1120, 542, 68, 530, 548, 531, 532, 68, 534, 543, | |
964 | 533, 68, 535, 68, 541, 545, 536, 68, 68, 544, | |
965 | 547, 537, 68, 68, 538, 549, 68, 68, 68, 68, | |
966 | ||
967 | 68, 548, 68, 68, 554, 550, 543, 68, 551, 552, | |
968 | 553, 541, 545, 1120, 1120, 555, 544, 547, 1120, 559, | |
969 | 556, 68, 549, 557, 558, 560, 68, 562, 68, 563, | |
970 | 561, 554, 550, 68, 68, 551, 68, 68, 569, 565, | |
971 | 68, 68, 555, 566, 68, 68, 68, 556, 68, 68, | |
972 | 557, 558, 560, 564, 562, 68, 563, 561, 570, 567, | |
973 | 568, 68, 68, 571, 572, 569, 565, 68, 68, 575, | |
974 | 566, 68, 573, 578, 574, 576, 68, 583, 582, 68, | |
975 | 564, 577, 68, 581, 68, 570, 567, 568, 68, 579, | |
976 | 571, 572, 68, 580, 68, 68, 575, 68, 585, 573, | |
977 | ||
978 | 578, 574, 576, 68, 583, 584, 586, 587, 577, 68, | |
979 | 581, 588, 589, 590, 591, 1120, 68, 597, 1120, 68, | |
980 | 68, 592, 596, 599, 68, 585, 593, 68, 594, 68, | |
981 | 595, 1120, 584, 586, 587, 68, 68, 68, 598, 68, | |
982 | 590, 591, 68, 68, 597, 68, 600, 68, 592, 596, | |
983 | 599, 601, 602, 593, 68, 594, 603, 595, 68, 604, | |
984 | 605, 68, 606, 607, 608, 598, 1120, 68, 609, 610, | |
985 | 68, 611, 612, 600, 614, 68, 613, 615, 601, 602, | |
986 | 616, 68, 617, 603, 618, 68, 604, 68, 68, 68, | |
987 | 607, 68, 619, 68, 68, 609, 610, 68, 611, 612, | |
988 | ||
989 | 621, 614, 622, 613, 68, 620, 1120, 623, 68, 617, | |
990 | 68, 68, 626, 68, 68, 68, 68, 624, 625, 619, | |
991 | 627, 68, 630, 628, 68, 68, 629, 621, 68, 68, | |
992 | 68, 68, 620, 631, 623, 633, 68, 632, 635, 626, | |
993 | 637, 636, 634, 639, 624, 625, 68, 627, 68, 630, | |
994 | 628, 68, 1120, 629, 641, 642, 68, 1120, 638, 1120, | |
995 | 68, 643, 633, 68, 68, 635, 68, 637, 636, 634, | |
996 | 639, 640, 645, 648, 1120, 68, 68, 644, 647, 68, | |
997 | 646, 641, 642, 68, 68, 638, 68, 649, 643, 650, | |
998 | 68, 1120, 68, 654, 652, 68, 651, 655, 640, 645, | |
999 | ||
1000 | 648, 653, 656, 657, 644, 647, 658, 646, 659, 68, | |
1001 | 1120, 68, 1120, 1120, 1120, 667, 68, 660, 68, 1120, | |
1002 | 68, 652, 68, 651, 68, 68, 661, 68, 653, 68, | |
1003 | 657, 665, 662, 658, 68, 663, 664, 68, 666, 68, | |
1004 | 68, 68, 667, 68, 660, 668, 669, 671, 670, 68, | |
1005 | 68, 672, 675, 661, 68, 673, 676, 674, 665, 662, | |
1006 | 68, 677, 663, 664, 68, 666, 68, 678, 68, 679, | |
1007 | 1120, 681, 668, 669, 671, 670, 683, 68, 68, 684, | |
1008 | 697, 68, 673, 68, 674, 682, 68, 68, 68, 685, | |
1009 | 680, 68, 68, 68, 678, 686, 679, 68, 681, 689, | |
1010 | ||
1011 | 68, 688, 687, 68, 691, 690, 684, 68, 1120, 695, | |
1012 | 1120, 68, 682, 68, 692, 68, 685, 680, 68, 1120, | |
1013 | 696, 68, 686, 693, 68, 699, 689, 68, 688, 687, | |
1014 | 68, 691, 690, 694, 68, 700, 695, 698, 708, 702, | |
1015 | 68, 692, 68, 701, 68, 68, 68, 696, 703, 704, | |
1016 | 693, 706, 699, 715, 705, 707, 713, 68, 68, 710, | |
1017 | 694, 68, 700, 68, 698, 68, 702, 709, 68, 68, | |
1018 | 701, 714, 711, 68, 68, 703, 704, 68, 706, 68, | |
1019 | 712, 705, 707, 713, 68, 68, 710, 68, 716, 68, | |
1020 | 717, 719, 1120, 730, 709, 68, 718, 68, 714, 711, | |
1021 | ||
1022 | 722, 720, 68, 68, 721, 723, 724, 712, 725, 1120, | |
1023 | 729, 68, 728, 1120, 1120, 716, 68, 717, 719, 68, | |
1024 | 68, 1120, 726, 718, 68, 727, 739, 722, 720, 68, | |
1025 | 68, 721, 723, 724, 732, 725, 731, 733, 734, 728, | |
1026 | 68, 68, 736, 68, 735, 737, 68, 740, 68, 726, | |
1027 | 738, 68, 727, 68, 741, 744, 68, 68, 745, 68, | |
1028 | 742, 732, 746, 731, 733, 734, 743, 68, 68, 736, | |
1029 | 68, 735, 737, 749, 68, 68, 750, 738, 68, 747, | |
1030 | 68, 741, 744, 748, 68, 745, 751, 742, 763, 746, | |
1031 | 68, 754, 68, 743, 752, 753, 757, 755, 761, 68, | |
1032 | ||
1033 | 749, 68, 756, 750, 758, 759, 747, 68, 68, 68, | |
1034 | 748, 68, 760, 751, 68, 68, 68, 68, 754, 68, | |
1035 | 762, 752, 753, 757, 755, 761, 764, 68, 765, 756, | |
1036 | 766, 758, 767, 768, 773, 769, 68, 770, 68, 760, | |
1037 | 68, 68, 771, 772, 68, 774, 775, 762, 776, 777, | |
1038 | 68, 778, 1120, 764, 68, 68, 779, 1120, 780, 767, | |
1039 | 768, 68, 68, 781, 68, 68, 782, 68, 787, 68, | |
1040 | 772, 68, 774, 68, 783, 776, 68, 68, 785, 784, | |
1041 | 789, 68, 68, 779, 68, 780, 68, 786, 68, 788, | |
1042 | 781, 790, 791, 782, 68, 787, 68, 793, 68, 792, | |
1043 | ||
1044 | 68, 783, 794, 68, 795, 785, 784, 789, 796, 797, | |
1045 | 68, 68, 799, 1120, 786, 68, 788, 1120, 790, 791, | |
1046 | 798, 800, 809, 68, 793, 803, 792, 68, 801, 794, | |
1047 | 68, 795, 68, 805, 802, 796, 804, 68, 806, 799, | |
1048 | 68, 68, 812, 68, 68, 807, 68, 798, 800, 808, | |
1049 | 814, 68, 803, 68, 68, 801, 68, 816, 819, 813, | |
1050 | 805, 802, 68, 804, 810, 806, 823, 815, 811, 818, | |
1051 | 817, 68, 807, 68, 68, 821, 808, 822, 820, 1120, | |
1052 | 68, 68, 68, 68, 816, 68, 813, 824, 825, 68, | |
1053 | 826, 834, 68, 68, 815, 68, 818, 817, 827, 832, | |
1054 | ||
1055 | 828, 829, 833, 835, 822, 820, 68, 836, 68, 68, | |
1056 | 830, 838, 68, 68, 68, 825, 68, 826, 68, 68, | |
1057 | 68, 831, 68, 1120, 837, 827, 832, 828, 829, 833, | |
1058 | 835, 840, 839, 68, 836, 841, 68, 830, 68, 68, | |
1059 | 842, 68, 845, 846, 847, 843, 844, 849, 831, 68, | |
1060 | 68, 837, 848, 851, 68, 68, 68, 68, 840, 839, | |
1061 | 68, 68, 841, 850, 852, 68, 68, 842, 854, 845, | |
1062 | 846, 847, 843, 844, 849, 853, 855, 68, 856, 848, | |
1063 | 68, 68, 858, 857, 859, 860, 861, 1120, 1120, 68, | |
1064 | 850, 852, 68, 68, 68, 854, 863, 68, 68, 1120, | |
1065 | ||
1066 | 68, 862, 853, 855, 864, 856, 867, 68, 865, 858, | |
1067 | 857, 866, 860, 861, 68, 68, 869, 868, 870, 68, | |
1068 | 872, 873, 876, 68, 68, 68, 68, 878, 862, 871, | |
1069 | 68, 864, 68, 867, 874, 865, 68, 875, 866, 877, | |
1070 | 68, 68, 68, 869, 868, 870, 880, 872, 873, 68, | |
1071 | 879, 882, 881, 883, 68, 68, 871, 68, 68, 885, | |
1072 | 887, 874, 886, 884, 875, 68, 877, 1120, 889, 68, | |
1073 | 888, 890, 891, 880, 68, 68, 892, 879, 882, 881, | |
1074 | 68, 68, 897, 68, 68, 893, 68, 887, 68, 886, | |
1075 | 884, 68, 68, 68, 68, 889, 894, 888, 890, 891, | |
1076 | ||
1077 | 895, 896, 68, 892, 898, 899, 68, 68, 900, 897, | |
1078 | 901, 902, 893, 904, 905, 68, 903, 906, 68, 68, | |
1079 | 907, 908, 910, 894, 909, 68, 912, 895, 896, 918, | |
1080 | 68, 898, 899, 914, 68, 900, 913, 68, 68, 920, | |
1081 | 68, 68, 911, 903, 906, 68, 68, 68, 68, 68, | |
1082 | 68, 909, 915, 68, 68, 916, 68, 919, 921, 924, | |
1083 | 914, 922, 68, 913, 923, 68, 68, 925, 931, 911, | |
1084 | 917, 926, 1120, 927, 68, 928, 68, 68, 929, 915, | |
1085 | 932, 68, 916, 930, 919, 68, 924, 68, 922, 68, | |
1086 | 68, 923, 935, 941, 925, 68, 68, 917, 926, 68, | |
1087 | ||
1088 | 927, 68, 928, 68, 933, 929, 934, 932, 936, 937, | |
1089 | 930, 68, 1120, 939, 940, 68, 942, 938, 68, 935, | |
1090 | 941, 945, 943, 944, 68, 946, 949, 947, 68, 948, | |
1091 | 1120, 933, 68, 934, 68, 68, 937, 950, 68, 68, | |
1092 | 939, 940, 951, 68, 938, 68, 952, 68, 68, 943, | |
1093 | 944, 68, 946, 68, 947, 953, 948, 68, 68, 954, | |
1094 | 959, 955, 956, 957, 950, 958, 1120, 960, 68, 951, | |
1095 | 961, 962, 1120, 952, 68, 964, 68, 963, 965, 967, | |
1096 | 968, 68, 953, 966, 68, 1120, 954, 68, 955, 68, | |
1097 | 68, 68, 68, 68, 960, 1120, 969, 961, 962, 68, | |
1098 | ||
1099 | 68, 68, 68, 970, 963, 965, 967, 68, 68, 971, | |
1100 | 966, 68, 68, 972, 973, 974, 975, 976, 977, 68, | |
1101 | 978, 1120, 68, 969, 68, 979, 982, 68, 68, 68, | |
1102 | 970, 980, 983, 981, 68, 68, 971, 984, 993, 68, | |
1103 | 972, 973, 974, 68, 976, 977, 68, 978, 68, 986, | |
1104 | 987, 990, 979, 982, 68, 991, 985, 988, 980, 983, | |
1105 | 981, 989, 68, 68, 68, 68, 68, 992, 68, 68, | |
1106 | 68, 995, 998, 994, 996, 68, 986, 987, 990, 68, | |
1107 | 997, 68, 991, 985, 988, 68, 999, 68, 989, 1002, | |
1108 | 1000, 1004, 1120, 1005, 68, 1001, 68, 1003, 995, 998, | |
1109 | ||
1110 | 994, 996, 68, 1006, 68, 68, 1008, 997, 68, 1007, | |
1111 | 1009, 1011, 1010, 68, 1014, 1015, 68, 1000, 68, 68, | |
1112 | 1005, 1012, 1001, 68, 1003, 1013, 68, 68, 68, 1016, | |
1113 | 1006, 68, 68, 1008, 1017, 1018, 1007, 1009, 1011, 1010, | |
1114 | 1020, 1014, 68, 68, 1019, 1021, 1022, 68, 1012, 1024, | |
1115 | 1023, 1120, 1013, 1028, 1120, 68, 68, 1026, 1120, 1034, | |
1116 | 1025, 68, 68, 1029, 68, 68, 68, 1020, 68, 68, | |
1117 | 1030, 1019, 1021, 1022, 1027, 68, 1024, 1023, 68, 1033, | |
1118 | 68, 68, 68, 1031, 1026, 1032, 68, 1025, 1035, 68, | |
1119 | 1029, 1036, 1037, 68, 1038, 68, 1039, 1030, 1040, 1042, | |
1120 | ||
1121 | 1041, 1027, 1043, 68, 1120, 68, 1033, 68, 1044, 1046, | |
1122 | 1031, 1049, 1032, 68, 1045, 1035, 68, 68, 1036, 1037, | |
1123 | 1120, 68, 68, 68, 1047, 1040, 1048, 1041, 68, 68, | |
1124 | 68, 68, 68, 68, 1052, 1044, 1046, 68, 1049, 1050, | |
1125 | 1053, 1045, 1051, 68, 1054, 1055, 68, 68, 1056, 1120, | |
1126 | 1057, 1047, 68, 1048, 68, 1060, 1058, 1061, 1059, 68, | |
1127 | 1064, 1052, 1063, 1120, 1062, 1120, 1050, 1053, 68, 1051, | |
1128 | 68, 1054, 1055, 68, 68, 68, 68, 1057, 68, 1065, | |
1129 | 1067, 1068, 1060, 1058, 1061, 1059, 68, 1064, 68, 1063, | |
1130 | 1066, 1062, 68, 1069, 1070, 1071, 1072, 1074, 68, 1073, | |
1131 | ||
1132 | 68, 68, 68, 1075, 68, 68, 1065, 1067, 68, 1076, | |
1133 | 1077, 1079, 1078, 1080, 68, 1081, 68, 1066, 68, 68, | |
1134 | 1069, 1070, 1071, 1072, 1074, 1082, 1073, 1084, 1083, 1085, | |
1135 | 68, 68, 1086, 68, 68, 1088, 1076, 68, 1079, 1078, | |
1136 | 68, 1087, 68, 68, 1089, 1090, 1091, 1092, 1093, 68, | |
1137 | 1094, 1095, 1082, 1120, 1084, 1083, 68, 68, 1096, 68, | |
1138 | 1097, 1098, 1088, 1100, 1099, 1102, 1101, 1104, 1087, 68, | |
1139 | 68, 68, 68, 68, 1092, 68, 68, 1094, 68, 68, | |
1140 | 68, 1103, 1107, 1105, 1108, 1096, 68, 1097, 68, 68, | |
1141 | 1100, 1099, 68, 1101, 68, 68, 1106, 1109, 1110, 1120, | |
1142 | ||
1143 | 1111, 1114, 1120, 1115, 68, 68, 1112, 1113, 1103, 68, | |
1144 | 1105, 68, 1118, 68, 68, 1119, 1120, 1120, 1120, 1116, | |
1145 | 68, 68, 1117, 1106, 68, 1110, 68, 1111, 68, 68, | |
1146 | 1115, 68, 1120, 1112, 1113, 68, 1120, 1120, 1120, 1118, | |
1147 | 1120, 1120, 68, 1120, 1120, 1120, 1116, 1120, 1120, 1117, | |
1143 | 1148 | 40, 40, 40, 40, 40, 40, 45, 45, 45, 45, |
1144 | 1149 | 45, 45, 50, 50, 50, 50, 50, 50, 56, 56, |
1145 | 1150 | 56, 56, 56, 56, 61, 61, 61, 61, 61, 61, |
1146 | 71, 71, 71, 71, 71, 71, 112, 112, 1110, 1110, | |
1147 | 112, 112, 114, 114, 1110, 114, 1110, 114, 116, 1110, | |
1148 | 1110, 1110, 1110, 116, 119, 119, 1110, 1110, 119, 119, | |
1149 | 121, 1110, 1110, 1110, 1110, 121, 123, 123, 123, 123, | |
1150 | ||
1151 | 123, 123, 72, 72, 72, 72, 72, 72, 13, 1110, | |
1152 | 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, | |
1153 | 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, | |
1154 | 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, | |
1155 | 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, | |
1156 | 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, | |
1157 | 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, | |
1158 | 1110, 1110, 1110, 1110 | |
1151 | 71, 71, 71, 71, 71, 71, 112, 112, 1120, 1120, | |
1152 | 112, 112, 114, 114, 1120, 114, 1120, 114, 116, 1120, | |
1153 | ||
1154 | 1120, 1120, 1120, 116, 119, 119, 1120, 1120, 119, 119, | |
1155 | 121, 1120, 1120, 1120, 1120, 121, 123, 123, 123, 123, | |
1156 | 123, 123, 72, 72, 72, 72, 72, 72, 13, 1120, | |
1157 | 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, | |
1158 | 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, | |
1159 | 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, | |
1160 | 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, | |
1161 | 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, | |
1162 | 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, | |
1163 | 1120, 1120, 1120, 1120 | |
1164 | ||
1159 | 1165 | } ; |
1160 | 1166 | |
1161 | static yyconst flex_int16_t yy_chk[3275] = | |
1167 | static yyconst flex_int16_t yy_chk[3295] = | |
1162 | 1168 | { 0, |
1163 | 1169 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
1164 | 1170 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
1168 | 1174 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
1169 | 1175 | 1, 1, 1, 1, 1, 3, 3, 3, 4, 4, |
1170 | 1176 | 4, 5, 5, 6, 6, 5, 24, 6, 7, 7, |
1171 | 7, 7, 1116, 7, 8, 8, 8, 8, 24, 8, | |
1177 | 7, 7, 1126, 7, 8, 8, 8, 8, 24, 8, | |
1172 | 1178 | 9, 9, 9, 10, 10, 10, 15, 44, 44, 49, |
1173 | 1179 | |
1174 | 1180 | 15, 3, 49, 24, 4, 60, 60, 5, 55, 6, |
1175 | 55, 55, 69, 55, 476, 7, 69, 19, 19, 19, | |
1181 | 55, 55, 69, 55, 480, 7, 69, 19, 19, 19, | |
1176 | 1182 | 19, 8, 19, 20, 124, 23, 9, 19, 23, 10, |
1177 | 1183 | 11, 11, 11, 11, 11, 11, 12, 12, 12, 12, |
1178 | 1184 | 12, 12, 22, 115, 21, 22, 115, 20, 22, 11, |
1189 | 1195 | 33, 36, 72, 65, 38, 81, 33, 34, 38, 33, |
1190 | 1196 | 75, 70, 34, 75, 35, 67, 33, 65, 39, 81, |
1191 | 1197 | 39, 39, 34, 39, 66, 34, 66, 66, 39, 66, |
1192 | 38, 38, 81, 76, 470, 38, 63, 63, 63, 63, | |
1198 | 38, 38, 81, 76, 474, 38, 63, 63, 63, 63, | |
1193 | 1199 | 68, 63, 68, 68, 77, 68, 71, 71, 71, 71, |
1194 | 1200 | 68, 71, 78, 77, 79, 82, 71, 76, 83, 84, |
1195 | 1201 | |
1196 | 76, 85, 82, 79, 470, 78, 88, 83, 84, 86, | |
1202 | 76, 85, 82, 79, 474, 78, 88, 83, 84, 86, | |
1197 | 1203 | 89, 77, 89, 63, 88, 87, 90, 61, 87, 78, |
1198 | 1204 | 90, 79, 82, 71, 85, 83, 84, 91, 85, 92, |
1199 | 1205 | 93, 86, 87, 88, 95, 94, 86, 89, 56, 87, |
1241 | 1247 | 209, 215, 210, 214, 219, 218, 223, 217, 205, 207, |
1242 | 1248 | 219, 220, 213, 212, 215, 0, 0, 222, 223, 220, |
1243 | 1249 | 239, 225, 217, 218, 222, 0, 229, 221, 215, 216, |
1244 | 216, 219, 218, 223, 225, 0, 226, 229, 220, 0, | |
1250 | 216, 219, 218, 223, 225, 282, 226, 229, 220, 216, | |
1245 | 1251 | 224, 216, 216, 216, 222, 228, 216, 224, 225, 227, |
1246 | 227, 239, 228, 229, 216, 230, 216, 216, 226, 241, | |
1247 | 232, 231, 233, 226, 234, 243, 230, 224, 216, 216, | |
1248 | 216, 233, 228, 216, 231, 236, 237, 234, 227, 235, | |
1249 | 238, 241, 230, 232, 240, 0, 241, 232, 231, 233, | |
1250 | ||
1251 | 242, 234, 235, 236, 244, 245, 243, 235, 238, 237, | |
1252 | 248, 246, 236, 237, 250, 240, 235, 238, 247, 251, | |
1253 | 245, 240, 244, 252, 247, 251, 242, 242, 254, 235, | |
1254 | 253, 244, 245, 246, 257, 259, 248, 248, 246, 260, | |
1255 | 250, 250, 252, 254, 256, 247, 251, 257, 253, 261, | |
1256 | 252, 256, 258, 0, 259, 254, 262, 253, 261, 265, | |
1257 | 263, 257, 259, 0, 262, 264, 266, 263, 265, 0, | |
1258 | 260, 256, 264, 266, 258, 263, 261, 267, 268, 258, | |
1259 | 268, 269, 271, 262, 270, 263, 263, 263, 274, 279, | |
1260 | 265, 272, 264, 266, 263, 265, 270, 271, 275, 272, | |
1261 | ||
1262 | 278, 273, 263, 267, 267, 268, 273, 269, 269, 271, | |
1263 | 274, 270, 263, 276, 277, 274, 275, 280, 272, 281, | |
1264 | 279, 276, 282, 278, 283, 275, 277, 278, 273, 284, | |
1265 | 286, 280, 287, 285, 288, 289, 283, 282, 291, 290, | |
1266 | 276, 277, 294, 297, 280, 292, 281, 285, 293, 282, | |
1267 | 297, 283, 296, 284, 295, 299, 284, 286, 298, 287, | |
1268 | 285, 302, 289, 301, 303, 288, 290, 292, 299, 291, | |
1269 | 297, 293, 292, 294, 296, 293, 304, 295, 300, 296, | |
1270 | 298, 295, 299, 300, 306, 298, 305, 300, 303, 301, | |
1271 | 301, 303, 302, 307, 308, 309, 310, 316, 304, 304, | |
1272 | ||
1273 | 305, 316, 300, 304, 311, 300, 306, 312, 317, 319, | |
1274 | 300, 306, 0, 305, 300, 308, 312, 313, 314, 309, | |
1275 | 310, 308, 309, 310, 307, 304, 311, 315, 316, 318, | |
1276 | 313, 311, 322, 319, 312, 321, 319, 320, 323, 317, | |
1277 | 314, 320, 321, 324, 313, 314, 325, 318, 326, 315, | |
1278 | 323, 327, 324, 328, 315, 322, 318, 0, 325, 322, | |
1279 | 329, 330, 321, 331, 333, 323, 0, 332, 320, 0, | |
1280 | 324, 331, 330, 325, 334, 335, 328, 327, 327, 326, | |
1281 | 328, 332, 329, 336, 333, 339, 337, 329, 330, 338, | |
1282 | 331, 333, 341, 340, 332, 337, 334, 335, 342, 345, | |
1283 | ||
1284 | 343, 334, 335, 339, 347, 336, 340, 0, 343, 338, | |
1285 | 336, 351, 339, 337, 341, 346, 338, 348, 354, 341, | |
1286 | 340, 351, 342, 347, 346, 342, 343, 343, 355, 348, | |
1287 | 345, 347, 356, 361, 358, 343, 354, 0, 351, 359, | |
1288 | 0, 360, 346, 360, 348, 354, 0, 363, 359, 362, | |
1289 | 364, 355, 0, 0, 365, 355, 358, 0, 366, 370, | |
1290 | 361, 358, 364, 356, 357, 368, 359, 357, 360, 362, | |
1291 | 369, 370, 357, 363, 363, 372, 362, 364, 357, 357, | |
1292 | 365, 365, 366, 367, 368, 366, 370, 357, 373, 371, | |
1293 | 367, 357, 368, 374, 357, 377, 369, 369, 375, 357, | |
1294 | ||
1295 | 376, 378, 372, 380, 377, 357, 357, 381, 384, 379, | |
1296 | 367, 371, 373, 382, 374, 373, 371, 375, 385, 376, | |
1297 | 374, 382, 377, 378, 386, 375, 389, 376, 378, 379, | |
1298 | 380, 385, 384, 387, 391, 384, 379, 392, 381, 390, | |
1299 | 382, 387, 391, 393, 389, 385, 394, 396, 397, 0, | |
1300 | 386, 386, 395, 389, 400, 392, 393, 387, 402, 399, | |
1301 | 387, 391, 390, 403, 392, 395, 390, 394, 387, 398, | |
1302 | 393, 397, 406, 394, 399, 397, 400, 398, 396, 395, | |
1303 | 404, 400, 401, 405, 402, 402, 399, 403, 401, 404, | |
1304 | 403, 407, 408, 409, 410, 412, 398, 405, 407, 411, | |
1305 | ||
1306 | 0, 416, 411, 406, 415, 419, 410, 404, 412, 401, | |
1307 | 405, 414, 418, 414, 416, 422, 415, 417, 407, 408, | |
1308 | 409, 410, 412, 417, 0, 418, 411, 413, 416, 413, | |
1309 | 422, 415, 421, 413, 425, 413, 419, 423, 414, 418, | |
1310 | 413, 430, 422, 420, 417, 421, 428, 427, 0, 424, | |
1311 | 420, 413, 426, 425, 413, 427, 413, 431, 432, 421, | |
1312 | 413, 425, 413, 423, 423, 426, 432, 413, 420, 420, | |
1313 | 420, 424, 430, 428, 427, 433, 424, 420, 434, 426, | |
1314 | 435, 431, 436, 437, 431, 432, 438, 439, 0, 433, | |
1315 | 437, 447, 442, 443, 441, 420, 0, 0, 435, 438, | |
1316 | ||
1317 | 434, 444, 433, 446, 436, 434, 441, 435, 445, 436, | |
1318 | 437, 0, 450, 438, 442, 443, 453, 456, 439, 442, | |
1319 | 443, 441, 447, 444, 449, 451, 445, 449, 444, 446, | |
1320 | 446, 452, 459, 454, 455, 445, 450, 451, 452, 450, | |
1321 | 453, 456, 458, 453, 456, 460, 459, 462, 457, 458, | |
1322 | 449, 449, 451, 467, 449, 454, 455, 457, 452, 459, | |
1323 | 454, 455, 461, 463, 464, 465, 466, 460, 0, 458, | |
1324 | 469, 462, 460, 468, 462, 457, 471, 478, 466, 463, | |
1325 | 467, 468, 0, 469, 461, 471, 472, 480, 477, 461, | |
1326 | 463, 473, 474, 466, 474, 464, 465, 469, 479, 473, | |
1327 | ||
1328 | 468, 477, 0, 471, 472, 483, 485, 481, 478, 480, | |
1329 | 482, 0, 484, 472, 480, 477, 486, 487, 473, 474, | |
1330 | 481, 0, 489, 482, 484, 486, 488, 483, 490, 479, | |
1331 | 489, 491, 483, 485, 481, 487, 490, 482, 492, 484, | |
1332 | 493, 495, 497, 486, 487, 0, 0, 495, 488, 489, | |
1333 | 492, 494, 493, 488, 491, 490, 500, 496, 491, 494, | |
1334 | 498, 503, 502, 497, 499, 492, 496, 493, 495, 497, | |
1335 | 504, 499, 498, 505, 500, 502, 507, 504, 494, 508, | |
1336 | 503, 506, 509, 500, 496, 506, 512, 498, 503, 502, | |
1337 | 507, 499, 510, 514, 511, 505, 513, 504, 515, 512, | |
1338 | ||
1339 | 505, 0, 0, 507, 516, 513, 0, 517, 509, 509, | |
1340 | 508, 0, 506, 512, 510, 519, 521, 0, 0, 510, | |
1341 | 511, 511, 524, 513, 514, 521, 516, 520, 518, 515, | |
1342 | 517, 516, 522, 518, 517, 518, 523, 518, 519, 520, | |
1343 | 528, 524, 519, 521, 523, 522, 518, 525, 526, 524, | |
1344 | 526, 529, 539, 527, 520, 518, 525, 530, 531, 522, | |
1345 | 518, 527, 518, 523, 518, 532, 534, 528, 533, 536, | |
1346 | 540, 537, 532, 535, 525, 526, 541, 545, 529, 530, | |
1347 | 527, 542, 535, 539, 530, 531, 543, 533, 534, 544, | |
1348 | 536, 537, 532, 534, 543, 533, 536, 549, 537, 542, | |
1349 | ||
1350 | 535, 540, 546, 547, 545, 544, 549, 541, 542, 546, | |
1351 | 547, 548, 551, 543, 550, 552, 544, 552, 548, 551, | |
1352 | 561, 555, 553, 557, 549, 555, 556, 556, 561, 546, | |
1353 | 547, 553, 557, 558, 560, 562, 559, 563, 548, 551, | |
1354 | 550, 550, 552, 559, 564, 563, 566, 561, 562, 553, | |
1355 | 557, 568, 555, 556, 565, 558, 567, 560, 569, 572, | |
1356 | 558, 560, 562, 559, 563, 567, 564, 571, 566, 568, | |
1357 | 569, 564, 574, 566, 565, 573, 570, 579, 568, 582, | |
1358 | 576, 565, 570, 567, 577, 569, 0, 578, 580, 571, | |
1359 | 572, 578, 577, 581, 571, 0, 580, 583, 574, 574, | |
1360 | ||
1361 | 584, 585, 576, 570, 579, 583, 573, 576, 584, 585, | |
1362 | 582, 577, 587, 586, 581, 580, 588, 589, 578, 590, | |
1363 | 581, 586, 588, 592, 583, 587, 591, 584, 585, 589, | |
1364 | 593, 594, 595, 596, 597, 598, 599, 592, 594, 587, | |
1365 | 586, 597, 602, 588, 589, 590, 590, 604, 593, 591, | |
1366 | 592, 605, 606, 591, 606, 596, 608, 593, 594, 595, | |
1367 | 596, 597, 607, 605, 609, 610, 598, 599, 608, 602, | |
1368 | 611, 604, 610, 614, 604, 613, 0, 612, 605, 606, | |
1369 | 623, 614, 0, 608, 607, 615, 617, 618, 0, 607, | |
1370 | 621, 609, 610, 612, 618, 617, 611, 611, 613, 619, | |
1371 | ||
1372 | 614, 620, 613, 622, 612, 627, 619, 615, 620, 624, | |
1373 | 625, 623, 615, 617, 618, 621, 624, 621, 628, 629, | |
1374 | 628, 630, 632, 635, 631, 622, 619, 627, 620, 632, | |
1375 | 622, 625, 627, 631, 633, 634, 624, 625, 636, 0, | |
1376 | 0, 640, 642, 629, 637, 628, 629, 630, 630, 632, | |
1377 | 635, 631, 638, 637, 640, 641, 633, 634, 645, 638, | |
1378 | 636, 633, 634, 639, 645, 636, 646, 643, 640, 641, | |
1379 | 639, 637, 651, 642, 643, 648, 644, 647, 646, 638, | |
1380 | 647, 653, 641, 644, 657, 645, 648, 652, 654, 653, | |
1381 | 639, 654, 655, 646, 643, 647, 651, 656, 659, 651, | |
1382 | ||
1383 | 663, 0, 648, 644, 647, 652, 654, 647, 653, 658, | |
1384 | 655, 657, 659, 660, 652, 654, 658, 661, 654, 655, | |
1385 | 662, 664, 660, 667, 665, 659, 663, 663, 656, 662, | |
1386 | 661, 668, 664, 665, 669, 0, 658, 672, 674, 670, | |
1387 | 660, 673, 675, 676, 661, 670, 674, 662, 664, 680, | |
1388 | 673, 665, 676, 675, 667, 669, 672, 679, 691, 681, | |
1389 | 678, 669, 668, 670, 672, 674, 670, 678, 673, 675, | |
1390 | 676, 680, 670, 682, 683, 685, 680, 684, 683, 686, | |
1391 | 679, 681, 687, 688, 679, 691, 681, 678, 689, 684, | |
1392 | 685, 682, 693, 690, 686, 697, 694, 689, 688, 692, | |
1393 | ||
1394 | 682, 683, 685, 695, 684, 696, 686, 698, 699, 695, | |
1395 | 688, 702, 696, 687, 690, 689, 700, 692, 704, 693, | |
1396 | 690, 705, 697, 705, 703, 706, 692, 694, 707, 708, | |
1397 | 695, 708, 696, 703, 698, 699, 708, 0, 709, 710, | |
1398 | 700, 0, 702, 700, 708, 709, 710, 711, 705, 704, | |
1399 | 714, 703, 706, 715, 711, 712, 708, 716, 708, 707, | |
1400 | 715, 712, 725, 708, 720, 709, 710, 713, 713, 717, | |
1401 | 718, 719, 719, 724, 711, 716, 714, 714, 721, 721, | |
1402 | 715, 722, 712, 727, 716, 728, 729, 0, 718, 717, | |
1403 | 720, 720, 722, 725, 713, 724, 717, 718, 719, 726, | |
1404 | ||
1405 | 724, 734, 730, 727, 729, 721, 726, 728, 722, 730, | |
1406 | 727, 731, 728, 729, 732, 733, 737, 736, 735, 734, | |
1407 | 739, 738, 732, 731, 735, 738, 726, 743, 734, 730, | |
1408 | 736, 740, 741, 742, 745, 744, 733, 744, 731, 747, | |
1409 | 748, 732, 733, 764, 736, 735, 740, 737, 742, 749, | |
1410 | 743, 739, 738, 750, 743, 748, 746, 751, 740, 752, | |
1411 | 742, 746, 744, 741, 753, 745, 758, 748, 0, 754, | |
1412 | 747, 0, 760, 756, 764, 766, 749, 758, 751, 768, | |
1413 | 750, 752, 767, 746, 751, 753, 752, 754, 756, 759, | |
1414 | 760, 753, 758, 758, 771, 765, 754, 773, 759, 760, | |
1415 | ||
1416 | 756, 766, 766, 770, 758, 765, 768, 767, 772, 767, | |
1417 | 770, 774, 773, 775, 772, 776, 759, 778, 777, 781, | |
1418 | 771, 771, 765, 779, 773, 777, 774, 776, 775, 782, | |
1419 | 770, 784, 780, 783, 783, 772, 785, 781, 774, 778, | |
1420 | 775, 780, 776, 786, 778, 777, 781, 787, 779, 790, | |
1421 | 779, 794, 0, 784, 791, 788, 782, 0, 784, 780, | |
1422 | 783, 785, 795, 785, 788, 786, 789, 792, 801, 787, | |
1423 | 786, 793, 797, 789, 787, 792, 791, 795, 794, 801, | |
1424 | 790, 791, 788, 796, 793, 798, 796, 802, 799, 795, | |
1425 | 797, 0, 807, 789, 792, 801, 800, 804, 793, 797, | |
1426 | ||
1427 | 798, 796, 799, 800, 805, 813, 805, 806, 802, 808, | |
1428 | 796, 811, 798, 796, 802, 799, 810, 817, 804, 807, | |
1429 | 809, 812, 816, 800, 804, 806, 818, 808, 809, 820, | |
1430 | 819, 805, 813, 811, 806, 812, 808, 821, 811, 810, | |
1431 | 816, 823, 822, 810, 817, 819, 830, 809, 812, 816, | |
1432 | 824, 820, 818, 818, 822, 826, 820, 819, 824, 825, | |
1433 | 821, 826, 831, 823, 821, 827, 828, 825, 823, 822, | |
1434 | 830, 832, 828, 830, 833, 834, 831, 824, 835, 837, | |
1435 | 827, 836, 826, 838, 840, 832, 825, 841, 839, 831, | |
1436 | 843, 844, 827, 828, 846, 836, 839, 0, 832, 845, | |
1437 | ||
1438 | 833, 833, 834, 848, 847, 835, 837, 845, 836, 849, | |
1439 | 838, 840, 843, 847, 841, 839, 851, 843, 844, 850, | |
1440 | 852, 846, 853, 855, 848, 857, 845, 858, 852, 865, | |
1441 | 848, 847, 0, 849, 850, 859, 849, 856, 856, 871, | |
1442 | 863, 861, 858, 851, 862, 850, 850, 852, 864, 853, | |
1443 | 855, 857, 857, 860, 858, 866, 862, 859, 863, 860, | |
1444 | 865, 850, 859, 861, 856, 868, 864, 863, 861, 869, | |
1445 | 871, 862, 868, 870, 874, 864, 872, 878, 866, 0, | |
1446 | 860, 876, 866, 879, 872, 877, 881, 869, 882, 874, | |
1447 | 880, 883, 868, 885, 884, 882, 869, 0, 883, 870, | |
1448 | ||
1449 | 870, 874, 872, 872, 878, 876, 879, 877, 876, 886, | |
1450 | 879, 872, 877, 881, 880, 882, 884, 880, 883, 888, | |
1451 | 887, 884, 893, 889, 885, 896, 890, 899, 901, 903, | |
1452 | 886, 887, 904, 0, 905, 906, 886, 909, 0, 0, | |
1453 | 906, 888, 889, 907, 912, 905, 888, 887, 893, 893, | |
1454 | 889, 890, 896, 890, 899, 901, 913, 914, 904, 904, | |
1455 | 903, 905, 906, 915, 909, 907, 912, 916, 917, 921, | |
1456 | 907, 912, 918, 919, 920, 922, 921, 917, 926, 914, | |
1457 | 923, 913, 916, 913, 914, 924, 924, 918, 919, 920, | |
1458 | 915, 929, 926, 930, 916, 917, 921, 925, 923, 918, | |
1459 | ||
1460 | 919, 920, 922, 927, 925, 926, 927, 923, 928, 931, | |
1461 | 933, 936, 924, 929, 934, 930, 937, 938, 929, 933, | |
1462 | 930, 928, 939, 940, 925, 937, 938, 941, 942, 936, | |
1463 | 927, 940, 0, 939, 943, 928, 931, 933, 936, 944, | |
1464 | 934, 934, 951, 937, 938, 945, 943, 944, 949, 939, | |
1465 | 940, 952, 945, 950, 941, 949, 953, 955, 957, 942, | |
1466 | 956, 943, 959, 952, 961, 953, 944, 964, 956, 951, | |
1467 | 962, 960, 945, 963, 967, 949, 960, 950, 952, 970, | |
1468 | 950, 966, 961, 953, 955, 957, 964, 956, 959, 959, | |
1469 | 968, 961, 962, 966, 964, 963, 967, 962, 960, 969, | |
1470 | ||
1471 | 963, 967, 971, 972, 973, 975, 970, 976, 966, 977, | |
1472 | 978, 969, 968, 980, 0, 985, 983, 968, 0, 0, | |
1473 | 979, 0, 976, 981, 983, 0, 969, 975, 978, 971, | |
1474 | 972, 973, 975, 977, 976, 986, 977, 978, 979, 980, | |
1475 | 980, 981, 985, 983, 984, 987, 988, 979, 990, 991, | |
1476 | 981, 993, 984, 986, 995, 0, 996, 1002, 998, 999, | |
1477 | 997, 995, 986, 991, 987, 1000, 990, 1001, 988, 1003, | |
1478 | 1004, 984, 987, 988, 1000, 990, 991, 0, 993, 0, | |
1479 | 1001, 995, 996, 996, 997, 998, 999, 997, 1002, 1010, | |
1480 | 1009, 1011, 1000, 1004, 1001, 1012, 1003, 1004, 1009, 1011, | |
1481 | ||
1482 | 1014, 1013, 1015, 1015, 1017, 1020, 1012, 1014, 1010, 1019, | |
1483 | 1021, 1017, 1016, 1030, 1020, 1022, 1010, 1009, 1011, 1026, | |
1484 | 0, 0, 1012, 1013, 1031, 1023, 1025, 1014, 1013, 1015, | |
1485 | 1016, 1017, 1020, 1019, 1026, 1030, 1019, 1021, 1022, 1016, | |
1486 | 1030, 1032, 1022, 1023, 1025, 1027, 1026, 1027, 1034, 1035, | |
1487 | 1031, 1031, 1023, 1025, 1036, 1037, 1038, 1035, 1040, 1032, | |
1488 | 1044, 1039, 1041, 1042, 1042, 1043, 1036, 1038, 1032, 1039, | |
1489 | 1034, 1045, 1027, 1043, 1047, 1034, 1035, 1040, 1050, 1048, | |
1490 | 1051, 1036, 1037, 1038, 1041, 1040, 1048, 1044, 1039, 1041, | |
1491 | 1042, 1049, 1043, 1045, 1052, 1053, 1049, 1054, 1045, 1055, | |
1492 | ||
1493 | 1056, 1047, 1052, 1057, 1054, 1050, 1048, 1051, 1060, 1059, | |
1494 | 1053, 1057, 1061, 1062, 1064, 1063, 0, 1066, 1049, 1068, | |
1495 | 0, 1052, 1053, 1069, 1054, 1073, 1055, 1056, 1072, 1074, | |
1496 | 1057, 1059, 1082, 0, 1078, 1060, 1059, 1063, 1086, 1061, | |
1497 | 1062, 1064, 1063, 1066, 1066, 1069, 1068, 1072, 1084, 1089, | |
1498 | 1069, 1074, 1073, 1077, 1087, 1072, 1074, 1078, 1089, 1082, | |
1499 | 1077, 1078, 1090, 1091, 1093, 1086, 1087, 1095, 0, 1096, | |
1500 | 1100, 1084, 1101, 1102, 1103, 1084, 1089, 1107, 1108, 1101, | |
1501 | 1077, 1087, 1095, 0, 0, 1107, 1105, 0, 0, 1090, | |
1502 | 1091, 1093, 1103, 1100, 1095, 1096, 1096, 1100, 1105, 1101, | |
1503 | ||
1504 | 1102, 1103, 1106, 0, 1107, 1108, 0, 0, 0, 0, | |
1505 | 0, 0, 0, 1105, 0, 1106, 0, 0, 0, 0, | |
1506 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 1106, | |
1507 | 1111, 1111, 1111, 1111, 1111, 1111, 1112, 1112, 1112, 1112, | |
1508 | 1112, 1112, 1113, 1113, 1113, 1113, 1113, 1113, 1114, 1114, | |
1509 | 1114, 1114, 1114, 1114, 1115, 1115, 1115, 1115, 1115, 1115, | |
1510 | 1117, 1117, 1117, 1117, 1117, 1117, 1118, 1118, 0, 0, | |
1511 | 1118, 1118, 1119, 1119, 0, 1119, 0, 1119, 1120, 0, | |
1512 | 0, 0, 0, 1120, 1121, 1121, 0, 0, 1121, 1121, | |
1513 | 1122, 0, 0, 0, 0, 1122, 1123, 1123, 1123, 1123, | |
1514 | ||
1515 | 1123, 1123, 1124, 1124, 1124, 1124, 1124, 1124, 1110, 1110, | |
1516 | 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, | |
1517 | 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, | |
1518 | 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, | |
1519 | 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, | |
1520 | 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, | |
1521 | 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, 1110, | |
1522 | 1110, 1110, 1110, 1110 | |
1252 | 227, 239, 228, 229, 216, 0, 216, 216, 226, 232, | |
1253 | 230, 231, 282, 226, 234, 236, 216, 224, 216, 216, | |
1254 | 216, 230, 228, 216, 231, 233, 235, 234, 227, 238, | |
1255 | 240, 237, 232, 236, 233, 0, 232, 230, 231, 235, | |
1256 | ||
1257 | 241, 234, 236, 242, 235, 243, 244, 238, 245, 0, | |
1258 | 246, 240, 233, 235, 237, 247, 238, 240, 237, 248, | |
1259 | 252, 247, 241, 245, 244, 250, 235, 241, 251, 242, | |
1260 | 242, 253, 246, 244, 251, 245, 243, 246, 254, 252, | |
1261 | 258, 256, 247, 257, 259, 248, 248, 252, 256, 253, | |
1262 | 260, 250, 250, 254, 0, 251, 257, 261, 253, 267, | |
1263 | 0, 262, 258, 259, 269, 254, 261, 258, 256, 262, | |
1264 | 257, 259, 263, 264, 265, 266, 268, 270, 268, 263, | |
1265 | 264, 260, 266, 265, 261, 267, 267, 263, 262, 270, | |
1266 | 269, 269, 271, 273, 276, 275, 272, 263, 263, 263, | |
1267 | ||
1268 | 264, 273, 266, 268, 270, 265, 263, 271, 272, 279, | |
1269 | 265, 274, 276, 278, 263, 280, 274, 275, 277, 271, | |
1270 | 273, 276, 275, 272, 263, 278, 277, 281, 283, 285, | |
1271 | 284, 287, 279, 286, 288, 289, 279, 290, 274, 292, | |
1272 | 278, 281, 284, 283, 291, 277, 280, 286, 295, 0, | |
1273 | 293, 294, 0, 285, 281, 283, 285, 284, 287, 296, | |
1274 | 286, 288, 297, 299, 290, 303, 289, 300, 298, 0, | |
1275 | 292, 291, 293, 302, 294, 298, 307, 293, 294, 295, | |
1276 | 300, 304, 296, 301, 297, 299, 296, 0, 301, 297, | |
1277 | 299, 305, 301, 310, 300, 298, 303, 306, 307, 302, | |
1278 | ||
1279 | 302, 308, 309, 307, 311, 304, 0, 301, 304, 314, | |
1280 | 301, 306, 312, 305, 305, 301, 313, 310, 305, 301, | |
1281 | 310, 318, 314, 309, 306, 313, 315, 316, 311, 309, | |
1282 | 324, 311, 308, 317, 312, 320, 314, 317, 319, 312, | |
1283 | 305, 321, 324, 313, 322, 321, 323, 327, 315, 316, | |
1284 | 328, 322, 318, 315, 316, 0, 319, 324, 325, 320, | |
1285 | 329, 0, 320, 326, 317, 319, 330, 325, 331, 323, | |
1286 | 333, 322, 321, 323, 332, 326, 328, 328, 327, 331, | |
1287 | 334, 335, 332, 329, 333, 325, 336, 329, 330, 337, | |
1288 | 326, 347, 338, 330, 341, 331, 339, 333, 340, 0, | |
1289 | ||
1290 | 334, 332, 342, 335, 343, 339, 336, 334, 335, 344, | |
1291 | 358, 337, 341, 336, 338, 342, 337, 0, 340, 338, | |
1292 | 345, 341, 347, 339, 349, 340, 343, 353, 345, 342, | |
1293 | 348, 343, 350, 344, 356, 357, 344, 353, 360, 348, | |
1294 | 361, 358, 363, 349, 350, 0, 345, 345, 362, 361, | |
1295 | 362, 349, 356, 364, 353, 345, 365, 348, 357, 350, | |
1296 | 360, 356, 357, 359, 366, 360, 359, 361, 367, 363, | |
1297 | 370, 359, 368, 364, 369, 362, 366, 359, 359, 374, | |
1298 | 364, 369, 365, 365, 371, 373, 359, 376, 372, 370, | |
1299 | 359, 366, 375, 359, 367, 367, 368, 370, 359, 368, | |
1300 | ||
1301 | 372, 369, 377, 378, 359, 359, 374, 373, 376, 379, | |
1302 | 371, 371, 373, 380, 376, 372, 375, 381, 379, 375, | |
1303 | 382, 377, 378, 383, 384, 386, 387, 0, 0, 377, | |
1304 | 378, 388, 384, 392, 393, 380, 379, 381, 389, 387, | |
1305 | 380, 391, 393, 398, 381, 394, 389, 382, 396, 386, | |
1306 | 405, 384, 386, 387, 383, 399, 392, 388, 388, 391, | |
1307 | 392, 393, 389, 394, 395, 389, 397, 402, 391, 396, | |
1308 | 401, 406, 394, 389, 398, 396, 400, 395, 399, 397, | |
1309 | 403, 405, 399, 404, 400, 401, 403, 407, 408, 402, | |
1310 | 409, 395, 410, 397, 402, 406, 407, 401, 406, 410, | |
1311 | ||
1312 | 411, 412, 408, 400, 413, 414, 418, 403, 414, 404, | |
1313 | 404, 415, 422, 419, 407, 408, 413, 421, 418, 410, | |
1314 | 0, 409, 425, 417, 415, 417, 419, 411, 412, 420, | |
1315 | 421, 413, 414, 418, 426, 420, 0, 425, 415, 416, | |
1316 | 419, 416, 424, 422, 421, 416, 428, 416, 427, 425, | |
1317 | 417, 423, 416, 0, 429, 424, 420, 431, 423, 433, | |
1318 | 426, 426, 434, 416, 0, 428, 416, 429, 416, 424, | |
1319 | 427, 437, 416, 428, 416, 427, 423, 423, 423, 416, | |
1320 | 430, 429, 436, 435, 431, 423, 434, 438, 430, 434, | |
1321 | 433, 435, 440, 437, 439, 441, 436, 442, 437, 440, | |
1322 | ||
1323 | 444, 450, 445, 423, 446, 438, 0, 430, 441, 436, | |
1324 | 435, 447, 444, 449, 438, 452, 439, 448, 452, 440, | |
1325 | 0, 439, 441, 453, 445, 454, 446, 444, 442, 445, | |
1326 | 456, 446, 450, 447, 457, 448, 455, 454, 447, 449, | |
1327 | 449, 452, 452, 455, 448, 452, 458, 453, 459, 460, | |
1328 | 453, 462, 454, 461, 456, 463, 457, 456, 460, 464, | |
1329 | 461, 457, 467, 455, 465, 462, 468, 466, 458, 0, | |
1330 | 0, 470, 459, 458, 476, 459, 460, 463, 462, 471, | |
1331 | 461, 464, 463, 466, 469, 473, 464, 471, 465, 472, | |
1332 | 475, 465, 476, 467, 466, 477, 469, 468, 470, 475, | |
1333 | ||
1334 | 473, 476, 472, 477, 484, 478, 471, 478, 481, 482, | |
1335 | 483, 469, 473, 0, 0, 485, 472, 475, 0, 489, | |
1336 | 486, 481, 477, 487, 488, 490, 484, 492, 485, 493, | |
1337 | 491, 484, 478, 486, 490, 481, 488, 493, 499, 495, | |
1338 | 482, 483, 485, 496, 499, 487, 489, 486, 491, 492, | |
1339 | 487, 488, 490, 494, 492, 496, 493, 491, 500, 497, | |
1340 | 498, 494, 495, 501, 502, 499, 495, 500, 498, 506, | |
1341 | 496, 497, 503, 509, 504, 507, 502, 513, 512, 503, | |
1342 | 494, 508, 506, 511, 501, 500, 497, 498, 508, 510, | |
1343 | 501, 502, 504, 510, 507, 509, 506, 511, 515, 503, | |
1344 | ||
1345 | 509, 504, 507, 513, 513, 514, 516, 517, 508, 512, | |
1346 | 511, 518, 519, 520, 521, 0, 517, 524, 0, 516, | |
1347 | 510, 522, 523, 526, 515, 515, 522, 514, 522, 524, | |
1348 | 522, 0, 514, 516, 517, 520, 526, 521, 525, 522, | |
1349 | 520, 521, 518, 519, 524, 523, 527, 525, 522, 523, | |
1350 | 526, 528, 529, 522, 527, 522, 530, 522, 530, 531, | |
1351 | 532, 529, 533, 534, 535, 525, 0, 531, 536, 537, | |
1352 | 528, 538, 539, 527, 541, 536, 540, 543, 528, 529, | |
1353 | 544, 539, 545, 530, 546, 534, 531, 532, 537, 533, | |
1354 | 534, 535, 547, 538, 541, 536, 537, 540, 538, 539, | |
1355 | ||
1356 | 549, 541, 550, 540, 545, 548, 0, 551, 543, 545, | |
1357 | 547, 544, 554, 548, 551, 546, 549, 552, 553, 547, | |
1358 | 555, 554, 558, 556, 552, 553, 557, 549, 557, 550, | |
1359 | 556, 558, 548, 560, 551, 561, 561, 560, 563, 554, | |
1360 | 565, 564, 562, 567, 552, 553, 555, 555, 564, 558, | |
1361 | 556, 562, 0, 557, 569, 570, 567, 0, 566, 0, | |
1362 | 563, 571, 561, 565, 560, 563, 566, 565, 564, 562, | |
1363 | 567, 568, 573, 576, 0, 570, 569, 572, 575, 568, | |
1364 | 574, 569, 570, 571, 575, 566, 572, 577, 571, 578, | |
1365 | 573, 0, 574, 583, 581, 576, 579, 583, 568, 573, | |
1366 | ||
1367 | 576, 582, 584, 585, 572, 575, 586, 574, 587, 582, | |
1368 | 0, 585, 0, 0, 0, 595, 581, 588, 577, 0, | |
1369 | 578, 581, 579, 579, 583, 588, 589, 586, 582, 584, | |
1370 | 585, 593, 590, 586, 589, 591, 592, 593, 594, 587, | |
1371 | 590, 595, 595, 591, 588, 596, 597, 599, 598, 592, | |
1372 | 594, 600, 603, 589, 599, 601, 604, 602, 593, 590, | |
1373 | 597, 607, 591, 592, 602, 594, 598, 609, 596, 610, | |
1374 | 0, 612, 596, 597, 599, 598, 614, 601, 600, 615, | |
1375 | 629, 610, 601, 603, 602, 613, 615, 604, 607, 616, | |
1376 | 611, 609, 611, 612, 609, 617, 610, 613, 612, 620, | |
1377 | ||
1378 | 617, 619, 618, 614, 623, 621, 615, 620, 0, 627, | |
1379 | 0, 629, 613, 623, 624, 616, 616, 611, 618, 0, | |
1380 | 628, 624, 617, 625, 619, 631, 620, 621, 619, 618, | |
1381 | 625, 623, 621, 626, 627, 633, 627, 630, 641, 635, | |
1382 | 626, 624, 628, 634, 630, 634, 631, 628, 636, 637, | |
1383 | 625, 639, 631, 648, 638, 640, 646, 633, 637, 643, | |
1384 | 626, 638, 633, 635, 630, 641, 635, 642, 643, 646, | |
1385 | 634, 647, 644, 639, 636, 636, 637, 640, 639, 644, | |
1386 | 645, 638, 640, 646, 648, 647, 643, 645, 649, 642, | |
1387 | 650, 652, 0, 663, 642, 649, 651, 650, 647, 644, | |
1388 | ||
1389 | 654, 653, 651, 652, 653, 657, 658, 645, 659, 0, | |
1390 | 662, 654, 661, 0, 0, 649, 659, 650, 652, 653, | |
1391 | 663, 0, 660, 651, 658, 660, 673, 654, 653, 657, | |
1392 | 661, 653, 657, 658, 665, 659, 664, 666, 667, 661, | |
1393 | 660, 662, 669, 664, 668, 670, 666, 674, 665, 660, | |
1394 | 671, 667, 660, 668, 675, 678, 670, 673, 679, 671, | |
1395 | 676, 665, 680, 664, 666, 667, 676, 679, 669, 669, | |
1396 | 680, 668, 670, 684, 678, 675, 685, 671, 674, 681, | |
1397 | 684, 675, 678, 682, 676, 679, 686, 676, 698, 680, | |
1398 | 681, 689, 682, 676, 687, 688, 692, 690, 696, 685, | |
1399 | ||
1400 | 684, 690, 691, 685, 693, 694, 681, 696, 686, 689, | |
1401 | 682, 692, 695, 686, 691, 698, 687, 688, 689, 693, | |
1402 | 697, 687, 688, 692, 690, 696, 699, 695, 700, 691, | |
1403 | 701, 693, 702, 703, 709, 704, 694, 705, 702, 695, | |
1404 | 703, 697, 706, 707, 699, 710, 711, 697, 712, 713, | |
1405 | 712, 714, 0, 699, 710, 700, 715, 0, 715, 702, | |
1406 | 703, 701, 704, 715, 705, 709, 716, 707, 721, 706, | |
1407 | 707, 715, 710, 716, 717, 712, 713, 711, 719, 718, | |
1408 | 723, 717, 714, 715, 719, 715, 718, 720, 720, 722, | |
1409 | 715, 724, 725, 716, 721, 721, 722, 727, 723, 726, | |
1410 | ||
1411 | 726, 717, 728, 728, 729, 719, 718, 723, 731, 732, | |
1412 | 725, 724, 734, 0, 720, 729, 722, 0, 724, 725, | |
1413 | 733, 735, 744, 727, 727, 738, 726, 733, 736, 728, | |
1414 | 731, 729, 734, 740, 737, 731, 739, 738, 741, 734, | |
1415 | 732, 737, 746, 735, 739, 742, 736, 733, 735, 743, | |
1416 | 748, 742, 738, 744, 740, 736, 741, 750, 753, 747, | |
1417 | 740, 737, 743, 739, 745, 741, 757, 749, 745, 752, | |
1418 | 751, 752, 742, 746, 747, 755, 743, 756, 754, 0, | |
1419 | 750, 748, 749, 754, 750, 751, 747, 758, 759, 753, | |
1420 | 760, 772, 756, 757, 749, 745, 752, 751, 761, 767, | |
1421 | ||
1422 | 762, 764, 768, 773, 756, 754, 755, 774, 767, 759, | |
1423 | 766, 776, 760, 773, 758, 759, 764, 760, 762, 761, | |
1424 | 768, 766, 772, 0, 775, 761, 767, 762, 764, 768, | |
1425 | 773, 779, 778, 774, 774, 780, 766, 766, 776, 778, | |
1426 | 781, 780, 784, 785, 786, 782, 783, 788, 766, 775, | |
1427 | 785, 775, 787, 790, 784, 781, 788, 779, 779, 778, | |
1428 | 782, 783, 780, 789, 791, 791, 786, 781, 793, 784, | |
1429 | 785, 786, 782, 783, 788, 792, 794, 787, 795, 787, | |
1430 | 790, 789, 797, 796, 798, 799, 800, 0, 0, 797, | |
1431 | 789, 791, 796, 793, 800, 793, 802, 792, 794, 0, | |
1432 | ||
1433 | 795, 801, 792, 794, 803, 795, 805, 799, 804, 797, | |
1434 | 796, 804, 799, 800, 801, 798, 807, 806, 808, 803, | |
1435 | 810, 812, 815, 802, 805, 808, 804, 817, 801, 809, | |
1436 | 807, 803, 806, 805, 813, 804, 813, 814, 804, 816, | |
1437 | 809, 810, 812, 807, 806, 808, 819, 810, 812, 815, | |
1438 | 818, 821, 820, 822, 817, 814, 809, 816, 818, 826, | |
1439 | 828, 813, 827, 825, 814, 821, 816, 0, 830, 819, | |
1440 | 829, 831, 832, 819, 820, 828, 833, 818, 821, 820, | |
1441 | 822, 825, 839, 831, 833, 834, 826, 828, 827, 827, | |
1442 | 825, 830, 829, 834, 832, 830, 835, 829, 831, 832, | |
1443 | ||
1444 | 836, 837, 835, 833, 840, 841, 839, 837, 842, 839, | |
1445 | 843, 844, 834, 846, 847, 836, 845, 848, 840, 841, | |
1446 | 849, 850, 853, 835, 852, 848, 855, 836, 837, 860, | |
1447 | 845, 840, 841, 857, 842, 842, 856, 843, 844, 862, | |
1448 | 846, 847, 854, 845, 848, 856, 852, 849, 850, 853, | |
1449 | 854, 852, 858, 855, 857, 859, 860, 861, 864, 867, | |
1450 | 857, 865, 865, 856, 866, 861, 862, 868, 874, 854, | |
1451 | 859, 869, 0, 870, 867, 871, 858, 869, 872, 858, | |
1452 | 875, 859, 859, 873, 861, 864, 867, 871, 865, 868, | |
1453 | 866, 866, 880, 887, 868, 870, 872, 859, 869, 874, | |
1454 | ||
1455 | 870, 873, 871, 875, 877, 872, 879, 875, 881, 882, | |
1456 | 873, 877, 0, 884, 886, 887, 888, 882, 880, 880, | |
1457 | 887, 891, 889, 890, 879, 892, 895, 893, 884, 894, | |
1458 | 0, 877, 892, 879, 893, 882, 882, 896, 886, 881, | |
1459 | 884, 886, 897, 888, 882, 889, 898, 890, 891, 889, | |
1460 | 890, 894, 892, 897, 893, 899, 894, 895, 896, 900, | |
1461 | 913, 903, 906, 909, 896, 911, 0, 914, 898, 897, | |
1462 | 915, 916, 0, 898, 899, 919, 916, 917, 922, 924, | |
1463 | 925, 915, 899, 923, 900, 0, 900, 903, 903, 906, | |
1464 | 909, 913, 911, 914, 914, 0, 926, 915, 916, 917, | |
1465 | ||
1466 | 922, 924, 919, 927, 917, 922, 924, 925, 923, 928, | |
1467 | 923, 926, 927, 929, 930, 931, 932, 933, 934, 934, | |
1468 | 935, 0, 931, 926, 928, 936, 939, 935, 929, 930, | |
1469 | 927, 937, 940, 938, 937, 933, 928, 941, 952, 936, | |
1470 | 929, 930, 931, 932, 933, 934, 938, 935, 939, 944, | |
1471 | 946, 949, 936, 939, 940, 950, 943, 947, 937, 940, | |
1472 | 938, 948, 949, 950, 941, 943, 947, 951, 946, 952, | |
1473 | 948, 954, 960, 953, 955, 944, 944, 946, 949, 954, | |
1474 | 959, 955, 950, 943, 947, 953, 961, 959, 948, 965, | |
1475 | 962, 967, 0, 969, 951, 963, 960, 966, 954, 960, | |
1476 | ||
1477 | 953, 955, 962, 970, 963, 966, 972, 959, 970, 971, | |
1478 | 973, 976, 974, 961, 979, 980, 965, 962, 967, 969, | |
1479 | 969, 977, 963, 976, 966, 978, 979, 971, 972, 981, | |
1480 | 970, 974, 973, 972, 982, 983, 971, 973, 976, 974, | |
1481 | 986, 979, 980, 977, 985, 987, 988, 978, 977, 990, | |
1482 | 989, 0, 978, 995, 0, 986, 981, 993, 0, 1003, | |
1483 | 991, 982, 983, 996, 988, 993, 985, 986, 989, 987, | |
1484 | 997, 985, 987, 988, 994, 990, 990, 989, 991, 1001, | |
1485 | 995, 996, 994, 998, 993, 1000, 1003, 991, 1005, 997, | |
1486 | 996, 1006, 1007, 1001, 1008, 1005, 1009, 997, 1010, 1012, | |
1487 | ||
1488 | 1011, 994, 1013, 1000, 0, 998, 1001, 1010, 1014, 1020, | |
1489 | 998, 1023, 1000, 1011, 1019, 1005, 1007, 1006, 1006, 1007, | |
1490 | 0, 1008, 1019, 1009, 1021, 1010, 1022, 1011, 1020, 1013, | |
1491 | 1012, 1014, 1021, 1023, 1026, 1014, 1020, 1022, 1023, 1024, | |
1492 | 1027, 1019, 1025, 1025, 1029, 1030, 1024, 1027, 1031, 0, | |
1493 | 1032, 1021, 1026, 1022, 1030, 1036, 1033, 1037, 1035, 1037, | |
1494 | 1042, 1026, 1041, 0, 1040, 0, 1024, 1027, 1029, 1025, | |
1495 | 1036, 1029, 1030, 1032, 1033, 1031, 1035, 1032, 1042, 1044, | |
1496 | 1046, 1047, 1036, 1033, 1037, 1035, 1040, 1042, 1041, 1041, | |
1497 | 1045, 1040, 1046, 1048, 1049, 1050, 1051, 1053, 1045, 1052, | |
1498 | ||
1499 | 1052, 1044, 1049, 1054, 1048, 1053, 1044, 1046, 1047, 1055, | |
1500 | 1057, 1059, 1058, 1060, 1050, 1061, 1059, 1045, 1051, 1058, | |
1501 | 1048, 1049, 1050, 1051, 1053, 1062, 1052, 1064, 1063, 1065, | |
1502 | 1054, 1055, 1066, 1062, 1064, 1069, 1055, 1057, 1059, 1058, | |
1503 | 1060, 1067, 1061, 1063, 1070, 1071, 1072, 1073, 1074, 1067, | |
1504 | 1076, 1078, 1062, 0, 1064, 1063, 1065, 1069, 1079, 1066, | |
1505 | 1082, 1083, 1069, 1087, 1084, 1092, 1088, 1096, 1067, 1073, | |
1506 | 1087, 1070, 1071, 1072, 1073, 1074, 1076, 1076, 1078, 1082, | |
1507 | 1079, 1094, 1100, 1097, 1101, 1079, 1084, 1082, 1083, 1088, | |
1508 | 1087, 1084, 1092, 1088, 1096, 1097, 1099, 1103, 1105, 0, | |
1509 | ||
1510 | 1106, 1112, 0, 1113, 1094, 1099, 1110, 1111, 1094, 1100, | |
1511 | 1097, 1101, 1117, 1105, 1111, 1118, 0, 0, 0, 1115, | |
1512 | 1117, 1113, 1116, 1099, 1103, 1105, 1106, 1106, 1112, 1110, | |
1513 | 1113, 1115, 0, 1110, 1111, 1116, 0, 0, 0, 1117, | |
1514 | 0, 0, 1118, 0, 0, 0, 1115, 0, 0, 1116, | |
1515 | 1121, 1121, 1121, 1121, 1121, 1121, 1122, 1122, 1122, 1122, | |
1516 | 1122, 1122, 1123, 1123, 1123, 1123, 1123, 1123, 1124, 1124, | |
1517 | 1124, 1124, 1124, 1124, 1125, 1125, 1125, 1125, 1125, 1125, | |
1518 | 1127, 1127, 1127, 1127, 1127, 1127, 1128, 1128, 0, 0, | |
1519 | 1128, 1128, 1129, 1129, 0, 1129, 0, 1129, 1130, 0, | |
1520 | ||
1521 | 0, 0, 0, 1130, 1131, 1131, 0, 0, 1131, 1131, | |
1522 | 1132, 0, 0, 0, 0, 1132, 1133, 1133, 1133, 1133, | |
1523 | 1133, 1133, 1134, 1134, 1134, 1134, 1134, 1134, 1120, 1120, | |
1524 | 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, | |
1525 | 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, | |
1526 | 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, | |
1527 | 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, | |
1528 | 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, | |
1529 | 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, 1120, | |
1530 | 1120, 1120, 1120, 1120 | |
1531 | ||
1523 | 1532 | } ; |
1524 | 1533 | |
1525 | 1534 | static yy_state_type yy_last_accepting_state; |
1646 | 1655 | #define YY_NO_INPUT 1 |
1647 | 1656 | #endif |
1648 | 1657 | |
1649 | #line 1650 "<stdout>" | |
1658 | #line 1659 "<stdout>" | |
1650 | 1659 | |
1651 | 1660 | #define INITIAL 0 |
1652 | 1661 | #define quotedstring 1 |
1833 | 1842 | |
1834 | 1843 | #line 123 "util/configlexer.lex" |
1835 | 1844 | |
1836 | #line 1837 "<stdout>" | |
1845 | #line 1846 "<stdout>" | |
1837 | 1846 | |
1838 | 1847 | if ( !(yy_init) ) |
1839 | 1848 | { |
1892 | 1901 | while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) |
1893 | 1902 | { |
1894 | 1903 | yy_current_state = (int) yy_def[yy_current_state]; |
1895 | if ( yy_current_state >= 1111 ) | |
1904 | if ( yy_current_state >= 1121 ) | |
1896 | 1905 | yy_c = yy_meta[(unsigned int) yy_c]; |
1897 | 1906 | } |
1898 | 1907 | yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; |
1899 | 1908 | ++yy_cp; |
1900 | 1909 | } |
1901 | while ( yy_base[yy_current_state] != 3209 ); | |
1910 | while ( yy_base[yy_current_state] != 3229 ); | |
1902 | 1911 | |
1903 | 1912 | yy_find_action: |
1904 | 1913 | yy_act = yy_accept[yy_current_state]; |
2310 | 2319 | case 77: |
2311 | 2320 | YY_RULE_SETUP |
2312 | 2321 | #line 202 "util/configlexer.lex" |
2322 | { YDVAR(1, VAR_VAL_LOG_LEVEL) } | |
2323 | YY_BREAK | |
2324 | case 78: | |
2325 | YY_RULE_SETUP | |
2326 | #line 203 "util/configlexer.lex" | |
2313 | 2327 | { YDVAR(1, VAR_KEY_CACHE_SIZE) } |
2314 | 2328 | YY_BREAK |
2315 | case 78: | |
2316 | YY_RULE_SETUP | |
2317 | #line 203 "util/configlexer.lex" | |
2329 | case 79: | |
2330 | YY_RULE_SETUP | |
2331 | #line 204 "util/configlexer.lex" | |
2318 | 2332 | { YDVAR(1, VAR_KEY_CACHE_SLABS) } |
2319 | 2333 | YY_BREAK |
2320 | case 79: | |
2321 | YY_RULE_SETUP | |
2322 | #line 204 "util/configlexer.lex" | |
2334 | case 80: | |
2335 | YY_RULE_SETUP | |
2336 | #line 205 "util/configlexer.lex" | |
2323 | 2337 | { YDVAR(1, VAR_NEG_CACHE_SIZE) } |
2324 | 2338 | YY_BREAK |
2325 | case 80: | |
2326 | YY_RULE_SETUP | |
2327 | #line 205 "util/configlexer.lex" | |
2339 | case 81: | |
2340 | YY_RULE_SETUP | |
2341 | #line 206 "util/configlexer.lex" | |
2328 | 2342 | { |
2329 | 2343 | YDVAR(1, VAR_VAL_NSEC3_KEYSIZE_ITERATIONS) } |
2330 | 2344 | YY_BREAK |
2331 | case 81: | |
2332 | YY_RULE_SETUP | |
2333 | #line 207 "util/configlexer.lex" | |
2345 | case 82: | |
2346 | YY_RULE_SETUP | |
2347 | #line 208 "util/configlexer.lex" | |
2334 | 2348 | { YDVAR(1, VAR_USE_SYSLOG) } |
2335 | 2349 | YY_BREAK |
2336 | case 82: | |
2337 | YY_RULE_SETUP | |
2338 | #line 208 "util/configlexer.lex" | |
2350 | case 83: | |
2351 | YY_RULE_SETUP | |
2352 | #line 209 "util/configlexer.lex" | |
2339 | 2353 | { YDVAR(1, VAR_LOG_TIME_ASCII) } |
2340 | 2354 | YY_BREAK |
2341 | case 83: | |
2342 | YY_RULE_SETUP | |
2343 | #line 209 "util/configlexer.lex" | |
2355 | case 84: | |
2356 | YY_RULE_SETUP | |
2357 | #line 210 "util/configlexer.lex" | |
2344 | 2358 | { YDVAR(2, VAR_LOCAL_ZONE) } |
2345 | 2359 | YY_BREAK |
2346 | case 84: | |
2347 | YY_RULE_SETUP | |
2348 | #line 210 "util/configlexer.lex" | |
2360 | case 85: | |
2361 | YY_RULE_SETUP | |
2362 | #line 211 "util/configlexer.lex" | |
2349 | 2363 | { YDVAR(1, VAR_LOCAL_DATA) } |
2350 | 2364 | YY_BREAK |
2351 | case 85: | |
2352 | YY_RULE_SETUP | |
2353 | #line 211 "util/configlexer.lex" | |
2365 | case 86: | |
2366 | YY_RULE_SETUP | |
2367 | #line 212 "util/configlexer.lex" | |
2354 | 2368 | { YDVAR(1, VAR_LOCAL_DATA_PTR) } |
2355 | 2369 | YY_BREAK |
2356 | case 86: | |
2357 | YY_RULE_SETUP | |
2358 | #line 212 "util/configlexer.lex" | |
2370 | case 87: | |
2371 | YY_RULE_SETUP | |
2372 | #line 213 "util/configlexer.lex" | |
2359 | 2373 | { YDVAR(1, VAR_STATISTICS_INTERVAL) } |
2360 | 2374 | YY_BREAK |
2361 | case 87: | |
2362 | YY_RULE_SETUP | |
2363 | #line 213 "util/configlexer.lex" | |
2375 | case 88: | |
2376 | YY_RULE_SETUP | |
2377 | #line 214 "util/configlexer.lex" | |
2364 | 2378 | { YDVAR(1, VAR_STATISTICS_CUMULATIVE) } |
2365 | 2379 | YY_BREAK |
2366 | case 88: | |
2367 | YY_RULE_SETUP | |
2368 | #line 214 "util/configlexer.lex" | |
2380 | case 89: | |
2381 | YY_RULE_SETUP | |
2382 | #line 215 "util/configlexer.lex" | |
2369 | 2383 | { YDVAR(1, VAR_EXTENDED_STATISTICS) } |
2370 | 2384 | YY_BREAK |
2371 | case 89: | |
2372 | YY_RULE_SETUP | |
2373 | #line 215 "util/configlexer.lex" | |
2385 | case 90: | |
2386 | YY_RULE_SETUP | |
2387 | #line 216 "util/configlexer.lex" | |
2374 | 2388 | { YDVAR(0, VAR_REMOTE_CONTROL) } |
2375 | 2389 | YY_BREAK |
2376 | case 90: | |
2377 | YY_RULE_SETUP | |
2378 | #line 216 "util/configlexer.lex" | |
2390 | case 91: | |
2391 | YY_RULE_SETUP | |
2392 | #line 217 "util/configlexer.lex" | |
2379 | 2393 | { YDVAR(1, VAR_CONTROL_ENABLE) } |
2380 | 2394 | YY_BREAK |
2381 | case 91: | |
2382 | YY_RULE_SETUP | |
2383 | #line 217 "util/configlexer.lex" | |
2395 | case 92: | |
2396 | YY_RULE_SETUP | |
2397 | #line 218 "util/configlexer.lex" | |
2384 | 2398 | { YDVAR(1, VAR_CONTROL_INTERFACE) } |
2385 | 2399 | YY_BREAK |
2386 | case 92: | |
2387 | YY_RULE_SETUP | |
2388 | #line 218 "util/configlexer.lex" | |
2400 | case 93: | |
2401 | YY_RULE_SETUP | |
2402 | #line 219 "util/configlexer.lex" | |
2389 | 2403 | { YDVAR(1, VAR_CONTROL_PORT) } |
2390 | 2404 | YY_BREAK |
2391 | case 93: | |
2392 | YY_RULE_SETUP | |
2393 | #line 219 "util/configlexer.lex" | |
2405 | case 94: | |
2406 | YY_RULE_SETUP | |
2407 | #line 220 "util/configlexer.lex" | |
2394 | 2408 | { YDVAR(1, VAR_SERVER_KEY_FILE) } |
2395 | 2409 | YY_BREAK |
2396 | case 94: | |
2397 | YY_RULE_SETUP | |
2398 | #line 220 "util/configlexer.lex" | |
2410 | case 95: | |
2411 | YY_RULE_SETUP | |
2412 | #line 221 "util/configlexer.lex" | |
2399 | 2413 | { YDVAR(1, VAR_SERVER_CERT_FILE) } |
2400 | 2414 | YY_BREAK |
2401 | case 95: | |
2402 | YY_RULE_SETUP | |
2403 | #line 221 "util/configlexer.lex" | |
2415 | case 96: | |
2416 | YY_RULE_SETUP | |
2417 | #line 222 "util/configlexer.lex" | |
2404 | 2418 | { YDVAR(1, VAR_CONTROL_KEY_FILE) } |
2405 | 2419 | YY_BREAK |
2406 | case 96: | |
2407 | YY_RULE_SETUP | |
2408 | #line 222 "util/configlexer.lex" | |
2420 | case 97: | |
2421 | YY_RULE_SETUP | |
2422 | #line 223 "util/configlexer.lex" | |
2409 | 2423 | { YDVAR(1, VAR_CONTROL_CERT_FILE) } |
2410 | 2424 | YY_BREAK |
2411 | case 97: | |
2412 | YY_RULE_SETUP | |
2413 | #line 223 "util/configlexer.lex" | |
2425 | case 98: | |
2426 | YY_RULE_SETUP | |
2427 | #line 224 "util/configlexer.lex" | |
2414 | 2428 | { YDVAR(1, VAR_PYTHON_SCRIPT) } |
2415 | 2429 | YY_BREAK |
2416 | case 98: | |
2417 | YY_RULE_SETUP | |
2418 | #line 224 "util/configlexer.lex" | |
2430 | case 99: | |
2431 | YY_RULE_SETUP | |
2432 | #line 225 "util/configlexer.lex" | |
2419 | 2433 | { YDVAR(0, VAR_PYTHON) } |
2420 | 2434 | YY_BREAK |
2421 | case 99: | |
2422 | YY_RULE_SETUP | |
2423 | #line 225 "util/configlexer.lex" | |
2435 | case 100: | |
2436 | YY_RULE_SETUP | |
2437 | #line 226 "util/configlexer.lex" | |
2424 | 2438 | { YDVAR(1, VAR_DOMAIN_INSECURE) } |
2425 | 2439 | YY_BREAK |
2426 | case 100: | |
2427 | /* rule 100 can match eol */ | |
2428 | YY_RULE_SETUP | |
2429 | #line 226 "util/configlexer.lex" | |
2440 | case 101: | |
2441 | /* rule 101 can match eol */ | |
2442 | YY_RULE_SETUP | |
2443 | #line 227 "util/configlexer.lex" | |
2430 | 2444 | { LEXOUT(("NL\n")); cfg_parser->line++; } |
2431 | 2445 | YY_BREAK |
2432 | 2446 | /* Quoted strings. Strip leading and ending quotes */ |
2433 | case 101: | |
2434 | YY_RULE_SETUP | |
2435 | #line 229 "util/configlexer.lex" | |
2447 | case 102: | |
2448 | YY_RULE_SETUP | |
2449 | #line 230 "util/configlexer.lex" | |
2436 | 2450 | { BEGIN(quotedstring); LEXOUT(("QS ")); } |
2437 | 2451 | YY_BREAK |
2438 | 2452 | case YY_STATE_EOF(quotedstring): |
2439 | #line 230 "util/configlexer.lex" | |
2453 | #line 231 "util/configlexer.lex" | |
2440 | 2454 | { |
2441 | 2455 | yyerror("EOF inside quoted string"); |
2442 | 2456 | if(--num_args == 0) { BEGIN(INITIAL); } |
2443 | 2457 | else { BEGIN(val); } |
2444 | 2458 | } |
2445 | 2459 | YY_BREAK |
2446 | case 102: | |
2447 | YY_RULE_SETUP | |
2448 | #line 235 "util/configlexer.lex" | |
2460 | case 103: | |
2461 | YY_RULE_SETUP | |
2462 | #line 236 "util/configlexer.lex" | |
2449 | 2463 | { LEXOUT(("STR(%s) ", yytext)); yymore(); } |
2450 | 2464 | YY_BREAK |
2451 | case 103: | |
2452 | /* rule 103 can match eol */ | |
2453 | YY_RULE_SETUP | |
2454 | #line 236 "util/configlexer.lex" | |
2465 | case 104: | |
2466 | /* rule 104 can match eol */ | |
2467 | YY_RULE_SETUP | |
2468 | #line 237 "util/configlexer.lex" | |
2455 | 2469 | { yyerror("newline inside quoted string, no end \""); |
2456 | 2470 | cfg_parser->line++; BEGIN(INITIAL); } |
2457 | 2471 | YY_BREAK |
2458 | case 104: | |
2459 | YY_RULE_SETUP | |
2460 | #line 238 "util/configlexer.lex" | |
2472 | case 105: | |
2473 | YY_RULE_SETUP | |
2474 | #line 239 "util/configlexer.lex" | |
2461 | 2475 | { |
2462 | 2476 | LEXOUT(("QE ")); |
2463 | 2477 | if(--num_args == 0) { BEGIN(INITIAL); } |
2470 | 2484 | } |
2471 | 2485 | YY_BREAK |
2472 | 2486 | /* Single Quoted strings. Strip leading and ending quotes */ |
2473 | case 105: | |
2474 | YY_RULE_SETUP | |
2475 | #line 250 "util/configlexer.lex" | |
2487 | case 106: | |
2488 | YY_RULE_SETUP | |
2489 | #line 251 "util/configlexer.lex" | |
2476 | 2490 | { BEGIN(singlequotedstr); LEXOUT(("SQS ")); } |
2477 | 2491 | YY_BREAK |
2478 | 2492 | case YY_STATE_EOF(singlequotedstr): |
2479 | #line 251 "util/configlexer.lex" | |
2493 | #line 252 "util/configlexer.lex" | |
2480 | 2494 | { |
2481 | 2495 | yyerror("EOF inside quoted string"); |
2482 | 2496 | if(--num_args == 0) { BEGIN(INITIAL); } |
2483 | 2497 | else { BEGIN(val); } |
2484 | 2498 | } |
2485 | 2499 | YY_BREAK |
2486 | case 106: | |
2487 | YY_RULE_SETUP | |
2488 | #line 256 "util/configlexer.lex" | |
2500 | case 107: | |
2501 | YY_RULE_SETUP | |
2502 | #line 257 "util/configlexer.lex" | |
2489 | 2503 | { LEXOUT(("STR(%s) ", yytext)); yymore(); } |
2490 | 2504 | YY_BREAK |
2491 | case 107: | |
2492 | /* rule 107 can match eol */ | |
2493 | YY_RULE_SETUP | |
2494 | #line 257 "util/configlexer.lex" | |
2505 | case 108: | |
2506 | /* rule 108 can match eol */ | |
2507 | YY_RULE_SETUP | |
2508 | #line 258 "util/configlexer.lex" | |
2495 | 2509 | { yyerror("newline inside quoted string, no end '"); |
2496 | 2510 | cfg_parser->line++; BEGIN(INITIAL); } |
2497 | 2511 | YY_BREAK |
2498 | case 108: | |
2499 | YY_RULE_SETUP | |
2500 | #line 259 "util/configlexer.lex" | |
2512 | case 109: | |
2513 | YY_RULE_SETUP | |
2514 | #line 260 "util/configlexer.lex" | |
2501 | 2515 | { |
2502 | 2516 | LEXOUT(("SQE ")); |
2503 | 2517 | if(--num_args == 0) { BEGIN(INITIAL); } |
2510 | 2524 | } |
2511 | 2525 | YY_BREAK |
2512 | 2526 | /* include: directive */ |
2513 | case 109: | |
2514 | YY_RULE_SETUP | |
2515 | #line 271 "util/configlexer.lex" | |
2527 | case 110: | |
2528 | YY_RULE_SETUP | |
2529 | #line 272 "util/configlexer.lex" | |
2516 | 2530 | { |
2517 | 2531 | LEXOUT(("v(%s) ", yytext)); inc_prev = YYSTATE; BEGIN(include); } |
2518 | 2532 | YY_BREAK |
2519 | 2533 | case YY_STATE_EOF(include): |
2520 | #line 273 "util/configlexer.lex" | |
2534 | #line 274 "util/configlexer.lex" | |
2521 | 2535 | { |
2522 | 2536 | yyerror("EOF inside include directive"); |
2523 | 2537 | BEGIN(inc_prev); |
2524 | 2538 | } |
2525 | 2539 | YY_BREAK |
2526 | case 110: | |
2527 | YY_RULE_SETUP | |
2528 | #line 277 "util/configlexer.lex" | |
2540 | case 111: | |
2541 | YY_RULE_SETUP | |
2542 | #line 278 "util/configlexer.lex" | |
2529 | 2543 | { LEXOUT(("ISP ")); /* ignore */ } |
2530 | 2544 | YY_BREAK |
2531 | case 111: | |
2532 | /* rule 111 can match eol */ | |
2533 | YY_RULE_SETUP | |
2534 | #line 278 "util/configlexer.lex" | |
2545 | case 112: | |
2546 | /* rule 112 can match eol */ | |
2547 | YY_RULE_SETUP | |
2548 | #line 279 "util/configlexer.lex" | |
2535 | 2549 | { LEXOUT(("NL\n")); cfg_parser->line++;} |
2536 | 2550 | YY_BREAK |
2537 | case 112: | |
2538 | YY_RULE_SETUP | |
2539 | #line 279 "util/configlexer.lex" | |
2551 | case 113: | |
2552 | YY_RULE_SETUP | |
2553 | #line 280 "util/configlexer.lex" | |
2540 | 2554 | { LEXOUT(("IQS ")); BEGIN(include_quoted); } |
2541 | 2555 | YY_BREAK |
2542 | case 113: | |
2543 | YY_RULE_SETUP | |
2544 | #line 280 "util/configlexer.lex" | |
2556 | case 114: | |
2557 | YY_RULE_SETUP | |
2558 | #line 281 "util/configlexer.lex" | |
2545 | 2559 | { |
2546 | 2560 | LEXOUT(("Iunquotedstr(%s) ", yytext)); |
2547 | 2561 | config_start_include(yytext); |
2549 | 2563 | } |
2550 | 2564 | YY_BREAK |
2551 | 2565 | case YY_STATE_EOF(include_quoted): |
2552 | #line 285 "util/configlexer.lex" | |
2566 | #line 286 "util/configlexer.lex" | |
2553 | 2567 | { |
2554 | 2568 | yyerror("EOF inside quoted string"); |
2555 | 2569 | BEGIN(inc_prev); |
2556 | 2570 | } |
2557 | 2571 | YY_BREAK |
2558 | case 114: | |
2559 | YY_RULE_SETUP | |
2560 | #line 289 "util/configlexer.lex" | |
2572 | case 115: | |
2573 | YY_RULE_SETUP | |
2574 | #line 290 "util/configlexer.lex" | |
2561 | 2575 | { LEXOUT(("ISTR(%s) ", yytext)); yymore(); } |
2562 | 2576 | YY_BREAK |
2563 | case 115: | |
2564 | /* rule 115 can match eol */ | |
2565 | YY_RULE_SETUP | |
2566 | #line 290 "util/configlexer.lex" | |
2577 | case 116: | |
2578 | /* rule 116 can match eol */ | |
2579 | YY_RULE_SETUP | |
2580 | #line 291 "util/configlexer.lex" | |
2567 | 2581 | { yyerror("newline before \" in include name"); |
2568 | 2582 | cfg_parser->line++; BEGIN(inc_prev); } |
2569 | 2583 | YY_BREAK |
2570 | case 116: | |
2571 | YY_RULE_SETUP | |
2572 | #line 292 "util/configlexer.lex" | |
2584 | case 117: | |
2585 | YY_RULE_SETUP | |
2586 | #line 293 "util/configlexer.lex" | |
2573 | 2587 | { |
2574 | 2588 | LEXOUT(("IQE ")); |
2575 | 2589 | yytext[yyleng - 1] = '\0'; |
2579 | 2593 | YY_BREAK |
2580 | 2594 | case YY_STATE_EOF(INITIAL): |
2581 | 2595 | case YY_STATE_EOF(val): |
2582 | #line 298 "util/configlexer.lex" | |
2596 | #line 299 "util/configlexer.lex" | |
2583 | 2597 | { |
2584 | 2598 | yy_set_bol(1); /* Set beginning of line, so "^" rules match. */ |
2585 | 2599 | if (config_include_stack_ptr == 0) { |
2590 | 2604 | } |
2591 | 2605 | } |
2592 | 2606 | YY_BREAK |
2593 | case 117: | |
2594 | YY_RULE_SETUP | |
2595 | #line 308 "util/configlexer.lex" | |
2607 | case 118: | |
2608 | YY_RULE_SETUP | |
2609 | #line 309 "util/configlexer.lex" | |
2596 | 2610 | { LEXOUT(("unquotedstr(%s) ", yytext)); |
2597 | 2611 | if(--num_args == 0) { BEGIN(INITIAL); } |
2598 | 2612 | yylval.str = strdup(yytext); return STRING_ARG; } |
2599 | 2613 | YY_BREAK |
2600 | case 118: | |
2601 | YY_RULE_SETUP | |
2602 | #line 312 "util/configlexer.lex" | |
2614 | case 119: | |
2615 | YY_RULE_SETUP | |
2616 | #line 313 "util/configlexer.lex" | |
2603 | 2617 | { |
2604 | 2618 | ub_c_error_msg("unknown keyword '%s'", yytext); |
2605 | 2619 | } |
2606 | 2620 | YY_BREAK |
2607 | case 119: | |
2608 | YY_RULE_SETUP | |
2609 | #line 316 "util/configlexer.lex" | |
2621 | case 120: | |
2622 | YY_RULE_SETUP | |
2623 | #line 317 "util/configlexer.lex" | |
2610 | 2624 | { |
2611 | 2625 | ub_c_error_msg("stray '%s'", yytext); |
2612 | 2626 | } |
2613 | 2627 | YY_BREAK |
2614 | case 120: | |
2615 | YY_RULE_SETUP | |
2616 | #line 320 "util/configlexer.lex" | |
2628 | case 121: | |
2629 | YY_RULE_SETUP | |
2630 | #line 321 "util/configlexer.lex" | |
2617 | 2631 | ECHO; |
2618 | 2632 | YY_BREAK |
2619 | #line 2620 "<stdout>" | |
2633 | #line 2634 "<stdout>" | |
2620 | 2634 | |
2621 | 2635 | case YY_END_OF_BUFFER: |
2622 | 2636 | { |
2906 | 2920 | while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) |
2907 | 2921 | { |
2908 | 2922 | yy_current_state = (int) yy_def[yy_current_state]; |
2909 | if ( yy_current_state >= 1111 ) | |
2923 | if ( yy_current_state >= 1121 ) | |
2910 | 2924 | yy_c = yy_meta[(unsigned int) yy_c]; |
2911 | 2925 | } |
2912 | 2926 | yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; |
2934 | 2948 | while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) |
2935 | 2949 | { |
2936 | 2950 | yy_current_state = (int) yy_def[yy_current_state]; |
2937 | if ( yy_current_state >= 1111 ) | |
2951 | if ( yy_current_state >= 1121 ) | |
2938 | 2952 | yy_c = yy_meta[(unsigned int) yy_c]; |
2939 | 2953 | } |
2940 | 2954 | yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; |
2941 | yy_is_jam = (yy_current_state == 1110); | |
2955 | yy_is_jam = (yy_current_state == 1120); | |
2942 | 2956 | |
2943 | 2957 | return yy_is_jam ? 0 : yy_current_state; |
2944 | 2958 | } |
3575 | 3589 | |
3576 | 3590 | #define YYTABLES_NAME "yytables" |
3577 | 3591 | |
3578 | #line 320 "util/configlexer.lex" | |
3579 | ||
3580 | ||
3581 | ||
3592 | #line 321 "util/configlexer.lex" | |
3593 | ||
3594 | ||
3595 |
198 | 198 | val-bogus-ttl{COLON} { YDVAR(1, VAR_BOGUS_TTL) } |
199 | 199 | val-clean-additional{COLON} { YDVAR(1, VAR_VAL_CLEAN_ADDITIONAL) } |
200 | 200 | val-permissive-mode{COLON} { YDVAR(1, VAR_VAL_PERMISSIVE_MODE) } |
201 | val-log-level{COLON} { YDVAR(1, VAR_VAL_LOG_LEVEL) } | |
201 | 202 | key-cache-size{COLON} { YDVAR(1, VAR_KEY_CACHE_SIZE) } |
202 | 203 | key-cache-slabs{COLON} { YDVAR(1, VAR_KEY_CACHE_SLABS) } |
203 | 204 | neg-cache-size{COLON} { YDVAR(1, VAR_NEG_CACHE_SIZE) } |
227 | 227 | VAR_PYTHON_SCRIPT = 359, |
228 | 228 | VAR_VAL_SIG_SKEW_MIN = 360, |
229 | 229 | VAR_VAL_SIG_SKEW_MAX = 361, |
230 | VAR_CACHE_MIN_TTL = 362 | |
230 | VAR_CACHE_MIN_TTL = 362, | |
231 | VAR_VAL_LOG_LEVEL = 363 | |
231 | 232 | }; |
232 | 233 | #endif |
233 | 234 | /* Tokens. */ |
336 | 337 | #define VAR_VAL_SIG_SKEW_MIN 360 |
337 | 338 | #define VAR_VAL_SIG_SKEW_MAX 361 |
338 | 339 | #define VAR_CACHE_MIN_TTL 362 |
340 | #define VAR_VAL_LOG_LEVEL 363 | |
339 | 341 | |
340 | 342 | |
341 | 343 | |
352 | 354 | |
353 | 355 | |
354 | 356 | /* Line 214 of yacc.c */ |
355 | #line 357 "util/configparser.c" | |
357 | #line 359 "util/configparser.c" | |
356 | 358 | } YYSTYPE; |
357 | 359 | # define YYSTYPE_IS_TRIVIAL 1 |
358 | 360 | # define yystype YYSTYPE /* obsolescent; will be withdrawn */ |
364 | 366 | |
365 | 367 | |
366 | 368 | /* Line 264 of yacc.c */ |
367 | #line 369 "util/configparser.c" | |
369 | #line 371 "util/configparser.c" | |
368 | 370 | |
369 | 371 | #ifdef short |
370 | 372 | # undef short |
579 | 581 | /* YYFINAL -- State number of the termination state. */ |
580 | 582 | #define YYFINAL 2 |
581 | 583 | /* YYLAST -- Last index in YYTABLE. */ |
582 | #define YYLAST 199 | |
584 | #define YYLAST 200 | |
583 | 585 | |
584 | 586 | /* YYNTOKENS -- Number of terminals. */ |
585 | #define YYNTOKENS 108 | |
587 | #define YYNTOKENS 109 | |
586 | 588 | /* YYNNTS -- Number of nonterminals. */ |
587 | #define YYNNTS 111 | |
589 | #define YYNNTS 112 | |
588 | 590 | /* YYNRULES -- Number of rules. */ |
589 | #define YYNRULES 209 | |
591 | #define YYNRULES 211 | |
590 | 592 | /* YYNRULES -- Number of states. */ |
591 | #define YYNSTATES 305 | |
593 | #define YYNSTATES 308 | |
592 | 594 | |
593 | 595 | /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ |
594 | 596 | #define YYUNDEFTOK 2 |
595 | #define YYMAXUTOK 362 | |
597 | #define YYMAXUTOK 363 | |
596 | 598 | |
597 | 599 | #define YYTRANSLATE(YYX) \ |
598 | 600 | ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) |
636 | 638 | 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, |
637 | 639 | 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, |
638 | 640 | 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, |
639 | 105, 106, 107 | |
641 | 105, 106, 107, 108 | |
640 | 642 | }; |
641 | 643 | |
642 | 644 | #if YYDEBUG |
653 | 655 | 124, 126, 128, 130, 132, 134, 136, 138, 140, 142, |
654 | 656 | 144, 146, 148, 150, 152, 154, 156, 158, 160, 162, |
655 | 657 | 164, 166, 168, 170, 172, 174, 176, 178, 180, 182, |
656 | 184, 186, 189, 190, 192, 194, 196, 198, 200, 203, | |
657 | 204, 206, 208, 210, 213, 216, 219, 222, 225, 228, | |
658 | 231, 234, 237, 240, 243, 246, 249, 252, 255, 258, | |
659 | 261, 264, 267, 270, 273, 276, 279, 282, 285, 288, | |
660 | 291, 294, 297, 300, 303, 306, 309, 312, 315, 318, | |
661 | 321, 324, 327, 330, 333, 336, 339, 342, 345, 348, | |
662 | 351, 354, 357, 360, 363, 366, 369, 372, 375, 378, | |
663 | 381, 384, 387, 390, 393, 397, 400, 403, 406, 409, | |
664 | 412, 415, 418, 421, 424, 427, 430, 433, 436, 440, | |
665 | 443, 446, 449, 452, 455, 458, 461, 464, 467, 469, | |
666 | 472, 473, 475, 477, 479, 481, 483, 485, 487, 490, | |
667 | 493, 496, 499, 502, 505, 508, 510, 513, 514, 516 | |
658 | 184, 186, 188, 191, 192, 194, 196, 198, 200, 202, | |
659 | 205, 206, 208, 210, 212, 215, 218, 221, 224, 227, | |
660 | 230, 233, 236, 239, 242, 245, 248, 251, 254, 257, | |
661 | 260, 263, 266, 269, 272, 275, 278, 281, 284, 287, | |
662 | 290, 293, 296, 299, 302, 305, 308, 311, 314, 317, | |
663 | 320, 323, 326, 329, 332, 335, 338, 341, 344, 347, | |
664 | 350, 353, 356, 359, 362, 365, 368, 371, 374, 377, | |
665 | 380, 383, 386, 389, 392, 395, 399, 402, 405, 408, | |
666 | 411, 414, 417, 420, 423, 426, 429, 432, 435, 438, | |
667 | 441, 445, 448, 451, 454, 457, 460, 463, 466, 469, | |
668 | 472, 474, 477, 478, 480, 482, 484, 486, 488, 490, | |
669 | 492, 495, 498, 501, 504, 507, 510, 513, 515, 518, | |
670 | 519, 521 | |
668 | 671 | }; |
669 | 672 | |
670 | 673 | /* YYRHS -- A `-1'-separated list of the rules' RHS. */ |
671 | 674 | static const yytype_int16 yyrhs[] = |
672 | 675 | { |
673 | 109, 0, -1, -1, 109, 110, -1, 111, 112, -1, | |
674 | 114, 115, -1, 117, 118, -1, 215, 216, -1, 205, | |
675 | 206, -1, 11, -1, 112, 113, -1, -1, 120, -1, | |
676 | 121, -1, 125, -1, 128, -1, 134, -1, 135, -1, | |
677 | 136, -1, 137, -1, 126, -1, 141, -1, 142, -1, | |
678 | 143, -1, 144, -1, 145, -1, 158, -1, 159, -1, | |
679 | 160, -1, 162, -1, 163, -1, 131, -1, 164, -1, | |
680 | 165, -1, 168, -1, 166, -1, 167, -1, 169, -1, | |
681 | 170, -1, 171, -1, 179, -1, 153, -1, 154, -1, | |
682 | 155, -1, 156, -1, 172, -1, 182, -1, 149, -1, | |
683 | 151, -1, 183, -1, 188, -1, 189, -1, 190, -1, | |
684 | 132, -1, 157, -1, 192, -1, 193, -1, 150, -1, | |
685 | 191, -1, 139, -1, 127, -1, 146, -1, 180, -1, | |
686 | 186, -1, 173, -1, 181, -1, 195, -1, 196, -1, | |
687 | 133, -1, 122, -1, 138, -1, 175, -1, 123, -1, | |
688 | 129, -1, 130, -1, 147, -1, 148, -1, 194, -1, | |
689 | 174, -1, 176, -1, 177, -1, 124, -1, 197, -1, | |
690 | 161, -1, 178, -1, 140, -1, 152, -1, 184, -1, | |
691 | 185, -1, 187, -1, 38, -1, 115, 116, -1, -1, | |
692 | 198, -1, 199, -1, 200, -1, 201, -1, 44, -1, | |
693 | 118, 119, -1, -1, 202, -1, 203, -1, 204, -1, | |
694 | 13, 10, -1, 12, 10, -1, 76, 10, -1, 79, | |
695 | 10, -1, 96, 10, -1, 14, 10, -1, 16, 10, | |
696 | -1, 67, 10, -1, 15, 10, -1, 80, 10, -1, | |
697 | 81, 10, -1, 31, 10, -1, 60, 10, -1, 75, | |
698 | 10, -1, 17, 10, -1, 18, 10, -1, 19, 10, | |
699 | -1, 20, 10, -1, 77, 10, -1, 66, 10, -1, | |
700 | 101, 10, -1, 21, 10, -1, 22, 10, -1, 23, | |
701 | 10, -1, 24, 10, -1, 25, 10, -1, 68, 10, | |
702 | -1, 82, 10, -1, 83, 10, -1, 54, 10, -1, | |
703 | 64, 10, -1, 55, 10, -1, 102, 10, -1, 48, | |
704 | 10, -1, 49, 10, -1, 50, 10, -1, 51, 10, | |
705 | -1, 61, 10, -1, 26, 10, -1, 27, 10, -1, | |
706 | 28, 10, -1, 98, 10, -1, 29, 10, -1, 30, | |
707 | 10, -1, 32, 10, -1, 33, 10, -1, 35, 10, | |
708 | -1, 36, 10, -1, 34, 10, -1, 41, 10, -1, | |
709 | 42, 10, -1, 43, 10, -1, 52, 10, -1, 71, | |
710 | 10, -1, 85, 10, -1, 78, 10, -1, 86, 10, | |
711 | -1, 87, 10, -1, 100, 10, -1, 47, 10, -1, | |
712 | 69, 10, -1, 72, 10, 10, -1, 53, 10, -1, | |
713 | 56, 10, -1, 105, 10, -1, 106, 10, -1, 70, | |
714 | 10, -1, 107, 10, -1, 57, 10, -1, 58, 10, | |
715 | -1, 59, 10, -1, 65, 10, -1, 62, 10, -1, | |
716 | 63, 10, -1, 84, 10, -1, 73, 10, 10, -1, | |
717 | 74, 10, -1, 97, 10, -1, 37, 10, -1, 39, | |
718 | 10, -1, 40, 10, -1, 99, 10, -1, 37, 10, | |
719 | -1, 45, 10, -1, 46, 10, -1, 88, -1, 206, | |
720 | 207, -1, -1, 208, -1, 210, -1, 209, -1, 211, | |
721 | -1, 212, -1, 213, -1, 214, -1, 89, 10, -1, | |
722 | 91, 10, -1, 90, 10, -1, 92, 10, -1, 93, | |
723 | 10, -1, 94, 10, -1, 95, 10, -1, 103, -1, | |
724 | 216, 217, -1, -1, 218, -1, 104, 10, -1 | |
676 | 110, 0, -1, -1, 110, 111, -1, 112, 113, -1, | |
677 | 115, 116, -1, 118, 119, -1, 217, 218, -1, 207, | |
678 | 208, -1, 11, -1, 113, 114, -1, -1, 121, -1, | |
679 | 122, -1, 126, -1, 129, -1, 135, -1, 136, -1, | |
680 | 137, -1, 138, -1, 127, -1, 142, -1, 143, -1, | |
681 | 144, -1, 145, -1, 146, -1, 159, -1, 160, -1, | |
682 | 161, -1, 163, -1, 164, -1, 132, -1, 165, -1, | |
683 | 166, -1, 169, -1, 167, -1, 168, -1, 170, -1, | |
684 | 171, -1, 172, -1, 180, -1, 154, -1, 155, -1, | |
685 | 156, -1, 157, -1, 173, -1, 183, -1, 150, -1, | |
686 | 152, -1, 184, -1, 189, -1, 190, -1, 191, -1, | |
687 | 133, -1, 158, -1, 194, -1, 195, -1, 151, -1, | |
688 | 193, -1, 140, -1, 128, -1, 147, -1, 181, -1, | |
689 | 187, -1, 174, -1, 182, -1, 197, -1, 198, -1, | |
690 | 134, -1, 123, -1, 139, -1, 176, -1, 124, -1, | |
691 | 130, -1, 131, -1, 148, -1, 149, -1, 196, -1, | |
692 | 175, -1, 177, -1, 178, -1, 125, -1, 199, -1, | |
693 | 162, -1, 179, -1, 141, -1, 153, -1, 185, -1, | |
694 | 186, -1, 188, -1, 192, -1, 38, -1, 116, 117, | |
695 | -1, -1, 200, -1, 201, -1, 202, -1, 203, -1, | |
696 | 44, -1, 119, 120, -1, -1, 204, -1, 205, -1, | |
697 | 206, -1, 13, 10, -1, 12, 10, -1, 76, 10, | |
698 | -1, 79, 10, -1, 96, 10, -1, 14, 10, -1, | |
699 | 16, 10, -1, 67, 10, -1, 15, 10, -1, 80, | |
700 | 10, -1, 81, 10, -1, 31, 10, -1, 60, 10, | |
701 | -1, 75, 10, -1, 17, 10, -1, 18, 10, -1, | |
702 | 19, 10, -1, 20, 10, -1, 77, 10, -1, 66, | |
703 | 10, -1, 101, 10, -1, 21, 10, -1, 22, 10, | |
704 | -1, 23, 10, -1, 24, 10, -1, 25, 10, -1, | |
705 | 68, 10, -1, 82, 10, -1, 83, 10, -1, 54, | |
706 | 10, -1, 64, 10, -1, 55, 10, -1, 102, 10, | |
707 | -1, 48, 10, -1, 49, 10, -1, 50, 10, -1, | |
708 | 51, 10, -1, 61, 10, -1, 26, 10, -1, 27, | |
709 | 10, -1, 28, 10, -1, 98, 10, -1, 29, 10, | |
710 | -1, 30, 10, -1, 32, 10, -1, 33, 10, -1, | |
711 | 35, 10, -1, 36, 10, -1, 34, 10, -1, 41, | |
712 | 10, -1, 42, 10, -1, 43, 10, -1, 52, 10, | |
713 | -1, 71, 10, -1, 85, 10, -1, 78, 10, -1, | |
714 | 86, 10, -1, 87, 10, -1, 100, 10, -1, 47, | |
715 | 10, -1, 69, 10, -1, 72, 10, 10, -1, 53, | |
716 | 10, -1, 56, 10, -1, 105, 10, -1, 106, 10, | |
717 | -1, 70, 10, -1, 107, 10, -1, 57, 10, -1, | |
718 | 58, 10, -1, 59, 10, -1, 108, 10, -1, 65, | |
719 | 10, -1, 62, 10, -1, 63, 10, -1, 84, 10, | |
720 | -1, 73, 10, 10, -1, 74, 10, -1, 97, 10, | |
721 | -1, 37, 10, -1, 39, 10, -1, 40, 10, -1, | |
722 | 99, 10, -1, 37, 10, -1, 45, 10, -1, 46, | |
723 | 10, -1, 88, -1, 208, 209, -1, -1, 210, -1, | |
724 | 212, -1, 211, -1, 213, -1, 214, -1, 215, -1, | |
725 | 216, -1, 89, 10, -1, 91, 10, -1, 90, 10, | |
726 | -1, 92, 10, -1, 93, 10, -1, 94, 10, -1, | |
727 | 95, 10, -1, 103, -1, 218, 219, -1, -1, 220, | |
728 | -1, 104, 10, -1 | |
725 | 729 | }; |
726 | 730 | |
727 | 731 | /* YYRLINE[YYN] -- source line where rule number YYN was defined. */ |
736 | 740 | 138, 138, 139, 139, 140, 140, 141, 141, 141, 142, |
737 | 741 | 142, 143, 143, 144, 144, 145, 145, 145, 146, 146, |
738 | 742 | 147, 147, 148, 148, 149, 149, 150, 150, 151, 151, |
739 | 153, 165, 166, 167, 167, 167, 167, 169, 181, 182, | |
740 | 183, 183, 183, 185, 194, 203, 214, 223, 232, 241, | |
741 | 254, 269, 278, 287, 296, 305, 314, 323, 332, 341, | |
742 | 350, 359, 368, 382, 391, 398, 405, 412, 420, 427, | |
743 | 434, 441, 448, 456, 464, 471, 478, 487, 496, 503, | |
744 | 510, 521, 529, 542, 551, 560, 568, 581, 590, 599, | |
745 | 608, 617, 630, 637, 647, 657, 667, 677, 687, 697, | |
746 | 704, 711, 720, 727, 737, 751, 758, 776, 789, 802, | |
747 | 811, 820, 829, 839, 849, 856, 864, 877, 885, 905, | |
748 | 912, 927, 934, 941, 948, 958, 965, 972, 979, 984, | |
749 | 985, 986, 986, 986, 987, 987, 987, 988, 990, 1000, | |
750 | 1009, 1016, 1023, 1030, 1037, 1044, 1049, 1050, 1051, 1053 | |
743 | 151, 153, 165, 166, 167, 167, 167, 167, 169, 181, | |
744 | 182, 183, 183, 183, 185, 194, 203, 214, 223, 232, | |
745 | 241, 254, 269, 278, 287, 296, 305, 314, 323, 332, | |
746 | 341, 350, 359, 368, 382, 391, 398, 405, 412, 420, | |
747 | 427, 434, 441, 448, 456, 464, 471, 478, 487, 496, | |
748 | 503, 510, 521, 529, 542, 551, 560, 568, 581, 590, | |
749 | 599, 608, 617, 630, 637, 647, 657, 667, 677, 687, | |
750 | 697, 704, 711, 720, 727, 737, 751, 758, 776, 789, | |
751 | 802, 811, 820, 829, 839, 849, 857, 864, 872, 885, | |
752 | 893, 913, 920, 935, 942, 949, 956, 966, 973, 980, | |
753 | 987, 992, 993, 994, 994, 994, 995, 995, 995, 996, | |
754 | 998, 1008, 1017, 1024, 1031, 1038, 1045, 1052, 1057, 1058, | |
755 | 1059, 1061 | |
751 | 756 | }; |
752 | 757 | #endif |
753 | 758 | |
790 | 795 | "VAR_STUB_PRIME", "VAR_UNWANTED_REPLY_THRESHOLD", "VAR_LOG_TIME_ASCII", |
791 | 796 | "VAR_DOMAIN_INSECURE", "VAR_PYTHON", "VAR_PYTHON_SCRIPT", |
792 | 797 | "VAR_VAL_SIG_SKEW_MIN", "VAR_VAL_SIG_SKEW_MAX", "VAR_CACHE_MIN_TTL", |
793 | "$accept", "toplevelvars", "toplevelvar", "serverstart", | |
794 | "contents_server", "content_server", "stubstart", "contents_stub", | |
795 | "content_stub", "forwardstart", "contents_forward", "content_forward", | |
796 | "server_num_threads", "server_verbosity", "server_statistics_interval", | |
797 | "server_statistics_cumulative", "server_extended_statistics", | |
798 | "server_port", "server_interface", "server_outgoing_interface", | |
799 | "server_outgoing_range", "server_outgoing_port_permit", | |
800 | "server_outgoing_port_avoid", "server_outgoing_num_tcp", | |
801 | "server_incoming_num_tcp", "server_interface_automatic", "server_do_ip4", | |
802 | "server_do_ip6", "server_do_udp", "server_do_tcp", "server_do_daemonize", | |
798 | "VAR_VAL_LOG_LEVEL", "$accept", "toplevelvars", "toplevelvar", | |
799 | "serverstart", "contents_server", "content_server", "stubstart", | |
800 | "contents_stub", "content_stub", "forwardstart", "contents_forward", | |
801 | "content_forward", "server_num_threads", "server_verbosity", | |
802 | "server_statistics_interval", "server_statistics_cumulative", | |
803 | "server_extended_statistics", "server_port", "server_interface", | |
804 | "server_outgoing_interface", "server_outgoing_range", | |
805 | "server_outgoing_port_permit", "server_outgoing_port_avoid", | |
806 | "server_outgoing_num_tcp", "server_incoming_num_tcp", | |
807 | "server_interface_automatic", "server_do_ip4", "server_do_ip6", | |
808 | "server_do_udp", "server_do_tcp", "server_do_daemonize", | |
803 | 809 | "server_use_syslog", "server_log_time_ascii", "server_chroot", |
804 | 810 | "server_username", "server_directory", "server_logfile", |
805 | 811 | "server_pidfile", "server_root_hints", "server_dlv_anchor_file", |
823 | 829 | "server_val_sig_skew_min", "server_val_sig_skew_max", |
824 | 830 | "server_cache_max_ttl", "server_cache_min_ttl", "server_bogus_ttl", |
825 | 831 | "server_val_clean_additional", "server_val_permissive_mode", |
826 | "server_val_nsec3_keysize_iterations", "server_key_cache_size", | |
827 | "server_key_cache_slabs", "server_neg_cache_size", "server_local_zone", | |
828 | "server_local_data", "server_local_data_ptr", "stub_name", "stub_host", | |
829 | "stub_addr", "stub_prime", "forward_name", "forward_host", | |
830 | "forward_addr", "rcstart", "contents_rc", "content_rc", | |
831 | "rc_control_enable", "rc_control_port", "rc_control_interface", | |
832 | "rc_server_key_file", "rc_server_cert_file", "rc_control_key_file", | |
833 | "rc_control_cert_file", "pythonstart", "contents_py", "content_py", | |
834 | "py_script", 0 | |
832 | "server_val_log_level", "server_val_nsec3_keysize_iterations", | |
833 | "server_key_cache_size", "server_key_cache_slabs", | |
834 | "server_neg_cache_size", "server_local_zone", "server_local_data", | |
835 | "server_local_data_ptr", "stub_name", "stub_host", "stub_addr", | |
836 | "stub_prime", "forward_name", "forward_host", "forward_addr", "rcstart", | |
837 | "contents_rc", "content_rc", "rc_control_enable", "rc_control_port", | |
838 | "rc_control_interface", "rc_server_key_file", "rc_server_cert_file", | |
839 | "rc_control_key_file", "rc_control_cert_file", "pythonstart", | |
840 | "contents_py", "content_py", "py_script", 0 | |
835 | 841 | }; |
836 | 842 | #endif |
837 | 843 | |
850 | 856 | 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, |
851 | 857 | 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, |
852 | 858 | 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, |
853 | 355, 356, 357, 358, 359, 360, 361, 362 | |
859 | 355, 356, 357, 358, 359, 360, 361, 362, 363 | |
854 | 860 | }; |
855 | 861 | # endif |
856 | 862 | |
857 | 863 | /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ |
858 | 864 | static const yytype_uint8 yyr1[] = |
859 | 865 | { |
860 | 0, 108, 109, 109, 110, 110, 110, 110, 110, 111, | |
861 | 112, 112, 113, 113, 113, 113, 113, 113, 113, 113, | |
862 | 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, | |
863 | 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, | |
864 | 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, | |
865 | 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, | |
866 | 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, | |
867 | 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, | |
868 | 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, | |
869 | 114, 115, 115, 116, 116, 116, 116, 117, 118, 118, | |
870 | 119, 119, 119, 120, 121, 122, 123, 124, 125, 126, | |
866 | 0, 109, 110, 110, 111, 111, 111, 111, 111, 112, | |
867 | 113, 113, 114, 114, 114, 114, 114, 114, 114, 114, | |
868 | 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, | |
869 | 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, | |
870 | 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, | |
871 | 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, | |
872 | 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, | |
873 | 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, | |
874 | 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, | |
875 | 114, 115, 116, 116, 117, 117, 117, 117, 118, 119, | |
876 | 119, 120, 120, 120, 121, 122, 123, 124, 125, 126, | |
871 | 877 | 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, |
872 | 878 | 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, |
873 | 879 | 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, |
876 | 882 | 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, |
877 | 883 | 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, |
878 | 884 | 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, |
879 | 206, 207, 207, 207, 207, 207, 207, 207, 208, 209, | |
880 | 210, 211, 212, 213, 214, 215, 216, 216, 217, 218 | |
885 | 207, 208, 208, 209, 209, 209, 209, 209, 209, 209, | |
886 | 210, 211, 212, 213, 214, 215, 216, 217, 218, 218, | |
887 | 219, 220 | |
881 | 888 | }; |
882 | 889 | |
883 | 890 | /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ |
892 | 899 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
893 | 900 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
894 | 901 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, |
895 | 1, 2, 0, 1, 1, 1, 1, 1, 2, 0, | |
896 | 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, | |
902 | 1, 1, 2, 0, 1, 1, 1, 1, 1, 2, | |
903 | 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, | |
897 | 904 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
898 | 905 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
899 | 906 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
900 | 907 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
901 | 908 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, |
902 | 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, | |
903 | 2, 2, 2, 2, 2, 2, 2, 2, 3, 2, | |
904 | 2, 2, 2, 2, 2, 2, 2, 2, 1, 2, | |
905 | 0, 1, 1, 1, 1, 1, 1, 1, 2, 2, | |
906 | 2, 2, 2, 2, 2, 1, 2, 0, 1, 2 | |
909 | 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, | |
910 | 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, | |
911 | 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, | |
912 | 1, 2, 0, 1, 1, 1, 1, 1, 1, 1, | |
913 | 2, 2, 2, 2, 2, 2, 2, 1, 2, 0, | |
914 | 1, 2 | |
907 | 915 | }; |
908 | 916 | |
909 | 917 | /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state |
911 | 919 | means the default is an error. */ |
912 | 920 | static const yytype_uint8 yydefact[] = |
913 | 921 | { |
914 | 2, 0, 1, 9, 90, 97, 188, 205, 3, 11, | |
915 | 92, 99, 190, 207, 4, 5, 6, 8, 7, 0, | |
922 | 2, 0, 1, 9, 91, 98, 190, 207, 3, 11, | |
923 | 93, 100, 192, 209, 4, 5, 6, 8, 7, 0, | |
916 | 924 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
917 | 925 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
918 | 926 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
920 | 928 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
921 | 929 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
922 | 930 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, |
923 | 0, 0, 0, 0, 0, 0, 0, 10, 12, 13, | |
924 | 69, 72, 81, 14, 20, 60, 15, 73, 74, 31, | |
925 | 53, 68, 16, 17, 18, 19, 70, 59, 85, 21, | |
926 | 22, 23, 24, 25, 61, 75, 76, 47, 57, 48, | |
927 | 86, 41, 42, 43, 44, 54, 26, 27, 28, 83, | |
928 | 29, 30, 32, 33, 35, 36, 34, 37, 38, 39, | |
929 | 45, 64, 78, 71, 79, 80, 84, 40, 62, 65, | |
930 | 46, 49, 87, 88, 63, 89, 50, 51, 52, 58, | |
931 | 55, 56, 77, 66, 67, 82, 0, 0, 0, 0, | |
932 | 91, 93, 94, 95, 96, 0, 0, 0, 98, 100, | |
933 | 101, 102, 0, 0, 0, 0, 0, 0, 0, 189, | |
934 | 191, 193, 192, 194, 195, 196, 197, 0, 206, 208, | |
935 | 104, 103, 108, 111, 109, 117, 118, 119, 120, 124, | |
936 | 125, 126, 127, 128, 141, 142, 143, 145, 146, 114, | |
937 | 147, 148, 151, 149, 150, 152, 153, 154, 162, 136, | |
938 | 137, 138, 139, 155, 165, 132, 134, 166, 171, 172, | |
939 | 173, 115, 140, 175, 176, 133, 174, 122, 110, 129, | |
940 | 163, 169, 156, 0, 0, 179, 116, 105, 121, 158, | |
941 | 106, 112, 113, 130, 131, 177, 157, 159, 160, 107, | |
942 | 180, 144, 161, 123, 135, 167, 168, 170, 181, 182, | |
943 | 183, 184, 185, 186, 187, 198, 200, 199, 201, 202, | |
944 | 203, 204, 209, 164, 178 | |
931 | 0, 0, 0, 0, 0, 0, 0, 0, 10, 12, | |
932 | 13, 69, 72, 81, 14, 20, 60, 15, 73, 74, | |
933 | 31, 53, 68, 16, 17, 18, 19, 70, 59, 85, | |
934 | 21, 22, 23, 24, 25, 61, 75, 76, 47, 57, | |
935 | 48, 86, 41, 42, 43, 44, 54, 26, 27, 28, | |
936 | 83, 29, 30, 32, 33, 35, 36, 34, 37, 38, | |
937 | 39, 45, 64, 78, 71, 79, 80, 84, 40, 62, | |
938 | 65, 46, 49, 87, 88, 63, 89, 50, 51, 52, | |
939 | 90, 58, 55, 56, 77, 66, 67, 82, 0, 0, | |
940 | 0, 0, 92, 94, 95, 96, 97, 0, 0, 0, | |
941 | 99, 101, 102, 103, 0, 0, 0, 0, 0, 0, | |
942 | 0, 191, 193, 195, 194, 196, 197, 198, 199, 0, | |
943 | 208, 210, 105, 104, 109, 112, 110, 118, 119, 120, | |
944 | 121, 125, 126, 127, 128, 129, 142, 143, 144, 146, | |
945 | 147, 115, 148, 149, 152, 150, 151, 153, 154, 155, | |
946 | 163, 137, 138, 139, 140, 156, 166, 133, 135, 167, | |
947 | 172, 173, 174, 116, 141, 177, 178, 134, 176, 123, | |
948 | 111, 130, 164, 170, 157, 0, 0, 181, 117, 106, | |
949 | 122, 159, 107, 113, 114, 131, 132, 179, 158, 160, | |
950 | 161, 108, 182, 145, 162, 124, 136, 168, 169, 171, | |
951 | 175, 183, 184, 185, 186, 187, 188, 189, 200, 202, | |
952 | 201, 203, 204, 205, 206, 211, 165, 180 | |
945 | 953 | }; |
946 | 954 | |
947 | 955 | /* YYDEFGOTO[NTERM-NUM]. */ |
948 | 956 | static const yytype_int16 yydefgoto[] = |
949 | 957 | { |
950 | -1, 1, 8, 9, 14, 97, 10, 15, 180, 11, | |
951 | 16, 188, 98, 99, 100, 101, 102, 103, 104, 105, | |
952 | 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, | |
953 | 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, | |
954 | 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, | |
955 | 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, | |
956 | 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, | |
957 | 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, | |
958 | 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, | |
959 | 181, 182, 183, 184, 189, 190, 191, 12, 17, 199, | |
960 | 200, 201, 202, 203, 204, 205, 206, 13, 18, 208, | |
961 | 209 | |
958 | -1, 1, 8, 9, 14, 98, 10, 15, 182, 11, | |
959 | 16, 190, 99, 100, 101, 102, 103, 104, 105, 106, | |
960 | 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, | |
961 | 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, | |
962 | 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, | |
963 | 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, | |
964 | 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, | |
965 | 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, | |
966 | 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, | |
967 | 177, 183, 184, 185, 186, 191, 192, 193, 12, 17, | |
968 | 201, 202, 203, 204, 205, 206, 207, 208, 13, 18, | |
969 | 210, 211 | |
962 | 970 | }; |
963 | 971 | |
964 | 972 | /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing |
975 | 983 | 50, 51, 52, 54, 55, 56, 57, 58, 59, 60, |
976 | 984 | 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, |
977 | 985 | 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, |
978 | 82, 83, 84, 85, 86, 87, 88, -103, -103, -103, | |
986 | 82, 83, 84, 85, 86, 87, 88, 89, -103, -103, | |
979 | 987 | -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, |
980 | 988 | -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, |
981 | 989 | -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, |
983 | 991 | -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, |
984 | 992 | -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, |
985 | 993 | -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, |
986 | -103, -103, -103, -103, -103, -103, 89, 90, 91, 119, | |
987 | -103, -103, -103, -103, -103, 120, 121, 122, -103, -103, | |
988 | -103, -103, 126, 127, 128, 170, 171, 172, 173, -103, | |
989 | -103, -103, -103, -103, -103, -103, -103, 174, -103, -103, | |
994 | -103, -103, -103, -103, -103, -103, -103, -103, 90, 91, | |
995 | 119, 120, -103, -103, -103, -103, -103, 121, 122, 126, | |
996 | -103, -103, -103, -103, 127, 128, 170, 171, 172, 173, | |
997 | 174, -103, -103, -103, -103, -103, -103, -103, -103, 175, | |
990 | 998 | -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, |
991 | 999 | -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, |
992 | 1000 | -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, |
993 | 1001 | -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, |
994 | 1002 | -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, |
995 | -103, -103, -103, 175, 176, -103, -103, -103, -103, -103, | |
1003 | -103, -103, -103, -103, -103, 176, 177, -103, -103, -103, | |
996 | 1004 | -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, |
997 | 1005 | -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, |
998 | 1006 | -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, |
999 | -103, -103, -103, -103, -103 | |
1007 | -103, -103, -103, -103, -103, -103, -103, -103 | |
1000 | 1008 | }; |
1001 | 1009 | |
1002 | 1010 | /* YYPGOTO[NTERM-NUM]. */ |
1013 | 1021 | -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, |
1014 | 1022 | -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, |
1015 | 1023 | -103, -103, -103, -103, -103, -103, -103, -103, -103, -103, |
1016 | -103 | |
1024 | -103, -103 | |
1017 | 1025 | }; |
1018 | 1026 | |
1019 | 1027 | /* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If |
1023 | 1031 | #define YYTABLE_NINF -1 |
1024 | 1032 | static const yytype_uint16 yytable[] = |
1025 | 1033 | { |
1026 | 2, 176, 207, 177, 178, 185, 210, 211, 212, 213, | |
1027 | 0, 3, 214, 186, 187, 192, 193, 194, 195, 196, | |
1028 | 197, 198, 215, 216, 217, 218, 219, 220, 221, 222, | |
1029 | 223, 224, 225, 226, 227, 228, 229, 230, 4, 231, | |
1030 | 232, 233, 234, 235, 5, 236, 237, 238, 239, 240, | |
1031 | 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, | |
1032 | 251, 252, 253, 179, 254, 255, 256, 257, 258, 259, | |
1033 | 260, 261, 262, 263, 264, 265, 266, 267, 268, 269, | |
1034 | 270, 271, 272, 273, 274, 275, 276, 277, 6, 278, | |
1035 | 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, | |
1036 | 289, 290, 0, 7, 19, 20, 21, 22, 23, 24, | |
1034 | 2, 178, 209, 179, 180, 187, 212, 213, 214, 215, | |
1035 | 0, 3, 216, 188, 189, 194, 195, 196, 197, 198, | |
1036 | 199, 200, 217, 218, 219, 220, 221, 222, 223, 224, | |
1037 | 225, 226, 227, 228, 229, 230, 231, 232, 4, 233, | |
1038 | 234, 235, 236, 237, 5, 238, 239, 240, 241, 242, | |
1039 | 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, | |
1040 | 253, 254, 255, 181, 256, 257, 258, 259, 260, 261, | |
1041 | 262, 263, 264, 265, 266, 267, 268, 269, 270, 271, | |
1042 | 272, 273, 274, 275, 276, 277, 278, 279, 6, 280, | |
1043 | 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, | |
1044 | 291, 292, 0, 7, 19, 20, 21, 22, 23, 24, | |
1037 | 1045 | 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, |
1038 | 35, 36, 37, 38, 39, 40, 41, 42, 43, 291, | |
1039 | 292, 293, 294, 44, 45, 46, 295, 296, 297, 47, | |
1046 | 35, 36, 37, 38, 39, 40, 41, 42, 43, 293, | |
1047 | 294, 295, 296, 44, 45, 46, 297, 298, 299, 47, | |
1040 | 1048 | 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, |
1041 | 1049 | 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, |
1042 | 1050 | 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, |
1043 | 1051 | 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, |
1044 | 298, 299, 300, 301, 302, 303, 304, 0, 88, 89, | |
1045 | 90, 0, 91, 92, 93, 0, 0, 94, 95, 96 | |
1052 | 300, 301, 302, 303, 304, 305, 306, 307, 88, 89, | |
1053 | 90, 0, 91, 92, 93, 0, 0, 94, 95, 96, | |
1054 | 97 | |
1046 | 1055 | }; |
1047 | 1056 | |
1048 | 1057 | static const yytype_int8 yycheck[] = |
1065 | 1074 | 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, |
1066 | 1075 | 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, |
1067 | 1076 | 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, |
1068 | 10, 10, 10, 10, 10, 10, 10, -1, 96, 97, | |
1069 | 98, -1, 100, 101, 102, -1, -1, 105, 106, 107 | |
1077 | 10, 10, 10, 10, 10, 10, 10, 10, 96, 97, | |
1078 | 98, -1, 100, 101, 102, -1, -1, 105, 106, 107, | |
1079 | 108 | |
1070 | 1080 | }; |
1071 | 1081 | |
1072 | 1082 | /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing |
1073 | 1083 | symbol of state STATE-NUM. */ |
1074 | 1084 | static const yytype_uint8 yystos[] = |
1075 | 1085 | { |
1076 | 0, 109, 0, 11, 38, 44, 88, 103, 110, 111, | |
1077 | 114, 117, 205, 215, 112, 115, 118, 206, 216, 12, | |
1086 | 0, 110, 0, 11, 38, 44, 88, 103, 111, 112, | |
1087 | 115, 118, 207, 217, 113, 116, 119, 208, 218, 12, | |
1078 | 1088 | 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, |
1079 | 1089 | 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, |
1080 | 1090 | 33, 34, 35, 36, 41, 42, 43, 47, 48, 49, |
1082 | 1092 | 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, |
1083 | 1093 | 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, |
1084 | 1094 | 80, 81, 82, 83, 84, 85, 86, 87, 96, 97, |
1085 | 98, 100, 101, 102, 105, 106, 107, 113, 120, 121, | |
1095 | 98, 100, 101, 102, 105, 106, 107, 108, 114, 121, | |
1086 | 1096 | 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, |
1087 | 1097 | 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, |
1088 | 1098 | 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, |
1090 | 1100 | 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, |
1091 | 1101 | 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, |
1092 | 1102 | 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, |
1093 | 192, 193, 194, 195, 196, 197, 37, 39, 40, 99, | |
1094 | 116, 198, 199, 200, 201, 37, 45, 46, 119, 202, | |
1095 | 203, 204, 89, 90, 91, 92, 93, 94, 95, 207, | |
1096 | 208, 209, 210, 211, 212, 213, 214, 104, 217, 218, | |
1103 | 192, 193, 194, 195, 196, 197, 198, 199, 37, 39, | |
1104 | 40, 99, 117, 200, 201, 202, 203, 37, 45, 46, | |
1105 | 120, 204, 205, 206, 89, 90, 91, 92, 93, 94, | |
1106 | 95, 209, 210, 211, 212, 213, 214, 215, 216, 104, | |
1107 | 219, 220, 10, 10, 10, 10, 10, 10, 10, 10, | |
1097 | 1108 | 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, |
1098 | 1109 | 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, |
1099 | 1110 | 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, |
1102 | 1113 | 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, |
1103 | 1114 | 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, |
1104 | 1115 | 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, |
1105 | 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, | |
1106 | 10, 10, 10, 10, 10 | |
1116 | 10, 10, 10, 10, 10, 10, 10, 10 | |
1107 | 1117 | }; |
1108 | 1118 | |
1109 | 1119 | #define yyerrok (yyerrstatus = 0) |
1923 | 1933 | } |
1924 | 1934 | break; |
1925 | 1935 | |
1926 | case 90: | |
1936 | case 91: | |
1927 | 1937 | |
1928 | 1938 | /* Line 1455 of yacc.c */ |
1929 | 1939 | #line 154 "util/configparser.y" |
1939 | 1949 | } |
1940 | 1950 | break; |
1941 | 1951 | |
1942 | case 97: | |
1952 | case 98: | |
1943 | 1953 | |
1944 | 1954 | /* Line 1455 of yacc.c */ |
1945 | 1955 | #line 170 "util/configparser.y" |
1955 | 1965 | } |
1956 | 1966 | break; |
1957 | 1967 | |
1958 | case 103: | |
1968 | case 104: | |
1959 | 1969 | |
1960 | 1970 | /* Line 1455 of yacc.c */ |
1961 | 1971 | #line 186 "util/configparser.y" |
1968 | 1978 | } |
1969 | 1979 | break; |
1970 | 1980 | |
1971 | case 104: | |
1981 | case 105: | |
1972 | 1982 | |
1973 | 1983 | /* Line 1455 of yacc.c */ |
1974 | 1984 | #line 195 "util/configparser.y" |
1981 | 1991 | } |
1982 | 1992 | break; |
1983 | 1993 | |
1984 | case 105: | |
1994 | case 106: | |
1985 | 1995 | |
1986 | 1996 | /* Line 1455 of yacc.c */ |
1987 | 1997 | #line 204 "util/configparser.y" |
1996 | 2006 | } |
1997 | 2007 | break; |
1998 | 2008 | |
1999 | case 106: | |
2009 | case 107: | |
2000 | 2010 | |
2001 | 2011 | /* Line 1455 of yacc.c */ |
2002 | 2012 | #line 215 "util/configparser.y" |
2009 | 2019 | } |
2010 | 2020 | break; |
2011 | 2021 | |
2012 | case 107: | |
2022 | case 108: | |
2013 | 2023 | |
2014 | 2024 | /* Line 1455 of yacc.c */ |
2015 | 2025 | #line 224 "util/configparser.y" |
2022 | 2032 | } |
2023 | 2033 | break; |
2024 | 2034 | |
2025 | case 108: | |
2035 | case 109: | |
2026 | 2036 | |
2027 | 2037 | /* Line 1455 of yacc.c */ |
2028 | 2038 | #line 233 "util/configparser.y" |
2035 | 2045 | } |
2036 | 2046 | break; |
2037 | 2047 | |
2038 | case 109: | |
2048 | case 110: | |
2039 | 2049 | |
2040 | 2050 | /* Line 1455 of yacc.c */ |
2041 | 2051 | #line 242 "util/configparser.y" |
2052 | 2062 | } |
2053 | 2063 | break; |
2054 | 2064 | |
2055 | case 110: | |
2065 | case 111: | |
2056 | 2066 | |
2057 | 2067 | /* Line 1455 of yacc.c */ |
2058 | 2068 | #line 255 "util/configparser.y" |
2071 | 2081 | } |
2072 | 2082 | break; |
2073 | 2083 | |
2074 | case 111: | |
2084 | case 112: | |
2075 | 2085 | |
2076 | 2086 | /* Line 1455 of yacc.c */ |
2077 | 2087 | #line 270 "util/configparser.y" |
2084 | 2094 | } |
2085 | 2095 | break; |
2086 | 2096 | |
2087 | case 112: | |
2097 | case 113: | |
2088 | 2098 | |
2089 | 2099 | /* Line 1455 of yacc.c */ |
2090 | 2100 | #line 279 "util/configparser.y" |
2097 | 2107 | } |
2098 | 2108 | break; |
2099 | 2109 | |
2100 | case 113: | |
2110 | case 114: | |
2101 | 2111 | |
2102 | 2112 | /* Line 1455 of yacc.c */ |
2103 | 2113 | #line 288 "util/configparser.y" |
2110 | 2120 | } |
2111 | 2121 | break; |
2112 | 2122 | |
2113 | case 114: | |
2123 | case 115: | |
2114 | 2124 | |
2115 | 2125 | /* Line 1455 of yacc.c */ |
2116 | 2126 | #line 297 "util/configparser.y" |
2123 | 2133 | } |
2124 | 2134 | break; |
2125 | 2135 | |
2126 | case 115: | |
2136 | case 116: | |
2127 | 2137 | |
2128 | 2138 | /* Line 1455 of yacc.c */ |
2129 | 2139 | #line 306 "util/configparser.y" |
2136 | 2146 | } |
2137 | 2147 | break; |
2138 | 2148 | |
2139 | case 116: | |
2149 | case 117: | |
2140 | 2150 | |
2141 | 2151 | /* Line 1455 of yacc.c */ |
2142 | 2152 | #line 315 "util/configparser.y" |
2149 | 2159 | } |
2150 | 2160 | break; |
2151 | 2161 | |
2152 | case 117: | |
2162 | case 118: | |
2153 | 2163 | |
2154 | 2164 | /* Line 1455 of yacc.c */ |
2155 | 2165 | #line 324 "util/configparser.y" |
2162 | 2172 | } |
2163 | 2173 | break; |
2164 | 2174 | |
2165 | case 118: | |
2175 | case 119: | |
2166 | 2176 | |
2167 | 2177 | /* Line 1455 of yacc.c */ |
2168 | 2178 | #line 333 "util/configparser.y" |
2175 | 2185 | } |
2176 | 2186 | break; |
2177 | 2187 | |
2178 | case 119: | |
2188 | case 120: | |
2179 | 2189 | |
2180 | 2190 | /* Line 1455 of yacc.c */ |
2181 | 2191 | #line 342 "util/configparser.y" |
2188 | 2198 | } |
2189 | 2199 | break; |
2190 | 2200 | |
2191 | case 120: | |
2201 | case 121: | |
2192 | 2202 | |
2193 | 2203 | /* Line 1455 of yacc.c */ |
2194 | 2204 | #line 351 "util/configparser.y" |
2201 | 2211 | } |
2202 | 2212 | break; |
2203 | 2213 | |
2204 | case 121: | |
2214 | case 122: | |
2205 | 2215 | |
2206 | 2216 | /* Line 1455 of yacc.c */ |
2207 | 2217 | #line 360 "util/configparser.y" |
2214 | 2224 | } |
2215 | 2225 | break; |
2216 | 2226 | |
2217 | case 122: | |
2227 | case 123: | |
2218 | 2228 | |
2219 | 2229 | /* Line 1455 of yacc.c */ |
2220 | 2230 | #line 369 "util/configparser.y" |
2232 | 2242 | } |
2233 | 2243 | break; |
2234 | 2244 | |
2235 | case 123: | |
2245 | case 124: | |
2236 | 2246 | |
2237 | 2247 | /* Line 1455 of yacc.c */ |
2238 | 2248 | #line 383 "util/configparser.y" |
2245 | 2255 | } |
2246 | 2256 | break; |
2247 | 2257 | |
2248 | case 124: | |
2258 | case 125: | |
2249 | 2259 | |
2250 | 2260 | /* Line 1455 of yacc.c */ |
2251 | 2261 | #line 392 "util/configparser.y" |
2256 | 2266 | } |
2257 | 2267 | break; |
2258 | 2268 | |
2259 | case 125: | |
2269 | case 126: | |
2260 | 2270 | |
2261 | 2271 | /* Line 1455 of yacc.c */ |
2262 | 2272 | #line 399 "util/configparser.y" |
2267 | 2277 | } |
2268 | 2278 | break; |
2269 | 2279 | |
2270 | case 126: | |
2280 | case 127: | |
2271 | 2281 | |
2272 | 2282 | /* Line 1455 of yacc.c */ |
2273 | 2283 | #line 406 "util/configparser.y" |
2278 | 2288 | } |
2279 | 2289 | break; |
2280 | 2290 | |
2281 | case 127: | |
2291 | case 128: | |
2282 | 2292 | |
2283 | 2293 | /* Line 1455 of yacc.c */ |
2284 | 2294 | #line 413 "util/configparser.y" |
2290 | 2300 | } |
2291 | 2301 | break; |
2292 | 2302 | |
2293 | case 128: | |
2303 | case 129: | |
2294 | 2304 | |
2295 | 2305 | /* Line 1455 of yacc.c */ |
2296 | 2306 | #line 421 "util/configparser.y" |
2301 | 2311 | } |
2302 | 2312 | break; |
2303 | 2313 | |
2304 | case 129: | |
2314 | case 130: | |
2305 | 2315 | |
2306 | 2316 | /* Line 1455 of yacc.c */ |
2307 | 2317 | #line 428 "util/configparser.y" |
2312 | 2322 | } |
2313 | 2323 | break; |
2314 | 2324 | |
2315 | case 130: | |
2325 | case 131: | |
2316 | 2326 | |
2317 | 2327 | /* Line 1455 of yacc.c */ |
2318 | 2328 | #line 435 "util/configparser.y" |
2323 | 2333 | } |
2324 | 2334 | break; |
2325 | 2335 | |
2326 | case 131: | |
2336 | case 132: | |
2327 | 2337 | |
2328 | 2338 | /* Line 1455 of yacc.c */ |
2329 | 2339 | #line 442 "util/configparser.y" |
2334 | 2344 | } |
2335 | 2345 | break; |
2336 | 2346 | |
2337 | case 132: | |
2347 | case 133: | |
2338 | 2348 | |
2339 | 2349 | /* Line 1455 of yacc.c */ |
2340 | 2350 | #line 449 "util/configparser.y" |
2346 | 2356 | } |
2347 | 2357 | break; |
2348 | 2358 | |
2349 | case 133: | |
2359 | case 134: | |
2350 | 2360 | |
2351 | 2361 | /* Line 1455 of yacc.c */ |
2352 | 2362 | #line 457 "util/configparser.y" |
2358 | 2368 | } |
2359 | 2369 | break; |
2360 | 2370 | |
2361 | case 134: | |
2371 | case 135: | |
2362 | 2372 | |
2363 | 2373 | /* Line 1455 of yacc.c */ |
2364 | 2374 | #line 465 "util/configparser.y" |
2369 | 2379 | } |
2370 | 2380 | break; |
2371 | 2381 | |
2372 | case 135: | |
2382 | case 136: | |
2373 | 2383 | |
2374 | 2384 | /* Line 1455 of yacc.c */ |
2375 | 2385 | #line 472 "util/configparser.y" |
2380 | 2390 | } |
2381 | 2391 | break; |
2382 | 2392 | |
2383 | case 136: | |
2393 | case 137: | |
2384 | 2394 | |
2385 | 2395 | /* Line 1455 of yacc.c */ |
2386 | 2396 | #line 479 "util/configparser.y" |
2393 | 2403 | } |
2394 | 2404 | break; |
2395 | 2405 | |
2396 | case 137: | |
2406 | case 138: | |
2397 | 2407 | |
2398 | 2408 | /* Line 1455 of yacc.c */ |
2399 | 2409 | #line 488 "util/configparser.y" |
2406 | 2416 | } |
2407 | 2417 | break; |
2408 | 2418 | |
2409 | case 138: | |
2419 | case 139: | |
2410 | 2420 | |
2411 | 2421 | /* Line 1455 of yacc.c */ |
2412 | 2422 | #line 497 "util/configparser.y" |
2417 | 2427 | } |
2418 | 2428 | break; |
2419 | 2429 | |
2420 | case 139: | |
2430 | case 140: | |
2421 | 2431 | |
2422 | 2432 | /* Line 1455 of yacc.c */ |
2423 | 2433 | #line 504 "util/configparser.y" |
2428 | 2438 | } |
2429 | 2439 | break; |
2430 | 2440 | |
2431 | case 140: | |
2441 | case 141: | |
2432 | 2442 | |
2433 | 2443 | /* Line 1455 of yacc.c */ |
2434 | 2444 | #line 511 "util/configparser.y" |
2443 | 2453 | } |
2444 | 2454 | break; |
2445 | 2455 | |
2446 | case 141: | |
2456 | case 142: | |
2447 | 2457 | |
2448 | 2458 | /* Line 1455 of yacc.c */ |
2449 | 2459 | #line 522 "util/configparser.y" |
2455 | 2465 | } |
2456 | 2466 | break; |
2457 | 2467 | |
2458 | case 142: | |
2468 | case 143: | |
2459 | 2469 | |
2460 | 2470 | /* Line 1455 of yacc.c */ |
2461 | 2471 | #line 530 "util/configparser.y" |
2472 | 2482 | } |
2473 | 2483 | break; |
2474 | 2484 | |
2475 | case 143: | |
2485 | case 144: | |
2476 | 2486 | |
2477 | 2487 | /* Line 1455 of yacc.c */ |
2478 | 2488 | #line 543 "util/configparser.y" |
2485 | 2495 | } |
2486 | 2496 | break; |
2487 | 2497 | |
2488 | case 144: | |
2498 | case 145: | |
2489 | 2499 | |
2490 | 2500 | /* Line 1455 of yacc.c */ |
2491 | 2501 | #line 552 "util/configparser.y" |
2498 | 2508 | } |
2499 | 2509 | break; |
2500 | 2510 | |
2501 | case 145: | |
2511 | case 146: | |
2502 | 2512 | |
2503 | 2513 | /* Line 1455 of yacc.c */ |
2504 | 2514 | #line 561 "util/configparser.y" |
2510 | 2520 | } |
2511 | 2521 | break; |
2512 | 2522 | |
2513 | case 146: | |
2523 | case 147: | |
2514 | 2524 | |
2515 | 2525 | /* Line 1455 of yacc.c */ |
2516 | 2526 | #line 569 "util/configparser.y" |
2527 | 2537 | } |
2528 | 2538 | break; |
2529 | 2539 | |
2530 | case 147: | |
2540 | case 148: | |
2531 | 2541 | |
2532 | 2542 | /* Line 1455 of yacc.c */ |
2533 | 2543 | #line 582 "util/configparser.y" |
2540 | 2550 | } |
2541 | 2551 | break; |
2542 | 2552 | |
2543 | case 148: | |
2553 | case 149: | |
2544 | 2554 | |
2545 | 2555 | /* Line 1455 of yacc.c */ |
2546 | 2556 | #line 591 "util/configparser.y" |
2553 | 2563 | } |
2554 | 2564 | break; |
2555 | 2565 | |
2556 | case 149: | |
2566 | case 150: | |
2557 | 2567 | |
2558 | 2568 | /* Line 1455 of yacc.c */ |
2559 | 2569 | #line 600 "util/configparser.y" |
2566 | 2576 | } |
2567 | 2577 | break; |
2568 | 2578 | |
2569 | case 150: | |
2579 | case 151: | |
2570 | 2580 | |
2571 | 2581 | /* Line 1455 of yacc.c */ |
2572 | 2582 | #line 609 "util/configparser.y" |
2579 | 2589 | } |
2580 | 2590 | break; |
2581 | 2591 | |
2582 | case 151: | |
2592 | case 152: | |
2583 | 2593 | |
2584 | 2594 | /* Line 1455 of yacc.c */ |
2585 | 2595 | #line 618 "util/configparser.y" |
2596 | 2606 | } |
2597 | 2607 | break; |
2598 | 2608 | |
2599 | case 152: | |
2609 | case 153: | |
2600 | 2610 | |
2601 | 2611 | /* Line 1455 of yacc.c */ |
2602 | 2612 | #line 631 "util/configparser.y" |
2607 | 2617 | } |
2608 | 2618 | break; |
2609 | 2619 | |
2610 | case 153: | |
2620 | case 154: | |
2611 | 2621 | |
2612 | 2622 | /* Line 1455 of yacc.c */ |
2613 | 2623 | #line 638 "util/configparser.y" |
2621 | 2631 | } |
2622 | 2632 | break; |
2623 | 2633 | |
2624 | case 154: | |
2634 | case 155: | |
2625 | 2635 | |
2626 | 2636 | /* Line 1455 of yacc.c */ |
2627 | 2637 | #line 648 "util/configparser.y" |
2635 | 2645 | } |
2636 | 2646 | break; |
2637 | 2647 | |
2638 | case 155: | |
2648 | case 156: | |
2639 | 2649 | |
2640 | 2650 | /* Line 1455 of yacc.c */ |
2641 | 2651 | #line 658 "util/configparser.y" |
2649 | 2659 | } |
2650 | 2660 | break; |
2651 | 2661 | |
2652 | case 156: | |
2662 | case 157: | |
2653 | 2663 | |
2654 | 2664 | /* Line 1455 of yacc.c */ |
2655 | 2665 | #line 668 "util/configparser.y" |
2663 | 2673 | } |
2664 | 2674 | break; |
2665 | 2675 | |
2666 | case 157: | |
2676 | case 158: | |
2667 | 2677 | |
2668 | 2678 | /* Line 1455 of yacc.c */ |
2669 | 2679 | #line 678 "util/configparser.y" |
2677 | 2687 | } |
2678 | 2688 | break; |
2679 | 2689 | |
2680 | case 158: | |
2690 | case 159: | |
2681 | 2691 | |
2682 | 2692 | /* Line 1455 of yacc.c */ |
2683 | 2693 | #line 688 "util/configparser.y" |
2691 | 2701 | } |
2692 | 2702 | break; |
2693 | 2703 | |
2694 | case 159: | |
2704 | case 160: | |
2695 | 2705 | |
2696 | 2706 | /* Line 1455 of yacc.c */ |
2697 | 2707 | #line 698 "util/configparser.y" |
2702 | 2712 | } |
2703 | 2713 | break; |
2704 | 2714 | |
2705 | case 160: | |
2715 | case 161: | |
2706 | 2716 | |
2707 | 2717 | /* Line 1455 of yacc.c */ |
2708 | 2718 | #line 705 "util/configparser.y" |
2713 | 2723 | } |
2714 | 2724 | break; |
2715 | 2725 | |
2716 | case 161: | |
2726 | case 162: | |
2717 | 2727 | |
2718 | 2728 | /* Line 1455 of yacc.c */ |
2719 | 2729 | #line 712 "util/configparser.y" |
2726 | 2736 | } |
2727 | 2737 | break; |
2728 | 2738 | |
2729 | case 162: | |
2739 | case 163: | |
2730 | 2740 | |
2731 | 2741 | /* Line 1455 of yacc.c */ |
2732 | 2742 | #line 721 "util/configparser.y" |
2737 | 2747 | } |
2738 | 2748 | break; |
2739 | 2749 | |
2740 | case 163: | |
2750 | case 164: | |
2741 | 2751 | |
2742 | 2752 | /* Line 1455 of yacc.c */ |
2743 | 2753 | #line 728 "util/configparser.y" |
2751 | 2761 | } |
2752 | 2762 | break; |
2753 | 2763 | |
2754 | case 164: | |
2764 | case 165: | |
2755 | 2765 | |
2756 | 2766 | /* Line 1455 of yacc.c */ |
2757 | 2767 | #line 738 "util/configparser.y" |
2769 | 2779 | } |
2770 | 2780 | break; |
2771 | 2781 | |
2772 | case 165: | |
2782 | case 166: | |
2773 | 2783 | |
2774 | 2784 | /* Line 1455 of yacc.c */ |
2775 | 2785 | #line 752 "util/configparser.y" |
2780 | 2790 | } |
2781 | 2791 | break; |
2782 | 2792 | |
2783 | case 166: | |
2793 | case 167: | |
2784 | 2794 | |
2785 | 2795 | /* Line 1455 of yacc.c */ |
2786 | 2796 | #line 759 "util/configparser.y" |
2802 | 2812 | } |
2803 | 2813 | break; |
2804 | 2814 | |
2805 | case 167: | |
2815 | case 168: | |
2806 | 2816 | |
2807 | 2817 | /* Line 1455 of yacc.c */ |
2808 | 2818 | #line 777 "util/configparser.y" |
2819 | 2829 | } |
2820 | 2830 | break; |
2821 | 2831 | |
2822 | case 168: | |
2832 | case 169: | |
2823 | 2833 | |
2824 | 2834 | /* Line 1455 of yacc.c */ |
2825 | 2835 | #line 790 "util/configparser.y" |
2836 | 2846 | } |
2837 | 2847 | break; |
2838 | 2848 | |
2839 | case 169: | |
2849 | case 170: | |
2840 | 2850 | |
2841 | 2851 | /* Line 1455 of yacc.c */ |
2842 | 2852 | #line 803 "util/configparser.y" |
2849 | 2859 | } |
2850 | 2860 | break; |
2851 | 2861 | |
2852 | case 170: | |
2862 | case 171: | |
2853 | 2863 | |
2854 | 2864 | /* Line 1455 of yacc.c */ |
2855 | 2865 | #line 812 "util/configparser.y" |
2862 | 2872 | } |
2863 | 2873 | break; |
2864 | 2874 | |
2865 | case 171: | |
2875 | case 172: | |
2866 | 2876 | |
2867 | 2877 | /* Line 1455 of yacc.c */ |
2868 | 2878 | #line 821 "util/configparser.y" |
2875 | 2885 | } |
2876 | 2886 | break; |
2877 | 2887 | |
2878 | case 172: | |
2888 | case 173: | |
2879 | 2889 | |
2880 | 2890 | /* Line 1455 of yacc.c */ |
2881 | 2891 | #line 830 "util/configparser.y" |
2889 | 2899 | } |
2890 | 2900 | break; |
2891 | 2901 | |
2892 | case 173: | |
2902 | case 174: | |
2893 | 2903 | |
2894 | 2904 | /* Line 1455 of yacc.c */ |
2895 | 2905 | #line 840 "util/configparser.y" |
2903 | 2913 | } |
2904 | 2914 | break; |
2905 | 2915 | |
2906 | case 174: | |
2916 | case 175: | |
2907 | 2917 | |
2908 | 2918 | /* Line 1455 of yacc.c */ |
2909 | 2919 | #line 850 "util/configparser.y" |
2920 | { | |
2921 | OUTYY(("P(server_val_log_level:%s)\n", (yyvsp[(2) - (2)].str))); | |
2922 | if(atoi((yyvsp[(2) - (2)].str)) == 0 && strcmp((yyvsp[(2) - (2)].str), "0") != 0) | |
2923 | yyerror("number expected"); | |
2924 | else cfg_parser->cfg->val_log_level = atoi((yyvsp[(2) - (2)].str)); | |
2925 | } | |
2926 | break; | |
2927 | ||
2928 | case 176: | |
2929 | ||
2930 | /* Line 1455 of yacc.c */ | |
2931 | #line 858 "util/configparser.y" | |
2910 | 2932 | { |
2911 | 2933 | OUTYY(("P(server_val_nsec3_keysize_iterations:%s)\n", (yyvsp[(2) - (2)].str))); |
2912 | 2934 | free(cfg_parser->cfg->val_nsec3_key_iterations); |
2914 | 2936 | } |
2915 | 2937 | break; |
2916 | 2938 | |
2917 | case 175: | |
2918 | ||
2919 | /* Line 1455 of yacc.c */ | |
2920 | #line 857 "util/configparser.y" | |
2939 | case 177: | |
2940 | ||
2941 | /* Line 1455 of yacc.c */ | |
2942 | #line 865 "util/configparser.y" | |
2921 | 2943 | { |
2922 | 2944 | OUTYY(("P(server_key_cache_size:%s)\n", (yyvsp[(2) - (2)].str))); |
2923 | 2945 | if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->key_cache_size)) |
2926 | 2948 | } |
2927 | 2949 | break; |
2928 | 2950 | |
2929 | case 176: | |
2930 | ||
2931 | /* Line 1455 of yacc.c */ | |
2932 | #line 865 "util/configparser.y" | |
2951 | case 178: | |
2952 | ||
2953 | /* Line 1455 of yacc.c */ | |
2954 | #line 873 "util/configparser.y" | |
2933 | 2955 | { |
2934 | 2956 | OUTYY(("P(server_key_cache_slabs:%s)\n", (yyvsp[(2) - (2)].str))); |
2935 | 2957 | if(atoi((yyvsp[(2) - (2)].str)) == 0) |
2943 | 2965 | } |
2944 | 2966 | break; |
2945 | 2967 | |
2946 | case 177: | |
2947 | ||
2948 | /* Line 1455 of yacc.c */ | |
2949 | #line 878 "util/configparser.y" | |
2968 | case 179: | |
2969 | ||
2970 | /* Line 1455 of yacc.c */ | |
2971 | #line 886 "util/configparser.y" | |
2950 | 2972 | { |
2951 | 2973 | OUTYY(("P(server_neg_cache_size:%s)\n", (yyvsp[(2) - (2)].str))); |
2952 | 2974 | if(!cfg_parse_memsize((yyvsp[(2) - (2)].str), &cfg_parser->cfg->neg_cache_size)) |
2955 | 2977 | } |
2956 | 2978 | break; |
2957 | 2979 | |
2958 | case 178: | |
2959 | ||
2960 | /* Line 1455 of yacc.c */ | |
2961 | #line 886 "util/configparser.y" | |
2980 | case 180: | |
2981 | ||
2982 | /* Line 1455 of yacc.c */ | |
2983 | #line 894 "util/configparser.y" | |
2962 | 2984 | { |
2963 | 2985 | OUTYY(("P(server_local_zone:%s %s)\n", (yyvsp[(2) - (3)].str), (yyvsp[(3) - (3)].str))); |
2964 | 2986 | if(strcmp((yyvsp[(3) - (3)].str), "static")!=0 && strcmp((yyvsp[(3) - (3)].str), "deny")!=0 && |
2979 | 3001 | } |
2980 | 3002 | break; |
2981 | 3003 | |
2982 | case 179: | |
2983 | ||
2984 | /* Line 1455 of yacc.c */ | |
2985 | #line 906 "util/configparser.y" | |
3004 | case 181: | |
3005 | ||
3006 | /* Line 1455 of yacc.c */ | |
3007 | #line 914 "util/configparser.y" | |
2986 | 3008 | { |
2987 | 3009 | OUTYY(("P(server_local_data:%s)\n", (yyvsp[(2) - (2)].str))); |
2988 | 3010 | if(!cfg_strlist_insert(&cfg_parser->cfg->local_data, (yyvsp[(2) - (2)].str))) |
2990 | 3012 | } |
2991 | 3013 | break; |
2992 | 3014 | |
2993 | case 180: | |
2994 | ||
2995 | /* Line 1455 of yacc.c */ | |
2996 | #line 913 "util/configparser.y" | |
3015 | case 182: | |
3016 | ||
3017 | /* Line 1455 of yacc.c */ | |
3018 | #line 921 "util/configparser.y" | |
2997 | 3019 | { |
2998 | 3020 | char* ptr; |
2999 | 3021 | OUTYY(("P(server_local_data_ptr:%s)\n", (yyvsp[(2) - (2)].str))); |
3009 | 3031 | } |
3010 | 3032 | break; |
3011 | 3033 | |
3012 | case 181: | |
3013 | ||
3014 | /* Line 1455 of yacc.c */ | |
3015 | #line 928 "util/configparser.y" | |
3034 | case 183: | |
3035 | ||
3036 | /* Line 1455 of yacc.c */ | |
3037 | #line 936 "util/configparser.y" | |
3016 | 3038 | { |
3017 | 3039 | OUTYY(("P(name:%s)\n", (yyvsp[(2) - (2)].str))); |
3018 | 3040 | free(cfg_parser->cfg->stubs->name); |
3020 | 3042 | } |
3021 | 3043 | break; |
3022 | 3044 | |
3023 | case 182: | |
3024 | ||
3025 | /* Line 1455 of yacc.c */ | |
3026 | #line 935 "util/configparser.y" | |
3045 | case 184: | |
3046 | ||
3047 | /* Line 1455 of yacc.c */ | |
3048 | #line 943 "util/configparser.y" | |
3027 | 3049 | { |
3028 | 3050 | OUTYY(("P(stub-host:%s)\n", (yyvsp[(2) - (2)].str))); |
3029 | 3051 | if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->hosts, (yyvsp[(2) - (2)].str))) |
3031 | 3053 | } |
3032 | 3054 | break; |
3033 | 3055 | |
3034 | case 183: | |
3035 | ||
3036 | /* Line 1455 of yacc.c */ | |
3037 | #line 942 "util/configparser.y" | |
3056 | case 185: | |
3057 | ||
3058 | /* Line 1455 of yacc.c */ | |
3059 | #line 950 "util/configparser.y" | |
3038 | 3060 | { |
3039 | 3061 | OUTYY(("P(stub-addr:%s)\n", (yyvsp[(2) - (2)].str))); |
3040 | 3062 | if(!cfg_strlist_insert(&cfg_parser->cfg->stubs->addrs, (yyvsp[(2) - (2)].str))) |
3042 | 3064 | } |
3043 | 3065 | break; |
3044 | 3066 | |
3045 | case 184: | |
3046 | ||
3047 | /* Line 1455 of yacc.c */ | |
3048 | #line 949 "util/configparser.y" | |
3067 | case 186: | |
3068 | ||
3069 | /* Line 1455 of yacc.c */ | |
3070 | #line 957 "util/configparser.y" | |
3049 | 3071 | { |
3050 | 3072 | OUTYY(("P(stub-prime:%s)\n", (yyvsp[(2) - (2)].str))); |
3051 | 3073 | if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) |
3056 | 3078 | } |
3057 | 3079 | break; |
3058 | 3080 | |
3059 | case 185: | |
3060 | ||
3061 | /* Line 1455 of yacc.c */ | |
3062 | #line 959 "util/configparser.y" | |
3081 | case 187: | |
3082 | ||
3083 | /* Line 1455 of yacc.c */ | |
3084 | #line 967 "util/configparser.y" | |
3063 | 3085 | { |
3064 | 3086 | OUTYY(("P(name:%s)\n", (yyvsp[(2) - (2)].str))); |
3065 | 3087 | free(cfg_parser->cfg->forwards->name); |
3067 | 3089 | } |
3068 | 3090 | break; |
3069 | 3091 | |
3070 | case 186: | |
3071 | ||
3072 | /* Line 1455 of yacc.c */ | |
3073 | #line 966 "util/configparser.y" | |
3092 | case 188: | |
3093 | ||
3094 | /* Line 1455 of yacc.c */ | |
3095 | #line 974 "util/configparser.y" | |
3074 | 3096 | { |
3075 | 3097 | OUTYY(("P(forward-host:%s)\n", (yyvsp[(2) - (2)].str))); |
3076 | 3098 | if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->hosts, (yyvsp[(2) - (2)].str))) |
3078 | 3100 | } |
3079 | 3101 | break; |
3080 | 3102 | |
3081 | case 187: | |
3082 | ||
3083 | /* Line 1455 of yacc.c */ | |
3084 | #line 973 "util/configparser.y" | |
3103 | case 189: | |
3104 | ||
3105 | /* Line 1455 of yacc.c */ | |
3106 | #line 981 "util/configparser.y" | |
3085 | 3107 | { |
3086 | 3108 | OUTYY(("P(forward-addr:%s)\n", (yyvsp[(2) - (2)].str))); |
3087 | 3109 | if(!cfg_strlist_insert(&cfg_parser->cfg->forwards->addrs, (yyvsp[(2) - (2)].str))) |
3089 | 3111 | } |
3090 | 3112 | break; |
3091 | 3113 | |
3092 | case 188: | |
3093 | ||
3094 | /* Line 1455 of yacc.c */ | |
3095 | #line 980 "util/configparser.y" | |
3114 | case 190: | |
3115 | ||
3116 | /* Line 1455 of yacc.c */ | |
3117 | #line 988 "util/configparser.y" | |
3096 | 3118 | { |
3097 | 3119 | OUTYY(("\nP(remote-control:)\n")); |
3098 | 3120 | } |
3099 | 3121 | break; |
3100 | 3122 | |
3101 | case 198: | |
3102 | ||
3103 | /* Line 1455 of yacc.c */ | |
3104 | #line 991 "util/configparser.y" | |
3123 | case 200: | |
3124 | ||
3125 | /* Line 1455 of yacc.c */ | |
3126 | #line 999 "util/configparser.y" | |
3105 | 3127 | { |
3106 | 3128 | OUTYY(("P(control_enable:%s)\n", (yyvsp[(2) - (2)].str))); |
3107 | 3129 | if(strcmp((yyvsp[(2) - (2)].str), "yes") != 0 && strcmp((yyvsp[(2) - (2)].str), "no") != 0) |
3112 | 3134 | } |
3113 | 3135 | break; |
3114 | 3136 | |
3115 | case 199: | |
3116 | ||
3117 | /* Line 1455 of yacc.c */ | |
3118 | #line 1001 "util/configparser.y" | |
3137 | case 201: | |
3138 | ||
3139 | /* Line 1455 of yacc.c */ | |
3140 | #line 1009 "util/configparser.y" | |
3119 | 3141 | { |
3120 | 3142 | OUTYY(("P(control_port:%s)\n", (yyvsp[(2) - (2)].str))); |
3121 | 3143 | if(atoi((yyvsp[(2) - (2)].str)) == 0) |
3125 | 3147 | } |
3126 | 3148 | break; |
3127 | 3149 | |
3128 | case 200: | |
3129 | ||
3130 | /* Line 1455 of yacc.c */ | |
3131 | #line 1010 "util/configparser.y" | |
3150 | case 202: | |
3151 | ||
3152 | /* Line 1455 of yacc.c */ | |
3153 | #line 1018 "util/configparser.y" | |
3132 | 3154 | { |
3133 | 3155 | OUTYY(("P(control_interface:%s)\n", (yyvsp[(2) - (2)].str))); |
3134 | 3156 | if(!cfg_strlist_insert(&cfg_parser->cfg->control_ifs, (yyvsp[(2) - (2)].str))) |
3136 | 3158 | } |
3137 | 3159 | break; |
3138 | 3160 | |
3139 | case 201: | |
3140 | ||
3141 | /* Line 1455 of yacc.c */ | |
3142 | #line 1017 "util/configparser.y" | |
3161 | case 203: | |
3162 | ||
3163 | /* Line 1455 of yacc.c */ | |
3164 | #line 1025 "util/configparser.y" | |
3143 | 3165 | { |
3144 | 3166 | OUTYY(("P(rc_server_key_file:%s)\n", (yyvsp[(2) - (2)].str))); |
3145 | 3167 | free(cfg_parser->cfg->server_key_file); |
3147 | 3169 | } |
3148 | 3170 | break; |
3149 | 3171 | |
3150 | case 202: | |
3151 | ||
3152 | /* Line 1455 of yacc.c */ | |
3153 | #line 1024 "util/configparser.y" | |
3172 | case 204: | |
3173 | ||
3174 | /* Line 1455 of yacc.c */ | |
3175 | #line 1032 "util/configparser.y" | |
3154 | 3176 | { |
3155 | 3177 | OUTYY(("P(rc_server_cert_file:%s)\n", (yyvsp[(2) - (2)].str))); |
3156 | 3178 | free(cfg_parser->cfg->server_cert_file); |
3158 | 3180 | } |
3159 | 3181 | break; |
3160 | 3182 | |
3161 | case 203: | |
3162 | ||
3163 | /* Line 1455 of yacc.c */ | |
3164 | #line 1031 "util/configparser.y" | |
3183 | case 205: | |
3184 | ||
3185 | /* Line 1455 of yacc.c */ | |
3186 | #line 1039 "util/configparser.y" | |
3165 | 3187 | { |
3166 | 3188 | OUTYY(("P(rc_control_key_file:%s)\n", (yyvsp[(2) - (2)].str))); |
3167 | 3189 | free(cfg_parser->cfg->control_key_file); |
3169 | 3191 | } |
3170 | 3192 | break; |
3171 | 3193 | |
3172 | case 204: | |
3173 | ||
3174 | /* Line 1455 of yacc.c */ | |
3175 | #line 1038 "util/configparser.y" | |
3194 | case 206: | |
3195 | ||
3196 | /* Line 1455 of yacc.c */ | |
3197 | #line 1046 "util/configparser.y" | |
3176 | 3198 | { |
3177 | 3199 | OUTYY(("P(rc_control_cert_file:%s)\n", (yyvsp[(2) - (2)].str))); |
3178 | 3200 | free(cfg_parser->cfg->control_cert_file); |
3180 | 3202 | } |
3181 | 3203 | break; |
3182 | 3204 | |
3183 | case 205: | |
3184 | ||
3185 | /* Line 1455 of yacc.c */ | |
3186 | #line 1045 "util/configparser.y" | |
3205 | case 207: | |
3206 | ||
3207 | /* Line 1455 of yacc.c */ | |
3208 | #line 1053 "util/configparser.y" | |
3187 | 3209 | { |
3188 | 3210 | OUTYY(("\nP(python:)\n")); |
3189 | 3211 | } |
3190 | 3212 | break; |
3191 | 3213 | |
3192 | case 209: | |
3193 | ||
3194 | /* Line 1455 of yacc.c */ | |
3195 | #line 1054 "util/configparser.y" | |
3214 | case 211: | |
3215 | ||
3216 | /* Line 1455 of yacc.c */ | |
3217 | #line 1062 "util/configparser.y" | |
3196 | 3218 | { |
3197 | 3219 | OUTYY(("P(python-script:%s)\n", (yyvsp[(2) - (2)].str))); |
3198 | 3220 | free(cfg_parser->cfg->python_script); |
3203 | 3225 | |
3204 | 3226 | |
3205 | 3227 | /* Line 1455 of yacc.c */ |
3206 | #line 3208 "util/configparser.c" | |
3228 | #line 3230 "util/configparser.c" | |
3207 | 3229 | default: break; |
3208 | 3230 | } |
3209 | 3231 | YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); |
3415 | 3437 | |
3416 | 3438 | |
3417 | 3439 | /* Line 1675 of yacc.c */ |
3418 | #line 1059 "util/configparser.y" | |
3440 | #line 1067 "util/configparser.y" | |
3419 | 3441 | |
3420 | 3442 | |
3421 | 3443 | /* parse helper routines could be here */ |
142 | 142 | VAR_PYTHON_SCRIPT = 359, |
143 | 143 | VAR_VAL_SIG_SKEW_MIN = 360, |
144 | 144 | VAR_VAL_SIG_SKEW_MAX = 361, |
145 | VAR_CACHE_MIN_TTL = 362 | |
145 | VAR_CACHE_MIN_TTL = 362, | |
146 | VAR_VAL_LOG_LEVEL = 363 | |
146 | 147 | }; |
147 | 148 | #endif |
148 | 149 | /* Tokens. */ |
251 | 252 | #define VAR_VAL_SIG_SKEW_MIN 360 |
252 | 253 | #define VAR_VAL_SIG_SKEW_MAX 361 |
253 | 254 | #define VAR_CACHE_MIN_TTL 362 |
255 | #define VAR_VAL_LOG_LEVEL 363 | |
254 | 256 | |
255 | 257 | |
256 | 258 | |
267 | 269 | |
268 | 270 | |
269 | 271 | /* Line 1676 of yacc.c */ |
270 | #line 272 "util/configparser.h" | |
272 | #line 274 "util/configparser.h" | |
271 | 273 | } YYSTYPE; |
272 | 274 | # define YYSTYPE_IS_TRIVIAL 1 |
273 | 275 | # define yystype YYSTYPE /* obsolescent; will be withdrawn */ |
97 | 97 | %token VAR_EXTENDED_STATISTICS VAR_LOCAL_DATA_PTR VAR_JOSTLE_TIMEOUT |
98 | 98 | %token VAR_STUB_PRIME VAR_UNWANTED_REPLY_THRESHOLD VAR_LOG_TIME_ASCII |
99 | 99 | %token VAR_DOMAIN_INSECURE VAR_PYTHON VAR_PYTHON_SCRIPT VAR_VAL_SIG_SKEW_MIN |
100 | %token VAR_VAL_SIG_SKEW_MAX VAR_CACHE_MIN_TTL | |
100 | %token VAR_VAL_SIG_SKEW_MAX VAR_CACHE_MIN_TTL VAR_VAL_LOG_LEVEL | |
101 | 101 | |
102 | 102 | %% |
103 | 103 | toplevelvars: /* empty */ | toplevelvars toplevelvar ; |
147 | 147 | server_local_data_ptr | server_jostle_timeout | |
148 | 148 | server_unwanted_reply_threshold | server_log_time_ascii | |
149 | 149 | server_domain_insecure | server_val_sig_skew_min | |
150 | server_val_sig_skew_max | server_cache_min_ttl | |
150 | server_val_sig_skew_max | server_cache_min_ttl | server_val_log_level | |
151 | 151 | ; |
152 | 152 | stubstart: VAR_STUB_ZONE |
153 | 153 | { |
843 | 843 | else cfg_parser->cfg->val_permissive_mode = |
844 | 844 | (strcmp($2, "yes")==0); |
845 | 845 | free($2); |
846 | } | |
847 | ; | |
848 | server_val_log_level: VAR_VAL_LOG_LEVEL STRING_ARG | |
849 | { | |
850 | OUTYY(("P(server_val_log_level:%s)\n", $2)); | |
851 | if(atoi($2) == 0 && strcmp($2, "0") != 0) | |
852 | yyerror("number expected"); | |
853 | else cfg_parser->cfg->val_log_level = atoi($2); | |
846 | 854 | } |
847 | 855 | ; |
848 | 856 | server_val_nsec3_keysize_iterations: VAR_VAL_NSEC3_KEYSIZE_ITERATIONS STRING_ARG |
222 | 222 | 267, |
223 | 223 | 268, |
224 | 224 | 269, |
225 | 270, | |
225 | 226 | 280, |
226 | 227 | 281, |
227 | 228 | 282, |
4060 | 4061 | 5102, |
4061 | 4062 | 5111, |
4062 | 4063 | 5112, |
4064 | 5113, | |
4063 | 4065 | 5116, |
4064 | 4066 | 5133, |
4065 | 4067 | 5137, |
5002 | 5004 | 16367, |
5003 | 5005 | 16368, |
5004 | 5006 | 16384, |
5007 | 16900, | |
5005 | 5008 | 16950, |
5006 | 5009 | 16991, |
5007 | 5010 | 16992, |
5052 | 5055 | 20005, |
5053 | 5056 | 20014, |
5054 | 5057 | 20034, |
5058 | 20046, | |
5055 | 5059 | 20049, |
5056 | 5060 | 20167, |
5057 | 5061 | 20202, |
245 | 245 | log_err("error: send empty UDP packet"); |
246 | 246 | #endif |
247 | 247 | log_assert(addr && addrlen > 0); |
248 | sent = sendto(c->fd, ldns_buffer_begin(packet), | |
248 | sent = sendto(c->fd, (void*)ldns_buffer_begin(packet), | |
249 | 249 | ldns_buffer_remaining(packet), 0, |
250 | 250 | addr, addrlen); |
251 | 251 | if(sent == -1) { |
252 | #ifdef ENETUNREACH | |
253 | if(errno == ENETUNREACH && verbosity < VERB_ALGO) | |
254 | return 0; | |
252 | /* do not log transient errors (unless high verbosity) */ | |
253 | #if defined(ENETUNREACH) || defined(EHOSTDOWN) || defined(EHOSTUNREACH) || defined(ENETDOWN) | |
254 | switch(errno) { | |
255 | # ifdef ENETUNREACH | |
256 | case ENETUNREACH: | |
257 | # endif | |
258 | # ifdef EHOSTDOWN | |
259 | case EHOSTDOWN: | |
260 | # endif | |
261 | # ifdef EHOSTUNREACH | |
262 | case EHOSTUNREACH: | |
263 | # endif | |
264 | # ifdef ENETDOWN | |
265 | case ENETDOWN: | |
266 | # endif | |
267 | if(verbosity < VERB_ALGO) | |
268 | return 0; | |
269 | default: | |
270 | break; | |
271 | } | |
255 | 272 | #endif |
256 | 273 | /* squelch errors where people deploy AAAA ::ffff:bla for |
257 | 274 | * authority servers, which we try for intranets. */ |
529 | 546 | rep.addrlen = (socklen_t)sizeof(rep.addr); |
530 | 547 | log_assert(fd != -1); |
531 | 548 | log_assert(ldns_buffer_remaining(rep.c->buffer) > 0); |
532 | recv = recvfrom(fd, ldns_buffer_begin(rep.c->buffer), | |
549 | recv = recvfrom(fd, (void*)ldns_buffer_begin(rep.c->buffer), | |
533 | 550 | ldns_buffer_remaining(rep.c->buffer), 0, |
534 | 551 | (struct sockaddr*)&rep.addr, &rep.addrlen); |
535 | 552 | if(recv == -1) { |
710 | 727 | log_assert(fd != -1); |
711 | 728 | if(c->tcp_byte_count < sizeof(uint16_t)) { |
712 | 729 | /* read length bytes */ |
713 | r = recv(fd, ldns_buffer_at(c->buffer, c->tcp_byte_count), | |
730 | r = recv(fd,(void*)ldns_buffer_at(c->buffer,c->tcp_byte_count), | |
714 | 731 | sizeof(uint16_t)-c->tcp_byte_count, 0); |
715 | 732 | if(r == 0) |
716 | 733 | return 0; |
759 | 776 | } |
760 | 777 | |
761 | 778 | log_assert(ldns_buffer_remaining(c->buffer) > 0); |
762 | r = recv(fd, ldns_buffer_current(c->buffer), | |
779 | r = recv(fd, (void*)ldns_buffer_current(c->buffer), | |
763 | 780 | ldns_buffer_remaining(c->buffer), 0); |
764 | 781 | if(r == 0) { |
765 | 782 | return 0; |
901 | 918 | } |
902 | 919 | } |
903 | 920 | log_assert(ldns_buffer_remaining(c->buffer) > 0); |
904 | r = send(fd, ldns_buffer_current(c->buffer), | |
921 | r = send(fd, (void*)ldns_buffer_current(c->buffer), | |
905 | 922 | ldns_buffer_remaining(c->buffer), 0); |
906 | 923 | if(r == -1) { |
907 | 924 | #ifndef USE_WINSOCK |
76 | 76 | |
77 | 77 | /** Size of key to use */ |
78 | 78 | #define SEED_SIZE 20 |
79 | ||
80 | /** | |
81 | * Max random value. Similar to RAND_MAX, but more portable | |
82 | * (mingw uses only 15 bits random). | |
83 | */ | |
84 | #define MAX_VALUE 0x7fffffff | |
79 | 85 | |
80 | 86 | /** Number of bytes to reseed after */ |
81 | 87 | #define REKEY_BYTES (1 << 24) |
167 | 173 | RC4(&s->rc4, sizeof(r), |
168 | 174 | (unsigned char *)&r, (unsigned char *)&r); |
169 | 175 | s->rc4_ready -= sizeof(r); |
170 | return (long int)((r) % (((unsigned)RAND_MAX + 1))); | |
176 | return (long int)((r) % (((unsigned)MAX_VALUE + 1))); | |
171 | 177 | } |
172 | 178 | |
173 | 179 | void |
75 | 75 | return 0; |
76 | 76 | } |
77 | 77 | |
78 | #ifdef UNBOUND_DEBUG | |
78 | 79 | /** |
79 | 80 | * Find a fd in the list of items. |
80 | 81 | * Note that not all items have a fd associated (those are -1). |
93 | 94 | } |
94 | 95 | return -1; |
95 | 96 | } |
97 | #endif | |
96 | 98 | |
97 | 99 | /** Find ptr in base array */ |
98 | static int | |
100 | static void | |
99 | 101 | zero_waitfor(WSAEVENT waitfor[], WSAEVENT x) |
100 | 102 | { |
101 | 103 | int i; |
914 | 914 | char b[257]; |
915 | 915 | dname_str(ta->name, b); |
916 | 916 | log_warn("trust anchor %s has no supported algorithms," |
917 | " the anchor is ignored", b); | |
917 | " the anchor is ignored (check if you need to" | |
918 | " upgrade unbound and openssl)", b); | |
918 | 919 | (void)rbtree_delete(anchors->tree, &ta->node); |
919 | 920 | } |
920 | 921 | ta = next; |
1795 | 1795 | * endless bogus revalidation */ |
1796 | 1796 | if(vq->orig_msg->rep->security == sec_status_bogus) { |
1797 | 1797 | vq->orig_msg->rep->ttl = *qstate->env->now + ve->bogus_ttl; |
1798 | if(qstate->env->cfg->val_log_level >= 1) { | |
1799 | log_query_info(0, "validation failure", &qstate->qinfo); | |
1800 | } | |
1798 | 1801 | /* If we are in permissive mode, bogus gets indeterminate */ |
1799 | 1802 | if(ve->permissive_mode) |
1800 | 1803 | vq->orig_msg->rep->security = sec_status_indeterminate; |
2101 | 2104 | |
2102 | 2105 | if(sec != sec_status_secure) { |
2103 | 2106 | log_nametypeclass(VERB_OPS, "failed to prime trust anchor -- " |
2104 | "could not fetch secure DNSKEY rrset", | |
2107 | "DNSKEY rrset is not secure", | |
2105 | 2108 | ta->name, LDNS_RR_TYPE_DNSKEY, ta->dclass); |
2106 | 2109 | /* NOTE: in this case, we should probably reject the trust |
2107 | 2110 | * anchor for longer, perhaps forever. */ |
78 | 78 | you prefer. |
79 | 79 | |
80 | 80 | |
81 | +++ Cross compile | |
82 | ||
83 | You can crosscompile unbound. This results in .exe files. | |
84 | Install the packages: mingw32-binutils mingw32-cpp mingw32-filesystem | |
85 | mingw32-gcc mingw32-openssl mingw32-openssl-static mingw32-runtime zip | |
86 | mingw32-termcap mingw32-w32api mingw32-zlib mingw32-zlib-static mingw32-nsis | |
87 | (package names for fedora 11). | |
88 | ||
89 | For dynamic linked executables | |
90 | $ mingw32-configure | |
91 | $ make | |
92 | $ mkdir /home/user/installdir | |
93 | $ make install DESTDIR=/home/user/installdir | |
94 | Find the dlls and exes in /home/user/installdir and | |
95 | crypto in /usr/i686-pc-mingw32/sys-root/mingw/bin | |
96 | ||
97 | For static linked executables | |
98 | Use --enable-staticexe for mingw32-configure, see above. Or use makedist.sh, | |
99 | copy System.dll from the windows dist of NSIS to /usr/share/nsis/Plugins/ | |
100 | Then do ./makedist.sh -w and the setup.exe is created using nsis. | |
101 | ||
102 | ||
81 | 103 | +++ CREDITS |
82 | 104 | |
83 | 105 | Unbound was written in portable C by Wouter Wijngaards (NLnet Labs). |
3 | 3 | |
4 | 4 | !include LogicLib.nsh |
5 | 5 | !include MUI2.nsh |
6 | !include setup_servicelib.nsh | |
7 | 6 | |
8 | 7 | !define VERSION "0.0.0" |
9 | 8 | !define QUADVERSION "0.0.0.0" |
32 | 31 | #ReserveFile "System.dll" |
33 | 32 | #ReserveFile "NsExec.dll" |
34 | 33 | |
35 | !define MUI_ICON "${NSISDIR}\contrib\graphics\icons\orange-install-nsis.ico" | |
36 | !define MUI_UNICON "${NSISDIR}\contrib\graphics\icons\orange-uninstall-nsis.ico" | |
34 | !define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\orange-install-nsis.ico" | |
35 | !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\orange-uninstall-nsis.ico" | |
37 | 36 | |
38 | 37 | !define MUI_HEADERIMAGE |
39 | 38 | !define MUI_HEADERIMAGE_RIGHT |
74 | 73 | # add estimated size for key (Kb) |
75 | 74 | AddSize 2 |
76 | 75 | SetOutPath $INSTDIR |
76 | ||
77 | # libgcc exception lib used by NSISdl plugin (in crosscompile). | |
78 | File /nonfatal "/oname=$PLUGINSDIR\libgcc_s_sjlj-1.dll" "/usr/i686-pc-mingw32/sys-root/mingw/bin/libgcc_s_sjlj-1.dll" | |
79 | ||
77 | 80 | NSISdl::download "http://ftp.isc.org/www/dlv/dlv.isc.org.key" "$INSTDIR\dlv.isc.org.key" |
78 | 81 | Pop $R0 # result from Inetc::get |
79 | 82 | ${If} $R0 != "success" |
143 | 146 | # install service entry |
144 | 147 | nsExec::ExecToLog '"$INSTDIR\unbound-service-install.exe"' |
145 | 148 | # start unbound service |
146 | !insertmacro SERVICE "start" "unbound" "" | |
149 | nsExec::ExecToLog '"$INSTDIR\unbound-service-install.exe" start' | |
147 | 150 | sectionEnd |
148 | 151 | |
149 | 152 | # set section descriptions |
156 | 159 | !insertmacro MUI_FUNCTION_DESCRIPTION_END |
157 | 160 | |
158 | 161 | # setup macros for uninstall functions. |
162 | !ifdef UN | |
159 | 163 | !undef UN |
164 | !endif | |
160 | 165 | !define UN "un." |
161 | 166 | |
162 | 167 | # uninstaller section |
163 | 168 | section "un.Unbound" |
164 | 169 | # stop unbound service |
165 | !insertmacro SERVICE "stop" "unbound" "" | |
170 | nsExec::ExecToLog '"$INSTDIR\unbound-service-remove.exe" stop' | |
166 | 171 | # uninstall service entry |
167 | 172 | nsExec::ExecToLog '"$INSTDIR\unbound-service-remove.exe"' |
168 | 173 | # deregister uninstall |
0 | ; Taken from http://nsis.sourceforge.net/NSIS_Service_Lib on 10-mar-2009 | |
1 | ; | |
2 | ||
3 | ; NSIS SERVICE LIBRARY - servicelib.nsh | |
4 | ; Version 1.5 - Jun 25th, 2008 | |
5 | ; Questions/Comments - dselkirk@hotmail.com | |
6 | ; | |
7 | ; Description: | |
8 | ; Provides an interface to window services | |
9 | ; | |
10 | ; Inputs: | |
11 | ; action - systemlib action ie. create, delete, start, stop, pause, | |
12 | ; continue, installed, running, status | |
13 | ; name - name of service to manipulate | |
14 | ; param - action parameters; usage: var1=value1;var2=value2;...etc. | |
15 | ; (don't forget to add a ';' after the last value!) | |
16 | ; | |
17 | ; Actions: | |
18 | ; create - creates a new windows service | |
19 | ; Parameters: | |
20 | ; path - path to service executable | |
21 | ; autostart - automatically start with system ie. 1|0 | |
22 | ; interact - interact with the desktop ie. 1|0 | |
23 | ; depend - service dependencies | |
24 | ; user - user that runs the service | |
25 | ; password - password of the above user | |
26 | ; display - display name in service's console | |
27 | ; description - Description of service | |
28 | ; | |
29 | ; delete - deletes a windows service | |
30 | ; start - start a stopped windows service | |
31 | ; stop - stops a running windows service | |
32 | ; pause - pauses a running windows service | |
33 | ; continue - continues a paused windows service | |
34 | ; installed - is the provided service installed | |
35 | ; Parameters: | |
36 | ; action - if true then invokes the specified action | |
37 | ; running - is the provided service running | |
38 | ; Parameters: | |
39 | ; action - if true then invokes the specified action | |
40 | ; status - check the status of the provided service | |
41 | ; | |
42 | ; If run from uninstall define "UN" as "un." before running. | |
43 | ; | |
44 | ; Usage: | |
45 | ; Method 1: | |
46 | ; Push "action" | |
47 | ; Push "name" | |
48 | ; Push "param" | |
49 | ; Call Service | |
50 | ; Pop $0 ;response | |
51 | ; | |
52 | ; Method 2: | |
53 | ; !insertmacro SERVICE "action" "name" "param" | |
54 | ; | |
55 | ; History: | |
56 | ; 1.0 - 09/15/2003 - Initial release | |
57 | ; 1.1 - 09/16/2003 - Changed &l to i, thx brainsucker | |
58 | ; 1.2 - 02/29/2004 - Fixed documentation. | |
59 | ; 1.3 - 01/05/2006 - Fixed interactive flag and pop order (Kichik) | |
60 | ; 1.4 - 12/07/2006 - Added display and depend, fixed datatypes (Vitoco) | |
61 | ; 1.5 - 06/25/2008 - Added description of service.(DeSafe.com/liuqixing#gmail.com) | |
62 | ||
63 | !ifndef SERVICELIB | |
64 | !define SERVICELIB | |
65 | ||
66 | !define SC_MANAGER_ALL_ACCESS 0x3F | |
67 | !define SERVICE_ALL_ACCESS 0xF01FF | |
68 | ||
69 | !define SERVICE_CONTROL_STOP 1 | |
70 | !define SERVICE_CONTROL_PAUSE 2 | |
71 | !define SERVICE_CONTROL_CONTINUE 3 | |
72 | ||
73 | !define SERVICE_STOPPED 0x1 | |
74 | !define SERVICE_START_PENDING 0x2 | |
75 | !define SERVICE_STOP_PENDING 0x3 | |
76 | !define SERVICE_RUNNING 0x4 | |
77 | !define SERVICE_CONTINUE_PENDING 0x5 | |
78 | !define SERVICE_PAUSE_PENDING 0x6 | |
79 | !define SERVICE_PAUSED 0x7 | |
80 | ||
81 | !ifndef UN | |
82 | !define UN "" | |
83 | !endif | |
84 | ||
85 | !macro SERVICE ACTION NAME PARAM | |
86 | Push '${ACTION}' | |
87 | Push '${NAME}' | |
88 | Push '${PARAM}' | |
89 | Call ${UN}Service | |
90 | !macroend | |
91 | ||
92 | !macro FUNC_GETPARAM | |
93 | Push $0 | |
94 | Push $1 | |
95 | Push $2 | |
96 | Push $3 | |
97 | Push $4 | |
98 | Push $5 | |
99 | Push $6 | |
100 | Push $7 | |
101 | Exch 8 | |
102 | Pop $1 ;name | |
103 | Exch 8 | |
104 | Pop $2 ;source | |
105 | StrCpy $0 "" | |
106 | StrLen $7 $2 | |
107 | StrCpy $3 0 | |
108 | lbl_loop: | |
109 | IntCmp $3 $7 0 0 lbl_done | |
110 | StrLen $4 "$1=" | |
111 | StrCpy $5 $2 $4 $3 | |
112 | StrCmp $5 "$1=" 0 lbl_next | |
113 | IntOp $5 $3 + $4 | |
114 | StrCpy $3 $5 | |
115 | lbl_loop2: | |
116 | IntCmp $3 $7 0 0 lbl_done | |
117 | StrCpy $6 $2 1 $3 | |
118 | StrCmp $6 ";" 0 lbl_next2 | |
119 | IntOp $6 $3 - $5 | |
120 | StrCpy $0 $2 $6 $5 | |
121 | Goto lbl_done | |
122 | lbl_next2: | |
123 | IntOp $3 $3 + 1 | |
124 | Goto lbl_loop2 | |
125 | lbl_next: | |
126 | IntOp $3 $3 + 1 | |
127 | Goto lbl_loop | |
128 | lbl_done: | |
129 | Pop $5 | |
130 | Pop $4 | |
131 | Pop $3 | |
132 | Pop $2 | |
133 | Pop $1 | |
134 | Exch 2 | |
135 | Pop $6 | |
136 | Pop $7 | |
137 | Exch $0 | |
138 | !macroend | |
139 | ||
140 | !macro CALL_GETPARAM VAR NAME DEFAULT LABEL | |
141 | Push $1 | |
142 | Push ${NAME} | |
143 | Call ${UN}GETPARAM | |
144 | Pop $6 | |
145 | StrCpy ${VAR} "${DEFAULT}" | |
146 | StrCmp $6 "" "${LABEL}" 0 | |
147 | StrCpy ${VAR} $6 | |
148 | !macroend | |
149 | ||
150 | !macro FUNC_SERVICE UN | |
151 | Push $0 | |
152 | Push $1 | |
153 | Push $2 | |
154 | Push $3 | |
155 | Push $4 | |
156 | Push $5 | |
157 | Push $6 | |
158 | Push $7 | |
159 | Exch 8 | |
160 | Pop $1 ;param | |
161 | Exch 8 | |
162 | Pop $2 ;name | |
163 | Exch 8 | |
164 | Pop $3 ;action | |
165 | ;$0 return | |
166 | ;$4 OpenSCManager | |
167 | ;$5 OpenService | |
168 | ||
169 | StrCpy $0 "false" | |
170 | System::Call 'advapi32::OpenSCManagerA(n, n, i ${SC_MANAGER_ALL_ACCESS}) i.r4' | |
171 | IntCmp $4 0 lbl_done | |
172 | StrCmp $3 "create" lbl_create | |
173 | System::Call 'advapi32::OpenServiceA(i r4, t r2, i ${SERVICE_ALL_ACCESS}) i.r5' | |
174 | IntCmp $5 0 lbl_done | |
175 | ||
176 | lbl_select: | |
177 | StrCmp $3 "delete" lbl_delete | |
178 | StrCmp $3 "start" lbl_start | |
179 | StrCmp $3 "stop" lbl_stop | |
180 | StrCmp $3 "pause" lbl_pause | |
181 | StrCmp $3 "continue" lbl_continue | |
182 | StrCmp $3 "installed" lbl_installed | |
183 | StrCmp $3 "running" lbl_running | |
184 | StrCmp $3 "status" lbl_status | |
185 | Goto lbl_done | |
186 | ||
187 | ; create service | |
188 | lbl_create: | |
189 | Push $R1 ;depend | |
190 | Push $R2 ;user | |
191 | Push $R3 ;password | |
192 | Push $R4 ;interact | |
193 | Push $R5 ;autostart | |
194 | Push $R6 ;path | |
195 | Push $R7 ;display | |
196 | Push $R8 ;description | |
197 | ||
198 | !insertmacro CALL_GETPARAM $R1 "depend" "n" "lbl_depend" | |
199 | StrCpy $R1 't "$R1"' | |
200 | lbl_depend: | |
201 | StrCmp $R1 "n" 0 lbl_machine ;old name of depend param | |
202 | !insertmacro CALL_GETPARAM $R1 "machine" "n" "lbl_machine" | |
203 | StrCpy $R1 't "$R1"' | |
204 | lbl_machine: | |
205 | ||
206 | !insertmacro CALL_GETPARAM $R2 "user" "n" "lbl_user" | |
207 | StrCpy $R2 't "$R2"' | |
208 | lbl_user: | |
209 | ||
210 | !insertmacro CALL_GETPARAM $R3 "password" "n" "lbl_password" | |
211 | StrCpy $R3 't "$R3"' | |
212 | lbl_password: | |
213 | ||
214 | !insertmacro CALL_GETPARAM $R4 "interact" "0x10" "lbl_interact" | |
215 | StrCpy $6 0x10 | |
216 | IntCmp $R4 0 +2 | |
217 | IntOp $6 $6 | 0x100 | |
218 | StrCpy $R4 $6 | |
219 | lbl_interact: | |
220 | ||
221 | !insertmacro CALL_GETPARAM $R5 "autostart" "0x3" "lbl_autostart" | |
222 | StrCpy $6 0x3 | |
223 | IntCmp $R5 0 +2 | |
224 | StrCpy $6 0x2 | |
225 | StrCpy $R5 $6 | |
226 | lbl_autostart: | |
227 | ||
228 | !insertmacro CALL_GETPARAM $R6 "path" "n" "lbl_path" | |
229 | lbl_path: | |
230 | ||
231 | !insertmacro CALL_GETPARAM $R7 "display" "$2" "lbl_display" | |
232 | lbl_display: | |
233 | ||
234 | !insertmacro CALL_GETPARAM $R8 "description" "$2" "lbl_description" | |
235 | lbl_description: | |
236 | ||
237 | System::Call 'advapi32::CreateServiceA(i r4, t r2, t R7, i ${SERVICE_ALL_ACCESS}, \ | |
238 | i R4, i R5, i 0, t R6, n, n, $R1, $R2, $R3) i.r6' | |
239 | ||
240 | ; write description of service | |
241 | WriteRegStr HKLM "SYSTEM\ControlSet001\Services\$2" "Description" $R8 | |
242 | ||
243 | Pop $R8 | |
244 | Pop $R7 | |
245 | Pop $R6 | |
246 | Pop $R5 | |
247 | Pop $R4 | |
248 | Pop $R3 | |
249 | Pop $R2 | |
250 | Pop $R1 | |
251 | StrCmp $6 0 lbl_done lbl_good | |
252 | ||
253 | ; delete service | |
254 | lbl_delete: | |
255 | System::Call 'advapi32::DeleteService(i r5) i.r6' | |
256 | StrCmp $6 0 lbl_done lbl_good | |
257 | ||
258 | ; start service | |
259 | lbl_start: | |
260 | System::Call 'advapi32::StartServiceA(i r5, i 0, i 0) i.r6' | |
261 | StrCmp $6 0 lbl_done lbl_good | |
262 | ||
263 | ; stop service | |
264 | lbl_stop: | |
265 | Push $R1 | |
266 | System::Call '*(i,i,i,i,i,i,i) i.R1' | |
267 | System::Call 'advapi32::ControlService(i r5, i ${SERVICE_CONTROL_STOP}, i $R1) i' | |
268 | System::Free $R1 | |
269 | Pop $R1 | |
270 | StrCmp $6 0 lbl_done lbl_good | |
271 | ||
272 | ; pause service | |
273 | lbl_pause: | |
274 | Push $R1 | |
275 | System::Call '*(i,i,i,i,i,i,i) i.R1' | |
276 | System::Call 'advapi32::ControlService(i r5, i ${SERVICE_CONTROL_PAUSE}, i $R1) i' | |
277 | System::Free $R1 | |
278 | Pop $R1 | |
279 | StrCmp $6 0 lbl_done lbl_good | |
280 | ||
281 | ; continue service | |
282 | lbl_continue: | |
283 | Push $R1 | |
284 | System::Call '*(i,i,i,i,i,i,i) i.R1' | |
285 | System::Call 'advapi32::ControlService(i r5, i ${SERVICE_CONTROL_CONTINUE}, i $R1) i' | |
286 | System::Free $R1 | |
287 | Pop $R1 | |
288 | StrCmp $6 0 lbl_done lbl_good | |
289 | ||
290 | ; is installed | |
291 | lbl_installed: | |
292 | !insertmacro CALL_GETPARAM $7 "action" "" "lbl_good" | |
293 | StrCpy $3 $7 | |
294 | Goto lbl_select | |
295 | ||
296 | ; is service running | |
297 | lbl_running: | |
298 | Push $R1 | |
299 | System::Call '*(i,i,i,i,i,i,i) i.R1' | |
300 | System::Call 'advapi32::QueryServiceStatus(i r5, i $R1) i' | |
301 | System::Call '*$R1(i, i.r6)' | |
302 | System::Free $R1 | |
303 | Pop $R1 | |
304 | IntFmt $6 "0x%X" $6 | |
305 | StrCmp $6 ${SERVICE_RUNNING} 0 lbl_done | |
306 | !insertmacro CALL_GETPARAM $7 "action" "" "lbl_good" | |
307 | StrCpy $3 $7 | |
308 | Goto lbl_select | |
309 | ||
310 | lbl_status: | |
311 | Push $R1 | |
312 | System::Call '*(i,i,i,i,i,i,i) i.R1' | |
313 | System::Call 'advapi32::QueryServiceStatus(i r5, i $R1) i' | |
314 | System::Call '*$R1(i, i .r6)' | |
315 | System::Free $R1 | |
316 | Pop $R1 | |
317 | IntFmt $6 "0x%X" $6 | |
318 | StrCpy $0 "running" | |
319 | IntCmp $6 ${SERVICE_RUNNING} lbl_done | |
320 | StrCpy $0 "stopped" | |
321 | IntCmp $6 ${SERVICE_STOPPED} lbl_done | |
322 | StrCpy $0 "start_pending" | |
323 | IntCmp $6 ${SERVICE_START_PENDING} lbl_done | |
324 | StrCpy $0 "stop_pending" | |
325 | IntCmp $6 ${SERVICE_STOP_PENDING} lbl_done | |
326 | StrCpy $0 "running" | |
327 | IntCmp $6 ${SERVICE_RUNNING} lbl_done | |
328 | StrCpy $0 "continue_pending" | |
329 | IntCmp $6 ${SERVICE_CONTINUE_PENDING} lbl_done | |
330 | StrCpy $0 "pause_pending" | |
331 | IntCmp $6 ${SERVICE_PAUSE_PENDING} lbl_done | |
332 | StrCpy $0 "paused" | |
333 | IntCmp $6 ${SERVICE_PAUSED} lbl_done | |
334 | StrCpy $0 "unknown" | |
335 | Goto lbl_done | |
336 | ||
337 | lbl_good: | |
338 | StrCpy $0 "true" | |
339 | lbl_done: | |
340 | IntCmp $5 0 +2 | |
341 | System::Call 'advapi32::CloseServiceHandle(i r5) n' | |
342 | IntCmp $4 0 +2 | |
343 | System::Call 'advapi32::CloseServiceHandle(i r4) n' | |
344 | Pop $4 | |
345 | Pop $3 | |
346 | Pop $2 | |
347 | Pop $1 | |
348 | Exch 3 | |
349 | Pop $5 | |
350 | Pop $7 | |
351 | Pop $6 | |
352 | Exch $0 | |
353 | !macroend | |
354 | ||
355 | Function Service | |
356 | !insertmacro FUNC_SERVICE "" | |
357 | FunctionEnd | |
358 | ||
359 | Function un.Service | |
360 | !insertmacro FUNC_SERVICE "un." | |
361 | FunctionEnd | |
362 | ||
363 | Function GetParam | |
364 | !insertmacro FUNC_GETPARAM | |
365 | FunctionEnd | |
366 | ||
367 | Function un.GetParam | |
368 | !insertmacro FUNC_GETPARAM | |
369 | FunctionEnd | |
370 | ||
371 | !endif |
46 | 46 | #include "winrc/w_inst.h" |
47 | 47 | |
48 | 48 | /** Install service main */ |
49 | int main(int ATTR_UNUSED(argc), char** ATTR_UNUSED(argv)) | |
49 | int main(int argc, char** argv) | |
50 | 50 | { |
51 | /*FILE* out = fopen("unbound-service-install.log", "w");*/ | |
52 | wsvc_install(NULL, "unbound-service-install.exe"); | |
51 | FILE* out = stdout; | |
52 | /* out = fopen("unbound-service-install.log", "w");*/ | |
53 | if(argc == 2 && strcmp(argv[1], "start")==0) { | |
54 | wsvc_rc_start(out); | |
55 | return 0; | |
56 | } | |
57 | if(argc != 1) { | |
58 | if(out) fprintf(out, "Usage: %s [start]\n", argv[0]); | |
59 | else printf("Usage: %s [start]\n", argv[0]); | |
60 | return 1; | |
61 | } | |
62 | wsvc_install(out, "unbound-service-install.exe"); | |
53 | 63 | return 0; |
54 | 64 | } |
0 | 0 | /* |
1 | * winrc/unbound-service-install.c - windows services installation util | |
1 | * winrc/unbound-service-remove.c - windows services installation util | |
2 | 2 | * |
3 | 3 | * Copyright (c) 2009, NLnet Labs. All rights reserved. |
4 | 4 | * |
45 | 45 | #include "config.h" |
46 | 46 | #include "winrc/w_inst.h" |
47 | 47 | |
48 | /** Install service main */ | |
49 | int main(int ATTR_UNUSED(argc), char** ATTR_UNUSED(argv)) | |
48 | /** Remove service main */ | |
49 | int main(int argc, char** argv) | |
50 | 50 | { |
51 | /*FILE* out = fopen("unbound-service-remove.log", "w");*/ | |
51 | FILE* out = stdout; | |
52 | /* out = fopen("unbound-service-remove.log", "w");*/ | |
53 | if(argc == 2 && strcmp(argv[1], "stop")==0) { | |
54 | wsvc_rc_stop(out); | |
55 | return 0; | |
56 | } | |
57 | if(argc != 1) { | |
58 | if(out) fprintf(out, "Usage: %s [stop]\n", argv[0]); | |
59 | else printf("Usage: %s [stop]\n", argv[0]); | |
60 | return 1; | |
61 | } | |
52 | 62 | wsvc_remove(NULL); |
53 | 63 | return 0; |
54 | 64 | } |
42 | 42 | #include "winrc/w_inst.h" |
43 | 43 | #include "winrc/win_svc.h" |
44 | 44 | |
45 | void wsvc_err2str(char* str, size_t len, const char* fixed, DWORD err) | |
46 | { | |
47 | LPTSTR buf; | |
48 | if(FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | | |
49 | FORMAT_MESSAGE_IGNORE_INSERTS | FORMAT_MESSAGE_ALLOCATE_BUFFER, | |
50 | NULL, err, 0, (LPTSTR)&buf, 0, NULL) == 0) { | |
51 | /* could not format error message */ | |
52 | snprintf(str, len, "%s GetLastError=%d", fixed, (int)err); | |
53 | return; | |
54 | } | |
55 | snprintf(str, len, "%s (err=%d): %s", fixed, (int)err, buf); | |
56 | LocalFree(buf); | |
57 | } | |
58 | ||
45 | 59 | /** exit with windows error */ |
46 | 60 | static void |
47 | 61 | fatal_win(FILE* out, const char* str) |
48 | 62 | { |
49 | if(out) fprintf(out, "%s (%d)\n", str, (int)GetLastError()); | |
63 | char e[256]; | |
64 | wsvc_err2str(e, sizeof(e), str, (int)GetLastError()); | |
65 | if(out) fprintf(out, "%s\n", e); | |
66 | else fprintf(stderr, "%s\n", e); | |
50 | 67 | exit(1); |
51 | 68 | } |
52 | 69 | |
74 | 91 | if(RegSetValueEx(hk, (LPCTSTR)"EventMessageFile", |
75 | 92 | 0, /* reserved, mustbezero */ |
76 | 93 | REG_EXPAND_SZ, /* value type (string w env subst) */ |
77 | pathname, /* data */ | |
94 | (BYTE*)pathname, /* data */ | |
78 | 95 | (DWORD)strlen(pathname)+1)) /* length of data */ |
79 | 96 | { |
80 | 97 | RegCloseKey(hk); |
92 | 109 | |
93 | 110 | /* category message file */ |
94 | 111 | if(RegSetValueEx(hk, (LPCTSTR)"CategoryMessageFile", 0, REG_EXPAND_SZ, |
95 | pathname, (DWORD)strlen(pathname)+1)) { | |
112 | (BYTE*)pathname, (DWORD)strlen(pathname)+1)) { | |
96 | 113 | RegCloseKey(hk); |
97 | 114 | fatal_win(out, "could not registry set CategoryMessageFile"); |
98 | 115 | } |
212 | 229 | if(out) fprintf(out, "unbound service installed\n"); |
213 | 230 | } |
214 | 231 | |
232 | ||
215 | 233 | /* Remove installed service from servicecontrolmanager */ |
216 | 234 | void |
217 | 235 | wsvc_remove(FILE* out) |
227 | 245 | fatal_win(out, "could not OpenService"); |
228 | 246 | } |
229 | 247 | if(!DeleteService(sv)) { |
248 | CloseServiceHandle(sv); | |
249 | CloseServiceHandle(scm); | |
230 | 250 | fatal_win(out, "could not DeleteService"); |
231 | 251 | } |
232 | 252 | CloseServiceHandle(sv); |
234 | 254 | event_reg_remove(out); |
235 | 255 | if(out) fprintf(out, "unbound service removed\n"); |
236 | 256 | } |
257 | ||
258 | ||
259 | /* Start daemon */ | |
260 | void | |
261 | wsvc_rc_start(FILE* out) | |
262 | { | |
263 | SC_HANDLE scm; | |
264 | SC_HANDLE sv; | |
265 | if(out) fprintf(out, "start unbound service\n"); | |
266 | scm = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS); | |
267 | if(!scm) fatal_win(out, "could not OpenSCManager"); | |
268 | sv = OpenService(scm, SERVICE_NAME, SERVICE_START); | |
269 | if(!sv) { | |
270 | CloseServiceHandle(scm); | |
271 | fatal_win(out, "could not OpenService"); | |
272 | } | |
273 | if(!StartService(sv, 0, NULL)) { | |
274 | CloseServiceHandle(sv); | |
275 | CloseServiceHandle(scm); | |
276 | fatal_win(out, "could not StartService"); | |
277 | } | |
278 | CloseServiceHandle(sv); | |
279 | CloseServiceHandle(scm); | |
280 | if(out) fprintf(out, "unbound service started\n"); | |
281 | } | |
282 | ||
283 | ||
284 | /* Stop daemon */ | |
285 | void | |
286 | wsvc_rc_stop(FILE* out) | |
287 | { | |
288 | SC_HANDLE scm; | |
289 | SC_HANDLE sv; | |
290 | SERVICE_STATUS st; | |
291 | if(out) fprintf(out, "stop unbound service\n"); | |
292 | scm = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS); | |
293 | if(!scm) fatal_win(out, "could not OpenSCManager"); | |
294 | sv = OpenService(scm, SERVICE_NAME, SERVICE_STOP); | |
295 | if(!sv) { | |
296 | CloseServiceHandle(scm); | |
297 | fatal_win(out, "could not OpenService"); | |
298 | } | |
299 | if(!ControlService(sv, SERVICE_CONTROL_STOP, &st)) { | |
300 | CloseServiceHandle(sv); | |
301 | CloseServiceHandle(scm); | |
302 | fatal_win(out, "could not ControlService"); | |
303 | } | |
304 | CloseServiceHandle(sv); | |
305 | CloseServiceHandle(scm); | |
306 | if(out) fprintf(out, "unbound service stopped\n"); | |
307 | } |
55 | 55 | */ |
56 | 56 | void wsvc_remove(FILE* out); |
57 | 57 | |
58 | /** | |
59 | * Start the service from servicecontrolmanager, tells OS to start daemon. | |
60 | * @param out: debug output printed here (errors). or NULL. | |
61 | */ | |
62 | void wsvc_rc_start(FILE* out); | |
63 | ||
64 | /** | |
65 | * Stop the service from servicecontrolmanager, tells OS to stop daemon. | |
66 | * @param out: debug output printed here (errors). or NULL. | |
67 | */ | |
68 | void wsvc_rc_stop(FILE* out); | |
69 | ||
70 | /** | |
71 | * Convert windows GetLastError() value to a neat string. | |
72 | * @param str: destination buffer | |
73 | * @param len: length of dest buffer | |
74 | * @param fixed: fixed text to prepend to string. | |
75 | * @param err: the GetLastError() value. | |
76 | */ | |
77 | void wsvc_err2str(char* str, size_t len, const char* fixed, DWORD err); | |
78 | ||
58 | 79 | #endif /* WINRC_W_INST_H */ |
126 | 126 | reportev(const char* str) |
127 | 127 | { |
128 | 128 | char b[256]; |
129 | char e[256]; | |
129 | 130 | HANDLE* s; |
130 | 131 | LPCTSTR msg = b; |
131 | 132 | /* print quickly to keep GetLastError value */ |
132 | snprintf(b, sizeof(b), "%s: %s (%d)", SERVICE_NAME, | |
133 | str, (int)GetLastError()); | |
133 | wsvc_err2str(e, sizeof(e), str, GetLastError()); | |
134 | snprintf(b, sizeof(b), "%s: %s", SERVICE_NAME, e); | |
134 | 135 | s = RegisterEventSource(NULL, SERVICE_NAME); |
135 | 136 | if(!s) return; |
136 | 137 | ReportEvent(s, /* event log */ |
180 | 181 | if(type == REG_SZ || type == REG_MULTI_SZ || type == REG_EXPAND_SZ) { |
181 | 182 | buf[sizeof(buf)-1] = 0; |
182 | 183 | buf[sizeof(buf)-2] = 0; /* for multi_sz */ |
183 | result = strdup(buf); | |
184 | result = strdup((char*)buf); | |
184 | 185 | if(!result) reportev("out of memory"); |
185 | 186 | } |
186 | 187 | return result; |
220 | 221 | if(type == REG_SZ || type == REG_MULTI_SZ || type == REG_EXPAND_SZ) { |
221 | 222 | buf[sizeof(buf)-1] = 0; |
222 | 223 | buf[sizeof(buf)-2] = 0; /* for multi_sz */ |
223 | result = atoi(buf); | |
224 | result = atoi((char*)buf); | |
224 | 225 | } else if(type == REG_DWORD) { |
225 | result = *(DWORD*)buf; | |
226 | DWORD r; | |
227 | memmove(&r, buf, sizeof(r)); | |
228 | result = r; | |
226 | 229 | } |
227 | 230 | return result; |
228 | 231 | } |