ddb running on crash dumps, but with two notable changes:
- Breakpoints, watches, etc are obviously never going to work so they
are not handled.
- You can pipe output to the shell, e.g. ps | grep foo
Items remaining to be done:
- Port it to architectures other than i386. This isn't difficult, just
a case of making db_disasm.c/db_trace.c or their equivalent compile
and work.
- Make more of the "show" commands work, e.g "show uvmexp".
NetBSD conventional bswap16, bswap32, and bswap64 functions or macros.
In a non-tools build, include <sys/types.h> and <machine/bswap.h> to
get definitions of these functions. In a tools build, rely on the
functions or macros being provided by nbtool_config.h, but don't incluce
<machine/bswap.h> (which might not exist in a cross build).
This should address a problem building on OpenBSD, which has swap16,
swap32, and swap64 macros that conflicted with the local definitions.
The problem was reported by Alexander Bluhm, but this patch is quite
different from the one he suggested.
return something other than just 0.
caveat: statvfs is done for the mountpoint path, so might not give
the truth about a directory inside the mountpoint.
made to fail. Specifically, change
.ifdef(SYMBOL) -> .ifdef SYMBOL or .if defined(SYMBOL),
and corresponding for .ifndef.
Also correct one error in lib/libm/Makefile (.ifdef (${MKCOMPLEX} != "no")?!?).
This is done by adding the general ability to stuff non-SUSP data into
the end of the System Use field of a Directory Record, which required
some amount of rewriting of the SUSP support. I think the result is
at least as good as what came before, and I've fixed at least one bug
along the way. Tested against RISC OS 3.70 on my Risc PC.
Oh, why do we want it? It should allow us to make acorn{26,32} CDs that
can be booted directly from RISC OS without mucking around copying the
bootloader to a native filing system.
the System Use field with fewer then 28 bytes to spare, we were
remembering the wrong length for the System Use field and hence
emitting a corrupt directory entry. This could be triggered by trying
to build a filesystem containing a regular file with a 120-byte name.
Now we're a little more careful.
Continuation Area, be sure to insert the "CE" record at the correct
point in the chain of SUSP records. Without this, makefs emits
an invalid image if any file needs a Continuation Area. The bug
seems to have been introduced with the conversion to TAILQs.
without supplying a value, complain at them instead of segfaulting.
Or, to put it another way, check that the value is non-NULL before calling
set_option().
ok'ed by core and releng.
(thanks for agc@, snj@ and i'm sorry for long time patience).
[libc]
- localeio.[ch] and lc*.[ch] in src/lib/libc/locale was replaced by
new locale-db implementation using citrus_db backend,
see src/lib/libc/citrus/citrus_lc_*.[ch].
- add citrus_bcs_strtou?l.c. don't use strtou?l locale implementation
internally, because they're locale-aware function.
- add some stubs for multi-locale issue, see {current,global}_locale.c.
- remove some obsolete file, setrunelocale.c, ___runetype_mb.c.
- remove __savectype() from ctypeio.[ch].
[tools]
- mklocale(1): add new option ``-t'' that generates new style
LC_{MONETARY,NUMERIC,TIME,MESSAGES} locale-db format.
- chrtbl(1): added ctypeio.[ch] for __savectype().
[locale-db]
- added en_US.US-ASCII locale.
- removed some shareable locale definition file:
en_US.US-ASCII -> en_US.ISO8859-1, en_US.UTF-8
zh_CN.eucCN -> zh_CN.GB18030
and more...see src/share/locale/*/Makefile.
- remove obsoleted locale sr_YU, added new locale sr_ME, sr_RS.
- change locale name ja_JP.ISO2022-JP* -> ja_JP.ISO-2022-JP*
for X11's locale.alias file alignments.
- fix regression test, wrong wcs?width(3), NAN/INF usage.
i tested release-build following arch:
i386, amd64, hpc{mips,arm,sh}, sparc64, vax.
citrus_lc_*.[ch] also can read old-plain-text style locale-db.
so that backward compatibility is keeped, but lc*.[ch] can't read
new citrus_db'ed locale-db and localeio.c never check sanity,
so forward compatibility is broken ;-<
old mklocale(1) doesn't know -t option, so you have to rebuild toolchain.
- Make MD poffd(8) retire, and use MI powerd(8) instead of it.
- Make /dev/pow1 retire, because nobody holds /dev/pow0 any longer.
Use /dev/pow0 for pow(4) ioctl.
- POWIOCSSIGNAL ioctl which is for poffd(8) is also obsoleted.
specific set of user-derived variables, to be used in SOURCEMODE.
- In SOURCEMODE, generate the rc.d scripts xdm and xfs.
- Auto-detect if X11 sets are used (either through the value of MKX11 in
SOURCEMODE, or by finding an xetc-xpecific file in sets mode).
- Ignore X11-specific rc.d scripts if X11 is not used.
Syslogd does not properly handle:
1) the ADDDATE flag which is set with -T invocation and when messages
come from the kernel. Other cases where it is set it is ignored
as timestamping is always done (e.g. logmsg_async())
2) the variable found_ts in check_timestamp(). It would determine
whether or not the message had a (possibly valid) timestamp, set
found_ts to true, then ignore that in most cases. If we can't find
a timestamp return.
3) messages without a parsable timestamp should get one when outputting
the BSD syslog format so that a syslog-protocol timestamp isn't
injected (chopped off with BSD syslog length) giving something like:
"2008-11-27T15:0 cisco -: 1790:"
^ time might have been 2008-11-27T15:02:35.296497+11:00
4) syslog protocol version checking only checked for a leading numeral
one (1) then skipped two places (presuming a space). Messages sent
from some sources (e.g. my cisco) may be
"1795: Nov 27 04:12:52: %LINEPROTO-5-..."
which would be chopped to
"95: Nov 27 04:12:52: %LINEPROTO-5-..."
- new syslog protocol api syslogp(3) that supports structured data
and draft-rfc timestamps
- reliable tcp connections with queueing
- encrypted connections
Initialise memory before writing to only part of it,
making sure that the string is NUL-terminated
Allocate the maximum allowed length (including the
terminating NUL byte) for the temporary name string, make sure
the final output is NUL terminated, and copy back the NUL when
overwriting the previously created name (since maxlen is always
at least 1 less than ISO_FILENAME_MAXLENGTH_WITH_PADDING, this
is no problem)
Patches from Thorsten Glaser through freenode.net.
This may need more work to prevent warning messages during
"make cleandir" when the commands in "!=" assignments are executed
even though tools may not have been built.
in the WPA distribution when building without native crypto.
For hostapd in particular, using crypto_libc.c unconditionally meant that
up until now the program has been pretty much unusable for anything which
requires cryptographic key exchanges. E.g. WPA/WPA2.
Also add support for a range of authentication protocols (EAP) in hostapd
if we're building with native crypto support.
specified using a file name on the running system, while the secondary
bootstrap is specified using a file name relative to the root of the
file systrem in which the installation is being performed.
Inspired by PR 39728 by der Mouse
refers to tgz files or to a directory in which tgz files have already
been extracted, make it an error for the files that should have come
from etc.tgz to be missing. This is intended to prevent users from
accidentally deleting necessary files when they run "postinstall -s
xetc.tgz fix".
Use the absence of .../etc/mtree/set.etc in the extracted directory
as a test for the error case.
- Use lstat instead of stat to find the destination path. we can make a symlink
to a broken symlink this way.
- When calling process to create a link, check if the source is a symlink
instead of trying to remove what the symlink points to!
- Don't create hard links to directories.
XXX: NB. Still sup is broken when used with the delete option. This is because
in the delete pass, it goes and tries to delete all files in the old list
that don't exist in the new list. This is a problem when a directory becomes
a symlink to a hierarchy that contains the same names. Then sup will cross
the symlink and start deleting files and directories from the destination.
This is not easily fixed. Don't use sup with symlink/rsymlink and the delete
option at the same time or *be careful*!
rpcgen offers no mechanism to call it from the rpcgen-created main().
So, use the preprocessor to rename that mymain() and provide another
main() that loads the config file first.
PR bin/12758.
Install so first file installed matches this correct manual page
name.
(Both manual pages are still installed. And only rpc.pcnfsd binary is
installed. So no change.)
So install manual page to architecture sub directory.
And add architecture to the manual page document title.
(Note that ndis(4) is already done that way.)
On netbsd-docs, I was told if it is made machine independent
in the future, we can then revert this change.
(Also add a paragraph break.)
I didn't specifically mention the platforms or what support is needed.
At least someone reading the manpage will have some idea why the tool
is missing from their system.
(Some manual pages mention this in the BUGS section, but I didn't do that.)
* Remove the ability to specify a colon-separated list of tgz files
using a single "-s" option, because ":" is now a valid character within the
name of a single file. Callers should use multiple "-s" options
instead.
* Allow spaces to appear in the name of the TEMPROOT and SRCDIR directories.
* Remove the ability to specify a colon-separated list of tgz files
using a single "-s" option, because ":" is now a valid character within the
name of a single file. Callers should use multiple "-s" options
instead.
* Almost all shell variables are now quoted, except where they
hold numeric values such as exit status, or where we want
the shell to split on spaces.
* Constructs like
_files="$@"
do_something_with $files
are changed to
#_files="$@"
do_something_with "$@"
* In contexts where we do actually want the args to be concatenated with
space separators, use "$*", not "$@".
Tested by running "postinstall check" with a SCRATCHDIR whose name
contained spaces.
experimental option -p, which tries to reestablish the connection
to the sftp server in case it is lost. This currently has a few
limitations (found in the man page), but generally works in some
use cases.
Better support might eventually emerge, but since that requires a
plunge into the depths of puffs_framebuf, I need quite a bit of
Fernet Branca to build up my courage before attempting it.
the other mount binaries do. Now syspuffs can be used to run all
puffs file systems as utilities. This includes fuse file systems
and becomes interesting with the fs-utils project. We can now do
e.g. this:
ReFUSE ntfs-3g:
golem> echo hello | fsu_write/fsu_write ntfs-3g puffs ~/img/ntfs.img dafile
golem> fsu_cat/fsu_cat ntfs-3g puffs ~/img/ntfs.img dafile
hello
golem>
puffs sysctlfs:
golem> fsu_ls/fsu_ls mount_sysctlfs puffs sysctl -l ddb
total 0
-r-xr-xr-x 1 pooka users 1 Sep 2 22:11 commandonenter
-r-xr-xr-x 1 pooka users 2 Sep 2 22:11 fromconsole
-r-xr-xr-x 1 pooka users 3 Sep 2 22:11 lines
-r-xr-xr-x 1 pooka users 8 Sep 2 22:11 maxoff
-r-xr-xr-x 1 pooka users 3 Sep 2 22:11 maxwidth
-r-xr-xr-x 1 pooka users 2 Sep 2 22:11 onpanic
-r-xr-xr-x 1 pooka users 3 Sep 2 22:11 radix
-r-xr-xr-x 1 pooka users 2 Sep 2 22:11 tabstops
-r-xr-xr-x 1 pooka users 2 Sep 2 22:11 tee_msgbuf
Same works for psshfs etcetc.
In other words, this provides total integration for "normal"
in-kernel file systems and puffs/fuse file systems on the ukfs
library level.
Note: implementation is still "first stab" and the fs-utils usage
will no doubt change.