openbsd
6 years agoHook up the rasops text emulation functions so we only write out
patrick [Thu, 9 Aug 2018 14:43:17 +0000 (14:43 +0000)]
Hook up the rasops text emulation functions so we only write out
the characters that changed, and only when they change.  This
replaces writing out the whole framebuffer every 100ms with a
partial update mechanism.  Now the system stays responsive and
does not slow down anymore due to the periodic update.

6 years agocorrect sizeof to use correct buffer, rather than another buffer (which
deraadt [Thu, 9 Aug 2018 14:30:28 +0000 (14:30 +0000)]
correct sizeof to use correct buffer, rather than another buffer (which
was the same size)

6 years agoImplement out-of-band interrupt support in the bwfm(4) SDIO backend.
patrick [Thu, 9 Aug 2018 14:23:50 +0000 (14:23 +0000)]
Implement out-of-band interrupt support in the bwfm(4) SDIO backend.

6 years agoMake imxesdhc(4) pass per-function cookies to the SD/MMC bus.
patrick [Thu, 9 Aug 2018 13:53:30 +0000 (13:53 +0000)]
Make imxesdhc(4) pass per-function cookies to the SD/MMC bus.

ok kettenis@

6 years agoAllow passing per-function cookies through the SD/MMC bus to SDIO
patrick [Thu, 9 Aug 2018 13:52:36 +0000 (13:52 +0000)]
Allow passing per-function cookies through the SD/MMC bus to SDIO
devices.  This allows SDIO device drivers to read information from
the ACPI or FDT tables.

ok kettenis@

6 years agoCorrect the bitmask that returns the function count. We missed a bit
patrick [Thu, 9 Aug 2018 13:50:15 +0000 (13:50 +0000)]
Correct the bitmask that returns the function count.  We missed a bit
and thus only supported 4 functions instead of 8.

ok kettenis@

6 years agoWhile softreconfig is running set the poll timeout to 0 so that the
claudio [Thu, 9 Aug 2018 12:54:06 +0000 (12:54 +0000)]
While softreconfig is running set the poll timeout to 0 so that the
runner makes progress and does not get hold back by poll sleeping at
the same time fds are still serviced first if they have data pending.

6 years agoSynopsys Designeware PCIe IP isn't 100% ECAM compliant. It doesn't handle
kettenis [Thu, 9 Aug 2018 12:25:38 +0000 (12:25 +0000)]
Synopsys Designeware PCIe IP isn't 100% ECAM compliant.  It doesn't handle
type 0 configuration requests correctly which results in devices on bus 0
appearing multiple times.  Fix this by adding a quirk and match the
appropriate compatible string.

ok jsg@, patrick@

6 years agoMake two very internal functions static. They are used to merge an
claudio [Thu, 9 Aug 2018 12:21:03 +0000 (12:21 +0000)]
Make two very internal functions static. They are used to merge an
AS_PATH with a AS4_PATH and are therefor fairly special.

6 years agoDefine __HAVE_ACPI on arm64 and __HAVE_FDT on arm64, armv7 and octeon
patrick [Thu, 9 Aug 2018 12:19:32 +0000 (12:19 +0000)]
Define __HAVE_ACPI on arm64 and __HAVE_FDT on arm64, armv7 and octeon
so that we can include firmware-dependant code in generic drivers to be
able to extract metadata information like MAC addresses and out-of-band
interrupts from the ACPI/FDT tables.

ok kettenis@

6 years agoWhoops, didn't mean to commit this.
nicm [Thu, 9 Aug 2018 09:54:22 +0000 (09:54 +0000)]
Whoops, didn't mean to commit this.

6 years agoBump the UTF-8 character array up to 18 to allow for more combining
nicm [Thu, 9 Aug 2018 09:53:44 +0000 (09:53 +0000)]
Bump the UTF-8 character array up to 18 to allow for more combining
characters (some languages use up to five). This size doesn't make as
much difference now that UTF-8 goes into an extended cell. GitHub issue
1430.

6 years agoregen
kettenis [Thu, 9 Aug 2018 09:03:54 +0000 (09:03 +0000)]
regen

6 years agoASMedia ASM1184e PCIe switch.
kettenis [Thu, 9 Aug 2018 09:03:12 +0000 (09:03 +0000)]
ASMedia ASM1184e PCIe switch.

6 years agoCurrently, attempting to move an immovable lo(4) to a new rdomain will fail
akoshibe [Thu, 9 Aug 2018 03:35:19 +0000 (03:35 +0000)]
Currently, attempting to move an immovable lo(4) to a new rdomain will fail
with an EPERM, but the target rdomain will still be created.

Move the check for an lo(4)'s if_index/if_rdomain to before the creation of a
nonexisting target routing table.

ok benno@ claudio@ mpi@

6 years agoRemove the port id check entirely. We don't do anything with the port
jmatthew [Thu, 9 Aug 2018 01:41:48 +0000 (01:41 +0000)]
Remove the port id check entirely.  We don't do anything with the port
id after that, so it seems like a silly reason to reject a target.

ok dlg@ deraadt@

6 years agolockspool only plays with files in _PATH_MAILDIR, so unveil that path.
deraadt [Wed, 8 Aug 2018 22:59:33 +0000 (22:59 +0000)]
lockspool only plays with files in _PATH_MAILDIR, so unveil that path.

6 years agomestre and I can find no reason why the pledge has "unix". Disable
deraadt [Wed, 8 Aug 2018 22:57:12 +0000 (22:57 +0000)]
mestre and I can find no reason why the pledge has "unix".  Disable
that and start listening for failure reports.

6 years agontpd unveils the cert.pem "r" file (which is passed-over-socket to the
deraadt [Wed, 8 Aug 2018 22:56:42 +0000 (22:56 +0000)]
ntpd unveils the cert.pem "r" file (which is passed-over-socket to the
constraints process), and /usr/sbin/ntpd "x" to perform fork+exec operations.

6 years agopledge with "unveil" at the top, so that the various modes can unveil
deraadt [Wed, 8 Aug 2018 22:55:14 +0000 (22:55 +0000)]
pledge with "unveil" at the top, so that the various modes can unveil
the files they inspect a little later.

6 years agoUse unveil(2) in the helper process to disallow access to other files
ratchov [Wed, 8 Aug 2018 22:31:43 +0000 (22:31 +0000)]
Use unveil(2) in the helper process to disallow access to other files
than the devices specified with -f and -q options.

ok deraadt@

6 years agoSupport DMA coherent devices that attach to mainbus(4) as well.
kettenis [Wed, 8 Aug 2018 20:57:53 +0000 (20:57 +0000)]
Support DMA coherent devices that attach to mainbus(4) as well.

ok patrick@

6 years agoFix the ITLinesNumber mask and bump the number of supprted redistributors
kettenis [Wed, 8 Aug 2018 20:56:49 +0000 (20:56 +0000)]
Fix the ITLinesNumber mask and bump the number of supprted redistributors
up to 24.

ok patrick@

6 years agoadd unveil(2) to ctfconv(1)
mestre [Wed, 8 Aug 2018 20:15:17 +0000 (20:15 +0000)]
add unveil(2) to ctfconv(1)

Once we know what the input file is, usually /bsd.gdb, we can unveil it in read
mode. If we also define as argument an output file we can additionally unveil
that one with write/create permissions.

We don't need to care about calling unveil(NULL, NULL) since we can call
pledge(2) and reduce the permissions down the road depending on the code path.

"reads OK" jasper@, "put it in if works" mpi@
prodded by deraadt@

6 years agoadd unveil(2) to mixerctl(1)
mestre [Wed, 8 Aug 2018 19:35:47 +0000 (19:35 +0000)]
add unveil(2) to mixerctl(1)

after we know what is the mixer device to be used, either through MIXERDEVICE
env var, the argument passed or by default /dev/mixer then we can unveil it in
read/write mode, then if opening fails we reduce unveil to only read mode.

Once open(2) succeeds then we can disable fs access by calling unveil(NULL, NULL)
since all further operations occur on fds.

A cleaner solution would be to just call pledge("audio") after open(2) but
currently the ioctls used are not whitelisted in pledge(2), ratchov@ will
investigate a better way to do this

OK ratchov@

6 years agoSome unsigned long to unsigned int cleanup from recent ber (type) changes.
rob [Wed, 8 Aug 2018 18:50:38 +0000 (18:50 +0000)]
Some unsigned long to unsigned int cleanup from recent ber (type) changes.

ok claudio@

6 years agoUnveil the special files needed for reading AML tables, and the
deraadt [Wed, 8 Aug 2018 18:46:04 +0000 (18:46 +0000)]
Unveil the special files needed for reading AML tables, and the
directory for placement.  We can only protect the directory case,
since the file_prefix+sig+id case is too large to enumerate.

6 years agoAfter authentication is complete, unveil login.conf "r" (to discover
deraadt [Wed, 8 Aug 2018 18:32:51 +0000 (18:32 +0000)]
After authentication is complete, unveil login.conf "r" (to discover
login tweaks), and walk the path (would could be $PATH, or not) adding
an unveil "x" to each possible executable which execvpe() could later
be tried by execvpe.
It would be great if we could do some unveil before authentication, but
I failed to determine all the possibilities.
Some problem reports by bluhm, tb, florian, and others during development
In snaps for about 3 weeks.
ok florian

6 years agotypo: macro-generates wrappers -> macro-generated wrappers
tb [Wed, 8 Aug 2018 18:21:02 +0000 (18:21 +0000)]
typo: macro-generates wrappers -> macro-generated wrappers

6 years agoAn early pledge takes away many risk factors during spool opening/parsing.
deraadt [Wed, 8 Aug 2018 17:52:46 +0000 (17:52 +0000)]
An early pledge takes away many risk factors during spool opening/parsing.
This is worthwhile keeping, so add "unveil" to defer unveil(2) calls.
After various special cases are handled (including files which are anywhere
in the filesystem), unveil() to the specific file only.

6 years agoIn netproc process, unveil to only expose the CA file.
deraadt [Wed, 8 Aug 2018 17:47:44 +0000 (17:47 +0000)]
In netproc process, unveil to only expose the CA file.
ok florian

6 years agoifconfig cannot be pledged because of its overwhelming amount of
florian [Wed, 8 Aug 2018 17:26:52 +0000 (17:26 +0000)]
ifconfig cannot be pledged because of its overwhelming amount of
used ioctls. Furthermore due to the way the command line parser is
written it is difficult to apply the traditional first initialize then
pledge pattern.

unveil(2) gives us a different approach:
By veiling everything with unveil("/", "") and then locking down
unveil with unveil(NULL, NULL) we remove all filesystem access from
ifconfig kind of like giving a regular user a chroot without any
files.

OK deraadt

6 years agotabs are ok at start of line, but internally space seperation is the norm
deraadt [Wed, 8 Aug 2018 15:30:29 +0000 (15:30 +0000)]
tabs are ok at start of line, but internally space seperation is the norm

6 years agounveil dev.db "r" for devname(), /dev "r", and in the non-sysctl case
deraadt [Wed, 8 Aug 2018 14:38:31 +0000 (14:38 +0000)]
unveil dev.db "r" for devname(), /dev "r", and in the non-sysctl case
some kernel memory/symbol files.

6 years agoIn the early pledge, add "unveil" to permit changes a little later on.
deraadt [Wed, 8 Aug 2018 14:35:38 +0000 (14:35 +0000)]
In the early pledge, add "unveil" to permit changes a little later on.
If kernel variables are being watched unveil /dev/mem, /dev/kmem, and
/dev/ksyms.  If testing AF_UNIX, unveil that patch.  The next pledge
removes "unveil", then tcpbench is largely filesystem restricted.

6 years agoEven though we strongly discourage escaping hyphens in manual pages
schwarze [Wed, 8 Aug 2018 14:29:42 +0000 (14:29 +0000)]
Even though we strongly discourage escaping hyphens in manual pages
in general, when introducing the *typographic* term "hyphen",
actually display a real hyphen in output modes supporting it.

6 years agoMove struct wire_largecommunity to rde_attr.c since it is only used internally
claudio [Wed, 8 Aug 2018 14:29:05 +0000 (14:29 +0000)]
Move struct wire_largecommunity to rde_attr.c since it is only used internally

6 years agoFix possible division by zero caused by bogus usb descriptors. From
ratchov [Wed, 8 Aug 2018 14:25:50 +0000 (14:25 +0000)]
Fix possible division by zero caused by bogus usb descriptors. From
Michael W. Bombardieri. Thanks.

6 years agoReorder the text in the "Dashes and Hyphens" subsection to keep the
schwarze [Wed, 8 Aug 2018 14:15:21 +0000 (14:15 +0000)]
Reorder the text in the "Dashes and Hyphens" subsection to keep the
simplest and most important instructions together and at the
beginning.  No text change.
Suggested by jmc@.

6 years agoClarify the confusing "(text)" annotation in the character lists.
schwarze [Wed, 8 Aug 2018 14:03:17 +0000 (14:03 +0000)]
Clarify the confusing "(text)" annotation in the character lists.
In some cases, it meant "render as an ASCII character in output
modes that have a notion of codepoints" (e.g. UTF-8, HTML); in other
cases, "render in the text font in output modes that also provide
a special font for mathematical symbols" (e.g. PostScript, PDF).
Also explicitly annotate the escape sequences that use a special
font if available.
OK bentley@

6 years agoAfter years of deliberation, finally provide a clear recommendation
schwarze [Wed, 8 Aug 2018 13:53:55 +0000 (13:53 +0000)]
After years of deliberation, finally provide a clear recommendation
for hyphens and minus signs in manual pages.
Since there is consensus that a typographically perfect solution is
impossible, let's KISS - just write "-", don't bother with "\-", all
currently relevant manual page formatters can handle "-" reasonably.
OK jmc@ bentley@

6 years agoMerge getcommunity() and getlargecommunity() into one function that
claudio [Wed, 8 Aug 2018 13:52:30 +0000 (13:52 +0000)]
Merge getcommunity() and getlargecommunity() into one function that
takes a flag if it is large or not. Makes code more reusable.

6 years agoMake the (non-)transitive handling of ext communities a bit more obvious.
claudio [Wed, 8 Aug 2018 13:49:20 +0000 (13:49 +0000)]
Make the (non-)transitive handling of ext communities a bit more obvious.

6 years agosync
deraadt [Wed, 8 Aug 2018 13:46:44 +0000 (13:46 +0000)]
sync

6 years agoOne ; too much
claudio [Wed, 8 Aug 2018 13:32:36 +0000 (13:32 +0000)]
One ; too much

6 years agoUpdate the RIB after a config reload in the background. This moves the
claudio [Wed, 8 Aug 2018 13:08:54 +0000 (13:08 +0000)]
Update the RIB after a config reload in the background. This moves the
heavy bits into the background and so the RDE is able to process new
messages more or less instantly after a configuration reload.
Not all cases are covered yet but the bulk is.
While the backgorund process is running no new config can be loaded.
Tested by and OK benno@

6 years agoImplement IRQ masking and unmasking in imxgpio(4).
patrick [Wed, 8 Aug 2018 11:06:47 +0000 (11:06 +0000)]
Implement IRQ masking and unmasking in imxgpio(4).

6 years agoExtend the FDT interrupt API to support masking and unmasking IRQs.
patrick [Wed, 8 Aug 2018 11:06:33 +0000 (11:06 +0000)]
Extend the FDT interrupt API to support masking and unmasking IRQs.

Discussed with kettenis@

6 years agoregen
kevlo [Wed, 8 Aug 2018 09:17:45 +0000 (09:17 +0000)]
regen

6 years agoFix Realtek product name from RT8188 to RTL8188CE
kevlo [Wed, 8 Aug 2018 09:16:57 +0000 (09:16 +0000)]
Fix Realtek product name from RT8188 to RTL8188CE

ok stsp@

6 years agor1.19 removed a bunch of code, but not enough, and left dead code around.
kn [Wed, 8 Aug 2018 08:42:49 +0000 (08:42 +0000)]
r1.19 removed a bunch of code, but not enough, and left dead code around.

From Miod Vallat, "Go ahead" kettenis

6 years agohide rib[] internals in new rib_valid() function
benno [Wed, 8 Aug 2018 06:54:50 +0000 (06:54 +0000)]
hide rib[] internals in new rib_valid() function
ok claudio@

6 years agoRecognise 'Speculative Store Bypass Disable' support cpuid bit.
jsg [Wed, 8 Aug 2018 05:07:46 +0000 (05:07 +0000)]
Recognise 'Speculative Store Bypass Disable' support cpuid bit.
Documented in 'Speculative Execution Side Channel Mitigations'
revision 2.0.

6 years agoUse new private key format by default. This format is suported by
djm [Wed, 8 Aug 2018 01:16:01 +0000 (01:16 +0000)]
Use new private key format by default. This format is suported by
OpenSSH >= 6.5 (released January 2014), so it should be supported by
most OpenSSH versions in active use.

It is possible to convert new-format private keys to the older
format using "ssh-keygen -f /path/key -pm PEM".

ok deraadt dtucker

6 years agoUnveil is used at tail of initialization to allow "r" of /tftpboot
deraadt [Tue, 7 Aug 2018 18:39:56 +0000 (18:39 +0000)]
Unveil is used at tail of initialization to allow "r" of /tftpboot
(that decides whether rarpd should reply), and /etc/ethers "r" for
debug reporting.

6 years agoUnveil fits nicely into the syslogd privsep model. Unveiled files
deraadt [Tue, 7 Aug 2018 18:36:49 +0000 (18:36 +0000)]
Unveil fits nicely into the syslogd privsep model.  Unveiled files
include config file "r", utmp "r", /dev "rw", /bin/sh "x" for running
piped commands, and the syslogd binary "x" itself for HUP re-exec upon
config loads with changes.  Also unveiled in the privsep process are
the specific log files being written to.

If a config file reload changes no files, the existing privsep process
keeps running with unveil's to the relevant files (therefore it can
cope with newsyslogd taking files away).  If a new config file is loaded
which changes the output files, the privsep process is restarted with
fork+exec, and installs new unveils as needed.  The safety we gain from
unveil is that we've pigeonholed the privsep file-writer to exactly the
files required.

Help from bluhm for some edge cases.

6 years agounveil can be used to restrict access to utmp and /dev
deraadt [Tue, 7 Aug 2018 18:28:05 +0000 (18:28 +0000)]
unveil can be used to restrict access to utmp and /dev

6 years agoIgnore basic MCS set information found in association responses.
stsp [Tue, 7 Aug 2018 18:13:14 +0000 (18:13 +0000)]
Ignore basic MCS set information found in association responses.

Some APs (Aruba 105) send a bogus basic MCS set in assoc responses
which prevents us from enabling 11n support with those APs, while
these APs still behave as if were were an 11n client which renders
the association unusable.

The basic MSC set is already provided in beacons anyway, and the
802.11 2012 standard says the basic MSC set is reserved in frames
other than beacons (see Table 8-130).

ok mpi@

6 years agoUNVEIL_* flags defined elsewhere in a .h file
deraadt [Tue, 7 Aug 2018 15:07:54 +0000 (15:07 +0000)]
UNVEIL_* flags defined elsewhere in a .h file

6 years agoPost-g2k18 fix: unbreak the optional vmd-internal vmboot loader.
reyk [Tue, 7 Aug 2018 14:49:05 +0000 (14:49 +0000)]
Post-g2k18 fix: unbreak the optional vmd-internal vmboot loader.

The new vm_checkaccess() call didn't account for the vmboot case.

OK ccardenas@ mikeb@

6 years agoFix dangling knote references.
visa [Tue, 7 Aug 2018 12:38:15 +0000 (12:38 +0000)]
Fix dangling knote references.

kqueue_close() does not take into account that the kqueue instance may
have queued knotes. This can cause a use-after-free if new knotes are
enqueued on the kqueue as a result of file closing.

Correct the error by dequeueing each knote before freeing it.
Since r1.93 of kern_event.c, each kqueue instance has its knotes
in nonshared lists kq_knhash and kq_knlist, so kqueue_close() does
not have to skip other kqueues' knotes any longer. The code can be
simplified by using knote_remove() for clearing the knote lists.
The function uses knote_drop() which takes care of knote dequeueing.

Found and initial analysis by anton@
OK anton@, mpi@

6 years agoFix paste error in "no read access to" debug message, tweak messages.
reyk [Tue, 7 Aug 2018 11:28:29 +0000 (11:28 +0000)]
Fix paste error in "no read access to" debug message, tweak messages.

Found by mikeb@

6 years agoSimilar to the ldpd.conf change don't use a macro of the secret.
claudio [Tue, 7 Aug 2018 07:06:20 +0000 (07:06 +0000)]
Similar to the ldpd.conf change don't use a macro of the secret.
Macros get sometimes logged so we should not encurage to use them for
sensitive data.

6 years agoMake it possible to build a MULTIPROCESSOR kernel on armv7. While this
kettenis [Mon, 6 Aug 2018 18:39:13 +0000 (18:39 +0000)]
Make it possible to build a MULTIPROCESSOR kernel on armv7.  While this
doesn't actually spin up any secondary CPUs, it does run.  Mostly a cleanup
of <machine/cpu.h> along the lines of what I did earlier on arm64.  Makes
armv7 use the MI mplock implementation and implements copyin32.

ok patrick@

6 years agospace required between macro args and punctuation;
jmc [Mon, 6 Aug 2018 18:26:29 +0000 (18:26 +0000)]
space required between macro args and punctuation;

6 years agoReflect reality.
espie [Mon, 6 Aug 2018 18:20:47 +0000 (18:20 +0000)]
Reflect reality.
The infrastructure no longer uses -Dunsigned, but TRUSTED_PKG_PATH,
which narrows the source of unsigned package to a single place, and
thus is less hazardous.

6 years agoreplace the current log options
benno [Mon, 6 Aug 2018 17:31:31 +0000 (17:31 +0000)]
replace the current log options

 log updates|all

with

 log state changes
 log host checks
 log connection [errors]

The first two control the logging of host check results: either changes in host state only or
all checks.

The third option controls logging of connections in relay mode:
Either log all connections, or only errors.

Additionaly, errors will be logged with LOG_WARN and good connections
will be logged with LOG_INFO, so they can be differentiated in syslog.

ok and feedback from claudio@

6 years agoCorrect example file since reserved words cannot be used as macros. Not only
mestre [Mon, 6 Aug 2018 17:26:31 +0000 (17:26 +0000)]
Correct example file since reserved words cannot be used as macros. Not only
that, the macro used was password and if we changed it to something like
pass="secret" it would log it if the daemon was ran in verbose mode.

Hint and OK claudio@

6 years agoChange manpage example for reserved words since the macro used is to replace
mestre [Mon, 6 Aug 2018 17:25:11 +0000 (17:25 +0000)]
Change manpage example for reserved words since the macro used is to replace
a password and that way it would log it when the daemon is ran in verbose mode.

Hint and OK claudio@

6 years agoValidate the prefix sent in a network delete call before trying to delete
claudio [Mon, 6 Aug 2018 15:59:01 +0000 (15:59 +0000)]
Validate the prefix sent in a  network delete call before trying to delete
it. We should not trust this input too much as found by Pierre Emeriaud.
OK benno@

6 years agoFix debug message in ieee80211_auth_open(): s/reason/status/
stsp [Mon, 6 Aug 2018 14:28:13 +0000 (14:28 +0000)]
Fix debug message in ieee80211_auth_open(): s/reason/status/
Status codes and reason codes are separate things listed in distinct tables.
This debug message made me look at the wrong table and scratch my head.

6 years agomake ifconfig <if> join display the list of networks configured for
benno [Mon, 6 Aug 2018 11:42:18 +0000 (11:42 +0000)]
make ifconfig <if> join display the list of networks configured for
auto-join
with feedback from florian and stsp
ok florian@ phessler@ (on previous versions of the diff) stsp@

6 years agoRefactor ieee80211_add_ess():
stsp [Mon, 6 Aug 2018 11:28:01 +0000 (11:28 +0000)]
Refactor ieee80211_add_ess():

Drop ieee80211_add_ess's nwid parameter. Read nwid and length directly
from the ic to make it more obvious where this function is reading from.

nwids are binary data with an explicit length, so treat them as such
instead of treating them like strings.

ok florian phessler

6 years agoGive the FDT interrupt API a more generic naming by replacing the
patrick [Mon, 6 Aug 2018 10:52:30 +0000 (10:52 +0000)]
Give the FDT interrupt API a more generic naming by replacing the
arm_intr_* prefix with fdt_intr_*.

ok kettenis@

6 years agoDo not set nwid over and over again. We just found the ess by comparing
florian [Mon, 6 Aug 2018 09:34:17 +0000 (09:34 +0000)]
Do not set nwid over and over again. We just found the ess by comparing
the nwid. It will not have changed in the meantime.
OK stsp

6 years agoPass the stale timestamp to path_remove_stale() removes a asp->peer dereference
claudio [Mon, 6 Aug 2018 08:13:31 +0000 (08:13 +0000)]
Pass the stale timestamp to path_remove_stale() removes a asp->peer dereference

6 years agoReplace two asp->peer with prefix_peer(p) which is the same.
claudio [Mon, 6 Aug 2018 08:10:12 +0000 (08:10 +0000)]
Replace two asp->peer with prefix_peer(p) which is the same.

6 years agoAssign peer1 and peer2 early on and use them everywhere instead of aspX->peer.
claudio [Mon, 6 Aug 2018 08:06:49 +0000 (08:06 +0000)]
Assign peer1 and peer2 early on and use them everywhere instead of aspX->peer.

6 years agoRemove cpath pledge(2) promise. We decided that not deleting the unix control
mestre [Mon, 6 Aug 2018 06:30:06 +0000 (06:30 +0000)]
Remove cpath pledge(2) promise. We decided that not deleting the unix control
sockets cause no harm and this way we close another attack surface by not
allowing the daemon to create/delete any more files.

OK kn@

6 years agoDrop "rpath" from pledge(2) after ncurses initialization.
mestre [Mon, 6 Aug 2018 06:27:32 +0000 (06:27 +0000)]
Drop "rpath" from pledge(2) after ncurses initialization.

Discussed with and OK tb@
OK cheloha@ on previous version

6 years agoifconfig ioctl's that bring interfaces up the first time may issue
deraadt [Sun, 5 Aug 2018 23:19:49 +0000 (23:19 +0000)]
ifconfig ioctl's that bring interfaces up the first time may issue
firmware loads.  The namei operations are being performed are on behalf
of the kernel not process, so use BYPASSUNVEIL.
spotted by sthen, ok beck

6 years agoFix typo that caused us to misassign parents.
kettenis [Sun, 5 Aug 2018 21:05:17 +0000 (21:05 +0000)]
Fix typo that caused us to misassign parents.

ok patrick@

6 years agouse .Fl macro for command line options
schwarze [Sun, 5 Aug 2018 19:12:56 +0000 (19:12 +0000)]
use .Fl macro for command line options

6 years agowrong macro
schwarze [Sun, 5 Aug 2018 19:07:30 +0000 (19:07 +0000)]
wrong macro

6 years agoDecouple unveil from the pledge flags, by adding dedicated unveil flags
beck [Sun, 5 Aug 2018 14:23:57 +0000 (14:23 +0000)]
Decouple unveil from the pledge flags, by adding dedicated unveil flags
to the namei args. This fixes a bug where chmod would be allowed when
with only READ. This also allows some further cleanup of some awkward
things like PLEDGE_STAT that will follow
Lots of assistence from semarie@ - thanks!
ok semarie@

6 years agoRemove unnecessary NULL check from get_cert_by_subject since
bcook [Sun, 5 Aug 2018 14:17:12 +0000 (14:17 +0000)]
Remove unnecessary NULL check from get_cert_by_subject since
sk_BY_DIR_HASH_find already does it, removing ambiguity later in the function.

ok tb@

6 years agoPrevent a panic when reboot -q is used by making unveil_removevnode
beck [Sun, 5 Aug 2018 13:59:38 +0000 (13:59 +0000)]
Prevent a panic when reboot -q is used by making unveil_removevnode
sane.
ok kettenis@

6 years agoFix a memory leak in i2d_RSA_NET on failure of ASN1_STRING_set.
bcook [Sun, 5 Aug 2018 13:35:45 +0000 (13:35 +0000)]
Fix a memory leak in i2d_RSA_NET on failure of ASN1_STRING_set.

Found by Coverity.
Feedback and ok tb@

6 years agoremove duplicate installation of the SIGINT handler;
schwarze [Sun, 5 Aug 2018 13:32:25 +0000 (13:32 +0000)]
remove duplicate installation of the SIGINT handler;
from Martin Kopta <martin at kopta dot eu>

6 years agoIn RSA_padding_add_PKCS1_OAEP, dbmask needs to be freed on failure.
bcook [Sun, 5 Aug 2018 13:30:04 +0000 (13:30 +0000)]
In RSA_padding_add_PKCS1_OAEP, dbmask needs to be freed on failure.

ok tb@

6 years agoenable virtio pci attachment on armv7
jsg [Sun, 5 Aug 2018 13:20:58 +0000 (13:20 +0000)]
enable virtio pci attachment on armv7

6 years agoMention ioctls that don't work for the control device.
ratchov [Sun, 5 Aug 2018 11:46:31 +0000 (11:46 +0000)]
Mention ioctls that don't work for the control device.

ok jmc

6 years agoUse english words instead of file names.
ratchov [Sun, 5 Aug 2018 11:41:50 +0000 (11:41 +0000)]
Use english words instead of file names.

ok jmc

6 years agoFix memory leak in i2b_PVK in error handling.
bcook [Sun, 5 Aug 2018 11:19:25 +0000 (11:19 +0000)]
Fix memory leak in i2b_PVK in error handling.
Simplify parameter checks since this is only called from one place.
Found by Coverity, CID 183502.

ok beck@

6 years agoRemove obvious or repeating sentinces.
ratchov [Sun, 5 Aug 2018 10:31:49 +0000 (10:31 +0000)]
Remove obvious or repeating sentinces.

ok jmc

6 years agoSince -s argument is no longer checked, during reexec, the argv size then must
mestre [Sun, 5 Aug 2018 09:37:52 +0000 (09:37 +0000)]
Since -s argument is no longer checked, during reexec, the argv size then must
be shortened by 1.

OK florian@

6 years agoSince -s argument is no longer checked, during reexec, the argv size then must
mestre [Sun, 5 Aug 2018 09:37:05 +0000 (09:37 +0000)]
Since -s argument is no longer checked, during reexec, the argv size then must
be shortened by 1.

OK florian@

6 years agoRemove cpath pledge(2) promise. We decided that not deleting the unix control
mestre [Sun, 5 Aug 2018 09:33:13 +0000 (09:33 +0000)]
Remove cpath pledge(2) promise. We decided that not deleting the unix control
sockets cause no harm and this way we close another attack surface by not
allowing the daemon to create/delete any more files.

While here also scramble pledge promises to their canonical form.

OK florian@

6 years agocalloc the mode data instead of malloc and initialize everything.
nicm [Sun, 5 Aug 2018 08:59:30 +0000 (08:59 +0000)]
calloc the mode data instead of malloc and initialize everything.

6 years agoenable bio and softraid on arm64 ramdisk
jsg [Sun, 5 Aug 2018 08:54:43 +0000 (08:54 +0000)]
enable bio and softraid on arm64 ramdisk