summaryrefslogtreecommitdiff
path: root/usr.sbin
AgeCommit message (Collapse)Author
2016-05-28Implement the fork+exec pattern in smtpd.Eric Faurot
The parent process forks child processes and re-exec each of them with an additional "-x <proc>" argument. During the early setup phase, the parent process sends ipc socket pairs to interconnect the child processes as needed, and it passes the queue encryption key to the queue if necessary. When this is done, all processes have their environment set as in the fork-only case, and they can start doing their work as before. ok gilles@ jung@
2016-05-28Replace the /dev/bpf* open loop with a plain open("/dev/bpf0", ...).Martin Natano
ok deraadt jca
2016-05-27tweak wording to avoid "firmware which are installed"T.J. Townsend
2016-05-27W^X violations are no longer permitted by default. A kernel log messageTheo de Raadt
is generated, and mprotect/mmap return ENOTSUP. If the sysctl(8) flag kern.wxabort is set then a SIGABRT occurs instead, for gdb use or coredump creation. W^X violating programs can be permitted on a ffs/nfs filesystem-basis, using the "wxallowed" mount option. One day far in the future upstream software developers will understand that W^X violations are a tremendously risky practice and that style of programming will be banished outright. Until then, we recommend most users need to use the wxallowed option on their /usr/local filesystem. At least your other filesystems don't permit such programs. ok jca kettenis mlarkin natano
2016-05-27Return "400 Bad Request" instead of "500 Server Internal Error" forKenneth R Westerback
requests lacking "HTTP/<version>". This makes it more obvious that httpd(8) does not attempt to support HTTP v0.9 (circa 1991), when "GET <url>\r\n" was valid. ok millert@ florian@
2016-05-26Re-introduce vnode-to-filename mappingStefan Kempf
The name cache walking code got adapted to the new name cache layout. Along with the previous commit, procmap is now able to map a vnode to a filename as long as it is in the name cache. "nice stuff" deraadt@
2016-05-26Copy ELF headers into guest VM memoryStefan Kempf
This gives ddb access to the symbols of the kernel running inside the VM. ok mlarkin@
2016-05-26Improve and clarify a few bits; with input from jmc@, ok yasuoka, jmcMike Belopuhov
2016-05-25Must extract uvm_vnode from uvm_object first before reading the vnodeStefan Kempf
Otherwise procmap interprets the uvm_vnode contents as a vnode, yielding bogus values. This should cure the "procmap: invalid address (ffffffffffffffff) == -1 vs. 656 @ ffffffffffffffff" error messages that appear sporadically. ok deraadt@
2016-05-25new sentence, new line, and avoid line wrap;Jason McIntyre
2016-05-25remove code to display MNT_EXKERB bitTheo de Raadt
2016-05-25flesh out "show summary" description a bit, from julien at dhaille.com viaHenning Brauer
jmc, ok benno claudio
2016-05-23various tweaks;Jason McIntyre
2016-05-23Use PATH_MAX instead of a hardcoded minimal value. Stack space is cheap andMark Kettenis
this isn't the kernel. requested by deraadt@
2016-05-23Add support for manually resetting neighbors.Renato Westphal
2016-05-23Improve security by calling exec after fork.Renato Westphal
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@
2016-05-23Update copyright information.Renato Westphal
2016-05-23Remove superfluous includes.Renato Westphal
2016-05-23Make functions and variables static whenever possible.Renato Westphal
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.
2016-05-23Introduce the 'ldpctl clear neighbors' command.Renato Westphal
2016-05-23Sync with the latest IPv6 bits in ldpd(8).Renato Westphal
2016-05-23Add function that print labels to avoid code duplication.Renato Westphal
In addition to that, print "exp-null" instead of "0" or "2".
2016-05-23Replace legacy bzero and bcopy by memset and memcpy.Renato Westphal
bzero(), bcopy() and bcmp() were deprecated in POSIX.1-2001 and removed in POSIX.1-2008 in deference to memset(), memcpy() and memcmp().
2016-05-23s/routes/labelsRenato Westphal
2016-05-23Change ldpctl(8) to use C99-style fixed-width integers.Renato Westphal
2016-05-23Add support for IPv6 (RFC 7552).Renato Westphal
This includes: * Full compliance to RFC 7552; * Support for MD5 on LDPov6 sessions; * Support for pseudowires over IPv6 LSPs (we're probably the world's first implementation doing this); * Support for the IPv6 explicit-null label; * Knob to specify the prefered address-family for TCP transport connections; * Knob to use cisco non-compliant format to send and interpret the Dual-Stack capability TLV.
2016-05-23Assorted fixes and small cleanup.Renato Westphal
Nothing really interesting here.
2016-05-23Remove redundant new lines in print_config().Renato Westphal
2016-05-23Reject null labels for PW-ID FECs.Renato Westphal
2016-05-23Start sentences on new lines in ldpd.conf(5).Renato Westphal
2016-05-23Introduce a garbage collector for dead entries in the LIB.Renato Westphal
If we lose a route and all of its associated labels, then there's no point on keeping an entry for it in the LIB.
2016-05-23Simplify label allocation.Renato Westphal
Whenever we lose a route, unset the local label. If the same route is learned again later, allocate a new label for it. No need to be economic with labels, it's not worth the added complexity.
2016-05-23Use SO_BINDANY before binding sockets to the transport-address.Renato Westphal
This allows ldpd to start on a system without any IP address and bind to the transport-address successfully. Without this patch, we'd need to monitor the new addresses from the kernel and create the network sockets only when the transport-address is available in the system.
2016-05-23Enable changing the router-id via config reload.Renato Westphal
Now ldpd can start without a router-id, since it can be set later. Since a router-id of 0.0.0.0 is invalid, interfaces and targeted-neighbors will check for a valid router-id in order to be activated. When the router-id is changed, all the neighborships are reset.
2016-05-23Several fixes in the config reload handling.Renato Westphal
2016-05-23Don't create l2vpn targeted neighbors inside the config parser.Renato Westphal
When removing a configured pseudowire, we remove the associated tnbr in ldpe_l2vpn_pw_exit(). So, when a new pseudowire is configured, it makes sense to create its tnbr in ldpe_l2vpn_pw_init() to keep things consistent.
2016-05-23Add an exception for kernels built without PFKEYv2 support.Renato Westphal
2016-05-23Create network sockets on the parent process.Renato Westphal
We drop our privileges in ldpe right after we create the network sockets. The problem is that we might want to change the transport-address and reload the config, in which case we need new sockets. To allow that, always create the network sockets in the parent process and pass them to ldpe via imsg.
2016-05-23Reuse lde_address_find() inside lde_check_mapping().Renato Westphal
2016-05-23Fix bugs in pseudowire parameters negotiation.Renato Westphal
2016-05-23Copy structs by assignment instead of memcpy.Renato Westphal
Copying by straight assignment is shorter, easier to read and has a higher level of abstraction. We'll only avoid it when copying from an unaligned source (e.g., network buffers). In addition, copy in_addr structs directly.
2016-05-23Move socket creation and setup into a specialized function.Renato Westphal
Right now we use three network sockets in ldpd: * the discovery socket (udp+mcast); * the extended discovery socket (udp); * the session socket (tcp). When we introduce IPv6 support, we'll get three more sockets. In order to prevent code duplication in the future, add a specialized function that creates a socket according to the given type (and address-family later). This also improves readability because it makes it easier to see the differences between each socket.
2016-05-23Sync with ldpd.Renato Westphal
2016-05-23Fix mess caused by my commit script.Renato Westphal
I screwed up everything... trying to fix now.
2016-05-23Move setsockopt helper functions to a separate file.Renato Westphal
IPv6 support is coming and we don't want to pollute the interface.c file with too many of these helper functions. Also, rename these functions from if_set_* to sock_set_*.
2016-05-23Fix fd leak in error path.Renato Westphal
2016-05-23Rework L2VPN code.Renato Westphal
2016-05-23Fix bug in the processing of label withdraws and releases.Renato Westphal
The F_MAP_PW_ID flag is only set for PW-ID mappings, which means that we were ignoring all label withdraws and label releases for non PW-ID FECs.
2016-05-23Remove protection that was prevent pseudowires to be updated in the kernel.Renato Westphal
During the setup of a pseudowire, it might change its parameters (e.g. control-word) once the negotiation with the remote peer is done.
2016-05-23Fix warnings when compiling with -pedantic.Renato Westphal