History log of /openbsd-current/usr.sbin/ldpd/control.h
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.11 19-Jan-2021 claudio

Do the same control cleanup as in other daemons. Move ctl_conns exclusivly
into control.c


Revision tags: OPENBSD_6_8_BASE
# 1.10 22-Jun-2020 mestre

On my previous commit I made the wrong assumption that the control socket was
being unlink(2)ed from the main proc so I removed "cpath" from the pledge(2) on
the ldpe proc but actually the socket was unlink(2)ed from here, this means the
daemon would crash on exit due to pledge(2) not having "cpath" permissions
anymore. Finish the job by just not deleting the socket at all during
control_cleanup(), which keeps the control program still working without issues
but more importantly prevents the crash during exit, sorry about that.

Crash reported by wlund at iki.fi

OK deraadt@ claudio@ remi@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE
# 1.9 03-Mar-2017 renato

Allow to specify an alternate control socket.

This is required to run multiple instances of ldpd.

OK claudio@


Revision tags: OPENBSD_6_0_BASE
# 1.8 23-May-2016 renato

Remove superfluous includes.


# 1.7 23-May-2016 renato

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.


# 1.6 23-May-2016 renato

Assorted fixes and small cleanup.

Nothing really interesting here.


# 1.5 23-May-2016 renato

Fix mess caused by my commit script.

I screwed up everything... trying to fix now.


Revision tags: OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE
# 1.4 12-Apr-2012 claudio

accept pacing ldpd way. Since this daemon has multiple listening fds
we add them all to a accept queue that does the pacing with the
accept_pause() and accept_unpause() calls.
With and OK deraadt@


Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE
# 1.3 15-Apr-2010 claudio

Instead of having three ways of setting fds non-blocking use
session_socket_blockmode() everywhere.
Additionally make two fatal() distinguishable.
OK michele@


Revision tags: OPENBSD_4_6_BASE OPENBSD_4_7_BASE
# 1.2 06-Jun-2009 pyr

make ldpd imsg-in-a-lib ready too.


# 1.1 01-Jun-2009 michele

Welcome ldpd, the Label Distribution Protocol daemon.
Built using the imsg/three process framework, its main aim
is to redistribute MPLS labels between peers.

Right now it has some really basic functionalities,
the basic protocol works and peers are able to exchange
labels and insert them in the kernel.
It still does not react to changes of topology.

Not yet connected to the builds.

ok claudio@ deraadt@


# 1.10 22-Jun-2020 mestre

On my previous commit I made the wrong assumption that the control socket was
being unlink(2)ed from the main proc so I removed "cpath" from the pledge(2) on
the ldpe proc but actually the socket was unlink(2)ed from here, this means the
daemon would crash on exit due to pledge(2) not having "cpath" permissions
anymore. Finish the job by just not deleting the socket at all during
control_cleanup(), which keeps the control program still working without issues
but more importantly prevents the crash during exit, sorry about that.

Crash reported by wlund at iki.fi

OK deraadt@ claudio@ remi@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE OPENBSD_6_3_BASE OPENBSD_6_4_BASE OPENBSD_6_5_BASE OPENBSD_6_6_BASE OPENBSD_6_7_BASE
# 1.9 03-Mar-2017 renato

Allow to specify an alternate control socket.

This is required to run multiple instances of ldpd.

OK claudio@


Revision tags: OPENBSD_6_0_BASE
# 1.8 23-May-2016 renato

Remove superfluous includes.


# 1.7 23-May-2016 renato

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.


# 1.6 23-May-2016 renato

Assorted fixes and small cleanup.

Nothing really interesting here.


# 1.5 23-May-2016 renato

Fix mess caused by my commit script.

I screwed up everything... trying to fix now.


Revision tags: OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE
# 1.4 12-Apr-2012 claudio

accept pacing ldpd way. Since this daemon has multiple listening fds
we add them all to a accept queue that does the pacing with the
accept_pause() and accept_unpause() calls.
With and OK deraadt@


Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE
# 1.3 15-Apr-2010 claudio

Instead of having three ways of setting fds non-blocking use
session_socket_blockmode() everywhere.
Additionally make two fatal() distinguishable.
OK michele@


Revision tags: OPENBSD_4_6_BASE OPENBSD_4_7_BASE
# 1.2 06-Jun-2009 pyr

make ldpd imsg-in-a-lib ready too.


# 1.1 01-Jun-2009 michele

Welcome ldpd, the Label Distribution Protocol daemon.
Built using the imsg/three process framework, its main aim
is to redistribute MPLS labels between peers.

Right now it has some really basic functionalities,
the basic protocol works and peers are able to exchange
labels and insert them in the kernel.
It still does not react to changes of topology.

Not yet connected to the builds.

ok claudio@ deraadt@


Revision tags: OPENBSD_6_1_BASE OPENBSD_6_2_BASE
# 1.9 03-Mar-2017 renato

Allow to specify an alternate control socket.

This is required to run multiple instances of ldpd.

OK claudio@


Revision tags: OPENBSD_6_0_BASE
# 1.8 23-May-2016 renato

Remove superfluous includes.


# 1.7 23-May-2016 renato

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.


# 1.6 23-May-2016 renato

Assorted fixes and small cleanup.

Nothing really interesting here.


# 1.5 23-May-2016 renato

Fix mess caused by my commit script.

I screwed up everything... trying to fix now.


Revision tags: OPENBSD_5_2_BASE OPENBSD_5_3_BASE OPENBSD_5_4_BASE OPENBSD_5_5_BASE OPENBSD_5_6_BASE OPENBSD_5_7_BASE OPENBSD_5_8_BASE OPENBSD_5_9_BASE
# 1.4 12-Apr-2012 claudio

accept pacing ldpd way. Since this daemon has multiple listening fds
we add them all to a accept queue that does the pacing with the
accept_pause() and accept_unpause() calls.
With and OK deraadt@


Revision tags: OPENBSD_4_8_BASE OPENBSD_4_9_BASE OPENBSD_5_0_BASE OPENBSD_5_1_BASE
# 1.3 15-Apr-2010 claudio

Instead of having three ways of setting fds non-blocking use
session_socket_blockmode() everywhere.
Additionally make two fatal() distinguishable.
OK michele@


Revision tags: OPENBSD_4_6_BASE OPENBSD_4_7_BASE
# 1.2 06-Jun-2009 pyr

make ldpd imsg-in-a-lib ready too.


# 1.1 01-Jun-2009 michele

Welcome ldpd, the Label Distribution Protocol daemon.
Built using the imsg/three process framework, its main aim
is to redistribute MPLS labels between peers.

Right now it has some really basic functionalities,
the basic protocol works and peers are able to exchange
labels and insert them in the kernel.
It still does not react to changes of topology.

Not yet connected to the builds.

ok claudio@ deraadt@