summaryrefslogtreecommitdiff
path: root/usr.sbin/relayd/relayd.h
AgeCommit message (Collapse)Author
2007-12-20implement statistics for redirections, like the existing statisticsReyk Floeter
for relays. they can be viewed with the new "relayctl show redirects" command. (uses the previous change to pf_table.c to get the statistics) looks good pyr@
2007-12-08Rename everything which reffered to services refer to rdr for internalsPierre-Yves Ritschard
(for instance: rename struct service to struct rdr), refer to redirects otherwise (hoststatectl output). ok reyk@
2007-12-08some changes to the relayd.conf configuration language and grammar.Reyk Floeter
the tables will look more like pf tables, it is easier to re-use tables with different options, "services" will become "redirections" (they refer to rdr pf rules), sync configuration directives of redirect (l3, ex-service) relay (l7) sections (for example "virtual host" will become "listen on"), all target definitions will start with "forward to", etc. pp. (see relay.conf(5) and etc/relayd.conf) discussed with pyr and deraadt ok pyr@
2007-12-07hoststated gets renamed to relayd. easier to type, and actually saysReyk Floeter
what the daemon does - it is a relayer that pays attention to the status of pools of hosts; not a status checkers that happens to do some relaying
2007-11-26allow to add labels to protocol actions, they will be printed in httpReyk Floeter
error pages and can be used to refer to additional information. ok pyr@
2007-11-24extend the url lookup algorithm to match the full URL and differentReyk Floeter
possible suffix/prefix combinations by stripping subdomains, path components, and the query args. ok and tested by gilles@
2007-11-23re-implement the "mark" action and document it in the manpage:Reyk Floeter
it is possible to attach a mark to a session based on matching an entity (header, url, cookie, ...) and add conditional action for this mark. it works a bit like the tag/tagged keywords in pf, but i decided to pick a different name to avoid confusion. ok pyr@ gilles@
2007-11-22shuffle some structure elements; avoid using enums in *_config structs.Reyk Floeter
2007-11-22Fix relay roundrobin mode to work correctly when multiple hosts in aReyk Floeter
table are down. Thanks to Preston Norvell at serialssolutions dot com for reporting the problem.
2007-11-22add (new) "url" protocol action, this can be used to match/filter URLReyk Floeter
suffix/prefix expressions like "example.com/index.html?args". a digest mode allows to match against anonymized SHA1/MD5 digests of suffix/prefix expressions.
2007-11-21spacingReyk Floeter
2007-11-21move digest string handling into an extra function.Reyk Floeter
2007-11-21rename the "url" filter action to "query" to use the correct term.Reyk Floeter
please update your hoststated.conf configurations. also add more examples to the manpage. alright pyr@
2007-11-21allow the http digest type to be either SHA1 or MD5 determined by theReyk Floeter
digest string length; it is compatible to any existing SHA1-only configurations. ok pyr@ gilles@
2007-11-20it may be desirable to send a HTTP error page with error code and aReyk Floeter
meaningful message if a HTTP/HTTPS relay closes the connection for some reason. for example, a "403 Forbidden" if the request was rejected by a filter. this will be enabled with the "return error" option and is disabled by default, the standard behaviour is to silently drop the connection; the browser may display an empty page in this case. the look+feel of the HTTP error page can be customized with a CSS style sheet, but we do not intend to allow customization of the error page contents (hoststated is not a webserver!). ok pyr@
2007-11-20Allow overriding the global interval in a table.Pierre-Yves Ritschard
Table specific intervals must be multiples of the global interval. help and ok reyk@
2007-11-20bump table name size.Pierre-Yves Ritschard
ok reyk@
2007-11-19rework the internal handling of protocol actions a little bit:Reyk Floeter
- allow to use a key for multiple times by appending a queue of additional matches to the tree node. for example, this allows to specify multiple "expect" or "filter" actions to white-/black-list a list of HTTP-headers, URLs, .. - prevent specifing an HTTP header for multiple times when using the expect action. - minor code shuffling
2007-11-14make protos dynamic tooPierre-Yves Ritschard
2007-10-22load certificates text at parse time. then load them in relay processes.Pierre-Yves Ritschard
this separation will ease reload a bit more. ok reyk@ who spotted a stupid mistake again...
2007-10-19Move relays from static TAILQs to allocated ones.Pierre-Yves Ritschard
This syncs it with other hoststated entities and will make reload easier. This is step 1 out of 7 for reload.
2007-10-19Add the ability to schedule an immediate check through hoststatectl.Pierre-Yves Ritschard
Especially useful when interval is rather long. I was supposed to commit this before 4.2.
2007-10-12Silence some lint(1) warningsBret Lambert
ok pyr@
2007-10-05stylistic changes in the relay/relay_config structure.Reyk Floeter
2007-10-05using an enum in the imsg_hdr is gross, use a fixed u_int16_t insteadReyk Floeter
2007-10-02stop messing with lgetc to please hoststated's check/expect.Pierre-Yves Ritschard
instead move some of the logic in yylex and do hoststated specific translations into hoststated.c ok gilles@
2007-09-28Correct my mail address.Pierre-Yves Ritschard
2007-09-28Change the ssl_privsep code to work on char buffers.Pierre-Yves Ritschard
The fd based code introduced weirdness since all children were accessing the same fd at once. This will also greatly facilitate reloading, no fd-passing will be involved between the parent and relay children. While there, cleanup the code diverting from the original ssl_rsa.c code a bit more. Weird behavior discovery by pascoe@.
2007-09-27Simplify ssl_privsep.c, since it won't need to remain synced with thePierre-Yves Ritschard
equivalent openssl functions.
2007-09-25Introduce two new functions to be able to load certificates whilePierre-Yves Ritschard
already chrooted and with privileges dropped. This is the very first step in being able to reload a layer 7 configuration. not ok reyk who's away but should be glad to see this in.
2007-09-10add support for relaying DNS traffic (with a little bit of packetReyk Floeter
header randomization). this adds an infrastructure to support UDP-based protocols. ok gilles@, tested by some
2007-09-07add an interface to dump running relay sessions to the control socketReyk Floeter
2007-09-07remove unused flags field from the structureReyk Floeter
2007-09-07add a function to print delays in hours, minutes, and secondsReyk Floeter
2007-09-06rename relay_host to print_host in log.cReyk Floeter
2007-09-05store relay sessions in SPLAY trees instead of TAILQ lists. this willReyk Floeter
be used for faster lookups of sessions based on different criteria. ok pyr@
2007-09-05increase th maximum string size for the sslciphers from 32 to 768.Reyk Floeter
this unbreaks some configurations that worked when sslciphers was a dynamic charbuf. ok pyr@
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@