Commit Graph

14084 Commits

Author SHA1 Message Date
kre 8ad10c91e9 Amend the previous change: we can have (almost) the best of both
worlds, as when the first arg (which should be the format) contains
no % conversions, and there are more args, the results are unspecified
(according to POSIX).

We can use this so the previous usage
	printf -- format arg...
(which is stupid, and pointless, but used to work) continues to
simply ignore the -- (unspecified results mean we can do whatever
feels good...)

This brings back the #if 0'd block from the previous modification
(so there is no longer anything that needs cleaning up later) but runs
the getopt() loop it contained only when there are at least 2 args
(so any 1 arg printf always uses that arg as the format string,
whatever it contains, including just "--") and also only when the
first (format) arg contains no '%' characters (which guarantees no %
conversions without needing to actually parse the arg).  This is the
(or a) "unspecified results" case from POSIX, so we are free to do
anything we like - including assuming that we might have options
(we don't) and pretending to process them.
2019-07-22 17:34:31 +00:00
kre b6a771f35e Stop assuming that printf handles options in any way at all
(it doesn't - that is, shouldn't) which includes processing -- as an
"end of options".  The first arg is (always) the format string.

Remove call to getopt() (but still do associated changes to argc/argv)

Note: for now this is #if 0's out instead of being deleted, the old
code should be fully removed sometime soon.

Problem pointed out on tech-userlevel by Thierry Laronde.
2019-07-21 15:25:39 +00:00
sevan b60ae75e99 Add Fernando Jose Corbato
https://multicians.org/corby.html
https://www.nytimes.com/2019/07/12/science/fernando-corbato-dead.html
2019-07-14 10:43:01 +00:00
christos a713a1068c allow c9x struct casts (in new libXt) 2019-07-12 23:32:45 +00:00
msaitoh 03e9d50adf Fix typo (s/supress/suppress/). 2019-07-11 03:49:51 +00:00
he feecb28e70 Make the scaling of the "bytes written" sticky, so that if we go
to K, we don't return to unscaled, and similar for higher scales
(though it takes some effort, due to the wide field...)
Fixes PR#54334.
2019-06-30 19:57:23 +00:00
sevan a8ded70395 Add John von Neumann's date of death 2019-06-30 11:21:40 +00:00
joerg 85722e51b9 Do the fmtcheck for both message lookups to satisfy format string
literal checks.
2019-06-25 21:09:33 +00:00
martin 787f237e5b Limit maximum owner name to appease gcc 2019-06-25 14:52:55 +00:00
christos c9e3ec3ad5 Use OPT_NOMENU instead of -1 2019-06-23 22:48:15 +00:00
christos 7743b1bf0c use calloc properly. 2019-06-23 22:47:22 +00:00
christos 48d8b2ae49 don't cast malloc. 2019-06-23 22:46:53 +00:00
christos e2deb0a92c define as hex and make MC_VALID smaller so it fits in a short. 2019-06-23 22:46:41 +00:00
martin d8297eb873 Menu 0 does not exist anymore (it is now OPT_NOMENU), so emit an empty
menu defintion for it.
2019-06-23 11:31:10 +00:00
martin 5908298eb7 Use OPT_NOMENU as error return for new_menu (instead of old hard coded -1).
Update man page for the OPT_NOMENU change.
2019-06-23 11:22:48 +00:00
christos 4a69030bcd trim down error checking if we are small. 2019-06-22 23:40:53 +00:00
christos 9bedb72e28 make this compile again with -DNO_PROGRESS 2019-06-22 23:40:33 +00:00
christos 4cd30f5b0c Conserve space: make ints to shorts and make OPT_NOMENU 0 instead of -1
so we don't require initializing it.
2019-06-22 20:44:54 +00:00
martin ec547ea245 Re-add msg_clear() accidently dropped in previous. 2019-06-20 11:31:12 +00:00
christos 0e1db64433 Introduce _fmt_ flavors of the menu functions that take a formatting string
so we can use fmtcheck(3) to check the formats of the messages strings.
2019-06-20 00:45:18 +00:00
sevan a46fcec08e Happy 32nd birthday SDF.org!
https://twitter.com/sdf_pubnix/status/1140280083598327810
https://sdf.org/?faq?BASICS?02
2019-06-18 12:05:51 +00:00
kre 9c62ddd5c1 Deal with fallout from the addition of
KERN_PROC_CWD in sysctl(3)
That is kern.proc.$$.KERN_PROC_CWD (I think - not that it matters here)

The effect is that -lrump now requires -lrumpvfs

This set of changes fixes (I believe) regular dynamic builds,
more might be required for static builds (will be verified soon).
2019-06-01 06:59:17 +00:00
gutteridge b6bb9bdde9 tr.1: add a "see also" xref to ctype(3) (to align with an inline
reference), improve punctuation, etc.

XXX lines 177-191 have been commented out since they were imported in
r. 1.2 back in 1993, they should probably be re-examined, and revised
or removed.
2019-05-29 11:27:34 +00:00
wiz 4c02e23096 Sort options in usage. 2019-05-19 09:14:13 +00:00
christos 59e8d36e8f - add flag to produce OMAGIC
- factor out complicated inline code into simpler functions
- add options parsing
2019-05-18 21:16:12 +00:00
ozaki-r e28ae3abe7 Show the number of packets dropped by pfil 2019-05-13 07:48:42 +00:00
wiz f96f071847 Sort options (no-argument options before ones demanding arguments).
Bump date.
2019-05-09 09:37:11 +00:00
wiz adb7f5e61d Improve wording, bump date. 2019-05-09 09:34:58 +00:00
mrg e288c0bcc9 when dumping a kernhist history replace "%s" with "%p" so that the
kernhist in kernel can be a little more usable without making the
userland dumping code crash.
2019-05-09 08:01:07 +00:00
isaki 017c116c97 Remove -p option. AUDIO_SETCHAN is insecure and is obsoleted. 2019-05-08 14:44:42 +00:00
isaki 0b88ff9914 Update respond to isaki-audio2 branch.
- Extend list command to display supported hardware formats.
- Add set command to set hardware format.
- Use correct /dev/audioctl instead of /dev/audio.
2019-05-08 14:36:12 +00:00
christos 41bb817512 You don't have to be _LP64 to run 32 bit binaries. You can be mips (64 bit
kernel/32 bit userland).
2019-05-06 19:20:13 +00:00
kamil 453514a280 Add support for SIGRTMIN+1..SIGRTMAX-1 signals in ktruss(1)
Generate misc.c and misc.h with entries for signals between SIGRTMIN+1
and SIGRTMAX-1.
2019-05-06 11:58:37 +00:00
wiz c1260514c9 Sort SEE ALSO. 2019-05-06 06:56:07 +00:00
pgoyette b4153cd6d8 Also fix the error message when -T is used with something other than A or D 2019-05-05 23:08:37 +00:00
pgoyette dfa417c95a Fix the BUGS section. There is no ``-t A'' or ``-t D'' option ``-t''
requires an interval specification.  The correct bug info is for the
``-T A'' and ``-T D'' options.
2019-05-05 23:05:03 +00:00
isaki fd2a21e429 Use err(3)/errx(3) properly to avoid "write failed: Undefined error: 0". 2019-05-04 08:27:30 +00:00
simonb e348c98d9c Use PRWORD for printing -m/-mW totals so fields don't run in to each other.
While here, update field widths for 'vmstat -mW' for modern machines.
2019-04-30 23:29:18 +00:00
skrll 4402b4d24a Fix build on ppc64 2019-04-27 15:43:09 +00:00
skrll 6e604a1916 A couple of fixes so that NetBSD/cats builds (on linux), works, and
produces a symbol table that is readable (by 4.4BSD nm(1) at least)

- Change from OMAGIC to ZMAGIC
- Resize the a.out string table if we run out of space.
- output symbol table size as int32_t (the code already assumes no 64bit
  a.out.
2019-04-26 07:35:21 +00:00
christos 364bef3971 remove unused label 2019-04-23 17:35:10 +00:00
uwe f14670a1d6 Don't pass '-' to getopt(3). My guess is that *very* old getopt
didn't handle "--" terminator, so this code was working around it and
not quite correctly at that.

Fixes weird output from

  $ uniq --long-option
  uniq: uniq: No such file or directory

(for more fun, run that command from /usr/bin as root).

Pointed out by Andreas Krey.
2019-04-23 14:40:12 +00:00
christos af2b31c5c0 Undefine SSE stuff; we don't want portable code to depend on it and we
don't provide the necessary headers.
2019-04-13 15:08:49 +00:00
martin e8ac518b01 Backout previous - our pool is zeroed, no need to reinitializ here. 2019-04-12 15:59:34 +00:00
martin 44df961cb4 new_menu: add missing initializations - we might be using a previously
freed menu entry which has not been zeroed.
2019-04-12 15:47:41 +00:00
sjg bda55a25a3 ParseDoDependency: free paths rather than assert
PR: 52737
Reviewed by: christos
2019-04-09 18:28:10 +00:00
christos e35c1a2b0b redo the connection waiting handling to make it more clear. 2019-04-07 00:44:54 +00:00
christos 2a5b01fca8 Fix asan heap buffer overflow. from enh at google. 2019-04-05 13:34:41 +00:00
wiz 95f5209749 New sentence, new line. Whitespace fixes. 2019-04-04 22:02:06 +00:00
kamil b844317c23 FreeBSD indent r340138 2019-04-04 20:39:17 +00:00
kamil d845d12b1a Upgrade indent(1)
Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

 - Added an option -ldi<N> to control indentation of local variable names.
 - Added option -P for loading user-provided files as profiles
 - Added -tsn for setting tabsize
 - Rename -nsac/-sac ("space after cast") to -ncs/-cs
 - Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
 - Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
 - Group global option variables into an options structure
 - Use bsearch() for looking up type keywords.
 - Don't produce unneeded space character in function declarators
 - Don't unnecessarily add a blank before a comment ends.
 - Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.

Part II, checkin new files.
2019-04-04 15:27:35 +00:00
kamil d6a1bc3f07 Upgrade indent(1)
Merge all the changes from the recent FreeBSD HEAD snapshot
into our local copy.

FreeBSD actively maintains this program in their sources and their
repository contains over 100 commits with changes.

Keep the delta between the FreeBSD and NetBSD versions to absolute
minimum, mostly RCS Id and compatiblity fixes.

Major chages in this import:

 - Added an option -ldi<N> to control indentation of local variable names.
 - Added option -P for loading user-provided files as profiles
 - Added -tsn for setting tabsize
 - Rename -nsac/-sac ("space after cast") to -ncs/-cs
 - Added option -fbs Enables (disables) splitting the function declaration and opening brace across two lines.
 - Respect SIMPLE_BACKUP_SUFFIX environment variable in indent(1)
 - Group global option variables into an options structure
 - Use bsearch() for looking up type keywords.
 - Don't produce unneeded space character in function declarators
 - Don't unnecessarily add a blank before a comment ends.
 - Don't ignore newlines after comments that follow braces.

Merge the FreeBSD intend(1) tests with our ATF framework.
All tests pass.

Upgrade prepared by Manikishan Ghantasala.
Final polishing by myself.
2019-04-04 15:22:13 +00:00
christos a5b9754eb4 Make fetch_read() return size_t like fread() does. It is bogus to
have one backing implementation that returns different values and
types than the other.  Handle error setting properly; i.e. bail
out if the internal read returned an error. Now we get a proper
error message when the the server resets our connection instead of
a warning that the right failed with an invalid argument.

The server used for testing was:
	http://capeweather.dyndns.org:8080/graphs/3474.png
Which seems to be unreliable :-)
2019-04-04 00:36:09 +00:00
kre 67d9f38e0b Use correct printf format for (struct input_file *)->lineno
SHould unbreak 32 bit host builds.
2019-03-26 23:31:45 +00:00
christos 26bb5ab43c fix use-after-free issue. 2019-03-26 16:41:06 +00:00
christos 5eea377e88 print the source line and file where the error happened. 2019-03-26 16:39:50 +00:00
christos 82af0135c7 Behave like gnu m4; when the error output file cannot be opened, just warn
and keep going.
2019-03-26 15:00:34 +00:00
maxv ba0aa175c4 Remove compat_osf1, discussed on tech-kern@. 2019-03-25 19:24:29 +00:00
christos 24c1376449 no -g 2019-03-09 16:18:37 +00:00
christos 36c6018433 Fix another bug found by jemalloc: don't access dirent entry after closedir(3). 2019-03-09 16:18:22 +00:00
msaitoh c2f2b1bf58 s/ the the / the / 2019-03-08 08:12:39 +00:00
christos 8238435d7e Add __thread/tls_model attribute 2019-03-04 17:45:16 +00:00
christos 8504f123fd add a two argument version of alloc_size 2019-03-04 15:28:18 +00:00
christos 54f8cd1eb6 add gnu_printf 2019-03-04 15:26:18 +00:00
rin 270ad452f4 When input is not a multiple of three bytes in size, pad null
characters instead of garbage. This makes output reproducible.

Taken from FreeBSD:
https://svnweb.freebsd.org/base?view=revision&revision=84715

Even though this is not demanded by POSIX, uuencode(1) in
FreeBSD, OpenBSD, macOS, and GNU, behaves that way.
2019-03-04 05:37:08 +00:00
christos 0c4ae0a48a Add more gnu attributes 2019-03-03 23:06:08 +00:00
martin f239a04691 msg_prompt_win: allow automatic window height calculation (by passing
height = -1).
2019-03-01 17:02:21 +00:00
gson d8c2103a2e Make xgetchar() return an int like getchar() does, and remove needless cast. 2019-02-28 17:41:27 +00:00
martin a7fc6d1692 Add an option to supress the vertical space between menu title and
menu items.
2019-02-25 20:47:37 +00:00
uwe c07928f07f Check getchar() result for EOF.
Call cleanup(SIGHUP) if we get local EOF, as if we've got SIGHUP.
While here, use EOF constant instead of literal -1 in an existing
check.

PR bin/53996
2019-02-22 22:25:22 +00:00
martin 37df7b8973 Typo in member variable name 2019-02-16 19:09:07 +00:00
martin c8239d06af Document return values from menu items opt_action functions, add a
new variant: -1 when functions have fundamentally changed the menu
definition on the fly and the processing functions needs to restart
without looking at the old state (or stale cached pointers).
2019-02-16 18:57:21 +00:00
kre 63ba0d5a97 PR bin/53986 from Christian Weisgerber
Skip forward to tomorrow to run a command earlier in the current
hour than now (as well as during an earlier hour of the day).
2019-02-16 17:56:57 +00:00
gutteridge 1c2ba908cc make(1): minor grammar fixes in BUGS section 2019-02-16 07:41:12 +00:00
mrg d40c522149 remove the hack to remove .eh_frame -- gcc7 is fixed it seems. 2019-02-14 12:22:06 +00:00
mrg 26711b697b while we're still figuring out the gcc7 vs .eh_frame issue, apply
the don't remove eh_frame hack to mips as well.  hpcmips testbed
is also failing currently:

[   3.1238738] panic: init died (signal 6, exit 12)
2019-02-13 20:48:56 +00:00
mrg 91af807154 hack alert time:
on sparc and sparc64, don't remove .eh_frame section.  it leads
to failure as something is referenced, and objcopy ends up
emitting a broken binary that can't be run -- it attempts to
load at va=0, beyond having missing referenced data.

also, on sparc64 also don't remove .note.netbsd.mcmodel.


the former should be revised when we can avoid it.
2019-02-12 10:16:58 +00:00
martin fbb0a702e6 Provide an accessor for the menu description structure by manu identifier.
Usefull for dynamic menus where you want to change details on the
fly "from the outside" (i.e. while not in one of the callback functions).
2019-02-06 20:08:15 +00:00
rin 3a204f953a Make cu(1) and tip(1) recognize newline (^J) as end-of-line.
Now, tilde (~) after newline works as escape character as in ssh(1).
No objections when proposed on tech-userland.
2019-02-06 14:08:50 +00:00
martin c3c1b1c5e7 Try to avoid a (bogus) fatal warning from clang. 2019-02-06 07:56:42 +00:00
mrg 97ee1e16ff rework the previous to only apply if !HOSTPROG 2019-02-04 10:03:16 +00:00
mrg a5ca97c6e5 apply -Wno-error=implicit-fallthrough on files that have fallthru
comments but are missed by the current checker.
2019-02-04 09:51:47 +00:00
mrg e79f0588d7 avoid a potential buffer truncation. 2019-02-04 08:07:33 +00:00
mrg a6590737cd - add justquit() that always exits. use it to avoid unreachable code. 2019-02-04 04:09:13 +00:00
mrg a0193bc54d - use -Wno-error=format-truncation 2019-02-04 03:58:41 +00:00
mrg 85f6c4cfe8 don't build ldd64 support if !MKCOMPAT and mips64. 2019-02-04 00:05:20 +00:00
mrg 37649e4074 - enlarge buffer to avoid snprintf() truncation 2019-02-03 10:48:46 +00:00
thorpej 68e270a267 Implement support for "pshared" POSIX semaphores.
Fixes lib/53273 (and Firefox's multi-process tab feature).
2019-02-03 03:20:23 +00:00
mrg fbffadb9f8 - add or adjust /* FALLTHROUGH */ where appropriate
- add __unreachable() after functions that can return but won't in
  this case, and thus can't be marked __dead easily
2019-02-03 03:19:25 +00:00
mrg 2235c7e9bc make a fallthru comment GCC7 compatible. 2019-02-01 08:37:21 +00:00
mrg 684b182f81 compare pointers with NULL not '\0'. 2019-02-01 08:29:03 +00:00
christos 44671790a5 PR/53916: Rob Gill: remove redundant assignment to matchlen. 2019-01-28 12:04:16 +00:00
kre d5635413aa Revert previous, it was based upon a misreading of the POSIX
spec.   POSIX requires "as if by calling strtod()" which we
did already ... by calling strtod().   Go back to doing that.
2019-01-27 12:03:09 +00:00
kre 636d0f3dee Fix merge botch 2019-01-27 05:16:55 +00:00
kre 0eb8e4ef15 Fix merge botch 2019-01-27 05:15:42 +00:00
kre 1300bdf616 Fix merge botch 2019-01-27 05:14:45 +00:00
pgoyette d91f98a871 Merge the [pgoyette-compat] branch 2019-01-27 02:08:33 +00:00
kre 4ca169f245 Always convert input numbers (from the command line) in the C
locale, not as set in the environment.   Conforms with POSIX spec.
2019-01-26 15:22:54 +00:00
christos ace5fc6aeb no need for curses.h 2019-01-25 15:34:22 +00:00
christos 6b2ce0800e PR/53906: Paul Ripke: systat(1) vmstat & syscall get
"alternate system clock has died" on terminal resize (SIGWINCH)
2019-01-25 15:31:11 +00:00
martin cf341f607a Support redrawing all windows when in a msg prompt via Ctrl-l. 2019-01-22 18:39:49 +00:00
martin 0053548254 msg_prompt_win: if the default string fits, show it separately even
in fixed size windows. Previously it would only show up when auto-sizing
prompts figured it would fit (probably an oversight).
2019-01-21 20:28:08 +00:00
uwe a73c12be45 .Pp before .Bd is redundant.
From Edgar Pettijohn.
2019-01-13 16:48:51 +00:00
martin 8a7549a99f Allow argument expansion in menu titles as well. 2019-01-09 19:43:37 +00:00
tih b953ff3f9a Remove a format character from a non-format string. 2019-01-08 08:22:20 +00:00
martin afdad64472 Fix a potential NULL deref in previous - some menus start up with no
"opts" array allocated yet.
2019-01-06 11:08:34 +00:00
maya 8a135c6afb Match the function prototype of encrypthandler instead of casting to it.
Make GCC 9 snapshot happier with the code

While here, remove unnecessary braces around return (KNF).
2019-01-05 08:55:58 +00:00
maya f96d98db06 Bump WARNS to 5, and remove unnecessary -Wno (tested with pkgsrc clang 7) 2019-01-05 06:59:46 +00:00
maya d9e6b51adf Remove advertising clause, permitted by the copyright author. 2019-01-05 06:56:03 +00:00
maya 68daebb7bc unifdef compatibility for old BSD servers. This has been
disabled, so no binary change. from openbsd.
2019-01-05 06:47:24 +00:00
maya 28da966269 Avoid unnecessary casts, from openbsd. No binary change. 2019-01-05 06:30:05 +00:00
christos 681a027a82 recognize destructor attribute. 2019-01-04 18:51:23 +00:00
martin b8b0f2eea4 Add an option for single (disabled) menu lines to have no shortcut. 2019-01-04 15:27:19 +00:00
martin 01b87e76cf If a menu starts with disabled options, skip those and start at the
first enabled one instead.
2019-01-02 16:32:59 +00:00
martin 0de30d2afa Match all arm (and simplify powerpc conditionals) 2019-01-01 14:01:46 +00:00
christos 395228d264 Update usage comments, add arm 2018-12-31 13:32:05 +00:00
martin 47b9b2b3a0 ibcs2 is gone 2018-12-29 18:09:32 +00:00
wiz 48f9820ef3 Fix some macro usage. Fix a typo. 2018-12-28 12:21:53 +00:00
sevan 3986ee252c Remove commentd out options for fields no longer present in source. 2018-12-26 01:54:09 +00:00
sevan 5a5cdfa229 Extend "systat vm" output to provide better insight about buffercache and
document it.

From Greg A. Woods in PR bin/36542
2018-12-26 01:47:37 +00:00
sevan 66a1de5f19 Remove reference to Installing and Operating 4.3BSD paper, at present it's not
possible to find a paper titled as such with sections starting with
"Interpreting system activity".
There is a "Monitoring System Performance" section present from the 4.1BSD
Installing and Operating paper up to and including the 4.4BSD paper. The advice
in this section has not aged very well.
From "Installing and Operating 4.3BSD-tahoe UNIX on the VAX":
"Cumulatively on one of our large machines we average about 60-100
context switches and interrupts per second and about 70-120 system calls
per second"
2018-12-25 03:38:59 +00:00
christos 2763409dc3 yydebug is now defined only if YYDEBUG is 2018-12-24 02:07:44 +00:00
christos 876968801f yydebug is now available only if YYDEBUG is set. 2018-12-23 19:09:03 +00:00
sjg 38267d9f3b ParseVErrorInternal: use .PARSEDIR and
apply realpath(3) if not absolute,
and use .PARSEFILE for consitent results.

Reviewed by: christos
2018-12-22 00:36:32 +00:00
sjg dca4343b05 unexport-env: avoid SEGFAULT if MAKELEVEL not in env 2018-12-21 05:50:19 +00:00
martin b18e79c6bb compat/svr4* is gone - adapt 2018-12-19 16:27:26 +00:00
christos 07ed41e72f - Default terminator to \n
- Don't print a trailing separator
Behavior now matches GNU seq (from Aram at tech-userlevel)
2018-12-17 20:10:51 +00:00
christos 25ae7c06e6 PR/53796: Valery Ushakov: make prints wrong makefile path in an error message
Use ${.CURDIR} if ${.PARSEDIR} is not absolute.
2018-12-17 02:06:00 +00:00
christos 3b6f899d34 use %s formats to avoid -flag confusion (from sjg) 2018-12-16 18:53:34 +00:00
christos 3aa82d61be Use printf instead of echo since we can't portably use \ in string (from sjg@)
http://pubs.opengroup.org/onlinepubs/009695399/utilities/echo.html
2018-12-16 17:30:57 +00:00
maya c1e97742c6 Remove README relevant to 1995 telnet. 2018-12-15 22:56:51 +00:00
wiz 4abf4a7a7a Remove reference to krb_realmofhost(3) which does not exist.
Someone who speaks kerberos might want to check the -k description.

Remove some macros that do nothing and use \(em.
2018-12-15 22:17:02 +00:00
maya 067f4a3470 You can encrypt outside of north america now. 2018-12-15 22:12:15 +00:00
christos dbe0036b5a minor cleanup:
- more const
- prevent overflow of the argument vector
- change a lot of unsigned to signed to eliminate casts
2018-12-14 23:40:17 +00:00
maya 4f0678d2a5 Remove unneeded casts 2018-12-14 06:28:49 +00:00
maya 5d185efcae Remove some effectively if 0'd code. 2018-12-14 06:27:40 +00:00
maya 5b38d170b8 Inline the only use of NetNonblockingIO.
While here inline SetSockOpt. From openbsd.
2018-12-14 06:17:30 +00:00
maya 4e424770ac G/C In3270 - always false 2018-12-14 06:08:18 +00:00
maya 6aa0aef1f6 Expand SIG_FUNC_RET -from openbsd. 2018-12-13 09:20:05 +00:00
maya 16d5f4a25f Remove unused code. 2018-12-13 09:07:53 +00:00
maya e1e42e087d Remove unused code. 2018-12-13 05:22:14 +00:00
maya 342e9885b0 ExitString is used for error exit, do the minimum necessary here.
Avoid infinite loop:
telrcv->suboption->ExitString->SetForExit->telrcv

Reported by hacker fantastic, thanks!
2018-12-13 05:15:11 +00:00
maya 233931799b static-ify. 2018-12-13 05:07:03 +00:00
maya 7c20b20625 unifdef TN3270 which is never defined (and wouldn't build if it was)
delete tn3270 file no longer needed.
SetIn3270(); expands to nothing now, so remove it.

No functional change.
2018-12-13 04:49:19 +00:00
sevan a07b17440a typo 2018-12-13 01:58:04 +00:00
sevan daf842171c Describe what happens when you run vmstat witout any options aka the first line
of vmstat.
2018-12-13 01:29:10 +00:00
maya 3a1a1fef8c switch sprintf to snprintf in places.
Reported by hacker fantastic, thanks!

ok xtos.
2018-12-12 19:05:32 +00:00
sevan 3803d792b7 Document the source of load average figures. 2018-12-06 19:15:35 +00:00
sevan d63ba803ad Add a statement about uptime's relation to w(1). 2018-12-06 19:01:53 +00:00
sevan fd25e7cfc8 Document vmstat -w -1 is accepted.
via FreeBSD.
2018-12-05 23:42:23 +00:00
sevan 92ffdc1d37 Suggest kernhist(9) which is required for vmstat -u and -U
Drop Pp before Bl while here.
2018-12-05 10:35:14 +00:00
wiz 1b717af45c Sort SEE ALSO. 2018-12-04 08:01:35 +00:00
sevan 61ac015f2e Note these tools use kvm(3) and not procfs as in Solaris. 2018-12-03 17:03:44 +00:00
christos 51c91e52e5 add warn_unused_result. 2018-11-24 13:10:20 +00:00
uwe 415ab74c4d Try to provide the typesetting help requested. 2018-11-21 22:42:26 +00:00
martin 34c5a1a313 Add (optional) support for expanded static menu texts - that is: whatever
the application programmer defines as expansion, e.g. to implement
parameter substitution.
While here add rudimentary documentation of the dynamic messages
feature (so at least the parser and the syntax documented here
are in sync).
The man page could use some typesetting help...
2018-11-21 20:04:48 +00:00
scole 4c8f1ccfba PR toolchain/53710
allow 64bit target to compile on 32bit host

Ok'ed by <christos>
2018-11-16 20:49:08 +00:00
mlelstv dd276a2ec2 The test for regular file was wrong.
From yarl on freenode, thanks!
2018-11-16 13:55:17 +00:00
christos 3b9b386971 use the data size in case stdout was a pipe (M. Levinson) 2018-11-11 01:42:36 +00:00
sevan 5c3002f0a7 Note the date Larry Levan passed away https://en.wikipedia.org/wiki/Larry_Levan 2018-11-03 22:04:30 +00:00
sevan 017d75399e Let's house this up a bit.
Add The Mix Collection, mixed by Sasha & John Digweed.
https://en.wikipedia.org/wiki/Renaissance:_The_Mix_Collection
2018-11-03 21:34:35 +00:00
kre d4305dc776 sysctl(KERN_BOPOTIME) started returning a struct timespec in 2009.
Update to match....    We're slow but we get there eventually!

NFC for any of these programs, struct timeval and struct timespec
are the same size, and only the tv_sec field of boottime is used,
and that's unchanged.
2018-10-30 21:15:09 +00:00
christos 3e167e7237 fix typo. 2018-10-29 00:14:37 +00:00
christos bc30e841a8 handle stdin with header partially read. 2018-10-27 23:40:04 +00:00
christos 92e36ceeff remove debugging. 2018-10-27 13:20:21 +00:00
kre 5a5ac0a56f Fix printf conversion of off_t for 32 bit hosts (fix i386 build)
(%td is for ptrdiff_t)
2018-10-27 11:52:26 +00:00
skrll ef95ae4a36 Fix previous 2018-10-27 11:39:12 +00:00
christos 41c9b009a9 Add lzip support to gzip based on the example lzip decoder. 2018-10-26 22:10:15 +00:00
christos a0e7897afd Disable __int128 checks if we are not building on a 64 bit host (
this is suboptimal, but it is the easiest way).
2018-10-07 14:20:01 +00:00
martin 3871bbe7ed Add -l support for xz files 2018-10-06 16:36:45 +00:00
rmind 39013e66c1 NPF: Major rework -- migrate NPF to the libnv library.
- This conversion significantly simplifies the code and moves NPF to
  a binary serialisation format (replacing the XML-like format).
- Fix some memory/reference leaks and possibly use-after-free bugs.
- Bump NPF_VERSION as this change makes libnpf incompatible with the
  previous versions.  Also, different serialisation format means NPF
  connection/config saving and loading is not compatible with the
  previous versions either.

Thanks to christos@ for extra testing.
2018-09-29 14:41:35 +00:00
kre f910883c96 A truly ancient bug found by Edgar Fuss
When printf is running builtin in a sh, global vars aren't reset to
0 between invocations.   This affects "rval" which remembers state
from a previous %b \c and thereafter always exits after the first
format conversion, until we get a conversion that generates an
error (which resets the flag almost by accident)

	printf %b abc\\c
	abc				(no \n)
	printf %s%s hello world
	hello				(no \n, of course, no world ...)
	printf %s%s hello world
	hello
	printf %s%s hello world
	hello
	printf %d hello
	printf: hello: expected numeric value
	0				(no \n)
	printf %s%s hello world
	helloworld			(no \n, and we are back!)

This affects both /bin/sh and /bin/csh (and has for a very long time).

XXX pullup -8
2018-09-10 14:42:29 +00:00
christos 0909701cc6 recognize int128 2018-09-07 15:16:15 +00:00
kre 2bdb5be389 Inspired by PR pkg/53543
When calculating the length of the args that can be
appended in a "find .... -exec something {} +"
usage, remember to allow for the arg pointers, which
form part of what is allowed in ARG_MAX.

From a fairly empty installation of HEAD on amd64
and with a "/tmp/args" command that simply prints
its arg count, and the length of the arg strings,
with this mod I see ..

netbsd# find / -exec /tmp/args {} +
Argc 5000 Arglen 107645
Argc 5000 Arglen 151324
Argc 5000 Arglen 187725
Argc 5000 Arglen 206591
Argc 5000 Arglen 172909
Argc 5000 Arglen 186264
Argc 5000 Arglen 167906
Argc 2881 Arglen 98260

The upper limit of 5000 args is in the code.

Using the biggest of those, 5000
args, plus 206591 bytes of strings
uses 246591 bytes total (this excludes
the command name, so add a few more).
That's fairly close to the ARG_MAX
of 262144.

On another system (with longer paths) I see:
(this is just a small part of the output, using a
different version of the dummy command, and a
slightly different invocation)

Args: 4546 Len 218030
Args: 4878 Len 217991
Args: 4813 Len 218028
Args: 4803 Len 218029

There, 4878*8 + 217991 == 257015 which is about
as close as we'd want to come to the arg limit.

XXX pullup -8
2018-09-04 15:16:15 +00:00
kre 8b37a6dbec Printf's that support \e for escape all seem to also support \E.
Except us.   Now we do as well.
2018-09-04 01:13:50 +00:00
christos 6cd09489aa support deprecated("string") for libpcap 2018-09-03 15:16:33 +00:00
kre 68b40b6c11 Tighten syntax a little (no more %*4.*2d nonsense).
Include the format collected so far in "missing format char" err message.
Minor KNF and whitespace.
2018-09-03 04:10:20 +00:00
kre 24f342dfd6 PR standards/53563
POSIX requires that signed numbers (strings preceded by '+' or '-')
be allowed as inputs to all of the integer format conversions, including
those which treat the data as unsigned.

Hence we do not need a variant function whose only difference from its
companion is to reject strings starting with '-' - instead we use
the primary function (getintmax()) for everything and remove getuintmax().

Minor update to the man page to indicate that the arg to all of the
integer conversions (diouxX) must be an integer constant (with an
optional sign) and to make it blatantly clear that %o is octal and
%u is unsigned decimal (for some reason those weren't explicitly stated
unlike d i x and X).  Delete "respectively", it is not needed (and does
not really apply).

XXX pullup -8
2018-08-31 17:27:35 +00:00
riastradh 3432a2eb7f Bump config(5) version for OPT.foo.c variables. 2018-08-27 16:04:45 +00:00
riastradh 72c36f8199 Tag each .c file with the options that might have brought it in. 2018-08-27 05:35:00 +00:00
christos 4685e01b74 add WITHOUT_GZIP for the tools build. 2018-08-12 09:03:21 +00:00
christos 8e22f7e23d fix libraries 2018-08-12 08:00:32 +00:00
christos 4f89880b45 remove stray paren 2018-08-12 07:59:14 +00:00
christos dfe5f25515 add WITHOUT_BZ2 for tools build. 2018-08-12 07:53:19 +00:00
christos ab4aefc826 use setvbuf if available; it is more portable. 2018-08-11 19:44:19 +00:00
christos 647d6f88ee don't build NLS if we don't need to 2018-08-11 19:43:54 +00:00
christos ce1225c115 remove dup includes (already in grep.h) 2018-08-11 16:03:37 +00:00
kre 9f2b1d9e76 Avoid an infinite loop caused by a line accidentally dropped
in 1.22 (almost 30 months ago!)

[ Discovered by rhialto@ ]
2018-07-30 22:58:09 +00:00
wiz e694dd94ec Use An -nosplit. Use Mt. Fix some mandoc lint. 2018-07-28 08:03:41 +00:00
wiz 8c602bad3c Sync usage with man page. 2018-07-26 08:57:32 +00:00
wiz 4426bfba8a Add -S to SYNOPSIS. Sort option descriptions. 2018-07-26 08:57:26 +00:00
kamil 783e210b8b Introduce a new option -S in crunchgen(1)
The -S argument enables sanitization with a sanitizer in libc.
2018-07-25 23:41:28 +00:00
kre 47ea218fd1 NFC: More KNF (remove () around returned constants). 2018-07-25 15:35:27 +00:00
kre 5755a4ea22 NFC: whitespace & KNF. 2018-07-25 14:41:52 +00:00
christos 706eabb7af Provide MacOS/X compatible flags (where possible)
Propagate errno
2018-07-25 03:45:34 +00:00
kre 2fb3e9fabf Add the new formats to the list of format cracters (oops...) 2018-07-24 20:58:39 +00:00
kre ddc0976a72 Add support for F a and A formats (which go with the eEfgG formats
already supported.)
2018-07-24 20:49:19 +00:00
kre 520d24e3eb Correct a typo (off by one (key)) ...
There is no 'w' format, but there is an 'e'
2018-07-24 19:49:33 +00:00
wiz 3926ef35d5 Fix typo. Comment out SEE ALSO since it only refers nonexistent man pages.
Reduce history to NetBSD until we know more details about other OSes.
Use An. Fix Dt argument.
2018-07-24 19:08:22 +00:00
christos 0d2d986001 Tiny base64 encoder/decoder command patterned after the linux and the macosx
ones with the same name,.
2018-07-24 15:26:16 +00:00
snj d55a68a4f5 add netbsd 8.0, fix whitespace 2018-07-21 18:50:22 +00:00
joerg e077d7edbf Ignore malformed directory entries as created by Dropbox ("/"). 2018-07-19 18:04:25 +00:00
maxv 5ae6235d0e Remove tpfmt(1). Its code was merged into tprof(8). 2018-07-13 11:14:14 +00:00
mrg 1b11df59cf don't try to decend into remove 'pmc' subdir. 2018-07-13 11:13:10 +00:00
maxv 696d8f99b2 Remove the usr.bin/pmc tool. People should use tprof instead. 2018-07-13 09:15:55 +00:00
christos 3a280067df Fix previous: cached_stats() returning < 0 means that the file is not found,
not that it was found in the cache, and centralize reporting.
2018-07-12 18:03:31 +00:00
reinoud 38c2b03323 Remove duplicate code in make(1)'s dir.c.
When the cached_stats() code was added, some old logic stayed around that
implements the cached_stats() too.
2018-07-12 17:46:37 +00:00
msaitoh 24a510d5b0 Print iqdrops, too. This change also fixes a bug that Odrops prints
iqdrops when kvm read failed.
2018-07-11 07:46:20 +00:00
christos f4654072f5 recognize noinline attribute 2018-07-08 17:48:42 +00:00
kre 4bcba09122 Avoid printing error messages twice when an invalid
escape sequence (\ sequence) is present in an arg to a %b
conversion.
2018-07-03 01:56:39 +00:00
kre a78ff1f90a From leot@ on tech-userlevel:
Avoid running off into oblivion when a format string,
or arg to a %b conversion ends in an unescaped backslash.

Patch from Leo slightly modified by me.
2018-07-03 01:54:42 +00:00
christos 9f321dce94 Add our syslog format. 2018-06-29 20:18:36 +00:00
christos 8910c94cf4 add missing args for 123 2018-06-29 20:18:05 +00:00
msaitoh 204f26c6d9 Print BPF direction correctly. 2018-06-26 10:00:25 +00:00
msaitoh 90fcd8faa4 Fix a bug that BPF_D_OUT isn't printed correctly. 2018-06-26 09:50:42 +00:00
msaitoh 3cd62456f9 Implement the BPF direction filter (BIOC[GS]DIRECTION). It provides backward
compatibility with BIOC[GS]SEESENT ioctl. The userland interface is the same
as FreeBSD.

 This change also fixes a bug that the direction is misunderstand on some
environment by passing the direction to bpf_mtap*() instead of checking
m->m_pkthdr.rcvif.
2018-06-26 06:47:57 +00:00
kamil 2ca8c8d72f Specify SANITIZER_RENAME_SYMBOL in chpass
Rename local versions of getpwent getpwnam getpwnam_r getpwuid getpwuid_r
(all of the symbols are namespaced) in order to remove symbol clash with
libc.

This program uses code directly from libc.
2018-06-25 18:05:25 +00:00
christos fd98358317 Don't require any arguments as the usage indicates; simplifies the code
and the documentation: now "jot" works like "jot -" used to (and continues
to). From Ingo Schwarze
2018-06-25 14:29:17 +00:00
kamil b6ed70bb6e Add new option -s to crunchgen(1) -- enable sanitization
As of today typical sanitizers require dynamic executables, while
crunchgen(1) programs are produced with static properties.

Lack of specified -s will:
 - generate a Makefile file with NOSANITIZER=
 - build programs that are dependencies with NOSANITIZER=

In future there is an option to handle sanitization in statically linked
programs.

An idea with -s LGTM by <christos>
2018-06-21 10:55:54 +00:00
kamil f4a6ea5271 Disable SANITIZER for ldd(1)
These utilities (elf32, elf32_compat, elf64, liblldb) share code with the
ELF dynamic loader that is not being sanitized and its symbols are
installed into sanitized programs (in particular __tls_get_addr()).

Additionally libldd is used in rescue that is not expected to be sanitized
as of today.
2018-06-21 10:41:45 +00:00
christos a2ee17b347 Keep things portable (requested by joerg) by not depending on reallocarr
and instead doing the overflow check ourselves.
2018-06-18 18:33:31 +00:00
christos 759529ae76 PR/53368: Thomas Barabosch: Potential integer overflow in usr.bin/patch/inp.c 2018-06-16 00:40:14 +00:00
mrg 2951cf94c8 move 'utsname' to the main() function scope, so that the reference to
it outside the block remains valid.

should fix an asan reported issue.
2018-06-15 20:16:35 +00:00
christos 88efda49f6 remove extra quotes. 2018-06-12 15:41:35 +00:00
christos bf830a4102 - instead of hard-coding the include paths in mkioctls, pass them in
from the Makefile so that they are consistent.
- do more sed so that destination paths are not hard-coded inside #include
  statements.
2018-06-12 15:40:39 +00:00
kamil 2760f15b81 Correct Undefined Behavior in gzip(1)
Unportable left shift reported with MKSANITIZER=yes USE_SANITIZER=undefined:

# progress -zf ./games.tgz  tar -xp -C "./" -f -
/public/src.git/usr.bin/gzip/gzip.c:2126:33: runtime error: left shift of 251 by 24 places cannot be represented in type 'int'
100% |****************************************************************************************************************| 44500 KiB  119.69 MiB/s    00:00 ETA


Refactor the following code into something that is more clear
and fix signed integer shift, by casting all buf[] elements to
(unsigned int):

unsigned char buf[8];
uint32_t usize;
[...]
else {
    usize = buf[4] | buf[5] << 8 |
            buf[6] << 16 | buf[7] << 24;
[...]

New version:

    usize = buf[4];
    usize |= (unsigned int)buf[5] << 8;
    usize |= (unsigned int)buf[6] << 16;
    usize |= (unsigned int)buf[7] << 24;

Only the "<< 24" part needs explicit cast, but for consistency make the
integer promotion explicit and clear to a code reader.

Sponsored by <The NetBSD Foundation>
2018-06-12 00:42:17 +00:00
kamil 1c426e1841 Restore the MKGROFF=bo MKCXX=yes build
Mark the documentation in dc(1), gprof(1), rogue(6) and fsck_ffs(8) with
the .roff flag in SUBDIR.

Sponsored by <The NetBSD Foundation>
2018-06-11 14:18:16 +00:00
christos 2357fc5dd5 use SUBDIR.roff suggested by uwe@ 2018-06-10 17:55:11 +00:00
nat 911089b591 Update fstat for audio(4) and pad(4) devices.
XXX - pullup 8.

Ok christos@.
2018-06-04 01:42:49 +00:00
kamil 6d98e3fd29 ktruss: Remove symbol clash with libc
Rename local function wprintf() to xwprintf().
This is needed for installing interceptors in sanitizers.

Sponsored by <The NetBSD Foundation>
2018-06-03 13:41:30 +00:00
mrg 446e08b1e8 just include <sys/mutex.h> for mkioctls. this works fine for me
for several platforms and fixes the clang build.
2018-06-02 20:07:15 +00:00
jnemeth bb57c3804f Update calendar files for the upcoming NetBSD 8.0 release. I'm
assuming that it will be released by August 1, which is two months
from now.  Thus I used 2018 dates for all holidays between Aug.
1st and Dec. 31st, and 2019 dates for all holidays between Jan.
1st and Jul. 31st.
2018-06-02 05:55:47 +00:00
martin b30263c2e7 Use proper forward declaration for kmutex_t. This makes MKDTRACE=no builds
work again.
2018-05-29 14:29:53 +00:00
martin 351fd74422 Ooops, backout previous - it was an update build artifact (or something) 2018-05-29 13:10:28 +00:00
martin 2e95568bb1 Backout previous: "typedef void *kmutex_t;
is incompatible with our kmutex_t and breaks the build. ZFS will need
to find a better way to work around this.
2018-05-29 11:18:50 +00:00
wiz b41d19c5ae Remove superfluous Pp. 2018-05-29 08:37:33 +00:00
kamil 954aa6d69d After Todd C. Miller[0] - cal(1) first appeared in Version 1 AT&T UNIX[1][2].
[0] http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/usr.bin/cal/cal.1?rev=1.28&content-type=text/x-cvsweb-markup
[1] https://www.bell-labs.com/usr/dmr/www/1stEdman.html
[2] https://www.bell-labs.com/usr/dmr/www/man61.pdf

Patch submitted by @rjc via https://github.com/NetBSD/src/pull/3
2018-05-29 06:07:26 +00:00
chs ba2539a980 merge a new version of the CDDL dtrace and ZFS code.
this changes the upstream vendor from OpenSolaris to FreeBSD,
and this version is based on FreeBSD svn r315983.

in addition to the 10 years of improvements from upstream,
this version also has these NetBSD-specific enhancements:
 - dtrace FBT probes can now be placed in kernel modules.
 - ZFS now supports mmap().
2018-05-28 21:04:59 +00:00
christos c50a4e606c - Introduce :q modifier for make variables and make it double escape $'s so
that passing variables to recursive makes with :q works as expected.
- Revert :Q to work as before.
- Adjust makefiles that use recursive make to use :q

Discussed on tech-toolchain@
XXX: pullup 8
2018-05-27 01:14:50 +00:00
leot 8d25f7611b Do not accept invalid octal character values (>= 0400).
This also avoid possible stack corruption (e.g. previously `tr -s '\400'' or
similars lead to them).

Reviewed and thanks to <pgoyette>!
2018-05-26 11:20:30 +00:00
christos fe59327913 Since ${MAKE} converts $$ -> $ during parsing we need to put it back to
preserve the original variable value with :Q.
XXX: pullup-8
2018-05-24 00:27:24 +00:00
christos 45d3ba4e45 unit test for $ underquoting in :Q modifier 2018-05-24 00:25:44 +00:00
joerg cebcb94770 deconst -> __UNCONST to avoid null pointer arithmetic 2018-05-23 21:20:20 +00:00
christos 45c59656f1 Remove Mail 2018-05-23 01:03:46 +00:00
jmcneill f5e1fa54fa Add an optional '-p pidfile' parameter. 2018-05-15 01:41:29 +00:00
lukem 94c0b8f918 locate: fix support for multiple databases
Ensure that the first database is correctly added when
more than one database is provided.

Fixes problem I introduced in rev 1.17 on 2009-04-12,
and noticed recently by Simon.
2018-05-14 05:17:10 +00:00
sjg 7ccc79ce72 Just skip polling job token pipe.
The sigchld pipe ensures no busy wait.

PR: 53285
Reviewed by:
2018-05-13 22:13:28 +00:00
christos e7f0fa0971 PR/53285: Andreas Gustafsson: Build times tripled with make/job.c 1.193
Revert previous:
    2018.05.12.15.14.49/bracket.db:build_wall_time=4896.09
    2018.05.12.18.17.04/bracket.db:build_wall_time=16268.98
2018-05-13 12:10:36 +00:00
sjg 68df7c9526 Skip setting wantToken.
polling the job token pipe adds a lot of overhead
for little gain.
For now, just leave wantToken=0

And avoid busy waiting when no tokens are available and
no jobs are running.

Reviewed by: christos
2018-05-12 18:17:04 +00:00
sevan 838100b8e4 Match sequence of flags with usage()
Following on from mandoc -Tlint, drop Pp macro before Bl and Tn macro.
2018-05-11 16:36:57 +00:00