~ubuntu-branches/ubuntu/saucy/haproxy/saucy

« back to all changes in this revision

Viewing changes to src/stream_sock.c

  • Committer: Package Import Robot
  • Author(s): Vincent Bernat, Apollon Oikonomopoulos, Vincent Bernat, Prach Pongpanich
  • Date: 2013-05-06 20:02:14 UTC
  • mfrom: (1.1.13) (14.1.1 sid)
  • Revision ID: package-import@ubuntu.com-20130506200214-21m58va04oazl7ot
Tags: 1.4.23-1
[ Apollon Oikonomopoulos ]
* New upstream version (Closes: #643650, #678953)
   + This fixes CVE-2012-2942 (Closes: #674447)
   + This fixes CVE-2013-1912 (Closes: #704611)
* Ship vim addon as vim-haproxy (Closes: #702893)
* Check for the configuration file after sourcing /etc/default/haproxy
  (Closes: #641762)
* Use /dev/log for logging by default (Closes: #649085)

[ Vincent Bernat ]
* debian/control:
   + add Vcs-* fields
   + switch maintenance to Debian HAProxy team. (Closes: #706890)
   + drop dependency to quilt: 3.0 (quilt) format is in use.
* debian/rules:
   + don't explicitly call dh_installchangelog.
   + use dh_installdirs to install directories.
   + use dh_install to install error and configuration files.
   + switch to `linux2628` Makefile target for Linux.
* debian/postrm:
   + remove haproxy user and group on purge.
* Ship a more minimal haproxy.cfg file: no `listen` blocks but `global`
  and `defaults` block with appropriate configuration to use chroot and
  logging in the expected way.

[ Prach Pongpanich ]
* debian/copyright:
   + add missing copyright holders
   + update years of copyright
* debian/rules:
   + build with -Wl,--as-needed to get rid of unnecessary depends
* Remove useless files in debian/haproxy.{docs,examples}
* Update debian/watch file, thanks to Bart Martens

Show diffs side-by-side

added added

removed removed

Lines of Context:
341
341
                                b->flags &= ~BF_OUT_EMPTY;
342
342
                        }
343
343
 
344
 
                        if (fdtab[fd].state == FD_STCONN)
 
344
                        if (fdtab[fd].state == FD_STCONN) {
345
345
                                fdtab[fd].state = FD_STREADY;
 
346
                                si->exp = TICK_ETERNITY;
 
347
                        }
346
348
 
347
349
                        b->flags |= BF_READ_PARTIAL;
348
350
 
620
622
                                send_flag &= ~MSG_MORE;
621
623
 
622
624
                        ret = send(si->fd, b->w, max, send_flag);
623
 
 
624
 
                        /* Always clear both flags once everything has been sent */
625
 
                        if (ret == max)
626
 
                                b->flags &= ~(BF_EXPECT_MORE | BF_SEND_DONTWAIT);
627
625
                } else {
628
626
                        int skerr;
629
627
                        socklen_t lskerr = sizeof(skerr);
636
634
                }
637
635
 
638
636
                if (ret > 0) {
639
 
                        if (fdtab[si->fd].state == FD_STCONN)
 
637
                        if (fdtab[si->fd].state == FD_STCONN) {
640
638
                                fdtab[si->fd].state = FD_STREADY;
 
639
                                si->exp = TICK_ETERNITY;
 
640
                        }
641
641
 
642
642
                        b->flags |= BF_WRITE_PARTIAL;
643
643
 
655
655
 
656
656
                        b->send_max -= ret;
657
657
                        if (!b->send_max) {
 
658
                                /* Always clear both flags once everything has been sent, they're one-shot */
 
659
                                b->flags &= ~(BF_EXPECT_MORE | BF_SEND_DONTWAIT);
658
660
                                if (likely(!b->pipe))
659
661
                                        b->flags |= BF_OUT_EMPTY;
660
662
                                break;
740
742
                         */
741
743
                        b->flags |= BF_WRITE_NULL;
742
744
                        fdtab[fd].state = FD_STREADY;
 
745
                        si->exp = TICK_ETERNITY;
743
746
                }
744
747
 
745
748
                /* Funny, we were called to write something but there wasn't