summaryrefslogtreecommitdiff
path: root/usr.sbin/hoststated/parse.y
AgeCommit message (Collapse)Author
2007-09-04Add the ability to specify a host header when using http(s) check methods.Pierre-Yves Ritschard
Prodded by me, done by Gille Chehade <veins@evilkittens.org> ok reyk, jmc for the manpage bits.
2007-07-05use a more traditional while() instead of for() for getopt().Thordur I. Bjornsson
sync usage() to the man page. format string fixes. complain about failed calloc()'s instead of exiting silently. ok pry@,reyk@
2007-05-31do not forget to store table and backup table ids in the servicePierre-Yves Ritschard
configuration struct.
2007-05-31make sure object ids are reset before parsing the configuration filePierre-Yves Ritschard
again.
2007-05-31allocate table lists and service lists instead of using static structs.Pierre-Yves Ritschard
split the code to start the event loop in two functions. introduce merge_config which will be used later on.
2007-05-29do not start relay processes when no L7 load balancing is needed.Pierre-Yves Ritschard
ok reyk@
2007-05-29add a new check method which allows to run external scripts/programsReyk Floeter
for custom evaluations. pyr agrees to put it in now but to do some improvements of the timeout handling later.
2007-05-29move the ssl cipher suite string to a (small) static charbuf,Pierre-Yves Ritschard
this will make it easier to send the struct over the socket.
2007-05-29move struct relay to the runtime + config scheme.Pierre-Yves Ritschard
this time around, include hoststatectl changes too.
2007-05-28store the configuration file's path, this will be useful when reloading.Pierre-Yves Ritschard
2007-05-27Second step towards hoststated reload:Pierre-Yves Ritschard
First split out hosts, tables and services into to structs, one that contains the runtime fields and one (inside the runtime) that contains mostly static fields that will be sent over the socket during reload. Also move the demoted field of tables inside the flags field as its just a boolean. ok reyk@
2007-05-27allow to specify table templates in the configuration file and toReyk Floeter
inherit them from multiple services or relays. this is useful if you want to use a table with the same list of hosts but different ports as specified in the relay or service section. this makes mcbride more happy ok pyr@
2007-05-26first steps for implementing reload:Pierre-Yves Ritschard
* make parse_config allocate the hoststated function by itself * make as many sockets as necessary to talk to the relay children * add send_all for talking to all children with advise and ok reyk@
2007-04-12add a new relay 'path' action to filter the URL path and arguments.Reyk Floeter
ok pyr@
2007-03-21in addition to the host retry option in tables, add support for theReyk Floeter
optional connection "retry" to the forward to, service, and nat lookup options. for example, "nat lookup retry 3" is useful when running hoststated as a transparent proxy when connecting to unreliable frontend/backend servers. ok pyr@
2007-03-13allow to specify the IP_TTL and IP_MINTTL options for the relays toReyk Floeter
support the Generalized TTL Security Mechanism (GTSM) according to RFC 3682. this is especially useful with inbound connections and a fixed distance to the backend servers. ok pyr@
2007-03-07- fix the hoststatectl host disable/enable commands to work with relayReyk Floeter
layer 7 loadbalancing. - allow to run relays with tables without depending on services - show hosts and tables assigned to relays in hoststatectl show commands ok pyr@ deraadt@ with some input from mcbride@
2007-03-06add support for handling simple HTTP cookies (no per-path/domainReyk Floeter
cookies yet), for example: cookie hash "JSESSIONID" tested by some people ok pyr@
2007-02-27in addition to actions on request headers, allow to define relayReyk Floeter
actions on response headers (the reply sent by backend HTTP servers). the default and slightly faster relay streaming mode will be used if no actions are defined. for example: response change "Server" to "OpenBSD-hoststated/4.1" ok pyr@
2007-02-26kill the ``use ssl'' directive for consistency across parser directives.Pierre-Yves Ritschard
another heads up for testers: you need to change configuration files. ok reyk@
2007-02-26remove HTTP and HTTPS tokens, makes for cleaner parser.Pierre-Yves Ritschard
reorder other rules as well. ok reyk@
2007-02-26solve some conflicts in the configuration parser.Pierre-Yves Ritschard
configuration will need to be updated as some directives have changed. manpage and examples bits coming up. ok reyk@
2007-02-26KNFPierre-Yves Ritschard
2007-02-26Change the ``virtual ip'' directive to ``virtual host''.Pierre-Yves Ritschard
You will need to update your configuration files accordingly. "just do it", reyk@
2007-02-24- allow to specify the SSL cipher suite and the SSL protocolsReyk Floeter
(as required by the PCI DSS) - increase the default listen backlog to 10, allow to modify the backlog as a per-protocol tcp option to improve the performance on busy systems (to get less connection failures on heavy load) - close the connection if SSL_accept returned an error - instead of logging _new_ relay sessions to syslog, log the sessions in relay_close() after they have been _finished_. this will allow to collect some additional information - add a new log keyword to log specified header/url entities (useful to track "bad guys" using many session ids or multiple user agents) - some minor fixes, manpage bits, and bump the copyright (by some reason, i didn't realize that we already have 2007...).
2007-02-22Add layer 7 functionality to hoststated used for layer 7Reyk Floeter
loadbalancing, SSL acceleration, general-purpose TCP relaying, and transparent proxying. see hoststated.conf(5) and my upcoming article on undeadly.org for details. ok to commit deraadt@ pyr@
2007-02-09unbreak the symset functionReyk Floeter
2007-02-08carefully check some return values and make lint happier. never passReyk Floeter
any truncated strings (table names/anchors/tags/...) to pf and the kernel. ok pyr@
2007-02-07add new "log (updates|all)" configuration option to log stateReyk Floeter
notifications after completed host checks. either only log the "updates" to new states or log "all" state notifications, even if the state didn't change. the log messages will be reported to syslog or to stderr if the daemon is running in foreground mode. ok claudio@ pyr@
2007-02-07remove unused functions and variables which have been copied fromReyk Floeter
ospfd(8) (can be re-imported later if required).
2007-02-07add the -D option to define macros on the command line (as found inReyk Floeter
bgpd(8), hostapd(8), ipsecctl(8), pfctl(8), ...).
2007-01-30small memleak plugged and style changes.Pierre-Yves Ritschard
ok reyk@
2007-01-29Add SSL support to hoststated.Pierre-Yves Ritschard
with help and OK reyk@ with help and advice by claudio@ and Srebrenko Sehic
2007-01-25return 0, not NULL in a function returning int.Niall O'Higgins
ok pyr@
2007-01-24Better handling of escaped CR-LF in the configuration file, commentingPierre-Yves Ritschard
them out was previously broken. This is needed for send/expect scripts. ok claudio@
2007-01-12eliminate duplicate tcp read/write code.Pierre-Yves Ritschard
ok claudio@, reyk@
2007-01-09Finish renaming hostated to hoststated.Pierre-Yves Ritschard
Note to testers: the user the daemon changes its id to is now _hoststated, don't forget to update master.passwd. ok reyk@
2007-01-09adapt to renameTheo de Raadt
2007-01-08do NOT use the regexp interface. it is way to complicated, error-proneReyk Floeter
and we don't know about all the possible security problems. change the check send/expect code to use the fnmatch(3) interface using shell globbing rules instead. this allows simple patterns like "220 * ESMTP*" or "SSH-[12].??-*". suggested by deraadt@ and otto@ ok Pierre-Yves Ritschard (pyr at spootnik dot org)
2007-01-08allow to use service names in addition to numerical port numbers inReyk Floeter
the configuration file, eg. "real port http". > From Pierre-Yves Ritschard (pyr at spootnik dot org) ok claudio@
2007-01-08the timeout values are not allowed to exceed the global interval (iReyk Floeter
figured this out while testing hostated against a stottering spamd where the send/expect timeout needs be > 10 seconds). also use another struct timeval to store the interval for easier handling in the code. ok Pierre-Yves Ritschard (pyr at spootnik dot org)
2007-01-08remove unused token.Reyk Floeter
2007-01-08add a generic send/expect check using regular expression (seeReyk Floeter
regex(3)). this allows to define additional checks for other TCP protocols. From Pierre-Yves Ritschard (pyr at spootnik dot org)
2007-01-03spacingReyk Floeter
2007-01-03allow the sticky-address option for round-robin pools.Reyk Floeter
From Pierre-Yves Ritschard (pyr at spootnik dot org)
2006-12-25fix the conversion from milliseconds to struct timeval, which usesReyk Floeter
seconds (tv_sec) and microseconds (tv_usec), but the code assumed seconds and milliseconds...
2006-12-25partial rewrite of the check_* routines to use libevent everywhereReyk Floeter
instead of nested select() calls and to handle the non-blocking sockets properly. From Pierre-Yves Ritschard (pyr at spootnik dot org) (with a little help by me)
2006-12-16typoMartin Reindl
2006-12-16spacingTheo de Raadt
2006-12-16knf, spacingReyk Floeter
please note that some editors will replace tabs with multiple spaces if you cut & paste code from other sections. please try to keep the tabs ;).