Re: SPDY fails
I don't see why it would fail, you could share a tcpdump capture of the TLS handshake? https://www.cloudshark.org/captures/c237da70245a 194.19.225.226 - client ip (latest Chrome) 213.175.75.10 - backend ip (spdy on port 88) 213.175.75.238 - haproxy rr
[PATCH] BUG/MINOR: server: move the directive #endif to the end of file
Hi Willy, Please check the attached for a minor bug fix. The commit log is as below: [PATCH] BUG/MINOR: server: move the directive #endif to the end of file If a source file includes proto/server.h twice or more, redefinition errors will be triggered for such inline functions as server_throttle_rate(), server_is_draining(), srv_adm_set_maint() and so on. Just move #endif directive to the end of file to solve this issue. -- Best Regards, Godbach From 4639eb27ae2dbe4cd047dcf30c51f9190195b1b5 Mon Sep 17 00:00:00 2001 From: Godbach nylzhao...@gmail.com Date: Mon, 28 Jul 2014 17:31:57 +0800 Subject: [PATCH] BUG/MINOR: server: move the directive #endif to the end of file If a source file includes proto/server.h twice or more, redefinition errors will be triggered for such inline functions as server_throttle_rate(), server_is_draining(), srv_adm_set_maint() and so on. Just move #endif directive to the end of file to solve this issue. Signed-off-by: Godbach nylzhao...@gmail.com --- include/proto/server.h |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/proto/server.h b/include/proto/server.h index 9893266..71c8b13 100644 --- a/include/proto/server.h +++ b/include/proto/server.h @@ -54,8 +54,6 @@ static void inline srv_set_sess_last(struct server *s) s-counters.last_sess = now.tv_sec; } -#endif /* _PROTO_SERVER_H */ - /* * Registers the server keyword list kwl as a list of valid keywords for next * parsing sessions. @@ -200,6 +198,8 @@ static inline void srv_adm_set_ready(struct server *s) srv_clr_admin_flag(s, SRV_ADMF_FMAINT); } +#endif /* _PROTO_SERVER_H */ + /* * Local variables: * c-indent-level: 8 -- 1.7.7
Re: Roadmap for 1.6
On 28 Jul 2014, at 11:54, Apollon Oikonomopoulos apoi...@debian.org wrote: If anyone has any comment / question / suggestion, as usual feel free to keep the discussion going on. Could I also add shared SSL session cache over multiple boxes (like stud), to aid SSL scalability behind LVS directors? It has been asked for before in the mailing list if I recall correctly. I believe the best way to go here is to do this with TLS Session Tickets. Twitter posted a good post about how they set this up: https://blog.twitter.com/2013/forward-secrecy-at-twitter I think HAProxy could add something very similar by allowing key rotation through the socket interface, much like how OCSP Stapling can now be done. This would allow for the creation of tickets and rotate them around a cluster of different loadbalancers without having to build a complicated and error prone session cache across multiple machines. — Regards, Dirkjan Bussink
RE: SPDY fails
Hi, I don't see why it would fail, you could share a tcpdump capture of the TLS handshake? https://www.cloudshark.org/captures/c237da70245a 194.19.225.226 - client ip (latest Chrome) 213.175.75.10 - backend ip (spdy on port 88) 213.175.75.238 - haproxy Looks ok as well (but the actual NPN selection is encrypted). Could you try: - just announcing spdy/3.1 via NPN, removing http/1.1 - escaping the dot in the acl { ssl_fc_npn -i spdy/3\.1 } - just announcing spdy/3 via NPN and selecting it in the ACL, removing spdy/3.1 and http/1.1 Regards, Lukas
Re: SPDY fails
Looks ok as well (but the actual NPN selection is encrypted). Could you try: - just announcing spdy/3.1 via NPN, removing http/1.1 Really confused now - I could swear I tried this one out before and it wasn't working. Now when I removed the http/1.1 the ssl_fc_npn contains spdy/3.1 and everything is ok. Thx for your time. rr
Re: [PATCH] Improve and simplify systemd-wrapper.
Hello, attached are the first two patches, one fixing the actual bug I encountered and one just tidying up the signal handling a little. More to come. Are they ok like this? Cheers, Conrad On 07/25/2014 11:04 AM, Conrad Hoffmann wrote: Hey, On 07/25/2014 08:31 AM, Willy Tarreau wrote: There was only one small bug really, but once I got going I thought i might as well simplify it a litle. I pulled everything out of the signal handlers, switched from signal() to sigaction(), got rid of global state and got rid of the wrapper exec()'ing itself (not sure if there was some reason for that, but it seems to be unneccessary). From what I remember, the purpose was to be able to upgrade the wrapper itself without having to kill it. Typically in order to apply changes like you just performed... So I think you should bring that feature back. Oh, right, I actually knew that before. Another proof of the importance of sometimes taking a step back. Also, I'll add a comment :) You cleanup patch is interesting but it does too many things at once for a single patch, I'd strongly prefer if you would cut it into pieces each addressing a specific issue. It would make the code more easily reviewable and would also help troubleshooting in the event it would cause any minor regression. Sounds very reasonable. I'll see if I can break it in chunks that would be independently revertable, although I think that may be difficult, but at least things will be easier to review and merge. Will get back soon! Conrad -- Conrad Hoffmann Traffic Engineer SoundCloud Ltd. | Rheinsberger Str. 76/77, 10115 Berlin, Germany Managing Director: Alexander Ljung | Incorporated in England Wales with Company No. 6343600 | Local Branch Office | AG Charlottenburg | HRB 110657B From 34ac06bae5856d28773a194e7d2b1ee508213c39 Mon Sep 17 00:00:00 2001 From: Conrad Hoffmann con...@soundcloud.com Date: Mon, 28 Jul 2014 23:22:43 +0200 Subject: [PATCH 1/2] Fix search for -p argument in systemd wrapper. Searching for the pid file in the list of arguments did not take flags without parameters into account, like e.g. -de. Because of this, the wrapper would use a different pid file than haproxy if such an argument was specified before -p. The new version can still yield a false positive for some crazy situations, like your config file name starting with -p, but I think this is as good as it gets without using getopt or some library. Signed-off-by: Conrad Hoffmann con...@soundcloud.com --- src/haproxy-systemd-wrapper.c | 7 ++- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/haproxy-systemd-wrapper.c b/src/haproxy-systemd-wrapper.c index ba07ebe..529b213 100644 --- a/src/haproxy-systemd-wrapper.c +++ b/src/haproxy-systemd-wrapper.c @@ -130,11 +130,8 @@ static void sigint_handler(int signum __attribute__((unused))) static void init(int argc, char **argv) { while (argc 1) { - if (**argv == '-') { - char *flag = *argv + 1; - --argc; ++argv; - if (*flag == 'p') -pid_file = *argv; + if ((*argv)[0] == '-' (*argv)[1] == 'p') { + pid_file = *(argv + 1); } --argc; ++argv; } -- 2.0.2 From da798ecab739c6287290400c42d876f305a56174 Mon Sep 17 00:00:00 2001 From: Conrad Hoffmann con...@soundcloud.com Date: Mon, 28 Jul 2014 23:52:20 +0200 Subject: [PATCH 2/2] Improve signal handling in systmd wrapper. Move all code out of the signal handlers, since this is potentially dangerous. To make sure the signal handlers behave as expected, use sigaction() instead of signal(). That also obsoletes messing with the signal mask after restart. Signed-off-by: Conrad Hoffmann con...@soundcloud.com --- src/haproxy-systemd-wrapper.c | 37 - 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/src/haproxy-systemd-wrapper.c b/src/haproxy-systemd-wrapper.c index 529b213..90a94ce 100644 --- a/src/haproxy-systemd-wrapper.c +++ b/src/haproxy-systemd-wrapper.c @@ -22,6 +22,8 @@ #define SD_DEBUG 7 #define SD_NOTICE 5 +static volatile sig_atomic_t caught_signal; + static char *pid_file = /run/haproxy.pid; static int wrapper_argc; static char **wrapper_argv; @@ -103,7 +105,12 @@ static int read_pids(char ***pid_strv) return read; } -static void sigusr2_handler(int signum __attribute__((unused))) +static void signal_handler(int signum) +{ + caught_signal = signum; +} + +static void do_restart(void) { setenv(REEXEC_FLAG, 1, 1); fprintf(stderr, SD_NOTICE haproxy-systemd-wrapper: re-executing\n); @@ -111,7 +118,7 @@ static void sigusr2_handler(int signum __attribute__((unused))) execv(wrapper_argv[0], wrapper_argv); } -static void sigint_handler(int signum __attribute__((unused))) +static void do_shutdown(void) { int i, pid; char **pid_strv = NULL; @@ -147,25 +154,21 @@ int main(int argc, char **argv) --argc; ++argv; init(argc, argv); - signal(SIGINT, sigint_handler); - signal(SIGUSR2, sigusr2_handler); + struct sigaction sa; + memset(sa,
1 Jour 1 Offre : MIDLAND Intercom Moto Bluetooth
Offres exclusives sur les produits du site Allsportshop Version en ligne | Ajouter Allsportshop à votre carnet d’adresses MARDI 29 JUILLET VENDU PAR PAIRE ! Restez à l'écoute sur la route ! Communiquez en toute sécurité ! QUANTITÉ LIMITÉ (Dans la limite des stocks disponibles) (Casque intégral non inclus) ENTREPRISE FRANÇAISE SATISFAIT OU REMBOURSÉ PAIEMENT 100% SÉCURISÉ PAIEMENT PAYPAL PAIEMENT 3D SECURE ALLSPORTSHOP SUR FACEBOOK Pour être certain de bien recevoir nos messages, ajoutez Allsportshop dans votre carnet d’adresses. Veuillez me retirer de votre liste de diffusion
Abundante Almuerzo p/dos + bebida + café o cortado a solo 115 p..
( http://vo.mydplr.com/70423d458a41c615-790713f64c28ffce7d86a57cb94905f1 ) www.atualcanze.comOfertas de hoy en Mar del Plata( http://lt.mydplr.com/4ec3927d62f941881e746d15559b8bcb-790713f64c28ffce7d86a57cb94905f1 )preciodescuentoahorro$115.0054 %$135( http://lt.mydplr.com/4ec3927d62f941881e746d15559b8bcb-790713f64c28ffce7d86a57cb94905f1 )Mancora es una simpática esquina con su interior decorado con buen gusto e ingenio En esta ocasión podrás almorzar cómodamente… ( {{linkoferta}} )( http://lt.mydplr.com/f9ccc46c4abcb2040dbdffd8de7859c4-790713f64c28ffce7d86a57cb94905f1 )( http://lt.mydplr.com/4ec3927d62f941881e746d15559b8bcb-790713f64c28ffce7d86a57cb94905f1 )( http://lt.mydplr.com/6f7feae85f0d216b3a765e38acd8f664-790713f64c28ffce7d86a57cb94905f1 )preciodescuentoahorro$129.0019 %$31( http://lt.mydplr.com/6f7feae85f0d216b3a765e38acd8f664-790713f64c28ffce7d86a57cb94905f1 )( {{linkoferta}} )( http://lt.mydplr.com/f9ccc46c4abcb2040dbdffd8de7859c4-790713f64c28ffce7d86a57cb94905f1 )( http://lt.mydplr.com/6f7feae85f0d216b3a765e38acd8f664-790713f64c28ffce7d86a57cb94905f1 )( http://lt.mydplr.com/82e1507e31e35285ec9b559d6ed81b23-790713f64c28ffce7d86a57cb94905f1 )preciodescuentoahorro$99.0034 %$51( http://lt.mydplr.com/82e1507e31e35285ec9b559d6ed81b23-790713f64c28ffce7d86a57cb94905f1 )El gas pimienta Spray es un compuesto químico que irrita los ojos hasta el punto de causar lágrimas, dolor e… ( {{linkoferta}} )( http://lt.mydplr.com/f9ccc46c4abcb2040dbdffd8de7859c4-790713f64c28ffce7d86a57cb94905f1 )( http://lt.mydplr.com/82e1507e31e35285ec9b559d6ed81b23-790713f64c28ffce7d86a57cb94905f1 )( http://lt.mydplr.com/b4d8d578ebf6915bc6ee6e159f36c62c-790713f64c28ffce7d86a57cb94905f1 )preciodescuentoahorro$1500.0029 %$600( http://lt.mydplr.com/b4d8d578ebf6915bc6ee6e159f36c62c-790713f64c28ffce7d86a57cb94905f1 )Esta práctica y resistente escalera construida en aluminio liviana y duradera requiere mínimo mantenimiento y muy resistente al clima exterior,… ( {{linkoferta}} )( http://lt.mydplr.com/f9ccc46c4abcb2040dbdffd8de7859c4-790713f64c28ffce7d86a57cb94905f1 )( http://lt.mydplr.com/b4d8d578ebf6915bc6ee6e159f36c62c-790713f64c28ffce7d86a57cb94905f1 )( http://lt.mydplr.com/aa21c96064bf0c45471a4117b46845c6-790713f64c28ffce7d86a57cb94905f1 )preciodescuentoahorro$179.0067 %$371( http://lt.mydplr.com/aa21c96064bf0c45471a4117b46845c6-790713f64c28ffce7d86a57cb94905f1 )Protegé el interior de tu auto de los rayos solares y evitá accidentes. El Polarizado es perfecto para que tu… ( {{linkoferta}} )( http://lt.mydplr.com/f9ccc46c4abcb2040dbdffd8de7859c4-790713f64c28ffce7d86a57cb94905f1 )( http://lt.mydplr.com/aa21c96064bf0c45471a4117b46845c6-790713f64c28ffce7d86a57cb94905f1 )( http://lt.mydplr.com/024540144c3b454b7cf92718774cd1f4-790713f64c28ffce7d86a57cb94905f1 )preciodescuentoahorro$28.0030 %$12( http://lt.mydplr.com/024540144c3b454b7cf92718774cd1f4-790713f64c28ffce7d86a57cb94905f1 )Resultados de estudios científicos establecen que los aromas, pueden estimularnos, relajarnos, calmarnos, evocar sensaciones y seducirnos, esta es tu oportunidad… ( {{linkoferta}} )( http://lt.mydplr.com/f9ccc46c4abcb2040dbdffd8de7859c4-790713f64c28ffce7d86a57cb94905f1 )( http://lt.mydplr.com/024540144c3b454b7cf92718774cd1f4-790713f64c28ffce7d86a57cb94905f1 )( http://lt.mydplr.com/83b5ec10c93e005c45d066ceadb3e182-790713f64c28ffce7d86a57cb94905f1 )preciodescuentoahorro$79.0044 %$61( http://lt.mydplr.com/83b5ec10c93e005c45d066ceadb3e182-790713f64c28ffce7d86a57cb94905f1 )En el mundo, no lo neguemos, hay dos tipos de personas: los que hacen las cosas de la forma habitual,… ( {{linkoferta}} )( http://lt.mydplr.com/f9ccc46c4abcb2040dbdffd8de7859c4-790713f64c28ffce7d86a57cb94905f1 )( http://lt.mydplr.com/83b5ec10c93e005c45d066ceadb3e182-790713f64c28ffce7d86a57cb94905f1 )( http://lt.mydplr.com/0d9aa337d7276c08bd725a8ecc76e67f-790713f64c28ffce7d86a57cb94905f1 )preciodescuentoahorro$52.0035 %$28( http://lt.mydplr.com/0d9aa337d7276c08bd725a8ecc76e67f-790713f64c28ffce7d86a57cb94905f1 )La importancia de la peluquería para las mascotas, se basa en la higiene del animal y no sólo para él,… ( {{linkoferta}} )( http://lt.mydplr.com/f9ccc46c4abcb2040dbdffd8de7859c4-790713f64c28ffce7d86a57cb94905f1 )( http://lt.mydplr.com/0d9aa337d7276c08bd725a8ecc76e67f-790713f64c28ffce7d86a57cb94905f1 )( http://lt.mydplr.com/610cc915d327de2d9e521ce89d09965a-790713f64c28ffce7d86a57cb94905f1 )preciodescuentoahorro$690.0022 %$200( http://lt.mydplr.com/610cc915d327de2d9e521ce89d09965a-790713f64c28ffce7d86a57cb94905f1 )- Ajustable a 3 posiciones: chorro vertical, horizontal, redondo - Fácil de limpiar - Evite marcas de pintura en paredes… ( {{linkoferta}} )( http://lt.mydplr.com/f9ccc46c4abcb2040dbdffd8de7859c4-790713f64c28ffce7d86a57cb94905f1 )( http://lt.mydplr.com/610cc915d327de2d9e521ce89d09965a-790713f64c28ffce7d86a57cb94905f1 )(