<feed xmlns='http://www.w3.org/2005/Atom'>
<title>wireguard-openbsd/bin/ksh, branch master</title>
<subtitle>WireGuard implementation for the OpenBSD kernel</subtitle>
<id>https://git.zx2c4.com/wireguard-openbsd/atom/bin/ksh?h=master</id>
<link rel='self' href='https://git.zx2c4.com/wireguard-openbsd/atom/bin/ksh?h=master'/>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/'/>
<updated>2021-03-12T02:10:25Z</updated>
<entry>
<title>Provide definition of CTRL in vi.c like we do for emacs.c.</title>
<updated>2021-03-12T02:10:25Z</updated>
<author>
<name>millert</name>
<email>millert@openbsd.org</email>
</author>
<published>2021-03-12T02:10:25Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=b7e9697a372e4ef876838803b51c98b88bd5c3a7'/>
<id>urn:sha1:b7e9697a372e4ef876838803b51c98b88bd5c3a7</id>
<content type='text'>
Fixes a portability issue.  From Benjamin Baier
</content>
</entry>
<entry>
<title>groff complains about the word "An" in an Rs/Re block, believing it a macro,</title>
<updated>2021-03-11T07:04:12Z</updated>
<author>
<name>jmc</name>
<email>jmc@openbsd.org</email>
</author>
<published>2021-03-11T07:04:12Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=a9836ae0db8e6a3a6288fb3bf2d5dece63898318'/>
<id>urn:sha1:a9836ae0db8e6a3a6288fb3bf2d5dece63898318</id>
<content type='text'>
so escape it;
</content>
</entry>
<entry>
<title>Add support for ^R (redraw) in insert mode too.</title>
<updated>2021-03-10T20:17:33Z</updated>
<author>
<name>millert</name>
<email>millert@openbsd.org</email>
</author>
<published>2021-03-10T20:17:33Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=80e855d93558c509b4b5abde845378edca8532aa'/>
<id>urn:sha1:80e855d93558c509b4b5abde845378edca8532aa</id>
<content type='text'>
From gotroyb127, OK tb@
</content>
</entry>
<entry>
<title>Fix redrawing of a multiline PS1 prompt in vi mode.</title>
<updated>2021-03-10T20:06:04Z</updated>
<author>
<name>millert</name>
<email>millert@openbsd.org</email>
</author>
<published>2021-03-10T20:06:04Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=aa7806bd03c7c1e39a51c54de27f48cd3b4e66a8'/>
<id>urn:sha1:aa7806bd03c7c1e39a51c54de27f48cd3b4e66a8</id>
<content type='text'>
From gotroyb127 OK tb@
</content>
</entry>
<entry>
<title>use a journal reference instead of cstr when possible</title>
<updated>2021-03-08T06:20:50Z</updated>
<author>
<name>jsg</name>
<email>jsg@openbsd.org</email>
</author>
<published>2021-03-08T06:20:50Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=4f4ed0d08f2b203e2d8e223ac6e481e5a1aea15a'/>
<id>urn:sha1:4f4ed0d08f2b203e2d8e223ac6e481e5a1aea15a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add some references, most of these were removed when we stopped building</title>
<updated>2021-03-08T02:47:25Z</updated>
<author>
<name>jsg</name>
<email>jsg@openbsd.org</email>
</author>
<published>2021-03-08T02:47:25Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=093fc5b92d3ed0da0e6be645e5b14525c4d75543'/>
<id>urn:sha1:093fc5b92d3ed0da0e6be645e5b14525c4d75543</id>
<content type='text'>
and installing USD/SMM/PSD docs.

jmc@ agrees with the direction, ok millert@ on an earlier diff
</content>
</entry>
<entry>
<title>Fix old ksh bug: wrong variable being looked up when value is provided.</title>
<updated>2021-03-05T15:22:03Z</updated>
<author>
<name>zhuk</name>
<email>zhuk@openbsd.org</email>
</author>
<published>2021-03-05T15:22:03Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=0f7e252d5c47dee06d76308af9326d47daf9f02c'/>
<id>urn:sha1:0f7e252d5c47dee06d76308af9326d47daf9f02c</id>
<content type='text'>
This results, e.g., in allowing the first item of a read-only array to
be overwritten, as found by Jordan Geoghegan.

okay tb@
</content>
</entry>
<entry>
<title>In lib/libc/gen/charclass.h r1.3 guenther made cclasses const.</title>
<updated>2020-10-26T18:16:51Z</updated>
<author>
<name>tb</name>
<email>tb@openbsd.org</email>
</author>
<published>2020-10-26T18:16:51Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=574b77e12692c9df41875fef288906db093c6545'/>
<id>urn:sha1:574b77e12692c9df41875fef288906db093c6545</id>
<content type='text'>
Mark the pointer used to walk the array in ksh const as well.

From Matthew Martin

ok guenther
</content>
</entry>
<entry>
<title>Clear screen before redrawing the line with ^L, also in input mode.</title>
<updated>2020-09-20T14:40:45Z</updated>
<author>
<name>millert</name>
<email>millert@openbsd.org</email>
</author>
<published>2020-09-20T14:40:45Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=2e824dbddfdb1c05ae1d835de7a365c9c1ca94b3'/>
<id>urn:sha1:2e824dbddfdb1c05ae1d835de7a365c9c1ca94b3</id>
<content type='text'>
This is similar to the emacs mode clear-screen command.  Unlike
bash, but like zsh, ^L also works in input mode, not just command
mode.  OK kn@ tb@
</content>
</entry>
<entry>
<title>Fix "$@" splitting with empty IFS</title>
<updated>2020-09-13T15:39:09Z</updated>
<author>
<name>tb</name>
<email>tb@openbsd.org</email>
</author>
<published>2020-09-13T15:39:09Z</published>
<link rel='alternate' type='text/html' href='https://git.zx2c4.com/wireguard-openbsd/commit/?id=fea13ced53c9f0c1aee26b71d8517fefa97e9d0e'/>
<id>urn:sha1:fea13ced53c9f0c1aee26b71d8517fefa97e9d0e</id>
<content type='text'>
One uncommon but useful way of writing shell scripts is to start off by
disabling field/word splitting (IFS='') and pathname expansion/globbing
(set -f), re-enabling either or both only for the commands that need
them, e.g. within a subshell. This helps avoid a lot of snags with field
splitting and globbing if you forget to quote a variable somewhere,
adding to the general robustness of a script. (In fact it eliminates
much of the need to quote variable/parameter expansions, with empty
removal remaining as the only issue.)

Unfortunately OpenBSD ksh (like all pdksh variants except mksh) has a
POSIX compliance bug that is a show stopper for this approach: "$@" does
not generate words (arguments) if IFS is empty. As a result, the
separate command arguments represented by "$@" become a single argument.
So passing on an intact set of positional parameters to a command or
function is impossible with field splitting disabled.

Of course this is illogical: the quoted special parameter "$@" generates
zero or more words, it doesn't split any words, so the contents of IFS
(or lack thereof) should be neither here nor there. It's old ksh88
behaviour copied by the original pdksh, but it violates POSIX and it has
been fixed many years ago in ksh93 and all other POSIX shells.

From Martijn Dekker (who also wrote the above paragraphs) back in 2016.
Thanks to Avi Halachmi for reminding us of the issue.

ok czarkoff deraadt kn
</content>
</entry>
</feed>
