Re: amd64, i386: remove gcc from sys Makefiles

2019-09-02 Thread Christian Weisgerber
On 2019-09-01, Christian Weisgerber wrote: > This removes the support for building kernels and boot loaders with > gcc on amd64 and i386, simplifying the corresponding Makefiles. daniel@ has objected directly to me that he'd like to continue to be able to build the tree with po

amd64, i386: remove gcc from sys Makefiles

2019-09-01 Thread Christian Weisgerber
This removes the support for building kernels and boot loaders with gcc on amd64 and i386, simplifying the corresponding Makefiles. ok? Index: arch/amd64/conf/Makefile.amd64 === RCS file: /cvs/src/sys/arch/amd64/conf/Makefile.amd64,v

Re: installer: clean up clean_old()

2019-08-14 Thread Christian Weisgerber
On 2019-08-14, Christian Weisgerber wrote: > clean_old() { > local _cver > > rm -rf /mnt/usr/lib/gcc-lib/!(*$VNAME) > _cver=$(cd /mnt/usr/lib/clang 2>/dev/null && ls -r | sed -e 1q) && > rm -rf /mnt/usr/lib/clan

Re: installer: clean up clean_old()

2019-08-14 Thread Christian Weisgerber
On 2019-08-13, "Theo de Raadt" wrote: >> Could you add '&& -d /mnt/usr/lib/clang' to check whether the directory >> exists before trying to cd into it (similarly for /mnt/usr/bin/gcc and >> gcc-libs)? > > Then might as well just -d only, and skip the -f Seriously, why bother with a check in the

installer: clean up clean_old()

2019-08-13 Thread Christian Weisgerber
* Remove syspatch files from the installed system and not the ramdisk. * Use extended globs and generally adopt to the style of this script. ok? I'm not very happy with the way the clang version is determined. If we ever were to move to 10.0.0, this would remove the wrong directory. I considered

Re: openrsync --address option

2019-08-09 Thread Christian Weisgerber
On 2019-08-08, Stuart Henderson wrote: > Works as expected for IPv4. For IPv6 it only works if you use a hostname that > only has a v6 address and not also a v4 address. Not sure what scenario you mean exactly. This works fine for me: openrsync --address=2003:e5:cf15:c101:76dd:6f32:911c:ce5c -

ssh-keygen: tweak error for -b

2019-07-04 Thread Christian Weisgerber
Seen on misc@: > $ ssh-keygen -t ed25519 -b 2 > key bits exceeds maximum 16384 The check for > OPENSSL_RSA_MAX_MODULUS_BITS should only be applied to RSA keys. No point in checking for > OPENSSL_DSA_MAX_MODULUS_BITS, since we only permit 1024-bit DSA keys anyway. While there, only set DEFAU

Re: Softraid bootloader size allowance

2019-07-03 Thread Christian Weisgerber
Chris Ross: > Is there a hard reason SR_BOOT_LOADER_SIZE cannot be raised to sometime > larger, perhaps 1024 (instead of the current 320) ? That size is part of the disk layout. Looking at , the layout of a softraid partition is this: 16 sectors, unused (potential disklabel, boot block)

Re: devel/cvsweb: README (patch)

2019-06-20 Thread Christian Weisgerber
w...@disroot.org: > after locate(1)'ing and adding those files i could happily run cvsweb on > openbsd 6.5-release > > i'm sending patch for README (2 lines) as suggested by \renaud on #openbsd > (freenode) Thanks, but this was already fixed in -current seven weeks ago. -- Christian "naddy"

Re: [patch] rsync: fix free() on uninitialized pointer with -rx and same device

2019-06-06 Thread Christian Weisgerber
Björn Ketelaars: > Diff below is based on the latest diff from naddy@. Changes: > - reallocarray likes type_t, as such changes type of nxdev and i; > - use reallocarray instead of malloc as xdev is initialised as NULL. ok naddy@ -- Christian "naddy" Weisgerber na...@mip

Re: [patch] rsync: fix free() on uninitialized pointer with -rx and same device

2019-06-05 Thread Christian Weisgerber
Christian Weisgerber: > > To reproduce: > > > > mkdir -p /tmp/test /tmp/plop > > openrsync -rx /tmp/test/ /tmp/plop/ > > > > Result: > > > > openrsync(3470) in free(): bogus pointer (double free?) 0x7f7dcdc8 > > Abort tr

Re: [patch] rsync: fix free() on uninitialized pointer with -rx and same device

2019-06-05 Thread Christian Weisgerber
Hiltjo Posthuma: > I noticed a free() issue on an uninitialized pointer on a certain condition. > > To reproduce: > > mkdir -p /tmp/test /tmp/plop > openrsync -rx /tmp/test/ /tmp/plop/ > > Result: > > openrsync(3470) in free(): bogus pointer (double free?) 0x7f7dcdc8 >

Re: Spleen kernel fonts improvements

2019-06-05 Thread Christian Weisgerber
Frederic Cambus: > Here is a diff to sync kernel fonts with the latest released Spleen > version, bringing the following improvements: [...] > - Add some artefacts on each side of the lower case 'i' characters Yes, please! Actually, I still think the 'i' should have a wide foot like the '1'... bu

Re: [patch] rsync: fix another double close socket descriptor

2019-06-03 Thread Christian Weisgerber
On 2019-06-02, Hiltjo Posthuma wrote: > I noticed when using openrsync with a remote and a ssh_prog set (-e option) > the > socket is closed twice also. Yes, we need to decide whether rsync_socket() should close the socket itself or not. Since rsync_socket() doesn't open the socket, I guess it

Re: usr.bin/getconf: Add reporting LONG_BIT

2019-05-28 Thread Christian Weisgerber
Brian Callahan: > lang/ponyc uses $(shell getconf LONG_BIT) in its Makefile to > determine whether or not we're on a 64-bit platform. > However, our getconf(1) doesn't support reporting LONG_BIT. > This diff enables it. GNU/FreeBSD/DragonFly/MacOS getconf reports > LONG_BIT, but NetBSD getconf doe

Re: intro.8: .Xr rcctl 8 -- http://man.openbsd.org/intro.8

2019-05-26 Thread Christian Weisgerber
Ingo Schwarze: > > Not sure what do about "ELF(3)" in elf(3). > Index: elf.3 > Index: elf_flagdata.3 > Index: elf_open.3 > Index: gelf.3 > Index: gelf_newehdr.3 > Index: gelf_newphdr.3 -snip- OK, but note that there are also three instances of .Xr ELF 3 in elf.3. -- Christian "naddy" Weisgerbe

Re: intro.8: .Xr rcctl 8 -- http://man.openbsd.org/intro.8

2019-05-25 Thread Christian Weisgerber
On 2019-05-25, Artturi Alm wrote: > doesn't look pretty, and is more lines, but in browsers the lack of .Xr > does really stand out, and not in a good way, in my opinion. :] Thanks, committed. I grepped the man pages for other instances of this and found and fixed a few. Not sure what do about

ssh: scp -A host1:file host2:

2019-05-12 Thread Christian Weisgerber
[Time to take this for ok-shopping.] scp's ability to copy between two remote hosts has always seemed of very limited use to me, since the first remote host must be able to establish an ssh connection to the second host. This is really a case where agent forwarding comes in handy. Currently you

ssh: Place algorithm at head of default list

2019-05-12 Thread Christian Weisgerber
[Time to take this for ok-shopping.] ssh_config(5) and sshd_config(5) already allow adding '+' and removing '-' an algorithm from the default list. Oddly, I mostly find myself wanting to prefer an algorithm, i.e., place it at the head of the list without removing anything. The patch below adds t

sysupgrade: tweak verbosity

2019-05-09 Thread Christian Weisgerber
Tweak sysupgrade's verbosity: * If we are verifying old sets, say so. This is not an instaneous operation. * Only say that we are verifying the (newly downloaded) sets, if we're actually doing so. OK? # rm /home/_sysupgrade/x*.tgz # sysupgrade -knf SHA256.sig 100% |***

sysupgrade: keep sets after upgrade

2019-05-09 Thread Christian Weisgerber
Add a -k flag to sysupgrade to keep the files in /home/_sysupgrade, since they will be deleted after the upgrade by default. Florian already added the installer part yesterday. OK? Index: sysupgrade.8 === RCS file: /cvs/src/usr.sbin/

Re: [PATCH] Parallelize sysupgrade downloads

2019-05-08 Thread Christian Weisgerber
On 2019-05-09, Christian Weisgerber wrote: >> Does unpriv do anything if you don't give it a command to run? > > It should return an error code and abort the script. And actually that's what it does. (Sorry, I confused myself there for a moment.) -- Christ

sysupgrade: don't re-verify sets in the installer

2019-05-08 Thread Christian Weisgerber
Currently we verify all sets, reboot into bsd.upgrade, and there the installer re-verifies them all over. The diff below eliminates this redundant check. In the installer, verification is triggered by the presence of SHA256.sig. Later, SHA256.sig is saved, so sysupgrade can exit early if no newe

Re: [PATCH] Parallelize sysupgrade downloads

2019-05-08 Thread Christian Weisgerber
On 2019-05-08, Jarkko Oranen wrote: >> -unpriv -f $f ftp -Vmo ${f} ${URL}${f} >> +unpriv -f $f > > Does unpriv do anything if you don't give it a command to run? It should return an error code and abort the script. I need to investigate why that doesn't happen. -- Christian "naddy" We

Re: More randomness for efiboot on amd64

2019-05-04 Thread Christian Weisgerber
Mark Kettenis: > The UEFI standard defines an (optional) protocol for getting random > numbers. A while back I wrote support for this for the arm64 > bootloader. But we should use this on amd64 as well. I tested that > this actually works on a machine with a recent AMD Ryzen APU. This also wor

Re: sysupgrade: align with install.sub

2019-05-03 Thread Christian Weisgerber
On 2019-05-03, Christian Weisgerber wrote: > * For "unpriv -f file", chown file back to root once the command > finishes, like install.sub does. > > I think it's desirable that these behave in the same way. It also > means that we don't have to worry that

sysupgrade: align with install.sub

2019-05-03 Thread Christian Weisgerber
* For "unpriv -f file", chown file back to root once the command finishes, like install.sub does. I think it's desirable that these behave in the same way. It also means that we don't have to worry that later unpriv commands could have modified the file. This has consequences: * Only verify t

sysupgrade: no new snapshot -> no error

2019-05-03 Thread Christian Weisgerber
It is not an error condition if no new snapshot is available. (Is it?) Index: sysupgrade.sh === RCS file: /cvs/src/usr.sbin/sysupgrade/sysupgrade.sh,v retrieving revision 1.9 diff -u -p -r1.9 sysupgrade.sh --- sysupgrade.sh 3 Ma

Re: Conditional sysupgrade

2019-04-27 Thread Christian Weisgerber
On 2019-04-27, Marco Bonetti wrote: > +unpriv -f SHA256.sig.tmp ftp -Vmo SHA256.sig.tmp ${URL}SHA256.sig > +TMP_SHA=$(sha256 -q SHA256.sig.tmp) > + > +unpriv touch SHA256.sig This fails if SHA256.sig doesn't exist yet. The unprivileged user cannot create files in $SETSDIR. > +unpriv cat SHA256

efiboot: fix PXE -> disk booting

2019-04-24 Thread Christian Weisgerber
If you boot efiboot via PXE and at the prompt enter a different boot device, e.g. boot> boot sd0a:/bsd then efiboot will pretend to honor this booting sd0a:/bsd: ... but in fact ignore the device and boot from TFTP instead. In the MI part of the boot loader, open() calls devopen(), which

Re: improve rsync(1) manual page

2019-04-01 Thread Christian Weisgerber
Ingo Schwarze: > here are serveral bugfixes and improvements for the rsync(1) manual. > > OK? ok I have some comments, but I think you should commit this. Further tweaks can follow later. > Missing information: > * Change the misleading argument placeholder "portnumber" to "service"; >eve

sys/dev/pci/if_wb.c: repair "} if"

2019-03-31 Thread Christian Weisgerber
Some sort of merge error; FreeBSD, where this was imported from, always had "else if". Also, semantically more plausible. ok? Index: sys/dev/pci/if_wb.c === RCS file: /cvs/src/sys/dev/pci/if_wb.c,v retrieving revision 1.69 diff -u -

sys/dev/x86emu/x86emu.c: repair "} if"

2019-03-31 Thread Christian Weisgerber
I'm grepping the tree for "} if" lines... I'm confident that these were intended as "else if", compare the corresponding ror_* functions. Also, it doesn't actually change the result. ok? Index: sys/dev/x86emu/x86emu.c === RCS file:

rsync: support rsync:// over ssh

2019-03-30 Thread Christian Weisgerber
GPL rsync allows tunneling an rsync:// connection to a daemon through an explicitly given -e command. Specifically, you can rsync the repository from sthen@'s mirror through ssh this way: $ rsync -av --del -e 'ssh -W localhost:rsync -lanoncvs' \ rsync://anoncvs.spacehopper.org/OpenBSD-CVS/ /c

Re: rsync: add --del, remove --no-delete

2019-03-30 Thread Christian Weisgerber
On 2019-03-30, Jason McIntyre wrote: > we could use: [--del[ete]] > that looks ugly, but is short and clear. kind of vi(1) style. > > we could just note in the description of --delete that it can be > abbreviated to --del. that would add the least amount of text, but not > show up in usage/synops

Re: rsync: add --del, remove --no-delete

2019-03-30 Thread Christian Weisgerber
Oops, I guess I should document --del. Index: main.c === RCS file: /cvs/src/usr.bin/rsync/main.c,v retrieving revision 1.37 diff -u -p -r1.37 main.c --- main.c 30 Mar 2019 07:24:42 - 1.37 +++ main.c 30 Mar 2019 08:1

rsync: add --del, remove --no-delete

2019-03-29 Thread Christian Weisgerber
* Add --del as alias for --delete, because I've grown used to this shorter option. For GPL rsync, these behave identically when talking to rsync 3.0.0 or newer. * Drop --no-delete. In GPL rsync, the "no-" prefix is only available for options that are implied by other options. (Weirdly, th

ssh man pages: PKCS#11 no longer limited to RSA

2019-03-05 Thread Christian Weisgerber
Minor man page tweaks to reflect the fact that PKCS#11 support is no longer limited to RSA. Index: ssh-keygen.1 === RCS file: /cvs/src/usr.bin/ssh/ssh-keygen.1,v retrieving revision 1.156 diff -u -p -r1.156 ssh-keygen.1 --- ssh-keygen

Re: futex(2) based pthread_rwlock*

2019-02-13 Thread Christian Weisgerber
On 2019-01-30, Martin Pieuchot wrote: > Newer version with fewer atomics and some barrier corrections as pointed > out by visa@. This has now gone through a full amd64 package build without problems. -- Christian "naddy" Weisgerber na...@mips.inka.de

arm*: fix bsd.rd permissions for make release

2019-01-24 Thread Christian Weisgerber
The tail end of make release on arm64 looks like this: ... ===> arm64/miniroot cp miniroot64.fs /home/rel-arm64 su build -c 'exec make sha' cd /home/rel-arm64; date -u "+Build date: %s - %+" > BUILDINFO; cksum -a sha256 BUILDINFO INSTALL.`arch -ks` bsd bsd.mp bsd.rd BOOTAA64.EFI miniroot64.fs

openssl dgst: switch to SHA256 default

2019-01-18 Thread Christian Weisgerber
Match OpenSSL 1.1's openssl(1) and switch the default algorithm for the dgst command from MD5 to SHA256. This is in line with the MD5 -> SHA256 change in the default key derivation for the enc command, and general good crypto principles. ok? Index: dgst.c

openssl enc: fix synopsis, option descriptions

2019-01-18 Thread Christian Weisgerber
Add -iter and -pbkdf2 to the usage synopsis. Reorder option descriptions so -iter and -pbkdf2 show up alphabetically. Add missing argument name for -iter. ok? Index: enc.c === RCS file: /cvs/src/usr.bin/openssl/enc.c,v retrieving rev

Use MACHINE_ARCH in clang/Makefile.inc

2019-01-12 Thread Christian Weisgerber
When tweaking the protection flags for each architecture, we want to check for the CPU architecture (think "powerpc") and not the system architecture (think "macppc"). ok? Index: Makefile.inc === RCS file: /cvs/src/gnu/usr.bin/clang/

Re: install(1) could fail due to race

2019-01-07 Thread Christian Weisgerber
On 2019-01-07, "Todd C. Miller" wrote: > The main difference with -S is that you end up with two copies of > the target file on disk for a short period of time. Oooh, that short period can be the time between disk flushes (30s?) with softupdates. I think that's one of the scenarios where you ca

Re: new USB audio class v2.0 driver

2019-01-01 Thread Christian Weisgerber
On 2018-12-31, Alexandre Ratchov wrote: > Our current USB sub-system has limitations that currently allow only > the following combinations: > - USB v2 devices on ehci(4) only > - USB v1 devices on uhci(4), ohci(4) or ehci(4) root hub only > > If you have an audio device that is class compliant

Re: i386: build working kernel with lld

2018-10-26 Thread Christian Weisgerber
Mark Kettenis: > I wonder though whether we can simply replace ENTRY(start_phys) with > ENTRY(start) like we do on amd64. The bootloader strips the high bits > from the entry point address already, so using the virtual address as > the entry point address should work. /me builds & boots kernel .

Fix i386 kernel build on amd64

2018-10-26 Thread Christian Weisgerber
Correct linker emulation name for lld when building i386 kernels on amd64. (Does anybody build i386 kernels on amd64? Apparently nobody has since the lld switch.) Index: sys/arch/i386/conf/Makefile.i386 === RCS file: /cvs/src/sys/ar

i386: build working kernel with lld

2018-10-26 Thread Christian Weisgerber
Move the calculation of the entry point to after the description of the .text section. LOADADDR(.text) is not available earlier with lld. With this, lld builds working kernels on i386. Also: Should this be __start_phys? It seems odd that we put a non-reserved symbol into the kernel namespace.

readelf: fix out-of-bounds error

2018-10-23 Thread Christian Weisgerber
I ran across this: $ readelf -h /usr/local/bin/w3m ... readelf(71968) in free(): bogus pointer (double free?) 0x1 Abort trap (core dumped) In readelf.c there's a static arrary: static bfd_vma dynamic_info[DT_JMPREL + 1]; Later this array is written to like this: switch (entry->d_ta

Re: Allow building amd64/i386 kernel with lld

2018-10-16 Thread Christian Weisgerber
Mark Kettenis: > > Currently, building an amd64 or i386 kernel with lld breaks in > > makegap.sh. It turns out that we already have the missing pieces > > (gapdummy) on some other archs, so we can just copy them. > > Any reason why you didn't commit this yet? Theo was concerned that this might

landisk: fix up MD swap64 function

2018-10-05 Thread Christian Weisgerber
Provide an MD 64-bit byteswapping function build on 32-bit swaps as we do on arm and i386. Copied from arm. If there are no MD byteswapping functions, MI macros are used. These are wrapped by static inline functions to prevent multiple evaluation of their argument. If there are MD functions, the

Garbage-collect the __statement() macro

2018-10-04 Thread Christian Weisgerber
The sys/arch/*/include/endian.h headers were the only place in the whole source tree that used __statement(), and they did so to mark statement expressions, which are a GNU extension. With this single consumer gone, we can garbage-collect the __statement() macro itself. I don't think this usage w

Allow building amd64/i386 kernel with lld

2018-09-13 Thread Christian Weisgerber
Currently, building an amd64 or i386 kernel with lld breaks in makegap.sh. It turns out that we already have the missing pieces (gapdummy) on some other archs, so we can just copy them. With this, I can successfully build and run * amd64 kernel with ld.bfd * i386 kernel with ld.bfd * amd64 kerne

Kernel build: clean up gapdummy.c

2018-09-13 Thread Christian Weisgerber
Some architectures generate a gapdummy.c file for kernel builds. Add this to the "clean" target. OK? Index: arch/arm64/conf/Makefile.arm64 === RCS file: /cvs/src/sys/arch/arm64/conf/Makefile.arm64,v retrieving revision 1.28 diff -u -

Makefile.bsd-wrapper: don't use gcc for configure

2018-09-13 Thread Christian Weisgerber
There are some instances under src/gnu of Makefile.bsd-wrapper failing to pass variables like CC to a configure script. As a result, the configure tests are actually run with gcc (!) on amd64 and i386. The patch below fixes lib/libiberty usr.bin/binutils usr.bin/binutils-2.17 usr.bin/cvs

pkill.1: clarify that patterns are EREs

2018-08-31 Thread Christian Weisgerber
In the pkill man page, clarify that the patterns are EXTENDED regular expressions. I shouldn't have to guess, try, or look at the source for this. ok? Index: pkill.1 === RCS file: /cvs/src/usr.bin/pkill/pkill.1,v retrieving revision

ssh: use getservbyname(3) for port numbers

2018-08-31 Thread Christian Weisgerber
Is there a reason ssh doesn't consult services(5) for port numbers? This has irked me forever. I'd rather write ssh -L icb:localhost:icb instead of ssh -L 7326, wait, 7236, uhm, grep icb /etc/services... I don't think there is any syntactic ambiguity since Unix sockets already must contain a '/'

libtool: handle fork() error

2018-08-26 Thread Christian Weisgerber
I noticed this curious error in a package bulk build: Use of uninitialized value $pid in numeric eq (==) at /usr/libdata/perl5/LT/Exec.pm line 96. Perl's fork() wrapper returns undef rather than -1 on error. Handle this correctly. OK? Index: LT/Exec.pm ==

Remove cruft: libm/noieee_src

2018-07-17 Thread Christian Weisgerber
Since the VAX port was discontinued, all our remaining architectures use IEEE floating point, as will any future ones. For this reason, I would like to remove all of libm/noieee_src, which is unused now. I don't quite know how to actually prove that it is unused, but * I grepped the full src tree

Re: Remove ls -C alias from /etc/ksh.kshrc

2018-05-15 Thread Christian Weisgerber
Marco Pfatschbacher: > I noticed that ls(1) defaults to multi-column output, > even if the output is piped to another command. I guess this is intentional? > ls(1) can detect whether stdout isatty(3) all by itself. > I think it's time to remove this artifact from 1996. Even the oldest version o

Re: Symlinks for shared libraries

2018-05-06 Thread Christian Weisgerber
Mark Kettenis: > As we discussed some time ago, adding symlinks like > > libfoo.so -> libfoo.so.x.y > > brings us more in line with other ELF platforms and will allow us to > drop some OpenBSD-specific code from our linkers. It also makes it > possible for developers to easily revert a librar

Re: ccp(4): quick and dirty driver for amd crypto coprocessors

2018-04-20 Thread Christian Weisgerber
On 2018-04-20, Mark Kettenis wrote: > At some point I tried playing with this on the APU, which has the v3 > engine I think. Couldn't get anything to work (but I didn't try very > hard). Would be interesting to see whether this actually works on > that machine. It attaches. How can I tell if

Re: ufs free()

2018-03-31 Thread Christian Weisgerber
David Hill: > This diff adds sizes to free(), which completes ufs/ffs. It's broken at least for softdep+UFS2. This chunk blows up: > --- ufs/ffs/ffs_softdep.c 10 Feb 2018 05:24:23 - 1.138 > +++ ufs/ffs/ffs_softdep.c 29 Mar 2018 02:55:37 - > @@ -4034,7 +4036,8 @@ handle_writ

special/sysctl: missing prototype

2018-02-17 Thread Christian Weisgerber
Fix a compiler warning about a missing prototype for tolower() when building the installer's cut down sysctl. ok? Index: distrib/special/sysctl/sysctl.c === RCS file: /cvs/src/distrib/special/sysctl/sysctl.c,v retrieving revision 1.1

Re: Fix for vi(1) manpage Visual command

2018-02-08 Thread Christian Weisgerber
On 2018-02-07, Claudio Jeker wrote: > On Wed, Feb 07, 2018 at 07:28:42PM +0100, Ingo Schwarze wrote: >> while trying to fix the documentation of screen splitting in the vi(1) >> manual page, jmc@ suggested to stop documenting it at all. I like >> the idea because splitting is useless and confusi

amd64,i386: fix PXE boot printing in diskconf()

2018-02-07 Thread Christian Weisgerber
On amd64 and i386, when we recognize that we've been PXE-booted and identified the interface, there is this: ... if (ifp) { #if defined(NFSCLIENT) printf("PXE boot MAC address %s, interface %s\n", ether_sprintf(bios_bootmac->mac),

Re: amd64: much earlier Intel microcode loading

2018-02-06 Thread Christian Weisgerber
On 2018-02-04, Patrick Wildt wrote: >> this diff allows us to load the Intel microcode much earlier. I'm trying to understand the twisty logic here. There are three cases: (1) old rev < update rev => update gets applied (2) old rev == update rev => cpu_ucode_intel_match() returns succe

Re: base system multi-booting in MBR

2018-01-31 Thread Christian Weisgerber
Alexei Malinin: > If the base system supported multi-booting in MBR would the community be > interested in it? It should be easy to adapt FreeBSD's boot0. I don't remember any demand for it, and now MBR is on its way out... https://svnweb.freebsd.org/base/head/stand/i386/boot0/boot0.S boot0 +

arm64: recognize netboot

2018-01-29 Thread Christian Weisgerber
This allows an arm64 kernel to recognize that it has been netbooted and to add the boot interface to the "netboot" group. efiboot grabs the MAC address from the PXE environment, passes it to the kernel, where it is matched against the list of ethernet interfaces and the boot device is set. Concep

Kernel: clean up nam2blk

2018-01-27 Thread Christian Weisgerber
The nam2blk[] array contains MD mappings between block device names and major device numbers. This patch syncs the nam2blk entries with the bdevsw table, which is the definitive list of block devices supported on an architecture. This fixes the non-OpenBSD entries on arm64, removes obsolete mentio

efiboot: fix TFTP reading of 0-size files

2018-01-25 Thread Christian Weisgerber
Fix TFTP reading of zero-size files in efiboot: The AllocatePages EFI call returns an error when the allocation size is 0. Skip allocating memory and actually transferring the file when it is empty. Properly return the number of unread bytes so that a read() of n bytes does not return n if no by

tftpd: transfer size for random.seed

2018-01-25 Thread Christian Weisgerber
tftpd needs to handle the transfer size option when faking up /etc/random.seed. Without this, clients that query the size receive 0 as response, preventing efiboot from loading random.seed. ok? Index: tftpd.c === RCS file: /cvs/src/

Re: Basic SHA3 support (cryptographic discussion)

2018-01-17 Thread Christian Weisgerber
Daniel Loebenberger: > - The construction of SHA3 differs considerably from the SHA2 > constructions > - SHA3's design principles are far better understood than the ones of > SHA2. I hear you, but you are missing the point. > - A possible migration away from SHA2 will be > faster when including

Re: Basic SHA3 support

2018-01-10 Thread Christian Weisgerber
On 2018-01-09, Daniel Loebenberger wrote: > enclosed you find a patch to add basic SHA3-/Keccak support to OpenBSD. What do you want to use it for? I've had something like this on my to-do list for some time and eventually dropped it because I couldn't think of a compelling use case. "Maybe Sk

Re: hide wpakey from root by default

2017-11-17 Thread Christian Weisgerber
On 2017-11-17, Stefan Sperling wrote: > This diff makes the WPA key available only if the interface is in > debug mode (suggestion by phessler). If this is acceptable then I > can also try to squeeze a hint into the ifconfig man page so that > this mechanism can be discovered by those who don't r

Re: add an iqdrops view to systat to show interface queue drops

2017-11-17 Thread Christian Weisgerber
On 2017-11-17, David Gwynne wrote: > can we have modified displays within a view? We already have this for the ifstat view. The character B changes the counter view between bytes and bits. Pressing b displays statistics as calculated from boot time. r changes the co

Re: ARP/LLINFO: route contains no arp information

2017-11-06 Thread Christian Weisgerber
Martin Pieuchot: > Diff below makes them use rtisvalid(9) instead which check for the > RTF_UP flag. This should make many "route contains no arp information" > messages disappear. > > But I'm afraid this can expose another weird driver/NFS setup were non > UP routes are used, Indeed. Booting

Re: awk setlocale(LC_NUMERIC)

2017-11-01 Thread Christian Weisgerber
On 2017-11-01, Jan Stary wrote: > Why does awk need to fiddle with LC_NUMERIC? You don't want to parse your awk program in a locale where the decimal separator is a comma. -- Christian "naddy" Weisgerber na...@mips.inka.de

Remove .depend leftovers from Makefiles

2017-10-17 Thread Christian Weisgerber
As far as I can tell, nothing in the build system generates .depend files any longer, nor do they appear as prerequisites in any make rules. The patch below removes all remaining mentions of .depend (lists of files to clean, spurious .depend targets, etc) from the src Makefiles. This passed a mak

Re: make includes: use find -exec {} +

2017-10-06 Thread Christian Weisgerber
Christian Weisgerber: > Admittedly, this is cosmetic: > Use the modern POSIX idiom "-exec ... {} +" instead of find|xargs. tb@ kindly pointed out to me that Klemens Nanni submitted a better patch for this four months ago; "-exec +" allows us to combine the two find i

make includes: use find -exec {} +

2017-10-05 Thread Christian Weisgerber
Admittedly, this is cosmetic: Use the modern POSIX idiom "-exec ... {} +" instead of find|xargs. ok? Index: include/Makefile === RCS file: /cvs/src/include/Makefile,v retrieving revision 1.219 diff -u -p -r1.219 Makefile --- include/M

Re: md5(1): use mono clock in time trial

2017-09-11 Thread Christian Weisgerber
Scott Cheloha: > Use a monotonic clock for the elapsed time trial. FreeBSD uses getrusage() to fetch the user time used. I think that makes more sense. https://svnweb.freebsd.org/base/head/sbin/md5/md5.c?revision=307658&view=markup#l293 -- Christian "naddy" Weisgerber

Re: SSE2 instructions emitted in libcompiler_rt

2017-09-08 Thread Christian Weisgerber
On 2017-09-07, Christian Weisgerber wrote: > However, I don't know how to test that these functions actually work. FWIW, I checked all *.o files from a make build of base, but there are no references to __float(di|undi)[dsx]f. I guess nothing uses these functions and clang doesn&#x

Re: SSE2 instructions emitted in libcompiler_rt

2017-09-07 Thread Christian Weisgerber
Christian Weisgerber: > > Maybe this would already help? Would at least not throw stones into the > > way of the next person doing an upgrade of compiler-rt... > -snip- > > Yes, that's better... but errors out: > make: don't know how to make floatdixf.c.c (p

Re: SSE2 instructions emitted in libcompiler_rt

2017-09-07 Thread Christian Weisgerber
Patrick Wildt: > Maybe this would already help? Would at least not throw stones into the > way of the next person doing an upgrade of compiler-rt... -snip- Yes, that's better... but errors out: make: don't know how to make floatdixf.c.c (prerequisite of: floatdixf.c.o) -- Christian "naddy" We

SSE2 instructions emitted in libcompiler_rt

2017-09-06 Thread Christian Weisgerber
Somebody noticed this on FreeBSD: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=221733 On i386, libcompiler_rt includes assembly implementations for floating point conversion functions that unconditionally use SSE2 instructions, which are not supported by older CPUs. Specifically, these files

Re: RETGUARD

2017-08-21 Thread Christian Weisgerber
Edd Barrett: > > lang/pypy retguard > > I'm looking into PyPy. > > Can you provide the build output? Oops, sorry, I forgot to save the logs before I cleaned the machines yesterday. Should be straightforward to reproduce, though. At some point the build dies with a segfault.

Re: RETGUARD

2017-08-21 Thread Christian Weisgerber
On 2017-08-19, Theo de Raadt wrote: > We are at the point where userland and base are fully working without > regressions, and the remaining impacts are in a few larger ports which > directly access the return address (for a variety of reasons). Fallout from building amd64 packages with a retgua

Re: attach ahci faster

2017-08-13 Thread Christian Weisgerber
Jonathan Matthew: > Better version that actually preserves the port command register state across > resets, rather than throwing it away and replacing it with garbage: This appears to break ahci on the OverDrive 1000: ... ahci0 at simplebus0: AHCI 1.3 scsibus0 at ahci0: 32 targets ahci0: stoppin

Re: rtisvalid in ip_output for NFS porters

2017-07-28 Thread Christian Weisgerber
Martin Pieuchot: > The second one has been found by Matthias Pitzl and fixed this week > by bluhm@: em(4) was reporting incorrect link state. This link state > being applied to the corresponding routes, rtisvalid() would refuse > to use the selected route which would break some NFS setups. > > P

Re: Fix for clang-provoked relocation errors

2017-07-20 Thread Christian Weisgerber
Mark Kettenis: > The diff below fixes the > > /usr/bin/ld: /tmp/BC-10602a.o: relocation R_X86_64_PC32 against `xxx' can not > be used when making a shared object; recompile with -fPIC > > errors that we see with some ports when compiled with clang. That's great news! > should go through a fu

Re: RFC 7217: random but stable addresses (take 2)

2017-07-14 Thread Christian Weisgerber
David Gwynne: > secondly, im always wary of truncating hash output in case it throws away > some of the guarantees it's supposed to provide. if you cut sha512 output > down to an 8th of its size, is it 8 times easier to calculate a collision, or > more than 8 times easier? sha384 being a trunc

Re: RFC 7217: random but stable addresses (take 3)

2017-07-14 Thread Christian Weisgerber
On 2017-07-14, Florian Obser wrote: > --- etc/rc > +++ etc/rc > @@ -47,6 +47,14 @@ update_limit() { > done > } > > +# Apply soii.key settings. > +soii_key() { > + stripcom /etc/soii.key | > + while read _line; do > + sysctl -q "net.inet6.ip6.soiikey=$_line" > + do

Re: RFC 7217: random but stable addresses (take 2)

2017-07-13 Thread Christian Weisgerber
On 2017-07-13, Florian Obser wrote: > It switches the hash function to SipHash24 from sha512 as suggested by dlg It's for from clear to me whether SipHash is suitable for crypto operations, and which ones, other than the hash tables it was designed for. We went with SHA-512 for RFC 1948 TCP ini

Re: first stab at RFC 7217: random but stable link local addresses

2017-07-11 Thread Christian Weisgerber
On 2017-07-11, Florian Obser wrote: > + SHA512Final(digest, &ctx); > + > + /* assumes sizeof(digest) > sizeof(ifid) */ > + bcopy(digest, &in6->s6_addr[8], 8); ... and we're finished here. > + /* make sure to set "u" bit to local, and "g" bit to individual. */ > + in6->s6_add

Re: vi(1): remove stub settings

2017-06-30 Thread Christian Weisgerber
On 2017-06-29, "Anthony J. Bentley" wrote: > The vi manual is long enough. It doesn't seem very helpful to keep stubs > that have been stubs for 20 years. Should we retain some documentation along the lines of "nex/nvi does not implement the following options from the original ex/vi: ..."? --

Re: sppp(4)/pppoe(4) dynamic address hack

2017-06-09 Thread Christian Weisgerber
Stefan Sperling: > inet 0.0.0.0 255.255.255.255 NONE \ > pppoedev em0 authproto pap \ > authname 'testcaller' authkey 'donttell' \ >dynaddr dyndest up > > Tested on my ADSL line and it works as expected. The example in the pppoe(4) m

ifconfig: fix warning (tautological compare)

2017-06-07 Thread Christian Weisgerber
Fix clang warning about tautological compare: an unsigned long can't be negative. ok? Or dlg@ can slip it in with his next ifconfig change. Index: brconfig.c === RCS file: /cvs/src/sbin/ifconfig/brconfig.c,v retrieving revision 1.14

Re: i386 clang: fix binutils build

2017-06-05 Thread Christian Weisgerber
Todd C. Miller: > I think you want 0xU, not 0xL. Otherwise you will > have the same issue on i386. ??? We need a constant that comes out as the "long" value 0x on 64-bit platforms 0x on 32-bit platforms (degenerate case) -- Christian "

i386: sync trampoline code with amd64 for clang

2017-06-04 Thread Christian Weisgerber
This catches up i386 with the changes to acpi_wakecode.S and mptramp.s that were made on amd64 for clang. Here's kettenis@'s original commit message: ---> Generating mixed 16-bit/32-bit/64-bit code with clang's integrated assembler is a bit tricky. It supports the .code16, .code3

<    1   2   3   4   5   6   >