History log of /openbsd/usr.sbin/ldpd/ldpd.c (Results 1 – 25 of 69)
Revision Date Author Comments
# 5b133f3f 08-Mar-2023 guenther <guenther@openbsd.org>

Delete obsolete /* ARGSUSED */ lint comments.

ok miod@ millert@


# 025f8c0a 06-Sep-2021 deraadt <deraadt@openbsd.org>

repair missing paths on unveil failure


# 6d53ef64 01-Mar-2021 jsg <jsg@openbsd.org>

allocate enough space in start_child() argv for all possible flags
ok claudio@


# 2b80d179 19-Jan-2021 claudio <claudio@openbsd.org>

Kill log_procnames and properly define ldpd_process.


# 44e5c375 10-Aug-2019 mestre <mestre@openbsd.org>

Like we did on other daemons that cannot be pledged due to forbidden ioctls the
main process can be unveiled to restrict filesystem access. In this case we can
restrict it to only read, although it m

Like we did on other daemons that cannot be pledged due to forbidden ioctls the
main process can be unveiled to restrict filesystem access. In this case we can
restrict it to only read, although it must be the entire / since the daemon is
able to include config files from anywhere.

Additionally the ldpe process currently has cpath promise to unlink the socket,
nevertheless the socket is actually unlinked from the main proc so this
permission can be removed. As we discussed before, leaving the socket behind
doesn't do any harm that's why I didn't unveil it in the main proc.

OK deraadt@

show more ...


# ef4f5895 31-Mar-2019 yasuoka <yasuoka@openbsd.org>

Avoid calling dup2(oldd, newd) when oldd == newd. In that case the
descriptor keeps CLOEXEC flag then it will be closed unexpectedly by
exec().

ok tedu florian


# 7ee91690 23-Jan-2019 dlg <dlg@openbsd.org>

rework how tcp md5 signatures are configured.

previously ldpd only allowed tcp md5 to be configured against a
neighbor (by ldp router id), but other vendors supported configuring
tcp md5sig by prefi

rework how tcp md5 signatures are configured.

previously ldpd only allowed tcp md5 to be configured against a
neighbor (by ldp router id), but other vendors supported configuring
tcp md5sig by prefix as well as neighbor. this reworks the config
so auth is maintained globally as a list of prefixes that you do
and do not want to do tcp md5sig auth with.

the config statements look more like what is in bgpd.conf now too.

an example of the new config for interoperating with my baby cisco
test network:

on ios:

mpls ldp password required for MPLS
mpls ldp password option 1 for MPLS key-chain LDPAUTH

key chain LDPAUTH
key 1
key-string secret

interface Loopback0
ip address 192.168.0.0 255.255.255.255
end

ip prefix-list MPLS seq 5 permit 192.168.0.0/24
ip access-list standard MPLS

mpls ldp router-id Loopback0 force

and in ldpd.conf:

router-id 192.168.0.25
tcp md5sig password secret 192.168.0.0/24
address-family ipv4 { interface vmx1 }

this still supports specifying tcp md5sig on neighbors, but that
is syntactic sugar around adding entries to the list of auths.

ok (and lots of help from) claudio@

show more ...


# 8622bd53 03-Mar-2017 renato <renato@openbsd.org>

Allow to run on a non-default rdomain.

OK claudio@


# dcaf1165 03-Mar-2017 renato <renato@openbsd.org>

Allow to specify an alternate control socket.

This is required to run multiple instances of ldpd.

OK claudio@


# 3e2a4faa 20-Jan-2017 benno <benno@openbsd.org>

work on making log.c similar in all daemons:

move daemon-local functions into new logmsg.c, and reduce
the (mostly whitespace) differences so that log.c's can be diffed easily.

removal of log_rtmsg

work on making log.c similar in all daemons:

move daemon-local functions into new logmsg.c, and reduce
the (mostly whitespace) differences so that log.c's can be diffed easily.

removal of log_rtmsg() aproved by claudio@

ok claudio@ krw@

show more ...


# 4bbf72b3 28-Sep-2016 krw <krw@openbsd.org>

'unneded stuff' -> 'unneeded stuff' in comments.


# d5e026a8 02-Sep-2016 renato <renato@openbsd.org>

Simplify shutdown process.

On shutdown, there's no need to use kill(2) to kill the child
processes. Just closing the IPC sockets will make the children receive
an EOF, break out from the event loop

Simplify shutdown process.

On shutdown, there's no need to use kill(2) to kill the child
processes. Just closing the IPC sockets will make the children receive
an EOF, break out from the event loop and then exit.

Tha advantages of this "pipe teardown" are:
* simpler code;
* no need to pledge "proc" in the parent process;
* removal of a (hard to trigger) PID reuse race condition.

ok claudio@

show more ...


# 34d7bc8b 15-Jul-2016 renato <renato@openbsd.org>

Update per-neighbor GTSM options on config reload.


# d3e006a4 01-Jul-2016 renato <renato@openbsd.org>

Several minor tweaks.


# 5ff72af8 01-Jul-2016 renato <renato@openbsd.org>

Add GTSM support (RFC 6720).

This also finishes the missing bits from our RFC 7552 implementation
because GTSM is mandatory for LDPv6.

To avoid any kind of interoperability problems, I included a f

Add GTSM support (RFC 6720).

This also finishes the missing bits from our RFC 7552 implementation
because GTSM is mandatory for LDPv6.

To avoid any kind of interoperability problems, I included a few
knobs to enable/disable GTSM on a per-address-family and per-neighbor
basis. Cisco's LDPv6 implementation, for instance, doesn't support GTSM.

"reads good" claudio@

show more ...


# 1fa6a9a7 18-Jun-2016 renato <renato@openbsd.org>

Fix memory leak found with valgrind.


# b3d042c2 18-Jun-2016 renato <renato@openbsd.org>

Use log_warnx() instead of log_warn() when appropriate.


# 72b2a41b 13-Jun-2016 renato <renato@openbsd.org>

Do not create sockets for disabled address-families.


# 5a7df819 08-Jun-2016 renato <renato@openbsd.org>

Fix quick reconnect when the transport address is changed.

When the transport address is changed, we can't try to reconnect to the
neighbors inside merge_af() because the ldpe process still didn't r

Fix quick reconnect when the transport address is changed.

When the transport address is changed, we can't try to reconnect to the
neighbors inside merge_af() because the ldpe process still didn't receive
the new network sockets from the parent at this point. To resolve this,
try to reconnect just after we receive these sockets.

show more ...


# 3ef68767 06-Jun-2016 renato <renato@openbsd.org>

Fix imsg parameter passing

When ldpe requests new network sockets to the parent process (after the
transport-address is changed), it must specify the desired address-family
(IPv4 or IPv6). We can us

Fix imsg parameter passing

When ldpe requests new network sockets to the parent process (after the
transport-address is changed), it must specify the desired address-family
(IPv4 or IPv6). We can use the 'pid' or 'peerid' members of the imsg_hdr
structure for this. Use 'pid' for convenience (no need to extend the
wrapper function, ldpe_imsg_compose_parent()).

show more ...


# 07f78510 06-Jun-2016 renato <renato@openbsd.org>

Speed up session establishment after config reload.

If we change a neighbor's password or the global transport-address,
cancel the affected pending connects and, when playing the active role
of the

Speed up session establishment after config reload.

If we change a neighbor's password or the global transport-address,
cancel the affected pending connects and, when playing the active role
of the session establishment process, try to connect again right away
with the new password and/or transport-address.

Without this patch we have to wait for the timeout of the pending
connects, which might be a lot of time.

show more ...


# 16040b47 23-May-2016 renato <renato@openbsd.org>

Improve security by calling exec after fork.

For each child process (lde and ldpe), re-exec ldpd with a special
"per-role" getopt flag. This way we have seperate ASLR/cookies per
process.

Based on

Improve security by calling exec after fork.

For each child process (lde and ldpe), re-exec ldpd with a special
"per-role" getopt flag. This way we have seperate ASLR/cookies per
process.

Based on a similar patch for bgpd, from claudio@

Requested by deraadt@

show more ...


# 5dc9330a 23-May-2016 renato <renato@openbsd.org>

Update copyright information.


# 5411bbb6 23-May-2016 renato <renato@openbsd.org>

Remove superfluous includes.


# c28a25a1 23-May-2016 renato <renato@openbsd.org>

Make functions and variables static whenever possible.

The benefits of this include:
* clean up of the ldpd global namespace;
* improved readability;
* more hints to the compiler/linker to generate

Make functions and variables static whenever possible.

The benefits of this include:
* clean up of the ldpd global namespace;
* improved readability;
* more hints to the compiler/linker to generate more efficient code.

Whenever possible, move global static variables to a smaller scope
(function).

All extern variables are now declared in header files to avoid unnecessary
duplication.

This patch also cleans up the indentation of all function prototypes
and global variables.

show more ...


123