Commit Graph

249 Commits

Author SHA1 Message Date
Ruslan Ermilov
322628519e Reincarnate SETUID code in man(1), not compiled in by default.
The code will be fixed for all known security vulnerabilities,
and a make.conf(5) knob (ENABLE_SUID_MAN) will be provided for
those who still want it installed setuid for whatever reasons.
2002-01-22 15:15:38 +00:00
Ruslan Ermilov
318e66375a GC spurious -m in the usage(). 2002-01-18 16:08:29 +00:00
Ruslan Ermilov
30843b9337 Do not install man(1) setuid ``man''.
The catpaging and setuidness features of man(1) combined make
it vulnerable to a number of security attacks.  Specifically,
it was possible to overwrite system catpages with arbitrarily
contents by either setting up a symlink to a directory holding
system catpages, or by writing custom -mdoc or -man groff(1)
macro packages and setting up GROFF_TMAC_PATH in environment
to point to them.  (See PR below for details).

This means man(1) can no longer create system catpages on a
regular user's behalf.  (It is still able to if the user has
write permissions to the directory holding catpages, e.g.,
user's own manpages, or if the running user is ``root''.)

To create and install catpages during ``make world'', please
set MANBUILDCAT=YES in /etc/make.conf.  To rebuild catpages
on a weekly basis, please set weekly_catman_enable="YES" in
/etc/periodic.conf.

PR:		bin/32791
2002-01-15 14:11:05 +00:00
Ruslan Ermilov
b9de8f2010 Now that we have the original BSD man(1)'s ${MACHINE} feature
back (as of man.c,v 1.45), change the meaning of the -m option
from poorly documented and badly coded "alternate system" to a
much more useful "different architecture for the same system".

PR:		docs/31261
2002-01-11 15:12:00 +00:00
Ruslan Ermilov
3180756901 Document how manpath(1) handles user's path directories that end in "/bin".
PR:		docs/30940
MFC after:	3 days
2001-10-01 16:58:30 +00:00
Ruslan Ermilov
9de6241784 Fixed some of style bugs. 2001-09-12 10:04:42 +00:00
Ruslan Ermilov
6efca31685 SECURITY.
Avoid using setre[ug]id() calls.
Removed the setgid stuff we don't need.
2001-09-06 11:54:28 +00:00
Ruslan Ermilov
ac0450b530 Skip empty calls in the NAME section after the .Nm macro call.
This makes the following difference:

-groff_mdoc(7), -(7)      - groff_mdoc reference for groff's mdoc implementation
+groff_mdoc(7)            - reference for groff's mdoc implementation
2001-08-09 15:42:40 +00:00
Ruslan Ermilov
9023135631 An empty request (single dot on the line) is treated as an
empty line by troff(1) and is ignored.  Teach makewhatis(1)
about this.  This makes the following difference:

-groff_man(7), . groff_man(7) - groff `man' macros to support generation of man pages
+groff_man(7)             - groff `man' macros to support generation of man pages
-groff_mdoc(7), -(7)      - . groff_mdoc reference for groff's mdoc implementation
+groff_mdoc(7), -(7)      - groff_mdoc reference for groff's mdoc implementation
-troff(1), . . troff(1)   - format documents
+troff(1)                 - format documents

Noticed by:	yar
2001-08-09 15:23:30 +00:00
Ruslan Ermilov
b07badb7bd Teach makewhatis(1) about mdoc(7) .Xr macro.
% whatis finger.conf
finger.conf(5) - finger 1 alias configuration file

% whatis finger.conf
finger.conf(5) - finger(1) alias configuration file

Reviewed by:	MAINTAINER timeout
2001-08-09 15:12:59 +00:00
Ruslan Ermilov
c4d9468ea0 mdoc(7) police:
Avoid using parenthesis enclosure macros (.Pq and .Po/.Pc) with plain text.
Not only this slows down the mdoc(7) processing significantly, but it also
has an undesired (in this case) effect of disabling hyphenation within the
entire enclosed block.
2001-08-07 15:48:51 +00:00
Ruslan Ermilov
eb89426722 mdoc(7) police: removed punctuation after the last SEE ALSO xref. 2001-07-10 18:00:19 +00:00
Ruslan Ermilov
63919764c2 mdoc(7) police: removed HISTORY info from the .Os call. 2001-07-10 10:42:19 +00:00
Dima Dorfman
70d51341bf mdoc(7) police: remove extraneous .Pp before and/or after .Sh. 2001-07-09 09:54:33 +00:00
Ruslan Ermilov
5521ff5a4d mdoc(7) police: sort SEE ALSO xrefs (sort -b -f +2 -3 +1 -2). 2001-07-06 16:46:48 +00:00
Andrey A. Chernov
b15d61cf16 Rewrite locale handling using nl_langinfo(CODESET), so aliases not needed here
now
2001-06-25 21:11:43 +00:00
Andrey A. Chernov
baf58b5622 In debug mode don't print error for C,POSIX,ASCII,US-ASCII locales 2001-06-10 23:42:31 +00:00
Andrey A. Chernov
3a068c3b67 Fix for new locale names 2001-06-10 16:03:56 +00:00
Andrey A. Chernov
80cf6ab26e Fix for new locale names 2001-06-10 15:57:40 +00:00
Ruslan Ermilov
1837dd5db5 mdoc.samples(7) is superseded by mdoc(7). 2001-04-17 12:49:42 +00:00
Ruslan Ermilov
b9ad8c8635 beforeinstall -> SCRIPTS. 2001-04-07 11:21:35 +00:00
Wolfram Schneider
65c96ef9f6 space typo in last commit 2001-03-30 10:44:29 +00:00
Wolfram Schneider
66eda5d765 * A comment in apropos.sh contains the misspelled word
"locailzed"; it should read "localized".

        *  The "test" operator can be a bit dangerous (e.g., if
           a newbie writes a script named "test" and has it call
           "apropos", which calls "test, ...).

        *  In its use as "whatis", apropos formats the first
           line of the output differently than the following
           lines.  Specifically, it leaves out all but one of
           the spaces that precede the dash in the first line.

Submitted by: Rich Morin <rdm@cfcl.com>
PR:	25126
2001-03-30 10:31:46 +00:00
Ruslan Ermilov
e5ac5644e2 MAN[1-9] -> MAN. 2001-03-27 14:59:06 +00:00
Ruslan Ermilov
0414fc4dd0 Don't use MANDEPEND and MANSRC. 2001-03-26 07:28:26 +00:00
Ruslan Ermilov
afcf05e46a setlocale(3) has been fixed to match POSIX standard:
LC_ALL takes precedence over other LC_* envariables.
2001-03-02 16:52:14 +00:00
Ruslan Ermilov
0a3a912634 Make ``groff -man'' work again for both man(7) and mdoc(7) manpages.
The new Groff release will support this feature.

Requested by:	peter
2001-02-23 09:35:33 +00:00
Ruslan Ermilov
64a25b5eea Implement one nice feature of original BSD man(1):
: As some manual pages are intended only for specific architectures,
: man searches any subdirectories, with the same name as the current
: architecture, in every directory which it searches.  Machine specific
: areas are checked before general areas.  The current machine type may
: be overridden by setting the environment variable MACHINE to the name
: of a specific architecture.
2001-02-19 14:19:57 +00:00
Ruslan Ermilov
847b07b8bf Fixed the order of environment variables list. 2001-02-19 14:02:48 +00:00
Ruslan Ermilov
6db9673342 Fix broken -L for short locale names. 2001-02-16 12:28:30 +00:00
Ruslan Ermilov
5d56fa0cc6 Do not ever try to look into nonexisting locale subdirectories.
(is_directory() returns -1 if the file does not exist, 1 if it
is a directory or a symlink to a directory, and 0 otherwise.)
2001-02-15 19:01:41 +00:00
Ruslan Ermilov
ad4ba1ec87 If both full-locale-name and short-locale-name searches
fail, look the manpage in the en.<charset> subdirectory.

See the manpage for details.

Suggested by:	ache
2001-02-14 16:31:08 +00:00
Ruslan Ermilov
79f17ca354 Backout 1.38->1.41 (functional) changes pending the proper solution.
/usr/share/man/cat? is only allowed to store -Tascii formatted data.

Requested by:	ache
2001-02-14 13:16:16 +00:00
Ruslan Ermilov
df4caab40f Do not allow non-absolute pathnames in the manpath. 2001-02-13 16:55:42 +00:00
Ruslan Ermilov
88c033be20 Make it possible for any given locale to use different
groff(1) devices for localized and non-localized pages.

Currently, for *.ISO_8859-1 locales the device in both
cases is "latin1", and for KOI8-R locale it is "koi8-r"
for localized and "ascii" for non-localized pages.

Discussed with:	des
2001-02-13 16:15:04 +00:00
Matthew Dillon
eabf71899f Finish draining any input prior to closing the pipe, to prevent unsightly
'Broken pipe' messages from gzcat.
2001-02-05 01:24:40 +00:00
Ruslan Ermilov
d0353b836e mdoc(7) police: split punctuation characters + misc fixes. 2001-02-01 16:38:02 +00:00
Dag-Erling Smørgrav
7105f09c38 Revert part of previous commit and initialize locale_nroff to " -Tascii"
so man(1) works properly when no locale is set.

Spotted by:	bde
2001-01-28 20:17:14 +00:00
Dag-Erling Smørgrav
0448bdfcb8 Make an effort to actually pass the correct device to groff. 2001-01-27 19:17:40 +00:00
Ruslan Ermilov
1c232e52cd Prepare for mdoc(7)NG. 2000-12-27 13:59:17 +00:00
Ruslan Ermilov
36fd98fad4 Teach man(1) how to look inside compressed manuals
for preprocessor directives.  Avoid use of cat(1).

PR:		bin/23585
2000-12-22 19:05:13 +00:00
Ruslan Ermilov
886539482d mdoc(7) police: removed history info from the .Os call. 2000-12-14 11:40:41 +00:00
Ruslan Ermilov
a2fd3702a3 mdoc(7) police: use canonical form of .Dd macro. 2000-12-11 15:15:20 +00:00
Ruslan Ermilov
4c5804ea54 Install the stock (as supplied by groff(1) distribution) tmac.an
and tmac.andoc files.  The man(1), catman(1) and bsd.man.mk have
been modified to call groff(1) with -mandoc argument.
2000-12-06 17:02:33 +00:00
Ruslan Ermilov
b132656a0f Fixed manpage building. 2000-12-05 08:10:27 +00:00
Ruslan Ermilov
3450dff7f1 mdoc(7) police: use the new features of the Nm macro. 2000-11-20 12:18:54 +00:00
Andrey A. Chernov
68560dc2ad Spelling fixes
Submitted by:	"Peter Avalos" <pavalos@theshell.com>
2000-09-17 11:06:38 +00:00
Mark Murray
a522c2bad9 Perl's version number needs upating. 2000-07-02 16:10:45 +00:00
Andrey A. Chernov
f8ca1b7655 Fix manpath for new perl 2000-07-02 03:17:31 +00:00
Alexander Langer
12646d6c2c /etc/weekly -> /etc/periodic/weekly/320.whatis
PR:		19272
Submitted by:	Uwe Pierau <uwe.pierau@tu-clausthal.de>
2000-06-20 10:41:01 +00:00