Votre croisière offerte - Essayez gratuitement vos vacances

2011-09-13 Thread Tourisme fluvial
Untitled Document











 Reacute;servez vos vacances fluviales pour 2012 deacute;s maintenant
et beacute;neacute;ficiez

d'une croisiegrave;re offerte (week-end ou mini-semaine)  en France en
2011 ou 2012 *

Comment ccedil;a marche ?

1 - Vous reacute;servez votre seacute;jour pour 2012 avant le 25
septembre 2011 Le seacute;jour, d'une semaine minimum, doit ecirc;tre
compris entre le 7 avril et le 30 septembre 2012

2 - Nous vous offrons une croisiegrave;re en week-end ou mini-semaine
pour un seacute;jour entre le 25 septembre et le 3 novembre 2011 ou
entre le 24 mars et le 6 avril 2012

 * Dans la limite des stocks disponibles, regrave;glement du premier
seacute;jour dont le montant sera deacute;duit du deuxiegrave;me
seacute;jour, en cas d'annulation non remboursement du premier
seacute;jour. Offre non reacute;troactive, gratuiteacute; de la
croisiegrave;re hors frais de carburant

De plus beacute;neficiez d'une remise de 10 % Early Booking cumulable
avec les autres remises dans la limite des 15% pour la
reacute;servation de votre seacute;jour 2012

 ou via notre formulaire en ligne

 Code promo agrave; nous communiquer

Au deacute;part de la Bourgogne (Pontailler-sur-Saocirc;ne, Digoin,
Chacirc;tillon en Bazois, Coulanges sur Yonne, Louhans), du Canal du
Midi (Agde, Carcassonne, Homps), de la Camargue (Carnon), d'Alsace
(Hochfelden), de la Mayenne (Daon), de la Charente (Cognac), de
l'Aquitaine (Damazan) et du Lot (Luzech)



Le tourisme fluvial, des vacances en bateau habitable sans permis,
enfin des vacances originales !

Deacute;couvrez le concept, nos bateaux et nos bases sur
www.france-passion-plaisance.fr



 CATALOGUE 2011

- Visualiser en ligne

- Teacute;leacute;charger

- Tarifs 2011

- Commandez gratuitement votre brochure papier  (envoi par courrier)

 Suivez notre actualiteacute; et nos promos sur :









France Passion Plaisance / Les Canalous - BP 89 - 71602 Paray-le-Monial
Cedex - France Teacute;l : 03 85 53 76 70 (appel non surtaxeacute;) -
cont...@france-passion-plaisance.fr

Retrouvez notre brochure sur : www.france-passion-plaisance.fr



Re: malloc chunk_info diff

2011-09-13 Thread Tobias Ulmer
No visible issues on sparc64 running src, x and ports bulk builds



relayd http chunked encoding fix

2011-09-13 Thread Alexander Bluhm
Hi,

I found strange behavior in relayd when it comes to content-length
and transfer-encoding chunked.

When the server sends a Content-Length: 0 relayd got confused and
passed all data without reading the http header anymore.  To fix
this, I need more state and converted toread from size_t to off_t
to use negative values.  The content length is more a stream length
than memory size so I think 64 bit is more appropriate.  It is also
the same type as the splicing length and I want to use that in the
future.

The chunking code did not look rfc compliant to me.  So I did a
rewrite of that.  There I also need more state in toread to handle
it correctly.

ok?

bluhm


Index: usr.sbin/relayd/relay.c
===
RCS file: /data/mirror/openbsd/cvs/src/usr.sbin/relayd/relay.c,v
retrieving revision 1.141
diff -u -p -r1.141 relay.c
--- usr.sbin/relayd/relay.c 4 Sep 2011 20:26:58 -   1.141
+++ usr.sbin/relayd/relay.c 13 Sep 2011 23:09:32 -
@@ -1090,17 +1090,17 @@ relay_read_httpcontent(struct buffereven
if (gettimeofday(con-se_tv_last, NULL) == -1)
goto fail;
size = EVBUFFER_LENGTH(src);
-   DPRINTF(%s: size %d, to read %d, __func__,
-   size, cre-toread);
+   DPRINTF(%s: size %d, to read %lld, __func__, size, cre-toread);
if (!size)
return;
if (relay_bufferevent_write_buffer(cre-dst, src) == -1)
goto fail;
-   if (size = cre-toread)
+   if (size = cre-toread) {
+   cre-toread = -1;
bev-readcb = relay_read_http;
-   cre-toread -= size;
-   DPRINTF(%s: done, size %d, to read %d, __func__,
-   size, cre-toread);
+   } else
+   cre-toread -= size;
+   DPRINTF(%s: done, size %d, to read %lld, __func__, size, cre-toread);
if (con-se_done)
goto done;
if (bev-readcb != relay_read_httpcontent)
@@ -1120,84 +1120,109 @@ relay_read_httpchunks(struct bufferevent
struct ctl_relay_event  *cre = (struct ctl_relay_event *)arg;
struct rsession *con = cre-con;
struct evbuffer *src = EVBUFFER_INPUT(bev);
-   char*line;
-   long lval;
+   char*line = NULL;
size_t   size;
 
if (gettimeofday(con-se_tv_last, NULL) == -1)
goto fail;
-   size = EVBUFFER_LENGTH(src);
-   DPRINTF(%s: size %d, to read %d, __func__,
-   size, cre-toread);
-   if (!size)
-   return;
 
-   if (!cre-toread) {
-   line = evbuffer_readline(src);
-   if (line == NULL) {
-   /* Ignore empty line, continue */
-   bufferevent_enable(bev, EV_READ);
-   return;
-   }
-   if (!strlen(line)) {
-   free(line);
-   goto next;
-   }
+   while size = EVBUFFER_LENGTH(src))  0  cre-toread  0) ||
+   (line = evbuffer_readline(src)) != NULL) 
+   bev-readcb == relay_read_httpchunks) {
+   DPRINTF(%s: size %d, to read %lld, line %p, __func__,
+   size, cre-toread, line);
+   switch (cre-toread) {
+   case -1:
+   /*
+* If the previous buffer terminated with '\r'
+* this buffer starts with '\n'.  Ignore this line.
+*/
+   if (strlen(line) == 0) {
+   free(line);
+   break;
+   }
 
-   /* Read prepended chunk size in hex, ingore the trailer */
-   if (sscanf(line, %lx, lval) != 1) {
-   free(line);
-   relay_close(con, invalid chunk size);
-   return;
-   }
+   /* Read prepended chunk size in hex */
+   if (sscanf(line, %llx, cre-toread) != 1 ||
+   cre-toread  0) {
+   free(line);
+   relay_close(con, invalid chunk-size);
+   return;
+   }
+   DPRINTF(%s: chunk-size, to read %lld, __func__,
+   cre-toread);
 
-   if (relay_bufferevent_print(cre-dst, line) == -1 ||
-   relay_bufferevent_print(cre-dst, \r\n) == -1) {
+   if (relay_bufferevent_print(cre-dst, line) == -1 ||
+   relay_bufferevent_print(cre-dst, \r\n) == -1) {
+   free(line);
+   goto fail;
+   }
free(line);
-   goto fail;
-   }
-