summaryrefslogtreecommitdiff
path: root/usr.sbin/relayd/relayd.h
AgeCommit message (Collapse)Author
2007-06-18we're going to need more room for flags (again).Pierre-Yves Ritschard
promote the field to u_int32_t. no impact on hoststatectl.
2007-06-12put the fd passing from bgpd back in to hoststated's version of imsg,Mathieu Sauve-Frankel
needed for layer 7 reload support. ok pyr@
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-29allow the control handling code to send messages back to the parent.Pierre-Yves Ritschard
forward IMSG_CTL_RELOAD which ends up not doing anything for now.
2007-05-29put the reload imsg types in right now. it makes my life easier.Pierre-Yves Ritschard
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-28another small step towards hoststated reloading.Pierre-Yves Ritschard
allow purging of parts of the hoststated environment structure. start using this function now to only keep vital information in hoststated children processes. ok reyk@
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-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-04-10move the decoding of the URL, independent from the node lookups, weReyk Floeter
will need it later.
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-17move some elements in the relay imsg ctl structures (just for the style)Reyk Floeter
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-05do not strip the header for expect, hash, and log actions.Reyk Floeter
since we have a tristate in relay_handle_http(), use nicer return codes defined to make it better readble (no function change).
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-26handle requests with chunked transfer-encoding.Reyk Floeter
2007-02-26improve the relay bufferevent handler if one side closed the connectionReyk Floeter
2007-02-26re-use the retry value from table host entries for inbound relayReyk Floeter
connections. the relay will retry to connect to the hosts for the specified number of times. this sounds bad, but is a useful "workaround" for unreliable backend servers...
2007-02-25remove unused variableReyk Floeter
2007-02-24disable anonymous DH by default (cipher suite HIGH:!ADH instead of HIGH).Reyk Floeter
2007-02-24disable SSLv2 and use "HIGH" crypto cipher suites by default.Reyk Floeter
suggested by dlg@
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-23knfTheo de Raadt
2007-02-22spacingReyk Floeter
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-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-02-06now that check_http_code, check_http_digest and check_send_expect arePierre-Yves Ritschard
in check_tcp.c, prototype them in check_tcp.c ok reyk@
2007-02-06declare the function ssl_error() globallyReyk Floeter
2007-02-06inform hoststatectl monitor of ruleset changes and table syncs.Pierre-Yves Ritschard
ok reyk@
2007-02-01add a monitor mode to hoststatectl to continuously report changes inPierre-Yves Ritschard
hoststated. ok reyk@, "looks nice and clean" niallo@
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-12use an u_int16_t for flags, the u_int8_t was getting too small.Pierre-Yves Ritschard
ok reyk@
2007-01-12eliminate duplicate tcp read/write code.Pierre-Yves Ritschard
ok claudio@, reyk@
2007-01-11use real async events for checks and improve the non-blocking socketReyk Floeter
usage. also modify the check_icmp code to use non-blocking raw sockets and merge the icmp4 and icmp6 functions. some other minor changes while i'm here. as discussed with pyr@ claudio@ deraadt@ ok pyr@
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-09use the correct buffer sizes.Reyk Floeter
(this code needs some more work to implement a better icmp handling, but this will fix a serious bug for now)
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-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-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-26Add missing $OpenBSD$Jonathan Gray
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)