Quantcast
Channel: Serverphorums.com - HAProxy
Viewing all 11674 articles
Browse latest View live

Re: resolvers - resolv.conf fallback

$
0
0
On Fri, Apr 06, 2018 at 04:50:54PM +0200, Lukas Tribus wrote:
> > Well, sometimes when you're debugging a configuration, it's nice to be
> > able to disable some elements. Same for those manipulating/building
> > configs by assembling elements and iteratively pass them through
> > "haproxy -c". That's exactly the reason why we relaxed a few checks in
> > the past, like accepting a frontend with no bind line or accepting a
> > backend with a "cookie" directive with no cookie on server lines. In
> > fact we could simply emit a warning when a resolvers section has no
> > resolver nor resolv.conf enabled, but at least accept to start.
>
> Understood; however in this specific case I would argue one would
> remove the "resolver" directive from the server-line(s), instead of
> dropping the nameservers from the global nameserver declaration.

No, because in order to do this, you also have to remove all references
on all "server" lines, which is quite a pain, and error-prone when you
want to reactivate them.

> Maybe a config warning would be a compromise for this case?

Yes, that's what I mentionned above, I'm all in favor of this given that
we can't objectively find a valid use case for an empty resolvers section
in production.

Cheers,
Willy

Re: Segfault on haproxy 1.7.10 with state file and slowstart

$
0
0
Hi Raghu,

On Wed, Mar 28, 2018 at 08:30:39PM +0000, Raghu Udiyar wrote:
> Hi Willy, Baptiste
>
> It looks like this was the intended behaviour as per the documentation. But
> it looks to be simple to enable the init-addr behaviour for IP addresses as
> well. Can you please review the attached patch, this is against devel.

Baptiste, I missed this one. Could you please take a look ?

Thanks,
Willy

Re: Fix building haproxy 1.8.5 with LibreSSL 2.6.4

$
0
0
Hi Andy,

On Sat, Mar 31, 2018 at 05:43:55PM +0300, Andy Postnikov wrote:
> I used to rework previous patch from Alpinelinux to build with latest
> stable libressl
> But found no way to run tests with openssl which is primary library as I see
> Is it possible to accept the patch upstream or get review on it?

It is probably correct, though I remember that some parts that you changed
used to be tricky with certain openssl versions, thus I'd like that Emeric
takes a look before merging this. And possibly Manu who uses BoringSSL,
which comes with its own set of incompatibilities :-)

CCing them now.

Thanks,
Willy

Re: [PATCH] server-template and allowed chars in the name

$
0
0
On Mon, Mar 26, 2018 at 03:42:32PM +0200, Frederic Lecaille wrote:
> I have no objection to accept your patch (have a look to the comments).

OK now merged, thanks guys.

Willy

Re: Haproxy 1.8.4 crashing workers and increased memory usage

$
0
0
Hi Robin,

On Fri, Apr 06, 2018 at 03:52:33PM +0200, Robin Geuze wrote:
> Hey Willy,
>
> I was actually the one that had the hunch to disable compression. I
> suspected that this was the issue because there was a bunch of "abort" calls
> in include/common/hathreads.h" which is used by the compression stuff.
> However I just noticed those aborts are actually only there if DEBUG_THREAD
> is defined which it doesn't seem to be for our build. So basically, I have
> no clue whatsoever why disabling compression fixes the bug.

At least I don't feel alone :-)

> I can see next week if we can make a build with slz instead of zlib (we seem
> to be linked against zlib/libz atm).

Thank you, I appreciate it!

Cheers,
Willy

[ANNOUNCE] haproxy-1.8.7

$
0
0
Subject: [ANNOUNCE] haproxy-1.8.7
To: haproxy@formilux.org

Hi,

HAProxy 1.8.7 was released on 2018/04/07. It added 2 new commits
after version 1.8.6.

I know it's very short after 1.8.6, but Thierry found that the cache
issue would still occasionally strike so I really wanted to knock it
down once for all. Finally, it can cause a crash when it cannot save
a response into the cache (eg due to a conflict), because of an
uninitialized field in this specific case, which explains why the
crash is much less frequent.

I preferred to issue a new version before everyone deploys 1.8.6 to
reduce the number of operations in production.

If you have already upgraded to 1.8.6 and are not using the cache,
you don't need to upgrade again.

Please find the usual URLs below :
Site index : http://www.haproxy.org/
Discourse : http://discourse.haproxy.org/
Sources : http://www.haproxy.org/download/1.8/src/
Git repository : http://git.haproxy.org/git/haproxy-1.8.git/
Git Web browsing : http://git.haproxy.org/?p=haproxy-1.8.git
Changelog : http://www.haproxy.org/download/1.8/src/CHANGELOG
Cyril's HTML doc : http://cbonte.github.io/haproxy-dconv/

Have all a nice week-end,
Willy
---
Complete changelog :
Thierry Fournier (1):
MINOR: servers: Support alphanumeric characters for the server templates names

Willy Tarreau (1):
BUG/MAJOR: cache: always initialize newly created objects

---

Re: Fix building haproxy 1.8.5 with LibreSSL 2.6.4

$
0
0
Hi Willy,
Alpine migrating to libressl 2.7 and there new patch added
https://github.com/alpinelinux/aports/commit/d32f982f0bbdfe3b902408920923d1d44ab88471
I did not test yet but this patch at least allowed haproxy to build without
errors

2018-04-06 20:12 GMT+03:00 Willy Tarreau <w@1wt.eu>:

> Hi Andy,
>
> On Sat, Mar 31, 2018 at 05:43:55PM +0300, Andy Postnikov wrote:
> > I used to rework previous patch from Alpinelinux to build with latest
> > stable libressl
> > But found no way to run tests with openssl which is primary library as I
> see
> > Is it possible to accept the patch upstream or get review on it?
>
> It is probably correct, though I remember that some parts that you changed
> used to be tricky with certain openssl versions, thus I'd like that Emeric
> takes a look before merging this. And possibly Manu who uses BoringSSL,
> which comes with its own set of incompatibilities :-)
>
> CCing them now.
>
> Thanks,
> Willy
>



--
*Andy Postnikov*, drupal consultant

dgo.to/@andypost
skype:andypost2005

Re: Fix building haproxy 1.8.5 with LibreSSL 2.6.4

$
0
0
I Andy

> Le 31 mars 2018 à 16:43, Andy Postnikov <apostnikov@gmail.com> a écrit :
>
> I used to rework previous patch from Alpinelinux to build with latest stable libressl
> But found no way to run tests with openssl which is primary library as I see
> Is it possible to accept the patch upstream or get review on it?
>
> <fix-libressl-1.8.5.patch>


@@ -2208,7 +2223,7 @@
#else
cipher = SSL_CIPHER_find(ssl, cipher_suites);
#endif
- if (cipher && SSL_CIPHER_get_auth_nid(cipher) == NID_auth_ecdsa) {
+ if (cipher && SSL_CIPHER_is_ECDSA(cipher)) {
has_ecdsa = 1;
break;
}

No, it’s a regression in lib compatibility.

++
Manu

Re: [ANNOUNCE] haproxy-1.8.7

$
0
0
Am 07.04.2018 um 00:39 schrieb Willy Tarreau:
> Subject: [ANNOUNCE] haproxy-1.8.7
> To: haproxy@formilux.org
>
> Hi,
>
> HAProxy 1.8.7 was released on 2018/04/07. It added 2 new commits
> after version 1.8.6.

Updated images:

https://hub.docker.com/r/me2digital/haproxy18/
https://hub.docker.com/r/me2digital/openshift-ocp-router-hap18/

> I know it's very short after 1.8.6, but Thierry found that the cache
> issue would still occasionally strike so I really wanted to knock it
> down once for all. Finally, it can cause a crash when it cannot save
> a response into the cache (eg due to a conflict), because of an
> uninitialized field in this specific case, which explains why the
> crash is much less frequent.
>
> I preferred to issue a new version before everyone deploys 1.8.6 to
> reduce the number of operations in production.
>
> If you have already upgraded to 1.8.6 and are not using the cache,
> you don't need to upgrade again.
>
> Please find the usual URLs below :
> Site index : http://www.haproxy.org/
> Discourse : http://discourse.haproxy.org/
> Sources : http://www.haproxy.org/download/1.8/src/
> Git repository : http://git.haproxy.org/git/haproxy-1.8.git/
> Git Web browsing : http://git.haproxy.org/?p=haproxy-1.8.git
> Changelog : http://www.haproxy.org/download/1.8/src/CHANGELOG
> Cyril's HTML doc : http://cbonte.github.io/haproxy-dconv/
>
> Have all a nice week-end,
> Willy
> ---
> Complete changelog :
> Thierry Fournier (1):
> MINOR: servers: Support alphanumeric characters for the server templates names
>
> Willy Tarreau (1):
> BUG/MAJOR: cache: always initialize newly created objects
>
> ---
>

Re: [ANNOUNCE] haproxy-1.8.7

$
0
0
On 08-04-2018 15:33, Aleksandar Lazic wrote:
> Am 07.04.2018 um 00:39 schrieb Willy Tarreau:
>> Subject: [ANNOUNCE] haproxy-1.8.7
>> To: haproxy@formilux.org
>>
>> Hi,
>>
>> HAProxy 1.8.7 was released on 2018/04/07. It added 2 new commits
>> after version 1.8.6.
>
> Updated images:
>
> https://hub.docker.com/r/me2digital/haproxy18/
> https://hub.docker.com/r/me2digital/openshift-ocp-router-hap18/

As have the centos rpm packages: https://haproxy.hongens.nl

Have a nice Sunday you all ;)


--

met vriendelijke groet,

Angelo Höngens

Re: resolvers - resolv.conf fallback

$
0
0
On Fri, Apr 6, 2018 at 4:54 PM, Willy Tarreau <w@1wt.eu> wrote:

> On Fri, Apr 06, 2018 at 04:50:54PM +0200, Lukas Tribus wrote:
> > > Well, sometimes when you're debugging a configuration, it's nice to be
> > > able to disable some elements. Same for those manipulating/building
> > > configs by assembling elements and iteratively pass them through
> > > "haproxy -c". That's exactly the reason why we relaxed a few checks in
> > > the past, like accepting a frontend with no bind line or accepting a
> > > backend with a "cookie" directive with no cookie on server lines. In
> > > fact we could simply emit a warning when a resolvers section has no
> > > resolver nor resolv.conf enabled, but at least accept to start.
> >
> > Understood; however in this specific case I would argue one would
> > remove the "resolver" directive from the server-line(s), instead of
> > dropping the nameservers from the global nameserver declaration.
>
> No, because in order to do this, you also have to remove all references
> on all "server" lines, which is quite a pain, and error-prone when you
> want to reactivate them.
>
> > Maybe a config warning would be a compromise for this case?
>
> Yes, that's what I mentionned above, I'm all in favor of this given that
> we can't objectively find a valid use case for an empty resolvers section
> in production.
>
> Cheers,
> Willy
>


Ok, so just to summarize:
- we should enable parsing of resolv.conf with a configuration statement in
the resolvers section
- only nameserver directives from resolv.conf will be parsed for now
- parsing of resolv.conf can be used in conjunction with nameserver
directives in the resolvers section
- HAProxy should emit a warning message when parsing a configuration which
has no resolv.conf neither nameserver directives enabled

Is that correct?

Baptiste

Re: DNS resolver and mixed case responses

$
0
0
On Fri, Apr 6, 2018 at 11:10 AM, Dennis Jacobfeuerborn <
dennisml@conversis.de> wrote:

> On 04.04.2018 16:30, Tim Düsterhus wrote:
> > Dale,
> >
> > Am 03.04.2018 um 16:17 schrieb Dale Smith:
> >> I'm trying to understand what system is at fault here; the DNS server
> for
> >> not responding with the same case as the query, or HAProxy which
> >> should be
> >> performing a case insensitive match.
> >
> > This is left unspecified in the standards, but on the other hand there
> > is this Internet Draft:
> > https://tools.ietf.org/html/draft-vixie-dnsext-dns0x20-00 which wants to
> > mandate case preserval to make DNS spoofing harder by introducing more
> > entropy in the DNS request.
> >
> > I recommend to fix your internal DNS server, because case preserving
> > behaviour seems to be somewhat expected according to a quick Google
> search.
>
> There is this:
>
> Domain Name System (DNS) Case Insensitivity Clarification:
> https://tools.ietf.org/html/rfc4343#section-3.1
>
> In section 3 it says this:
>
> 3. Name Lookup, Label Types, and CLASS
>
> According to the original DNS design decision, comparisons on name
> lookup for DNS queries should be case insensitive [STD13]. That is
> to say, a lookup string octet with a value in the inclusive range
> from 0x41 to 0x5A, the uppercase ASCII letters, MUST match the
> identical value and also match the corresponding value in the
> inclusive range from 0x61 to 0x7A, the lowercase ASCII letters. A
> lookup string octet with a lowercase ASCII letter value MUST
> similarly match the identical value and also match the corresponding
> value in the uppercase ASCII letter range.
>
> (Historical note: The terms "uppercase" and "lowercase" were invented
> after movable type. The terms originally referred to the two font
> trays for storing, in partitioned areas, the different physical type
> elements. Before movable type, the nearest equivalent terms were
> "majuscule" and "minuscule".)
>
> This reads to me like HAProxy should match characters in the ranges 0x41
> to 0x5A and 0x61 to 0x7A insensitively as long as the label type is ASCII..
>
> Section 4.1 "DNS Output Case Preservation" mentions this: "No "case
> conversion" or "case folding" is done during such output operations,
> thus "preserving" case."
>
> Regrads,
> Dennis
>
>
Hi All,

Let me ask some advices to our friends of PowerDNS :)

Baptiste

Re: DNS resolver and mixed case responses

Re: Haproxy 1.8.4 crashing workers and increased memory usage

$
0
0
Hey Willy,

So I made a build this morning with libslz and re-enabled compression
and within an hour we had the exit code 134 errors, so zlib does not
seem to be the problem here.

Regards,

Robin Geuze


On 4/7/2018 00:30, Willy Tarreau wrote:
> Hi Robin,
>
> On Fri, Apr 06, 2018 at 03:52:33PM +0200, Robin Geuze wrote:
>> Hey Willy,
>>
>> I was actually the one that had the hunch to disable compression. I
>> suspected that this was the issue because there was a bunch of "abort" calls
>> in include/common/hathreads.h" which is used by the compression stuff.
>> However I just noticed those aborts are actually only there if DEBUG_THREAD
>> is defined which it doesn't seem to be for our build. So basically, I have
>> no clue whatsoever why disabling compression fixes the bug.
> At least I don't feel alone :-)
>
>> I can see next week if we can make a build with slz instead of zlib (we seem
>> to be linked against zlib/libz atm).
> Thank you, I appreciate it!
>
> Cheers,
> Willy

Re: Haproxy 1.8.4 crashing workers and increased memory usage

$
0
0
can you try thread sanitizer (in real time)?

https://github.com/google/sanitizers/wiki#threadsanitizer


I'd like to try myself, however, we do not observe bad things in our
environment

2018-04-09 13:24 GMT+05:00 Robin Geuze <robing@transip.nl>:

> Hey Willy,
>
> So I made a build this morning with libslz and re-enabled compression and
> within an hour we had the exit code 134 errors, so zlib does not seem to be
> the problem here.
>
> Regards,
>
> Robin Geuze
>
>
>
> On 4/7/2018 00:30, Willy Tarreau wrote:
>
>> Hi Robin,
>>
>> On Fri, Apr 06, 2018 at 03:52:33PM +0200, Robin Geuze wrote:
>>
>>> Hey Willy,
>>>
>>> I was actually the one that had the hunch to disable compression. I
>>> suspected that this was the issue because there was a bunch of "abort"
>>> calls
>>> in include/common/hathreads.h" which is used by the compression stuff.
>>> However I just noticed those aborts are actually only there if
>>> DEBUG_THREAD
>>> is defined which it doesn't seem to be for our build. So basically, I
>>> have
>>> no clue whatsoever why disabling compression fixes the bug.
>>>
>> At least I don't feel alone :-)
>>
>> I can see next week if we can make a build with slz instead of zlib (we
>>> seem
>>> to be linked against zlib/libz atm).
>>>
>> Thank you, I appreciate it!
>>
>> Cheers,
>> Willy
>>
>
>
>

Re: Haproxy 1.8.4 crashing workers and increased memory usage

$
0
0
Hey,

Won't that be a bit pointless since we don't use threads?

Regards,

Robin Geuze


On 4/9/2018 10:31, Илья Шипицин wrote:
> can you try thread sanitizer (in real time)?
>
> https://github.com/google/sanitizers/wiki#threadsanitizer
>
>
> I'd like to try myself, however, we do not observe bad things in our
> environment
>
> 2018-04-09 13:24 GMT+05:00 Robin Geuze <robing@transip.nl
> <mailto:robing@transip.nl>>:
>
> Hey Willy,
>
> So I made a build this morning with libslz and re-enabled
> compression and within an hour we had the exit code 134 errors, so
> zlib does not seem to be the problem here.
>
> Regards,
>
> Robin Geuze
>
>
>
> On 4/7/2018 00:30, Willy Tarreau wrote:
>
> Hi Robin,
>
> On Fri, Apr 06, 2018 at 03:52:33PM +0200, Robin Geuze wrote:
>
> Hey Willy,
>
> I was actually the one that had the hunch to disable
> compression. I
> suspected that this was the issue because there was a
> bunch of "abort" calls
> in include/common/hathreads.h" which is used by the
> compression stuff.
> However I just noticed those aborts are actually only
> there if DEBUG_THREAD
> is defined which it doesn't seem to be for our build. So
> basically, I have
> no clue whatsoever why disabling compression fixes the bug.
>
> At least I don't feel alone :-)
>
> I can see next week if we can make a build with slz
> instead of zlib (we seem
> to be linked against zlib/libz atm).
>
> Thank you, I appreciate it!
>
> Cheers,
> Willy
>
>
>
>

[PATCH] BUG/MEDIUM: threads: Fix the max/min calculation because of name clashes

$
0
0
Hi,

This patch fixes a bug affecting HAProxy compiled with gcc < 4.7 (with
threads). It must be merged in 1.8.

Thanks,
--
Christopher Faulet

Only start on CentOS7 in debug...

$
0
0
Hi,


I've downloaded and compiled haproxy version 1.8.7 on CentOS7

(make TARGET=linux2628 USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1)


The proxy only starts as it should be if I add the "-d"


My haproxy.service


[Unit]

Description=HAProxy Load Balancer

After=syslog.target network.target


[Service]

EnvironmentFile=/etc/sysconfig/haproxy

ExecStart=/usr/sbin/haproxy -d -f /etc/haproxy/haproxy.cfg -p /run/haproxy.pid $OPTIONS

ExecReload=/bin/kill -USR2 $MAINPID

KillMode=mixed


[Install]

WantedBy=multi-user.target


"/usr/lib/systemd/system/haproxy.service" 12L, 303C

OK -> with -d
---------

Apr 09 20:43:32 haproxy.doom.be haproxy[3935]: epoll : pref=300, test result OK

Apr 09 20:43:32 haproxy.doom.be haproxy[3935]: poll : pref=200, test result OK

Apr 09 20:43:32 haproxy.doom.be haproxy[3935]: select : pref=150, test result FAILED

Apr 09 20:43:32 haproxy.doom.be haproxy[3935]: Total: 3 (2 usable), will use epoll.

Apr 09 20:43:32 haproxy.doom.be haproxy[3935]: Available filters :

Apr 09 20:43:32 haproxy.doom.be haproxy[3935]: [SPOE] spoe

Apr 09 20:43:32 haproxy.doom.be haproxy[3935]: [COMP] compression

Apr 09 20:43:32 haproxy.doom.be haproxy[3935]: [TRACE] trace

Apr 09 20:43:32 haproxy.doom.be haproxy[3935]: Proxy http_back started.

Apr 09 20:43:32 haproxy.doom.be haproxy[3935]: Proxy http_back started.

I can see the stats and the requests are forwarded to the first server...(second is not yet configured)


NOK -> without -d

------

Apr 09 20:46:38 haproxy.doom.be systemd[1]: Stopping HAProxy Load Balancer....

Apr 09 20:46:38 haproxy.doom.be systemd[1]: Started HAProxy Load Balancer.

Apr 09 20:46:38 haproxy.doom.be systemd[1]: Starting HAProxy Load Balancer....


global
log /dev/log local0
log /dev/log local1 notice
chroot /var/lib/haproxy
stats timeout 30s
user haproxy
#group haproxy
daemon

defaults
log global
mode http
option httplog
option dontlognull
timeout connect 5000
timeout client 50000
timeout server 50000

frontend http_front
bind *:80
stats uri /haproxy?stats
default_backend http_back

backend http_back
balance roundrobin
server BERT 10.10.8.30:80 check
server ERNIE 10.10.8.31:80 check
"/etc/haproxy/haproxy.cfg" 27L, 504C


Thanks
Geert

Re: Only start on CentOS7 in debug...

$
0
0
Hi Geert.

Am 09.04.2018 um 20:54 schrieb Geert Van Muylem:
> Hi,
>
>
> I've downloaded and compiled haproxy version 1.8.7 on CentOS7
>
> (make TARGET=linux2628 USE_PCRE=1 USE_OPENSSL=1 USE_ZLIB=1)
>
>
> The proxy only starts as it should be if I add the "-d"
>
> My haproxy.service
>
>
> [Unit]
> Description=HAProxy Load Balancer
> After=syslog.target network.target
>
> [Service]
> EnvironmentFile=/etc/sysconfig/haproxy
> ExecStart=/usr/sbin/haproxy -d -f /etc/haproxy/haproxy.cfg -p
> /run/haproxy.pid $OPTIONS
> ExecReload=/bin/kill -USR2 $MAINPID
> KillMode=mixed
>
> [Install]
> WantedBy=multi-user.target
> "/usr/lib/systemd/system/haproxy.service" 12L, 303C

https://cbonte.github.io/haproxy-dconv/1.8/management.html#3

I suggest to use `-db` instead of `-d` , but what's the reason why you
don't try the included systemd file?

http://git.haproxy.org/?p=haproxy-1.8.git;a=blob;f=contrib/systemd/haproxy.service.in;h=7a8b6bead2df23bc4e16e8edddfd0aacde454572;hb=HEAD

There is also a nice Makefile to create a working systemd file ;-)

http://git.haproxy.org/?p=haproxy-1.8.git;a=tree;f=contrib/systemd;hb=HEAD

Regards
Aleks

> OK -> with -d
> ---------
>
> Apr 09 20:43:32 haproxy.doom.be haproxy[3935]: epoll : pref=300,  test
> result OK
>
> Apr 09 20:43:32 haproxy.doom.be haproxy[3935]: poll : pref=200,  test
> result OK
>
> Apr 09 20:43:32 haproxy.doom.be haproxy[3935]: select : pref=150,  test
> result FAILED
>
> Apr 09 20:43:32 haproxy.doom.be haproxy[3935]: Total: 3 (2 usable), will
> use epoll.
>
> Apr 09 20:43:32 haproxy.doom.be haproxy[3935]: Available filters :
>
> Apr 09 20:43:32 haproxy.doom.be haproxy[3935]: [SPOE] spoe
>
> Apr 09 20:43:32 haproxy.doom.be haproxy[3935]: [COMP] compression
>
> Apr 09 20:43:32 haproxy.doom.be haproxy[3935]: [TRACE] trace
>
> Apr 09 20:43:32 haproxy.doom.be haproxy[3935]: Proxy http_back started.
>
> Apr 09 20:43:32 haproxy.doom.be haproxy[3935]: Proxy http_back started.
>
> I can see the stats and the requests are forwarded to the first
> server...(second is not yet configured)
>
>
> NOK -> without -d
>
> ------
>
> Apr 09 20:46:38 haproxy.doom.be systemd[1]: Stopping HAProxy Load
> Balancer...
>
> Apr 09 20:46:38 haproxy.doom.be systemd[1]: Started HAProxy Load Balancer.
>
> Apr 09 20:46:38 haproxy.doom.be systemd[1]: Starting HAProxy Load
> Balancer...
>
>
>
> global
>    log /dev/log local0
>    log /dev/log local1 notice
>    chroot /var/lib/haproxy
>    stats timeout 30s
>    user haproxy
>    #group haproxy
>    daemon
>
> defaults
>    log global
>    mode http
>    option httplog
>    option dontlognull
>    timeout connect 5000
>    timeout client 50000
>    timeout server 50000
>
> frontend http_front
>    bind *:80
>    stats uri /haproxy?stats
>    default_backend http_back
>
> backend http_back
>    balance roundrobin
>    server BERT 10.10.8.30:80 check
>    server ERNIE 10.10.8.31:80 check
> "/etc/haproxy/haproxy.cfg" 27L, 504C
>
>
> Thanks
> Geert

RE: MODEX 2018 Attendees List

$
0
0
Hi,



Hope you doing well.



This follow email is to check if you had a chance to review my previous
email sent which explains about our list services and others for new
business prospects.



I would really appreciate if you can reply with your questions or queries.



Thanks and I look forward to your response.



Best Regards

Macy



From: Macy Armando [mailto:macy.armando@targetedleadboosters.com]
Sent: Monday, April 02, 2018 12:20 PM
To: 'haproxy@formilux.org'
Subject: MODEX 2018 Attendees List



Hi,



Would you be interested in acquiring the MODEX 2018 Attendees List for your
marketing and promotion activities?



When: 09 - 12 April 2018

Where: Atlanta, GA, USA

Number of attendees: 22,145 Confirmed Attendees.



Attendees Lists include:- Company Name, Contact Name, Title, Address, Web
Site, Phone Number, Fax Number, Verified E-mail Address, Employee Size,
Revenue size, SIC Code, Industry Type, NAICS Code, E-mail verification
result.



Please let me know your interest, so that i could send you the pricing.



Thank you and I look forward to hear from you.



Regards,

Macy Armando

Marketing Consultant



To opt out, please reply with Leave Out in the Subject Line
Viewing all 11674 articles
Browse latest View live