Re: [PATCH] BUG/MINOR: init: enforce strict-limits when using master-worker

2021-01-12 Thread William Dauchy
Hi Jerome,

On Tue, Jan 12, 2021 at 08:36:57PM +0100, Jerome Magnin wrote:
> From ca260ac46cd441ed4108cdef7b304b6c0baec68c Mon Sep 17 00:00:00 2001
> From: Jerome Magnin 
> Date: Tue, 12 Jan 2021 20:19:38 +0100
> Subject: [PATCH] BUG/MINOR: init: enforce strict-limits when using
>  master-worker
> 
> The strict-limits global option was introduced with commit 0fec3ab7b
> ("MINOR: init: always fail when setrlimit fails"). When used in
> conjuction with master-worker, haproxy will not fail when a setrlimit
> fails. This happens because we only exit() if master-worker isn't used.
> 
> This patch removes all tests for master-worker mode for all cases covered
> by strict-limits scope.
> 
> This should be backported from 2.1 onward.
> This should fix issue #1042.

just for the context we discussed in the issue:

this feature was originially implemented in a reload scenario where it
made the reload fail, without leaving the master worker.
I completely overlooked the start and I agree this patch is more aligned
with what the documentation is stating.

Could be nice to have this context in the commit message.
Outside of that I'm ok with the patch itself.

Reviewed by William Dauchy 

-- 
William



Re: VTest broken on macOS

2021-01-12 Thread Илья Шипицин
I did have a quick look today. I did not see any change related to failure.
I'd say it is compiler change on osx side.

we can try to run osx vtest on 02a9bc16d78e70d1d415b40d5349b9f3e56df05b


On Wed, Jan 13, 2021, 12:06 AM Tim Düsterhus  wrote:

> Hi List,
> Ilya,
>
> as a heads up: It appears that recent VTest changes broke support for
> macOS. I filed an issue upstream: https://github.com/vtest/VTest/issues/26
>
> Best regards
> Tim Düsterhus
>


Re: [PR] proto_tcp.c: fix printing of muliple setsockopt errors

2021-01-12 Thread Björn Jacke
Hello,

okay, the link to the MR patch landed on the list, so I assume I don't
need to attache it here again. Confusing, that the issues are tracked
there...

Cheers
Björn

On 12.01.21 20:22, PR Bot wrote:
> Dear list!
> 
> Author: Björn Jacke 
> Number of patches: 1
> 
> This is an automated relay of the Github pull request:
>proto_tcp.c: fix printing of muliple setsockopt errors
> 
> Patch title(s): 
>proto_tcp.c: fix printing of muliple setsockopt errors
> 
> Link:
>https://github.com/haproxy/haproxy/pull/1049
> 
> Edit locally:
>wget https://github.com/haproxy/haproxy/pull/1049.patch && vi 1049.patch
> 
> Apply locally:
>curl https://github.com/haproxy/haproxy/pull/1049.patch | git am -
> 
> Description:
>Attached patch is an attempt to fix the output of multiple
>setsockopt() warnings. Currently only the latest warning is printed
>because msg is overwritten with each new failed setsockopt() call.
>Signed-off-by: Bjoern Jacke 
>
>There is at
>least one thing left, which should be fixed somehow: if many
>setsockopt() calls fail, then errlen exceeds and the warning message
>is truncated, I've seen this happend actually. This is a TODO for
>someone, who knows the code better :-)
> 
> Instructions:
>This github pull request will be closed automatically; patch should be
>reviewed on the haproxy mailing list (haproxy@formilux.org). Everyone is
>invited to comment, even the patch's author. Please keep the author and
>list CCed in replies. Please note that in absence of any response this
>pull request will be lost.
> 




[PATCH] BUG/MINOR: init: enforce strict-limits when using master-worker

2021-01-12 Thread Jerome Magnin
Hi William, list,

This is a patch for issue 1042.
I removed all tests for master-worker mode for everything related to
strict-limits.

regards,
-- 
Jérôme
>From ca260ac46cd441ed4108cdef7b304b6c0baec68c Mon Sep 17 00:00:00 2001
From: Jerome Magnin 
Date: Tue, 12 Jan 2021 20:19:38 +0100
Subject: [PATCH] BUG/MINOR: init: enforce strict-limits when using
 master-worker

The strict-limits global option was introduced with commit 0fec3ab7b
("MINOR: init: always fail when setrlimit fails"). When used in
conjuction with master-worker, haproxy will not fail when a setrlimit
fails. This happens because we only exit() if master-worker isn't used.

This patch removes all tests for master-worker mode for all cases covered
by strict-limits scope.

This should be backported from 2.1 onward.
This should fix issue #1042.
---
 src/haproxy.c | 18 ++
 1 file changed, 6 insertions(+), 12 deletions(-)

diff --git a/src/haproxy.c b/src/haproxy.c
index fcc4f6c70..7612e4c45 100644
--- a/src/haproxy.c
+++ b/src/haproxy.c
@@ -3111,8 +3111,7 @@ int main(int argc, char **argv)
if (global.tune.options & GTUNE_STRICT_LIMITS) {
ha_alert("[%s.main()] Cannot raise FD limit to 
%d, limit is %d.\n",
 argv[0], global.rlimit_nofile, 
(int)limit.rlim_cur);
-   if (!(global.mode & MODE_MWORKER))
-   exit(1);
+   exit(1);
}
else {
/* try to set it to the max possible at least */
@@ -3135,8 +3134,7 @@ int main(int argc, char **argv)
if (global.tune.options & GTUNE_STRICT_LIMITS) {
ha_alert("[%s.main()] Cannot fix MEM limit to 
%d megs.\n",
 argv[0], global.rlimit_memmax);
-   if (!(global.mode & MODE_MWORKER))
-   exit(1);
+   exit(1);
}
else
ha_warning("[%s.main()] Cannot fix MEM limit to 
%d megs.\n",
@@ -3147,8 +3145,7 @@ int main(int argc, char **argv)
if (global.tune.options & GTUNE_STRICT_LIMITS) {
ha_alert("[%s.main()] Cannot fix MEM limit to 
%d megs.\n",
 argv[0], global.rlimit_memmax);
-   if (!(global.mode & MODE_MWORKER))
-   exit(1);
+   exit(1);
}
else
ha_warning("[%s.main()] Cannot fix MEM limit to 
%d megs.\n",
@@ -3320,8 +3317,7 @@ int main(int argc, char **argv)
 "Please raise 'ulimit-n' to %d or more to 
avoid any trouble.\n",
 argv[0], (int)limit.rlim_cur, global.maxconn, 
global.maxsock,
 global.maxsock);
-   if (!(global.mode & MODE_MWORKER))
-   exit(1);
+   exit(1);
}
else
ha_alert("[%s.main()] FD limit (%d) too low for 
maxconn=%d/maxsock=%d. "
@@ -3608,8 +3604,7 @@ int main(int argc, char **argv)
if (global.tune.options & GTUNE_STRICT_LIMITS) {
ha_alert("[%s.main()] Failed to set the raise 
the maximum "
 "file size.\n", argv[0]);
-   if (!(global.mode & MODE_MWORKER))
-   exit(1);
+   exit(1);
}
else
ha_warning("[%s.main()] Failed to set the raise 
the maximum "
@@ -3622,8 +3617,7 @@ int main(int argc, char **argv)
if (global.tune.options & GTUNE_STRICT_LIMITS) {
ha_alert("[%s.main()] Failed to set the raise 
the core "
 "dump size.\n", argv[0]);
-   if (!(global.mode & MODE_MWORKER))
-   exit(1);
+   exit(1);
}
else
ha_warning("[%s.main()] Failed to set the raise 
the core "
-- 
2.30.0



[PR] proto_tcp.c: fix printing of muliple setsockopt errors

2021-01-12 Thread PR Bot
Dear list!

Author: Björn Jacke 
Number of patches: 1

This is an automated relay of the Github pull request:
   proto_tcp.c: fix printing of muliple setsockopt errors

Patch title(s): 
   proto_tcp.c: fix printing of muliple setsockopt errors

Link:
   https://github.com/haproxy/haproxy/pull/1049

Edit locally:
   wget https://github.com/haproxy/haproxy/pull/1049.patch && vi 1049.patch

Apply locally:
   curl https://github.com/haproxy/haproxy/pull/1049.patch | git am -

Description:
   Attached patch is an attempt to fix the output of multiple
   setsockopt() warnings. Currently only the latest warning is printed
   because msg is overwritten with each new failed setsockopt() call.
   Signed-off-by: Bjoern Jacke 
   
   There is at
   least one thing left, which should be fixed somehow: if many
   setsockopt() calls fail, then errlen exceeds and the warning message
   is truncated, I've seen this happend actually. This is a TODO for
   someone, who knows the code better :-)

Instructions:
   This github pull request will be closed automatically; patch should be
   reviewed on the haproxy mailing list (haproxy@formilux.org). Everyone is
   invited to comment, even the patch's author. Please keep the author and
   list CCed in replies. Please note that in absence of any response this
   pull request will be lost.



VTest broken on macOS

2021-01-12 Thread Tim Düsterhus
Hi List,
Ilya,

as a heads up: It appears that recent VTest changes broke support for
macOS. I filed an issue upstream: https://github.com/vtest/VTest/issues/26

Best regards
Tim Düsterhus



Re: [*EXT*] Re: coredump since 2.2.7 upgrade

2021-01-12 Thread Ionel GARDAIS
Thanks Christopher, that was it.
2.2.7 with 8461b9 reverted is stable for me.

-- 
Ionel GARDAIS
Tech'Advantage CIO - IT Team manager

- Mail original -
De: "Christopher Faulet" 
À: "Ionel GARDAIS" , "haproxy" 

Envoyé: Mardi 12 Janvier 2021 16:57:47
Objet: [*EXT*] Re: coredump since 2.2.7 upgrade

Le 12/01/2021 à 16:28, Ionel GARDAIS a écrit :
> Hi,
> 
> I'm getting continuous core dump since the upgrade to 2.2.7 on debian 9.
> Where can I send them ?
> 

Hi,

If you are using the DNS, there is a bug introduced by a recent change, leading 
to a segfault. We reverted the commit but it is not backported yet. In the mean 
time, in the 2.2, the commit 8461b9ea78 ("BUG/MINOR: dns: SRV records ignores 
duplicated AR records") must be reverted. The commit fixed the issue #971. A 
new 
fix is under evaluation.

The same bug exists in the 2.3.3. The commit 45b6d2d47 must be reverted.

-- 
Christopher Faulet
--
232 avenue Napoleon BONAPARTE 92500 RUEIL MALMAISON
Capital EUR 219 300,00 - RCS Nanterre B 408 832 301 - TVA FR 09 408 832 301




Re: Crash when using wlc in multithreaded mode with agent checks (1.8.26).

2021-01-12 Thread Amaury Denoyelle
Mark Brookes  wrote:

> Sorry to drag up an old thread. But do we have an eta for a new
> release of version 1.8 that contains the fix? I noticed that the 2.x
> versions have been updated, and wanted to make sure that 1.8 has not
> been left out by mistake.

I have just updated the backports for haproxy 1.8, I will try to make a
release with your fix soon.

-- 
Amaury Denoyelle



Re: coredump since 2.2.7 upgrade

2021-01-12 Thread Christopher Faulet

Le 12/01/2021 à 16:28, Ionel GARDAIS a écrit :

Hi,

I'm getting continuous core dump since the upgrade to 2.2.7 on debian 9.
Where can I send them ?



Hi,

If you are using the DNS, there is a bug introduced by a recent change, leading 
to a segfault. We reverted the commit but it is not backported yet. In the mean 
time, in the 2.2, the commit 8461b9ea78 ("BUG/MINOR: dns: SRV records ignores 
duplicated AR records") must be reverted. The commit fixed the issue #971. A new 
fix is under evaluation.


The same bug exists in the 2.3.3. The commit 45b6d2d47 must be reverted.

--
Christopher Faulet



coredump since 2.2.7 upgrade

2021-01-12 Thread Ionel GARDAIS
Hi, 

I'm getting continuous core dump since the upgrade to 2.2.7 on debian 9. 
Where can I send them ? 

Jan 12 16:16:12 x haproxy[5204]: *** Error in `/usr/sbin/haproxy': corrupted 
double-linked list: 0x7f346802a550 *** 
Jan 12 16:16:12 x haproxy[5204]: === Backtrace: = 
Jan 12 16:16:12 x haproxy[5204]: 
/lib/x86_64-linux-gnu/libc.so.6(+0x70bfb)[0x7f34839c5bfb] 
Jan 12 16:16:12 x haproxy[5204]: 
/lib/x86_64-linux-gnu/libc.so.6(+0x76fc6)[0x7f34839cbfc6] 
Jan 12 16:16:12 x haproxy[5204]: 
/lib/x86_64-linux-gnu/libc.so.6(+0x7964c)[0x7f34839ce64c] 
Jan 12 16:16:12 x haproxy[5204]: 
/lib/x86_64-linux-gnu/libc.so.6(__libc_malloc+0x54)[0x7f34839cff64] 
Jan 12 16:16:12 x haproxy[5204]: 
/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1(CRYPTO_zalloc+0xe)[0x7f348455bf5e] 
Jan 12 16:16:12 x haproxy[5204]: 
/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1(EVP_DigestInit_ex+0x1b1)[0x7f348453ce21]
 
Jan 12 16:16:12 x haproxy[5204]: 
/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1(PKCS1_MGF1+0xb4)[0x7f348458c254] 
Jan 12 16:16:12 x haproxy[5204]: 
/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1(RSA_padding_add_PKCS1_PSS_mgf1+0x213)[0x7f34845912c3]
 
Jan 12 16:16:12 x haproxy[5204]: 
/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1(+0x1be683)[0x7f3484590683] 
Jan 12 16:16:12 x haproxy[5204]: 
/usr/lib/x86_64-linux-gnu/libcrypto.so.1.1(EVP_DigestSignFinal+0x180)[0x7f34845509e0]
 
Jan 12 16:16:12 x haproxy[5204]: 
/usr/lib/x86_64-linux-gnu/libssl.so.1.1(+0x59bfe)[0x7f3484914bfe] 
Jan 12 16:16:12 x haproxy[5204]: 
/usr/lib/x86_64-linux-gnu/libssl.so.1.1(+0x4c74b)[0x7f348490774b] 
Jan 12 16:16:12 x haproxy[5204]: 
/usr/lib/x86_64-linux-gnu/libssl.so.1.1(SSL_do_handshake+0x54)[0x7f34848f3d74] 
Jan 12 16:16:12 x haproxy[5204]: /usr/sbin/haproxy(+0x51c9b)[0x55ce168d8c9b] 
Jan 12 16:16:12 x haproxy[5204]: 
/usr/sbin/haproxy(run_tasks_from_lists+0x33d)[0x55ce16a4629d] 
Jan 12 16:16:12 x haproxy[5204]: 
/usr/sbin/haproxy(process_runnable_tasks+0x3ac)[0x55ce16a46d4c] 
Jan 12 16:16:12 x haproxy[5204]: 
/usr/sbin/haproxy(run_poll_loop+0xaa)[0x55ce169fcd2a] 
Jan 12 16:16:12 x haproxy[5204]: /usr/sbin/haproxy(+0x176129)[0x55ce169fd129] 
Jan 12 16:16:12 x haproxy[5204]: 
/lib/x86_64-linux-gnu/libpthread.so.0(+0x74a4)[0x7f3484b514a4] 
Jan 12 16:16:12 x haproxy[5204]: 
/lib/x86_64-linux-gnu/libc.so.6(clone+0x3f)[0x7f3483a3dd0f] 
Jan 12 16:16:12 x haproxy[5204]: === Memory map:  
Jan 12 16:16:13 x haproxy[5204]: [ALERT] 011/161613 (5204) : Current worker #1 
(5206) exited with code 134 (Aborted) 
Jan 12 16:16:13 x haproxy[5204]: [ALERT] 011/161613 (5204) : exit-on-failure: 
killing every processes with SIGTERM 
Jan 12 16:16:13 x haproxy[5204]: [WARNING] 011/161613 (5204) : All workers 
exited. Exiting... (134) 


--
232 avenue Napoleon BONAPARTE 92500 RUEIL MALMAISON
Capital EUR 219 300,00 - RCS Nanterre B 408 832 301 - TVA FR 09 408 832 301

Re: Clean up "type: feature" in the tracker

2021-01-12 Thread Willy Tarreau
On Tue, Jan 12, 2021 at 01:34:08PM +0100, Tim Düsterhus wrote:
> I'm not sure that's necessary. For features there IMO only three states:
> 
> - Implemented: Closed + Fixed.
> - Not Planned: Closed + No Label.
> - Maybe Planned: Open.

I'm having a problem with the last one, which is that we're constantly
rediscovering some of them, not even knowing if anyone had a look. In
theory there should at least be some discussion so it should be visible
that there are some comments, but some of them will sometimes drive the
discussion into one direction or another without a definitive verdict
being given for the feature. Maybe once someone accepts to work on one
of them he should self-assign the issue.

Over all it's not terribly important though, and the fact that we're
discussing how to further refine the process probably indicates that
it already works sufficiently well.

Willy



Re: Clean up "type: feature" in the tracker

2021-01-12 Thread Tim Düsterhus
Willy,

Am 12.01.21 um 11:49 schrieb Willy Tarreau:
>> Maybe it makes sense to look through the list of currently open feature
>> requests and close the ones that are very unlikely to be implemented (or
>> unlikely to be implemented in the next few years) to clean up the
>> tracker a bit.
> 
> Probably that we should indeed do something like that. But once closed
> they're harder to find, so maybe we could proceed by adding a page in
> the wiki with a few links:
>   - opened feature requests (not handled yet)
>   - opened feature requests (in progress)
>   - closed feature requests (implemented)
>   - closed feature requests (not implemented or differently)
> 
> And we'd simply tag "fixed" the ones implemented as desired. For the

In fact I already did that for all the features I was able to keep track
of. See:
https://github.com/haproxy/haproxy/issues?q=is%3Aissue+label%3A%22type%3A+feature%22+is%3Aclosed

> not-yet vs wip I don't see any currently valid label, which also makes
> me think that we could *possibly* benefit from an "in progress" which
> is valid both for bugs and features. However one could argue that an
> issue without a status label would imply it's in progress, which would
> then suggest that we'd need to add a "status: triage" to new features
> just like new bugs.

I'm not sure that's necessary. For features there IMO only three states:

- Implemented: Closed + Fixed.
- Not Planned: Closed + No Label.
- Maybe Planned: Open.

Best regards
Tim Düsterhus



Re: Crash when using wlc in multithreaded mode with agent checks (1.8.26).

2021-01-12 Thread Mark Brookes
Sorry to drag up an old thread. But do we have an eta for a new
release of version 1.8 that contains the fix? I noticed that the 2.x
versions have been updated, and wanted to make sure that 1.8 has not
been left out by mistake.

Thankyou

Mark


On Wed, 16 Dec 2020 at 10:03, Peter Statham
 wrote:
>
> On Wed, 16 Dec 2020 at 08:40, Christopher Faulet  wrote:
> >
> > Le 11/12/2020 à 21:34, Peter Statham a écrit :
> > >
> > > The patch seems to fix the issue.
> > >
> >
> > Peter,
> >
> > The fix was backported to the 1.8. Thanks !
> >
> > --
> > Christopher Faulet
>
> Hello Christopher,
>
> Thank you for your time finding the cause and the solution to this.
>
> --
>
> Peter Statham
> Loadbalancer.org Ltd.
>


-- 

Mark Brookes
Loadbalancer.org Ltd.
www.loadbalancer.org


+44 (0)330 380 1064
m...@loadbalancer.org



Re: Clean up "type: feature" in the tracker

2021-01-12 Thread Willy Tarreau
Hi Tim,

On Sun, Jan 10, 2021 at 04:37:16PM +0100, Tim Düsterhus wrote:
> as of right now feature requests make up almost half of the open issues
> in the issue tracker (102 / 226). When looking through them I'm seeing a
> few that are probably not going to be implemented any time soon (if ever).

Yes, I noticed this as well.

(...)
> Maybe it makes sense to look through the list of currently open feature
> requests and close the ones that are very unlikely to be implemented (or
> unlikely to be implemented in the next few years) to clean up the
> tracker a bit.

Probably that we should indeed do something like that. But once closed
they're harder to find, so maybe we could proceed by adding a page in
the wiki with a few links:
  - opened feature requests (not handled yet)
  - opened feature requests (in progress)
  - closed feature requests (implemented)
  - closed feature requests (not implemented or differently)

And we'd simply tag "fixed" the ones implemented as desired. For the
not-yet vs wip I don't see any currently valid label, which also makes
me think that we could *possibly* benefit from an "in progress" which
is valid both for bugs and features. However one could argue that an
issue without a status label would imply it's in progress, which would
then suggest that we'd need to add a "status: triage" to new features
just like new bugs.

Just my two cents, ideas welcome of course!
Willy



Bid Writing, Major Donors and Volunteering Workshops

2021-01-12 Thread NFP Workshops



NFP WORKSHOPS
Affordable Charity Training Courses

18 Blake Street, York YO1 8QG   01133 280988




Bid Writing: The Basics

ONLINE VIA ZOOM   COST £95.00

TOPICS COVERED

Do you know the most common reasons for rejection? Are you gathering the right 
evidence? Are you making the right arguments? Are you using the right 
terminology? Are your numbers right? Are you learning from rejections? Are you 
assembling the right documents? Do you know how to create a clear and concise 
standard funding bid?

Are you communicating with people or just excluding them? Do you know your own 
organisation well enough? Are you thinking through your projects carefully 
enough? Do you know enough about your competitors? Are you answering the 
questions funders will ask themselves about your application? Are you 
submitting applications correctly?

PARTICIPANTS  

Staff members, volunteers, trustees or board members of charities, schools, not 
for profits or public sector organisations who intend to submit grant funding 
applications to charitable grant making trusts and foundations. People who 
provide advice to these organisations are also welcome.
Bid Writing: Advanced

ONLINE VIA ZOOM   COST £95.00

 TOPICS COVERED

Are you applying to the right trusts? Are you applying to enough trusts? Are 
you asking for the right amount of money? Are you applying in the right ways? 
Are your projects the most fundable projects? 

Are you carrying out trust fundraising in a professional way? Are you 
delegating enough work? Are you highly productive or just very busy? Are you 
looking for trusts in all the right places? 

How do you compare with your competitors for funding? Is the rest of your 
fundraising hampering your bids to trusts? Do you understand what trusts are 
ideally looking for?

PARTICIPANTS  

Staff members, volunteers, trustees or board members of charities, schools, not 
for profits or public sector organisations who intend to submit grant funding 
applications to charitable grant making trusts and foundations. People who 
provide advice to these organisations are also welcome.
Dates & Booking Links
BID WRITING: THE BASICS
Mon 11 Jan 2021
10.00 to 12.30Booking Link
Mon 25 Jan 2021
10.00 to 12.30Booking Link
Mon 08 Feb 2021
10.00 to 12.30Booking Link
Mon 22 Feb 2021
10.00 to 12.30Booking Link
BID WRITING: ADVANCED
Tue 12 Jan 2021
10.00 to 12.30Booking Link
Tue 26 Jan 2021
10.00 to 12.30Booking Link
Tue 09 Feb 2021
10.00 to 12.30Booking Link
Tue 23 Feb 2021
10.00 to 12.30Booking Link



Recruiting and Managing Volunteers

 ONLINE VIA ZOOM COST £195

TOPICS COVERED

Where do you find volunteers? How do you find the right volunteers? How do you 
attract volunteers? How do you run volunteer recruitment events? How do you 
interview volunteers? How do you train volunteers? How do you motivate 
volunteers? How do you involve volunteers?

How do you recognise volunteer? How do you recognise problems with volunteers? 
How do you learn from volunteer problems? How do you retain volunteers? How do 
you manage volunteers? What about volunteers and your own staff? What about 
younger, older and employee volunteers?

PARTICIPANTS

Staff members, volunteers, trustees or board members of charities, schools, not 
for profits or public sector organisations who intend to recruit volunteers 
into their organisation and then manage those volunteers. People who provide 
advice to these organisations are also welcome.
Dates & Booking Links
Wed 13 Jan 2021
10.00 to 16.00Booking Link
Wed 10 Mar 2021
10.00 to 16.00Booking Link



Major Donor Fundraising
 
ONLINE VIA ZOOM   COST £95
   
TOPICS COVERED
 
 Major Donor Characteristics, Motivations and Requirements. Researching and 
Screening Major Donors. Encouraging, Involving and Retaining Major Donors. 
Building Relationships with Major Donors. Major Donor Events and Activities. 

 

Setting Up Major Donor Clubs.Asking For Major Gifts. Looking After and 
Reporting Back to Major Donors. Delivering on Major Donor Expectations. Showing 
Your Appreciation to Major Donors. Fundraising Budgets and Committees.

PARTICIPANTS
Staff members, volunteers, trustees or board members of charities, schools, not 
for profits or public sector organisations who intend to carry out Major Donor 
Fundraising. People who provide advice to these organisations are also welcome.
Dates & Booking Links
Wed 10 Feb 2021
10.00 to 12.30Booking Link
Wed 14 Apr 2021
10.00 to 12.30Booking Link



FEEDBACK FROM PAST ATTENDEES AT LIVE WORKSHOPS 
I must say I was really impressed with the course and the content. My knowledge 
and confidence has increased hugely. I got a lot from your course and a lot of 
pointers! 
I can say after years of fundraising I learnt so much from your bid writing 
course. It was a very informative day and for someone who has not written bids 
before I am definitely more confident to get involved with them. 
I found the workshops very helpful. It is a whole new area for me but the 
information