dragonfly.git
4 years agossh: Declare that we have memset_s().
Sascha Wildner [Sat, 14 Sep 2019 08:47:59 +0000 (10:47 +0200)]
ssh: Declare that we have memset_s().

This doesn't seem to do anything in openssh's source but set it
anyway.

4 years agolibc/string: Add memset_s(3).
Sascha Wildner [Sat, 14 Sep 2019 08:47:04 +0000 (10:47 +0200)]
libc/string: Add memset_s(3).

Taken-from: FreeBSD

4 years ago<stdlib.h>: Fix typedef guard.
Sascha Wildner [Sat, 14 Sep 2019 08:45:58 +0000 (10:45 +0200)]
<stdlib.h>: Fix typedef guard.

4 years agolibc/string: Sort MLINKS
Sascha Wildner [Sat, 14 Sep 2019 07:55:07 +0000 (09:55 +0200)]
libc/string: Sort MLINKS

4 years agogetifaddrs.3: Fix .Dd
Sascha Wildner [Sat, 14 Sep 2019 07:36:59 +0000 (09:36 +0200)]
getifaddrs.3: Fix .Dd

4 years agodsynth - Fix repository generation
Matthew Dillon [Sat, 14 Sep 2019 02:17:02 +0000 (19:17 -0700)]
dsynth - Fix repository generation

* pkg repo generates .txz files no matter what the suffix.  So if the
  suffix is not .txz we have to recompress the results.

* Supply the base path to pkg repo (sans the '/All') so the generated
  yaml properly specififes the relative path "All/blahblah".  Otherwise
  the generated yaml will just generate "blahblah" and rmeote accesses
  wont be able to find the packages.

4 years agosynth.1: Fix some typos/markup.
Sascha Wildner [Fri, 13 Sep 2019 20:52:06 +0000 (22:52 +0200)]
synth.1: Fix some typos/markup.

4 years agoworld - Add dsynth to the build
Matthew Dillon [Fri, 13 Sep 2019 17:11:05 +0000 (10:11 -0700)]
world - Add dsynth to the build

* Add dsynth to the world build.

4 years agoworld - More ABI breakage
Matthew Dillon [Fri, 13 Sep 2019 16:54:33 +0000 (09:54 -0700)]
world - More ABI breakage

* Make more structural changes that will break ABIs.  Since we are
  breaking ABI's we might as well get as much of it done as possible.

  struct datum (ndbm and rpcsvc)
  struct stat (see note below)
  struct ipc_perm (sysv messaging and ipc)

* The struct stat changes use a spare field so the structure
  size has NOT changed.  The kernel has been modified to fill
  in the 'old' field for ABI compatibility.

  The other structures, however, will break ABIs, particularly
  struct ipc_perm.

* Tested with a full world + kernel build.  Additional work in
  dports will be needed, certainly a whole new package set for
  master (also needed due to other ABI-breaking commits).

Submitted-by: swildner
4 years agosbin/newfs_hammer2: Use sbin/hammer2/subs.c
Tomohiro Kusumi [Thu, 12 Sep 2019 19:28:45 +0000 (04:28 +0900)]
sbin/newfs_hammer2: Use sbin/hammer2/subs.c

This is same as how sbin/newfs_hammer makes use of common code
in sbin/hammer.

4 years agosbin/hammer2: Move hammer2_demon() to cmd_service.c
Tomohiro Kusumi [Thu, 12 Sep 2019 19:26:41 +0000 (04:26 +0900)]
sbin/hammer2: Move hammer2_demon() to cmd_service.c

Remove dependencies (global variables and pthread) from subs.c
to make it usable from newfs_hammer2(8) which defines several
duplicated functions.

4 years agosbin/hammer2: Use libkern instead of sbin/hammer2/icrc.c
Tomohiro Kusumi [Thu, 12 Sep 2019 19:11:48 +0000 (04:11 +0900)]
sbin/hammer2: Use libkern instead of sbin/hammer2/icrc.c

sys/vfs/hammer2 and sbin/newfs_hammer2 uses libkern.
Remove sbin/hammer2/icrc.c.

Also see d557434b1f5510b6fed895379af444f0d034c07b,
freebsd/freebsd@d22f1350d2b99a2c94df984d76b37089bc7d610a.

4 years agoUpdate README
Roy Marples [Fri, 13 Sep 2019 13:00:36 +0000 (14:00 +0100)]
Update README

4 years agoMerge branch 'vendor/DHCPCD'
Roy Marples [Fri, 13 Sep 2019 12:48:15 +0000 (13:48 +0100)]
Merge branch 'vendor/DHCPCD'

4 years agoImport dhcpcd-8.0.6 with the following changes:
Roy Marples [Fri, 13 Sep 2019 12:44:27 +0000 (13:44 +0100)]
Import dhcpcd-8.0.6 with the following changes:

  *  inet6: Fix default route not being installed
  *  DHCP: If root fs is network mounted, enable last lease extend
  *  man: Fix lint errors.
  *  BSD: avoid RTF_WASCLONED routes
  *  DHCP: Give a better message when packet validation fails
  *  DHCP: Ensure we have enough data to checksum IP and UDP

The last change fixes a potential DoS attack introduced in dhcpcd-8.0.3
when the checksuming code was changed to accomodate variable length IP headers.

4 years agodhcpcd(8): define HAVE_IFAM_ADDRFLAGS
Roy Marples [Fri, 13 Sep 2019 09:13:07 +0000 (10:13 +0100)]
dhcpcd(8): define HAVE_IFAM_ADDRFLAGS

As we can now pickup address flags from the ifa_msghdr message
from route(4).

4 years agopam_lastlog.8: Fix .Xr's
Sascha Wildner [Fri, 13 Sep 2019 06:46:32 +0000 (08:46 +0200)]
pam_lastlog.8: Fix .Xr's

4 years agoutmpx.5: Fix .Xr
Sascha Wildner [Fri, 13 Sep 2019 06:44:49 +0000 (08:44 +0200)]
utmpx.5: Fix .Xr

4 years agoinet6: Ensure that icmp6_error checks mbuf is for IPv6
Roy Marples [Thu, 12 Sep 2019 23:53:25 +0000 (00:53 +0100)]
inet6: Ensure that icmp6_error checks mbuf is for IPv6

Unsure where this error lies, but commit 5772e17c exposes this.
For now, add a diagnostic to the console and a note to where this
can be triggered - ping6 an unresolvable IPv6 address.

4 years agoroute: Remove ifam_pid for the time being.
Roy Marples [Thu, 12 Sep 2019 18:26:58 +0000 (19:26 +0100)]
route: Remove ifam_pid for the time being.

We lose curproc in netisr0 and I don't see a way of getting
it easily. Will work on this in the future.

4 years agosbin/fsck_msdosfs: Bring in FreeBSD/Git 66dd3f2b (don't cast malloc(3))
Tomohiro Kusumi [Thu, 12 Sep 2019 14:24:12 +0000 (23:24 +0900)]
sbin/fsck_msdosfs: Bring in FreeBSD/Git 66dd3f2b (don't cast malloc(3))

4 years agosbin/fsck_msdosfs: Bring in FreeBSD/Git 0d367b12 (fix LFN check)
Tomohiro Kusumi [Thu, 12 Sep 2019 14:21:50 +0000 (23:21 +0900)]
sbin/fsck_msdosfs: Bring in FreeBSD/Git 0d367b12 (fix LFN check)

4 years agosbin/fsck_msdosfs: Bring in FreeBSD/Git 41a4c010 (use calloc(3))
Tomohiro Kusumi [Thu, 12 Sep 2019 14:17:17 +0000 (23:17 +0900)]
sbin/fsck_msdosfs: Bring in FreeBSD/Git 41a4c010 (use calloc(3))

4 years agosbin/fsck_msdosfs: Bring in FreeBSD/Git 10a5b874 (fix -F comment)
Tomohiro Kusumi [Thu, 12 Sep 2019 13:44:40 +0000 (22:44 +0900)]
sbin/fsck_msdosfs: Bring in FreeBSD/Git 10a5b874 (fix -F comment)

4 years agosbin/fsck_msdosfs: Bring in FreeBSD/Git f2e7bd69 (remove unused extern)
Tomohiro Kusumi [Thu, 12 Sep 2019 13:42:02 +0000 (22:42 +0900)]
sbin/fsck_msdosfs: Bring in FreeBSD/Git f2e7bd69 (remove unused extern)

4 years agosbin/fsck_msdosfs: Bring in FreeBSD/Git 9502e5ba (fix fullpath())
Tomohiro Kusumi [Thu, 12 Sep 2019 13:36:55 +0000 (22:36 +0900)]
sbin/fsck_msdosfs: Bring in FreeBSD/Git 9502e5ba (fix fullpath())

4 years agobuild: define CMSG_ALIGN using __ALIGNBYTES
Roy Marples [Thu, 12 Sep 2019 12:20:29 +0000 (13:20 +0100)]
build: define CMSG_ALIGN using __ALIGNBYTES

Temporarily define __ALIGNBYTES here as well, but it should
be moved to somewhere X64_64 specific.

4 years agosbin/fsck_msdosfs: u_int*_t -> uint*_t
Tomohiro Kusumi [Thu, 12 Sep 2019 13:04:05 +0000 (22:04 +0900)]
sbin/fsck_msdosfs: u_int*_t -> uint*_t

4 years agosbin/fsck_msdosfs: Whitespace cleanups
Tomohiro Kusumi [Thu, 12 Sep 2019 13:05:10 +0000 (22:05 +0900)]
sbin/fsck_msdosfs: Whitespace cleanups

4 years agodhcpcd(8): Add HAVE_IFADDRS_ADDRFLAGS to config.h
Roy Marples [Thu, 12 Sep 2019 09:41:45 +0000 (10:41 +0100)]
dhcpcd(8): Add HAVE_IFADDRS_ADDRFLAGS to config.h

As libc now has support for it.

4 years agogetifaddrs(3): Add ifa_addrflags to struct ifaddrs
Roy Marples [Thu, 12 Sep 2019 09:29:30 +0000 (10:29 +0100)]
getifaddrs(3): Add ifa_addrflags to struct ifaddrs

This saves a SIOCGIFAFLAG_IN6 ioctl per IPv6 address when
you're also interested in how useable the address is.

Taken-from: NetBSD

4 years agoroute(4): Add ifam_pid and ifam_addrflags to ifa_msghdr
Roy Marples [Thu, 12 Sep 2019 08:13:30 +0000 (09:13 +0100)]
route(4): Add ifam_pid and ifam_addrflags to ifa_msghdr

While here, re-arrange other route(4) message headers so the same
values appear in the same order for consistency.

Bump RTM_VERSION.

4 years agoshmctl.2: Refer to <sys/ipc.h> for the ipc_perm structure.
Sascha Wildner [Thu, 12 Sep 2019 08:07:00 +0000 (10:07 +0200)]
shmctl.2: Refer to <sys/ipc.h> for the ipc_perm structure.

4 years agomsgctl.2: Fix structure member name.
Sascha Wildner [Thu, 12 Sep 2019 08:05:22 +0000 (10:05 +0200)]
msgctl.2: Fix structure member name.

4 years agolibc/psignal: Minor sync with FreeBSD to adjust to int signum.
Sascha Wildner [Thu, 12 Sep 2019 07:11:36 +0000 (09:11 +0200)]
libc/psignal: Minor sync with FreeBSD to adjust to int signum.

4 years agolibc: Change psignal()'s signum argument from unsigned int to int.
Sascha Wildner [Thu, 12 Sep 2019 06:58:21 +0000 (08:58 +0200)]
libc: Change psignal()'s signum argument from unsigned int to int.

See https://pubs.opengroup.org/onlinepubs/9699919799/functions/psiginfo.html

4 years agodsynth - Add more make.conf variables
Matthew Dillon [Wed, 11 Sep 2019 19:28:42 +0000 (12:28 -0700)]
dsynth - Add more make.conf variables

* Add UID, AZRCH, OPSYS, DFLYVERSION, OSVERSION, OSREL,
  and _OSRELEASE.

Reported-by: tuxillo
4 years agobuild: Adjust _CMSG_ALIGN() for portability
Roy Marples [Wed, 11 Sep 2019 19:25:11 +0000 (20:25 +0100)]
build: Adjust _CMSG_ALIGN() for portability

Not every platform uses the same aligmnet, so use _ALIGNBYTES.
This an ABI break, but this is fine as there was already an ABI
break very recently.

ok: dillon

4 years agokern/pty: Fix comment to not name utmpx as reason for MAXPTYS == 1000.
Sascha Wildner [Wed, 11 Sep 2019 18:48:07 +0000 (20:48 +0200)]
kern/pty: Fix comment to not name utmpx as reason for MAXPTYS == 1000.

4 years agoat.1: Bump date.
Sascha Wildner [Wed, 11 Sep 2019 18:04:11 +0000 (20:04 +0200)]
at.1: Bump date.

4 years ago<unistd.h>: Declare intptr_t as per X/Open.
zrj [Wed, 11 Sep 2019 11:38:22 +0000 (14:38 +0300)]
<unistd.h>: Declare intptr_t as per X/Open.

 No functional change yet, for future reference.

4 years agolibdevattr: Remove not needed header include.
zrj [Wed, 11 Sep 2019 11:37:31 +0000 (14:37 +0300)]
libdevattr: Remove not needed header include.

 Nothing is needed from <sys/device.h> here.

4 years agolibc: Remove a single use of vm_offset_t type.
zrj [Wed, 11 Sep 2019 11:36:48 +0000 (14:36 +0300)]
libc: Remove a single use of vm_offset_t type.

 Use (uintptr_t) for casting (void *) like it is already used elsewhere
 for consistency.

 v2: use (uintptr_t) instead of (u_long) as suggested by swildner

4 years agolib: Remove no-op defines in CFLAGS for few libraries.
zrj [Wed, 11 Sep 2019 11:35:45 +0000 (14:35 +0300)]
lib: Remove no-op defines in CFLAGS for few libraries.

 No-op since 0d5acd7467c4e95f792ef49fceb3ab8e917ce86b.

4 years agolibc/locale: Limit visibility in private headers for tools.
zrj [Wed, 11 Sep 2019 11:34:36 +0000 (14:34 +0300)]
libc/locale: Limit visibility in private headers for tools.

 The localedef(1) requires just a few struct lc_*_t layouts from private
 lib/libc/locale/ headers in order to convert source definitions.
 It is desired that it uses as minimal as possible amount of internal
 header information, since localedef(1) is also in BTOOLS group.
 Same could be done to zic(8) and pwd_mkdb(8).

 * Use __LIBC guard to limit visibility in libc internal headers.
 * Poison xlocale_private.h to warn early that internals were used.

 Another issue is that localedef(1) and zic(8) are not recompiled on
 libc changes and require full BTOOLS recompile.  Converting both of
 them to hostprog would solve this, however there are invoke issues.

 No function change.

4 years agolibc: Add global __LIBC definition while building libc.
zrj [Wed, 11 Sep 2019 11:01:19 +0000 (14:01 +0300)]
libc: Add global __LIBC definition while building libc.

 It will be used to limit visibility for uses outside libc context.
 No functional change yet.

In-discussion-with: swilder

4 years agoAdjust numerous manual pages, scripts and Makefiles for the utmp removal.
Sascha Wildner [Wed, 11 Sep 2019 17:12:29 +0000 (19:12 +0200)]
Adjust numerous manual pages, scripts and Makefiles for the utmp removal.

Also remove /var/run/utmp and /var/log/lastlog via 'make upgrade'. Keep
any /var/log/wtmp and /var/log/wtmp.* files in case the user wants to
convert them with wtmpcvt(1).

4 years agoinet6: Restore ND6_LLINFO_WAITDELETE
Roy Marples [Wed, 11 Sep 2019 15:06:51 +0000 (16:06 +0100)]
inet6: Restore ND6_LLINFO_WAITDELETE

This predates DragonFlyBSD by quite a few years, but
ND6_LLINFO_WAITDELETE was removed in 2000 from all the BSD's.
This change brings it back so that if someone *really* wants
to resolve the unresolvable we don't constant delete
and add cloned routes which is just a waste of resources.

It also helps to return EHOSTDOWN more consistently to senders.
If we don't resolve the address during the normal wait cyckle OR
attempt to resolve it again while in the ND6_LLINFO_WAITDELETE
state, then then cloned route is then freed.

4 years agoinet6: Introduce nd6_resolve, the mirror of arpresolve
Roy Marples [Wed, 11 Sep 2019 13:01:08 +0000 (14:01 +0100)]
inet6: Introduce nd6_resolve, the mirror of arpresolve

nd6_output now just sends the packet, nd6_resolve handles the NUD
that nd6_output used to. nd6_resolve also returns sensible errors,
but we mask out EWOULDBLOCK in the callers.

There is no longer a need for nd6_storelladdr and this makes the
code a lot easier to follow.

Heavily inspired by FreeBSD/Git 49332534.

4 years agotelnetd(8): Fix a warning and bump WARNS to 5.
Sascha Wildner [Tue, 10 Sep 2019 19:32:36 +0000 (21:32 +0200)]
telnetd(8): Fix a warning and bump WARNS to 5.

4 years agoAdd a wtmpcvt(1) utility from FreeBSD to convert wtmp -> wtmpx.
Sascha Wildner [Tue, 10 Sep 2019 19:31:50 +0000 (21:31 +0200)]
Add a wtmpcvt(1) utility from FreeBSD to convert wtmp -> wtmpx.

4 years agoRetire the utmp specific ttyslot() function, like FreeBSD did.
Sascha Wildner [Tue, 10 Sep 2019 19:30:00 +0000 (21:30 +0200)]
Retire the utmp specific ttyslot() function, like FreeBSD did.

4 years agoRemove the legacy "utmp" API, now that our utils have been moved to utmpx.
Sascha Wildner [Tue, 10 Sep 2019 19:26:48 +0000 (21:26 +0200)]
Remove the legacy "utmp" API, now that our utils have been moved to utmpx.

As I wrote in UPGRADING, the main change for "normal" users is probably
that /var/log/wtmp is no longer logged to, just /var/log/wtmpx.

Leave the old API in libc as compat symbols that do nothing and always
succeed for the run-time linker (i.e. old binaries still using them).

dports has been kindly adjusted by zrj and new binary packages for master
are on their way.

A future commit will provide a wtmpcvt(1) utility to convert old wtmp
files to the wtmpx format.

4 years agoac(8): Sync with FreeBSD, i.e. switch to utmpx. Drop utmp support.
Sascha Wildner [Tue, 10 Sep 2019 19:13:52 +0000 (21:13 +0200)]
ac(8): Sync with FreeBSD, i.e. switch to utmpx. Drop utmp support.

4 years agoftpd(8): Add utmpx support from FreeBSD. Drop utmp support.
Sascha Wildner [Tue, 10 Sep 2019 19:10:23 +0000 (21:10 +0200)]
ftpd(8): Add utmpx support from FreeBSD. Drop utmp support.

4 years agorwhod(8): Add utmpx support from FreeBSD. Drop utmp support.
Sascha Wildner [Tue, 10 Sep 2019 19:09:25 +0000 (21:09 +0200)]
rwhod(8): Add utmpx support from FreeBSD. Drop utmp support.

4 years agoppp(8): Add utmpx support from FreeBSD. Drop utmp support.
Sascha Wildner [Tue, 10 Sep 2019 19:07:59 +0000 (21:07 +0200)]
ppp(8): Add utmpx support from FreeBSD. Drop utmp support.

4 years agowho(1)/finger(1): Move to utmpx. Drop utmp support.
Sascha Wildner [Tue, 10 Sep 2019 19:06:24 +0000 (21:06 +0200)]
who(1)/finger(1): Move to utmpx. Drop utmp support.

finger(1) utmpx support taken from FreeBSD.

This also moves the consumers of utmpentry.c to utmpx: talkd(8),
systat(1), users(1), wall(1) and write(1).

4 years agorpc.rusersd(8): Sync with FreeBSD, i.e. switch to utmpx. Drop utmp support.
Sascha Wildner [Tue, 10 Sep 2019 19:05:03 +0000 (21:05 +0200)]
rpc.rusersd(8): Sync with FreeBSD, i.e. switch to utmpx. Drop utmp support.

4 years agocomsat(8): Sync with FreeBSD, i.e. switch to utmpx. Drop utmp support.
Sascha Wildner [Tue, 10 Sep 2019 19:01:31 +0000 (21:01 +0200)]
comsat(8): Sync with FreeBSD, i.e. switch to utmpx. Drop utmp support.

4 years agosshd(8): Drop utmp support.
Sascha Wildner [Tue, 10 Sep 2019 18:59:44 +0000 (20:59 +0200)]
sshd(8): Drop utmp support.

4 years agocsh(1): Drop utmp support.
Sascha Wildner [Tue, 10 Sep 2019 18:58:32 +0000 (20:58 +0200)]
csh(1): Drop utmp support.

4 years agoreboot(8): Switch to utmpx. Drop utmp support.
Sascha Wildner [Tue, 10 Sep 2019 18:57:23 +0000 (20:57 +0200)]
reboot(8): Switch to utmpx. Drop utmp support.

4 years agopam_lastlog(8): Switch to utmpx. Drop utmp support.
Sascha Wildner [Tue, 10 Sep 2019 18:56:06 +0000 (20:56 +0200)]
pam_lastlog(8): Switch to utmpx. Drop utmp support.

4 years agotelnetd(8): Switch to utmpx. Drop utmp support.
Sascha Wildner [Tue, 10 Sep 2019 18:44:30 +0000 (20:44 +0200)]
telnetd(8): Switch to utmpx. Drop utmp support.

4 years agow(1): Switch to utmpx. Drop utmp support.
Sascha Wildner [Tue, 10 Sep 2019 18:41:02 +0000 (20:41 +0200)]
w(1): Switch to utmpx. Drop utmp support.

4 years agoinit(8): Switch to utmpx. Drop utmp support.
Sascha Wildner [Tue, 10 Sep 2019 18:40:03 +0000 (20:40 +0200)]
init(8): Switch to utmpx. Drop utmp support.

4 years agolastlogin(8): Switch to utmpx. Drop utmp support.
Sascha Wildner [Tue, 10 Sep 2019 18:36:44 +0000 (20:36 +0200)]
lastlogin(8): Switch to utmpx. Drop utmp support.

4 years agolast(1): Fix wrong shutdown/reboot reporting.
Sascha Wildner [Tue, 10 Sep 2019 18:24:03 +0000 (20:24 +0200)]
last(1): Fix wrong shutdown/reboot reporting.

Our last was reporting shutdown/reboot as crashes and it has something
to do with our order of wtmpx log entries vs. NetBSD's. This should be
revisited later. For now, take the "reboot" entry into account too.

4 years agolast(1): Switch to utmpx. Drop utmp support.
Sascha Wildner [Tue, 10 Sep 2019 18:22:32 +0000 (20:22 +0200)]
last(1): Switch to utmpx. Drop utmp support.

While here, merge what remains of want.c into last.c.

4 years agodate(1): Switch to utmpx. Drop utmp support.
Sascha Wildner [Tue, 10 Sep 2019 18:20:44 +0000 (20:20 +0200)]
date(1): Switch to utmpx. Drop utmp support.

4 years agolibc: Add getutxuser() (adapted from FreeBSD).
Sascha Wildner [Tue, 10 Sep 2019 18:20:04 +0000 (20:20 +0200)]
libc: Add getutxuser() (adapted from FreeBSD).

4 years agoRemove 'register' qualifier
Matthew Dillon [Tue, 10 Sep 2019 16:51:20 +0000 (09:51 -0700)]
Remove 'register' qualifier

* Not allowed in c++17, and no longer has any usefulness
  given that modern compilers already optimize variables
  into registers extremely well.

Reported-by: zrj
4 years agosbin/mount_msdos: Bring in FreeBSD/Git 0c5ae3a9 (add -M option)
Tomohiro Kusumi [Tue, 10 Sep 2019 15:06:26 +0000 (00:06 +0900)]
sbin/mount_msdos: Bring in FreeBSD/Git 0c5ae3a9 (add -M option)

4 years agorc.d/dhcpcd: Start before netif
Roy Marples [Tue, 10 Sep 2019 14:34:57 +0000 (15:34 +0100)]
rc.d/dhcpcd: Start before netif

This ensures that in the silly case where dhcpcd is enabled
AND ifconfig_foo=DHCP is set then a second dhcpcd instance is not
started.

4 years agosys/net: Rename if_route_dispatch to if_up_dispatch
Roy Marples [Tue, 10 Sep 2019 14:02:03 +0000 (15:02 +0100)]
sys/net: Rename if_route_dispatch to if_up_dispatch

The word route here is misleading and is heavily influenced with
the addition of removed subnet routes when taken down which is
no longer the case.
While here, remove pointless flag and family from the message
object.

Do the same for unroute.

4 years agonet/if_gre: unhook rip_ctlinput
Roy Marples [Tue, 10 Sep 2019 13:32:54 +0000 (14:32 +0100)]
net/if_gre: unhook rip_ctlinput

It no longer exists, see prior commit.

4 years agosbin/mount_msdos: Bring in FreeBSD/Git 7e476e89
Tomohiro Kusumi [Tue, 10 Sep 2019 14:11:04 +0000 (23:11 +0900)]
sbin/mount_msdos: Bring in FreeBSD/Git 7e476e89

4 years agosbin/mount_msdos: Whitespace cleanups
Tomohiro Kusumi [Tue, 10 Sep 2019 14:14:38 +0000 (23:14 +0900)]
sbin/mount_msdos: Whitespace cleanups

4 years agoinet: unhook and remove rip_ctlinput
Roy Marples [Tue, 10 Sep 2019 12:42:19 +0000 (13:42 +0100)]
inet: unhook and remove rip_ctlinput

This is no longer needed thanks to rt_purgecloned.
This also fixes two problems where we would lie about the address
being removed via RTM_DELADDR and the assumption that the
subnet route should be removed / moved to another interface.

4 years agoinet: hookup in6_if_down with rt_purgecloned
Roy Marples [Tue, 10 Sep 2019 12:39:22 +0000 (13:39 +0100)]
inet: hookup in6_if_down with rt_purgecloned

4 years agoinet: hookup in_if_down with rt_purgecloned
Roy Marples [Tue, 10 Sep 2019 12:37:43 +0000 (13:37 +0100)]
inet: hookup in_if_down with rt_purgecloned

4 years agoroute: introduce rt_purgecloned
Roy Marples [Tue, 10 Sep 2019 12:35:40 +0000 (13:35 +0100)]
route: introduce rt_purgecloned

This function walks the route tree for the given address family
and deleted any cloned route for the given interface.

4 years agosys/net: Call in6_if_up from the domain rather than directly
Roy Marples [Tue, 10 Sep 2019 11:16:52 +0000 (12:16 +0100)]
sys/net: Call in6_if_up from the domain rather than directly

4 years agosys/net: Add dom_if_up and dom_if_down
Roy Marples [Tue, 10 Sep 2019 11:09:20 +0000 (12:09 +0100)]
sys/net: Add dom_if_up and dom_if_down

Domain functions for when the interface goes up and down.

4 years agoroute: Don't install a cloned route when interface is down
Roy Marples [Tue, 10 Sep 2019 11:00:36 +0000 (12:00 +0100)]
route: Don't install a cloned route when interface is down

When an interface is taken down, all subnet routes are removed
and thus all cloned routes are flushed.

It's possible, although unlikely, for userland to add a subnet
route when the interface is down.

In this state, EHOSTDOWN would be returned regardless, but a
cloned route would be created locked to the interface.
Instead, check if interface is down before creating the cloned
route so it's not made needlessly.

4 years ago<netinet/in_var.h>: Adjust visibility.
zrj [Sat, 31 Aug 2019 14:12:33 +0000 (17:12 +0300)]
<netinet/in_var.h>: Adjust visibility.

 It appears that only struct in_ifaddr and in_aliasreq need to be exposed
 to the userland.

 While there, disable two macros that do not seem to be used by DPorts.

4 years ago<netinet/in_var.h>: Include sys/fnv_hash.h only for _KERNEL.
zrj [Sat, 31 Aug 2019 13:06:25 +0000 (16:06 +0300)]
<netinet/in_var.h>: Include sys/fnv_hash.h only for _KERNEL.

 Many dports have their own hash-32.c and hash-fnv.cc implementations.
 This makes the lib/libkvm/kvm_minidump_x86_64.c the only consumer of
 <sys/fnv_hash.h> in userland.

4 years ago<sys/fnv_hash.h>: Remove unused fnv_64*() inline functions.
zrj [Sat, 31 Aug 2019 11:58:37 +0000 (14:58 +0300)]
<sys/fnv_hash.h>: Remove unused fnv_64*() inline functions.

 Unused in base (neither OpenBSD or NetBSD has this header).  Once needed
 64 variants can be added from www.isthe.com/chongo/src/fnv/hash_64.c
 For now keep fnv_32_str() inline, but disable it.  It could be used in
 several kernel places instead of fnv_32_buf().  The smbfs_hash() in
 sys/vfs/smbfs/smbfs_node.c could be adjusted to use <sys/fnv_hash.h>.

 Reduces kernel.stripped size by 72 bytes.

4 years ago<sys/dmsg.h>: Reduce userland namespace pollution.
zrj [Sat, 31 Aug 2019 09:54:15 +0000 (12:54 +0300)]
<sys/dmsg.h>: Reduce userland namespace pollution.

 Do not include <sys/malloc.h> and <sys/thread.h> for userland here.
 This removes dependencies on these headers for all dmsg consumers like:
  fstyp(8), hammer2(8), mount_hammer2(8), newfs_hammer2(8) and libstand
 which is desired in standalone boot environment.
 Add missing <machine/param.h> for libstand/hammer2.c that needs the
 DEV_BSHIFT definition, previously it was visible through <sys/malloc.h>
 namespace pollution.

 While there, mark some guards for clarity too.

 Noticed while investigating .depend â€‹violations.

4 years ago<sys/device.h>: Adjust userland visibility.
zrj [Sat, 31 Aug 2019 09:51:34 +0000 (12:51 +0300)]
<sys/device.h>: Adjust userland visibility.

 While there, do the same to sys/devfs.h and sys/vfsops.h.

 No functional change for base.

4 years ago<sys/device.h>: Disable some no longer used types.
zrj [Sat, 31 Aug 2019 09:47:37 +0000 (12:47 +0300)]
<sys/device.h>: Disable some no longer used types.

 Some additional cleanup in sys/devfs.h and sys/vfsops.h:
 * dev_args_union/vop_args_union unused since introduced in
   fef8985e09e16aeee4a2014876e2e4b758656ac2 and
   2d3e977e265c8a4a48b58061b9d91ad235ed2265
 * devfs_unit_hash unused since 898c91ee87ff48eab03bcce3add7afc16a58754e
 * D_NAGGED unused since 335dda388a5c13edd38c87c32b72e51eaaedce75
 * DEVFS_ISDIGIT unused since 07dfa375a25f4ef43c956ee33c739661306f601

 While there, minor trailing whitespace cleanup in sys/vfsops.h.

4 years ago<cpu/param.h>: Change visibility for several macros.
zrj [Sat, 31 Aug 2019 09:46:16 +0000 (12:46 +0300)]
<cpu/param.h>: Change visibility for several macros.

 While there, remove two unused ones since introduced in
 c8fe38ae0761c8117b13caf9b76ad5fb86ac2135

4 years agokernel: Remove kvtop() remnant form early x86_64 port.
zrj [Sat, 31 Aug 2019 09:45:16 +0000 (12:45 +0300)]
kernel: Remove kvtop() remnant form early x86_64 port.

4 years agoplatform/pc64: Remove unused pte_store() and pde_store().
zrj [Sat, 31 Aug 2019 09:44:33 +0000 (12:44 +0300)]
platform/pc64: Remove unused pte_store() and pde_store().

 Never used since introduced in 48ffc2362a11e481bf0398dc7ce5e4815acd2190

4 years ago<machine/param.h>: Remove unused KSTACK_PAGES.
zrj [Sat, 31 Aug 2019 09:43:29 +0000 (12:43 +0300)]
<machine/param.h>: Remove unused KSTACK_PAGES.

 Unused since 4611d87f91be625f8ef4c7ea2709b86abe035b65

4 years ago<sys/serialize.h>: Limit prototypes to kernel only.
zrj [Sat, 31 Aug 2019 09:42:07 +0000 (12:42 +0300)]
<sys/serialize.h>: Limit prototypes to kernel only.

 The "struct lwkt_serialize" must be left userland visible for if_net.

4 years ago<sys/jail.h>: Use forward declarations for private members.
zrj [Sat, 31 Aug 2019 09:40:42 +0000 (12:40 +0300)]
<sys/jail.h>: Use forward declarations for private members.

 This reduces dependencies on <sys/sysctl.h> in both kernel and userland.

4 years agolibc: Add gets_s(3) from ISO/IEC TR 24731-1.
Sascha Wildner [Mon, 9 Sep 2019 17:44:47 +0000 (19:44 +0200)]
libc: Add gets_s(3) from ISO/IEC TR 24731-1.

For more information see the Technical Report (drafts of it are on
the web) or e.g. http://en.cppreference.com/w/c/io/gets.

This also adds set_constraint_handler_s(), abort_handler_s(),
ignore_handler_s(), the RSIZE_MAX define, and the types rsize_t,
errno_t and constraint_handler_t.

Visibility is restricted to our default environment by default, but
can be enabled by defining __STDC_WANT_LIB_EXT1__ to 1, per the TR.

While here, put gets()'s documentation into a manual page of its own
with a note that it is depracated. We'll likely remove it from libc
too at a later point in time.

Requested-by: zrj
Taken-from:   FreeBSD (with some adjustments)

4 years ago<sys/cdefs.h>: Add a macro to control ISO/IEC TR 24731-1 visibility.
Sascha Wildner [Sun, 8 Sep 2019 10:28:54 +0000 (12:28 +0200)]
<sys/cdefs.h>: Add a macro to control ISO/IEC TR 24731-1 visibility.

The __STDC_WANT_LIB_EXT1__ macro controls visibility for code that
wants to use it. In addition, visibility is enabled for our default
environment that exposes everything.

Taken-from: FreeBSD