]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
MINOR: Add TO/FROM_SET flags to struct stream_interface
authorAman Gupta <aman@tmm1.net>
Tue, 3 Apr 2012 01:57:55 +0000 (18:57 -0700)
committerWilly Tarreau <w@1wt.eu>
Sat, 7 Apr 2012 07:17:26 +0000 (09:17 +0200)
[WT: it will make sense to remove SN_FRT_ADDR_SET and to use these
  flags everywhere instead ]

include/types/stream_interface.h
src/frontend.c
src/proto_tcp.c

index 8f35d643d862d13df43c123e99fe5b0cb31c78bd..dae36efdbd92da8433dc8bd78b30f9f55f758da1 100644 (file)
@@ -73,6 +73,8 @@ enum {
        SI_FL_INDEP_STR  = 0x0040,  /* independant streams = don't update rex on write */
        SI_FL_NOLINGER   = 0x0080,  /* may close without lingering. One-shot. */
        SI_FL_SRC_ADDR   = 0x1000,  /* get the source ip/port with getsockname */
+       SI_FL_TO_SET     = 0x2000,  /* addr.to is set */
+       SI_FL_FROM_SET   = 0x4000,  /* addr.from is set */
 };
 
 /* target types */
index 12dc2c8a0ea0b49b63193512b05f9a03944b9cad..35c3ef338ab8bf740c9ef09b8ff2ce60671a1e6a 100644 (file)
@@ -54,6 +54,7 @@ void get_frt_addr(struct session *s)
 
        if (get_original_dst(s->si[0].fd, (struct sockaddr_in *)&s->si[0].addr.to, &namelen) == -1)
                getsockname(s->si[0].fd, (struct sockaddr *)&s->si[0].addr.to, &namelen);
+       s->si[0].flags |= SI_FL_TO_SET;
        s->flags |= SN_FRT_ADDR_SET;
 }
 
index 63241966d971d5d4d5c089054a271316c4465b68..39ef26bb3e5613662c145f79ab9ecee95608db67 100644 (file)
@@ -443,6 +443,7 @@ int tcp_connect_server(struct stream_interface *si)
                if (getsockname(fd, (struct sockaddr *)&si->addr.from, &addrlen) == -1) {
                        Warning("Cannot get source address for logging.\n");
                }
+               si->flags |= SI_FL_FROM_SET;
        }
 
        fdtab[fd].owner = si;