summaryrefslogtreecommitdiff
path: root/usr.sbin/relayd
AgeCommit message (Collapse)Author
2013-11-13handle msgbuf_write() returning EAGAINSebastian Benoit
2013-09-09Add support for ECDHE (Elliptic curve Diffie-Hellman) to enableReyk Floeter
TLS/SSL Perfect Forward Secrecy (PFS). ok djm@
2013-09-07update man page with the new default HIGH:!aNULLReyk Floeter
2013-09-07Change default ciphers to HIGH:!aNULL.Federico G. Schwindt
reyk@ ok
2013-09-04Handling of HTTP requests with a body like POST were broken inAlexander Bluhm
relayd. Instead of checking for the direction RELAY_DIR_RESPONSE, set toread to 0 if we don't expect a body. OK reyk@
2013-07-16use .Mt for email addresses; from Jan Stary <hans at stare dot cz>; ok jmc@Ingo Schwarze
2013-07-04have FILES format a bit better;Jason McIntyre
2013-06-29do not use Sx for sections outwith the page;Jason McIntyre
man4 still to go...
2013-06-02With HTTP keepalive, relayd only filtered the first request andReyk Floeter
switched to pass-through mode for subsequent requests from the client. Make sure to stay in HTTP header mode. ok benno@
2013-05-31unset cte->buf after free, fix double free via tcp_close().Sebastian Benoit
ok reyk@
2013-05-30Support SSL inspection, the ability to transparently filter in SSL/TLSReyk Floeter
connections (eg. HTTPS) by using a local CA that is accepted by the clients. See the "SSL RELAYS" and "EXAMPLES" sections in the relayd.conf(5) manpage for more details. ok benno@, manpage bits jmc@
2013-05-30Safari doesn't like HTTP/1.x in the generated error messages (return error),Reyk Floeter
so change it to HTTP/1.0. This also makes it RFC-compliant which only allows digits in the version number. ok bluhm@
2013-05-07- Add a simple check to prevent that the client-provided hex HTTP chunk sizeReyk Floeter
turns our signed input variable into a negative number. This prevents that a chunked HTTP connection could break its own state machine and turn into a stalled state. The bug doesn't harm other connections or relayd itself. - Use a 64bit variable to allow theoretical large chunks. - Fix a comment. ok tedu@
2013-04-27time_t 64bit fixes for relayd and relayctl:Sebastian Benoit
- fix statistics - set INT_MAX limit on session timeouts - make sure we dont use to large session timeouts in pf redirects and openssl tested with old and new time_t ok florian@
2013-04-20SSL_CTX_set_timeout only handles long for the delta timeval, so constrainTheo de Raadt
it with MIN and LONG_MAX. It is only an interval, so it is fine. suggestion by djm, ok benno
2013-04-20print large time_t nicely; ok bennoTheo de Raadt
2013-03-11handle ECONNABORTED errors from accept(). In many code blocks they can beTheo de Raadt
ignored silently and without aborting, much like EINTR and EWOULDBLOCK are. ok's from various maintainers of these directories...
2013-03-10This diff changes relayd to use the monotonic clock instead ofReyk Floeter
gettimeofday(). It was also bugging me for some time to have all these checks of gettimeofday()'s return value: it should not fail. So this diff introduces a void getmonotime(struct timeval *tv) that calls clock_gettime(CLOCK_MONOTONIC, &ts) and converts the output to a struct timeval that can be used with the existing code and the timeval-specific timer functions (timerclear, timersub, ...). It does not return a status but calls fatal() on error-that-should-not-happen. ok sthen@ chris@
2013-03-09Enable TCP socket splicing for HTTP persistent connection and chunkedAlexander Bluhm
transfer encoding. This speeds up relayd for more protocol modes by zero-copy TCP forwarding. OK reyk@ benno@
2013-03-04sync yyerror() with bgpd; use vlog() to log parser errors so they show inStuart Henderson
logs if they occur when reloading. ok benno@
2013-02-15Fix the toread check in the lateconnect case. This allowsAlexander Bluhm
Content-Length: 0 in HTTP GET request when a request filter is used. This was broken by my previous commit. OK reyk@ benno@
2013-02-05Rework http content and chunk handling in relayd. Use specialAlexander Bluhm
toread values to track the current http header or chunk state. This allows to handle an optional chunk trailer properly. Tracking the http state is also a prerequisite for splicing persistent http connections. OK and test reyk@ benno@
2013-01-29use correct function name in fatal error messageStuart Henderson
2013-01-22Only send a single CRLF between chunks. A second CRLF seemed to beReyk Floeter
optional, and it worked fine with Firefox, but it didn't work with some browsers/clients like Chrome or CURL that implement the specification strictly. See RFC 2616, Section 3.6.1, for more information about Chunked Transfer Encoding. ok bluhm@ benno@
2013-01-17Remove unnecessary pointer casts. No binary diff.Alexander Bluhm
OK benno@
2012-12-18reorder some variables and move large buffers to the top of the stack.Reyk Floeter
2012-12-18remove unused variableReyk Floeter
2012-12-18no nead to touch argv later since we don't support non-getopt arguments.Reyk Floeter
2012-12-18doin't complain if the child processes exited cleanly.Reyk Floeter
2012-12-18cnl is only allocated if F_NATLOOK was specified before, so skip theReyk Floeter
extra check for F_NATLOOK and check if cnl is not NULL only. no functional change, but this might make it clear that there is no and was no memleak here.
2012-12-18reorder the variables a bit, no functionaly change.Reyk Floeter
2012-11-29Fix white spaces in relayd. No binary diff.Alexander Bluhm
2012-11-27Add format attributes to the proper functions and then fix the warningsPhilip Guenthe
that gcc then reports when compiling with -DDEBUG=2 ok reyk@ benno@
2012-11-21strtonum() can only handle a maximum of LLONG_MAXSebastian Benoit
fixes bug reported by Bogdan Andu, thanks ok reyk@ deraadt@ sthen@
2012-10-19Support additional scheduling algorithms in the load balancer:Reyk Floeter
least-states, random, source-hash. least-states is currently only supported for redirections and the other ones are currently only supported by relays. ok benno@
2012-10-10Fix the hash http filter action to initialize the hash key correctly afterReyk Floeter
the multiple relay tables commit.
2012-10-04spacingReyk Floeter
2012-10-03Only show "inflight" debugging message if compiled with DEBUG > 1.Reyk Floeter
2012-10-03Inherit and pass the relay table flags correctly.Reyk Floeter
2012-10-03Support more than one relay backup table. Instead of duplicating theReyk Floeter
code for main and backup table all over the place, turn the relay tables into a list attached to the relay. This improves the code and allows some other tricks with multiple tables later.
2012-09-21file descriptor accounting for relays: track how many connections toSebastian Benoit
backend servers are unopened and reserve fds for them. ok reyk@, "don't wait" deraadt@
2012-09-20Move the HTTP code into an extra file to make future changes easier toReyk Floeter
follow. No functional changes, only one function got renamed. ok benno@
2012-09-19Copy the host id value to the ICMP echo payload in network byte order andReyk Floeter
in a nicer way that silences the compiler. ok benno@
2012-09-19Fix ICMP checks by setting the socklen correctly before calling recvfrom().Reyk Floeter
ok benno@
2012-09-18prio 0 is valid, therefore, I chose an "impossible" value for prio meaningHenning Brauer
"not set" and used a PF_PRIO_NOTSET define for it. now that means that everything that creates a struct pf_rule doesn't get away with bzero'ing it, which turned out to be not so nice. so get rid of PF_PRIO_NOTSET, instead, make a rule+state flag PFSTATE_SETPRIO which indicates wether the prio should be set. ok benno claudio mikeb
2012-09-17Fix relay statistics. Found and fix by Erik Lax (erik -at- halon -dot- se)Sebastian Benoit
ok reyk
2012-08-24- rfc 5082 replaces rfc 3682; ok claudioJason McIntyre
- flesh out SEE ALSO in bgpd.8 - fix a formatting warning in relayd.conf.5
2012-07-13after connect() returns EINPROGRESS the connection can still fail,Sebastian Benoit
so check with getsockopt if the socket is open. ok mikeb@
2012-07-09Allow relayd to handle transactions > 2GB in sizeTheo de Raadt
tested by snapshot users and benno for a while ok benno
2012-07-09need a private copy of nitems()Theo de Raadt