Age | Commit message (Collapse) | Author |
|
queue rewrite. Proper fix after gilles wakes up.
|
|
|
|
|
|
Major goals:
1) Fix bad performance caused by the runner process doing full queue
read in 1s intervals. My Soekris can now happily accept >50 msg/s
while having multi-thousand queue; before, one hundred queue would
bring the system to its knees.
2) Introduce Qmail-like scheduler that doesn't write as much to the
disk so that it needs less code for servicing error conditions,
which in some places can be tricky to get right.
3) Introduce separation between the scheduler and the backend; these
two queue aspects shouldn't be too tied too each other. This means
that eg. storing queue in SQL requires rewrite of just queue_backend.c.
4) Make on-disk queue format architecture independent, and more
easily extensible, to reduce number of flag days in the future.
Minor goals:
ENOSPC no longer prevents delivery attempts, fixed session limiting
for relayed mail, improved batching of "relay via" mails, human-readable
mailq output, "show queue raw" command, clearer logging, sending
of single bounce about multiple recipients, exact delay= computation,
zero delay between deliveries while within session limit (currently
1s delay between re-scheduling is enforced), mta no longer requests
content fd, corrected session limit for bounce submissions, tiny
<100B queue files instead of multi-KB, detect loops before accepting
mail, reduce traffic on imsg channels by killing enormous struct
submit_status.
|
|
ok jacekm@ gilles@
|
|
Makefile.* file copes with swap*.c the same as vers.c; it is also much
nicer to keep the whole CFILES as far-reaching absolute or relative paths
rather than relative to .
ok miod
|
|
(from 1 - USB_MAX_DEVICES, not 0- as submitted)
from Gleydson Soares
|
|
ok gilles@
|
|
ok deraadt@
|
|
ok deraadt@ jacekm@ gilles@ back@ henning@ blambert@
|
|
status instead upon creation (when the first HELLO is received). The LDE
needs only to know about operational neighbors or it may happen that the
LDE is sending messages to neighbors that have no session open resulting
in a crash because of unitialized structures.
OK michele@
|
|
expand to two rules each having its own condition rather than one rule
with a tail queue of conditions. this simplifies code a bit and removes a
couple hacks.
basic testing by oga and me
|
|
if we feel a need for it
|
|
|
|
which causes conflicts with the libevent macros. OK deraadt@
|
|
macros, which are visible, and get pulled into some source code... Hide
the kernel ones inside _KERNEL, and make trpt (the only userland viewer of
them) define _KERNEL temporarily. This is really gross. libevent is doing
a poor job of choosing function names!
ok tedu guenther
|
|
Minor bump for libutil.
Previous versions of this diff and man page looked at by various people.
"you should just commit" deraadt
|
|
ibuf, buf_read to ibuf_read, READ_BUF_SIZE to IBUF_READ_SIZE.
ok henning gilles claudio jacekm deraadt
|
|
|
|
and so there is no need to carry ext_tag and rtlabels around.
"Yes! kill kill kill" michele@
|
|
functions a bit to make them all look more similar. All but the label req
abort message are now parsed and passed to the lde.
|
|
Add missing bits to struct map and restructure/simplify the lde.c imsg
code.
|
|
That function will be needed soon.
|
|
default or else we bomb on the first read access.
|
|
Makefile, since we already know them. (Later on, we can remove the chunks
from the Makefile.* files...)
ok kettenis
|
|
more readable, and fixes a spacing bug we had in smtpd.8;
|
|
setresuid because after dropping superuser privileges the process
cannot be trusted to call these.
Thanks to oga@, kettenis@, and nicm@ for confirming my paranoia.
|
|
from tobias@ (loooooong time ago)
ok rainer@ henning@ tobias@
|
|
|
|
|
|
|
|
neighbor self and all the madness surrounding this amazing concept.
LDP is not self aware so there is no need for this.
OK michele@
|
|
have MPLS information connected to them and the kernel requires the flag now.
OK michele@
|
|
the MPLS part of those routes.
OK michele@
|
|
the old RIB and then via softreconfig in and a special softreconfig out loading
the new RIB.
Feature requested and testeded by Elisa Jasinska.
OK henning@
|
|
|
|
and "server".
fixes for bgplg(8) and relayd.conf(5) suggested by jmc@, good catch!
ok jmc@
|
|
Only existing tables should keep their fib sync state, new ones should set
the current fib sync flag to the configured one at the end of the config
load. Found the hard way by sthen@, OK sthen@
|
|
|
|
|
|
the length of an AS path (matches if the path is longer then the specified
lenght) the second matches when a sequence of the same AS number is longer
then the specified length).
max-as-len is good to protect crappy comercial bgp boxes from other crappy
comercial bgp boxes. max-as-seq was a feature request from SwissIX and maybe
EuroIX to find and filter prepends.
Additinal testing and OK sthen@
|
|
This adds a bit of new config to specify the mapping between an rdomain and
the BGP MPLS VPN instance, example:
rdomain 1 {
descr "CUSTOMER1"
rd 65003:1
import-target rt 65003:3
export-target rt 65003:1
depend on mpe0
network 192.168.224/24
}
The "depend on mpe0" is a but ugly but for now this is the quickest way to
figure out which interface bgp should use to insert the MPLS routes.
A big side-effect of this diff is that networks are now internally
distributed through kroute.c.
This needs some kernel changes that will follow hopefully soon.
OK henning@
|
|
about that. OK michele@
|
|
|
|
to send the notification. On accept use write() else queue message and try
to send the queued messages out via msgbuf_write(). This may still fail but
is better then the code beforehands.
OK michele@
|
|
way the memory is zeroed. This is equivalent to the relayd commit by reyk.
OK reyk, jsg
|
|
and follows a suggestion in event.h. also don't mix signal() and
signal_set()/signal_add().
ok jsg@ gilles@
|
|
ok jsg@ gilles@
|
|
is forced into IF_STA_NEW so that if_init() can be called to setup timers etc.
When a loopback interface is added to the config, this means there's no way
to get to the correct state.
Fix by avoiding changing an existing IF_STA_LOOPBACK and forcing loopback
interfaces to be passive (otherwise skipping the if_init on an active
interface causes problems).
ok claudio@
|
|
|