Commit Graph

2890 Commits

Author SHA1 Message Date
Matthew Dillon
e92324a21e Implement kvm_getswapinfo() libkvm function. Will be used by
pstat, top, and systat.
1999-01-22 10:36:04 +00:00
Brian Somers
abac9a9ee3 Typo police. 1999-01-22 01:43:25 +00:00
John Polstra
a397d09e64 Revert my last change, "Rename some globals to reduce namespace
pollution."  Unfortunately, some of these globals are used by ftpd,
and I broke make world.  Pointy hat, please.
1999-01-21 22:02:31 +00:00
Garrett Wollman
6efae010ca Merge from vendor branch: timezone file structure changes and doco.
Fix localtime.c to deal with new magic number field.

Obtained from: ftp://elsie.nci.nih.gov/pub/tzcode1999a.tar.gz
1999-01-21 17:22:59 +00:00
Brandon Gillespie
6bf154696d Moved from the old secure/lib/libcrypt area, because of the rewrite to how
the Makefile handles des support by just including the single .c file.

Reviewed by:	Mark Murray
1999-01-21 13:51:04 +00:00
Brandon Gillespie
da5c7089a3 Rewrite of crypt library to be more modular, and addition of the
Secure Hashing Algorithm - 1 (SHA-1), along with the further
refinement of what $x$salt$hash means.  With this new crypt the
following are all acceptable:

    $1$
    $MD5$
    $SHA1$

Note: $2$ is used by OpenBSD's Blowfish, which I considered adding
as $BF$, but there is no actual need for it with SHA-1.  However,
somebody wishing to add OpenBSD password support could easilly add
it in now.

There is also a malloc_crypt() available in the library now, which
behaves exactly the same as crypt(), but it uses a malloced buffer
instead of a static buffer.  However, this is not standard so will
likely not be used much (at all).

Also, for those interested I did a brief speed test Pentium 166/MMX,
which shows the DES crypt to do approximately 2640 crypts a CPU second,
MD5 to do about 62 crypts a CPU second and SHA1 to do about 18 crypts
a CPU second.

Reviewed by:	Mark Murray
1999-01-21 13:50:09 +00:00
John Polstra
4479239b60 Rename some globals to reduce namespace pollution. 1999-01-20 22:50:37 +00:00
John Polstra
9294327d4a Make it possible to use PAM in statically-linked applications. 1999-01-20 21:55:30 +00:00
John Polstra
83068b622c Install man page link for strtok_r. 1999-01-19 23:45:48 +00:00
John Polstra
32150a6766 Spell check and minor grammar fix. 1999-01-19 23:42:44 +00:00
Don Lewis
3146a70d74 Document the errno return if the restrictions on the fcntl(F_SETOWN, ...)
argument implemented by the security patch in PR kern/7899 are violated.
PR:		kern/7899
1999-01-19 09:33:14 +00:00
Hidetoshi Shimokawa
49837d6cd0 Initialize __progname by argv[0] before striping leading path,
otherwise we always get empty name.
1999-01-19 06:58:31 +00:00
Joseph Koshy
8425e985b7 revoke(2) is supported on regular files under current. Change wording
in manual page that indicated otherwise.

PR:		docs/9517
Submitted by:	David Malone <dwmalone@maths.tcd.ie>
1999-01-18 02:37:03 +00:00
Dag-Erling Smørgrav
a135bdb9a0 Use the correct type for uid and gid in struct passwd. Document it. 1999-01-18 02:14:20 +00:00
John Birrell
0883c4c31b Increase the size of private thread flags so that the test for a
thread trying to call pthread_exit() from a cleanup handler actually
works.

Submitted by: David Leonard <david.leonard@csee.uq.edu.au> OpenBSD
1999-01-15 00:21:03 +00:00
Poul-Henning Kamp
5a5a489faf Bring us one step closer to sysinstall'ing on a DOC2k device. 1999-01-14 21:48:13 +00:00
John Polstra
9a7030e9fc Fix an NFS-related installation problem.
Submitted by:	asami
1999-01-11 16:08:02 +00:00
Mike Smith
a79658408c POSIX introduced optreset to deal with multiple invocations
of getopt (as in, multiple input lines :). This is documented in the
man page and is used in the code, but unistd.h and stand.h do not
declare it. Incidentally, it prevents me fixing a bug in loader's
code... :-)

PR:		misc/9373
Submitted by:	"Daniel C. Sobral" <dcs@newsguy.com>
1999-01-11 06:01:29 +00:00
Warner Losh
d0c4729014 Fix a minor security problem in libc_r.
Submitted by: Alexandre Snarskii <snar@paranoia.ru>
Approved by: John Birrell
Reminded me that I'd been sitting on this too long: snar@paranoia.ru
1999-01-11 00:02:37 +00:00
Peter Wemm
41d54c8049 Merge changes from vendor branch (1.1.1 -> 1.1.3) into mainline. 1999-01-10 09:53:51 +00:00
Peter Wemm
52454dcd09 This commit was generated by cvs2svn to compensate for changes in r42468,
which included commits to RCS files with non-trunk default branches.
1999-01-10 09:47:00 +00:00
Peter Wemm
628b9c3475 Import zlib 1.1.3 onto the vendor branch.
Obtained from: ftp.cdrom.com:/pub/infozip/zlib
1999-01-10 09:47:00 +00:00
Brian Somers
a2743da670 If we can't open alias.log, don't try to write to the
resulting NULL FILE *.
PR:	9403
1999-01-10 02:05:13 +00:00
John Polstra
f92bdbd010 Switch to using ".So" as the extension for PIC object files rather
than ".so".  The old extension conflicted with well-established
naming conventions for dynamically loadable modules.

The "clean" targets continue to remove ".so" files too, to deal with
old systems.
1999-01-09 21:51:00 +00:00
Jordan K. Hubbard
a864ef37a3 Changes for alpha support.
Submitted by:	dfr
1999-01-08 00:32:19 +00:00
Steve Price
0997d762cf Strip the leading path from __progname.
Ok'd by:	jdp
1999-01-07 20:18:18 +00:00
Dag-Erling Smørgrav
eec1dbe6ce Make the implementation and documentation agree. Specifically:
- document that sysctl() and sysctlbyname() return 0 on success

 - if the provided buffer is too small, set errno to ENOMEM and return -1
   instead of returning ENOMEM.
1999-01-06 18:11:53 +00:00
David E. O'Brien
1108d69cee add MLINKs for all the functions covered by the manpage 1999-01-06 05:00:17 +00:00
David E. O'Brien
5db9ad2cb0 spell check 1999-01-06 04:59:53 +00:00
Dmitrij Tejblum
de16000123 Make ctime_r, asctime_r, gmtime_r, and localtime_r available in libc. 1999-01-04 20:45:20 +00:00
Garrett Wollman
600c04ff93 Add STANDARDS section.
s/bytes/characters/g to be consistent with Standard C terminology.
Update date and add RCS Id.
1999-01-03 01:07:41 +00:00
Garrett Wollman
5b9e6e493e Fix grammar in the description of timegm() by totally rewriting it. Remove
a potentally inflammatory comment from BUGS, and add a more useful comment
about the lack of reentrancy in the timezone-setting interface.
1999-01-03 00:35:31 +00:00
Bruce Evans
2e4513990b Ignore the fs_spec entry for "/" in /etc/fstab if the device which
is actually mounted on "/" can be determined using statfs() and is
in /dev.  This fixes fsck operating on the wrong device when the
fs_spec entry is only an alias.  The aliased case became more
dangerous when the ROOTSLICE_HUNT hack was committed in mount(8).
ROOTSLICE_HUNT may be unnecessary now.
1999-01-01 14:14:44 +00:00
Bruce Evans
d82478ba84 Updated type of ss_size in struct sigaltstack.
Removed bogus prerequisite <sys/types.h>.
1999-01-01 12:22:11 +00:00
Jordan K. Hubbard
649ff492d7 Eliminate all dependence on boot1 and boot2. This is passed in by
Set_Boot_Blocks() anyway and should thus have never been a part of
libdisk, it should have been provided by the client of libdisk since
passing the information in is already part of the API.
1998-12-31 02:35:43 +00:00
Jordan K. Hubbard
e188aa994d Transition libdisk to use /boot since what it's looking for (boot1 and boot2)
are now there.
1998-12-30 13:29:11 +00:00
Bruce Evans
40b843918b Backed out previous commit. It depends on a.out utilities and libraries
somehow being available even on pure elf systems.
1998-12-30 12:06:08 +00:00
Bruce Evans
621be74548 Fixed bootstrapping of /usr/mdec/boot[12]. 1998-12-30 11:26:24 +00:00
Bruce Evans
3581d64b8d Fixed type mismatches in args to __syscall(). One for mmap() broke on
i386's with 64-bit longs -- the padding between mmap()'s 5th and 6th
is an int, not a long.  The other mismatches were benign.
1998-12-27 15:47:15 +00:00
Bruce Evans
d07b0a6163 Avoid using ld -O (as in bsd.lib.mk).
Fixed `make cleandepend'.  The default is null because SRCS is null.
1998-12-27 15:24:21 +00:00
Bruce Evans
7a5cfeb446 Fixed CLEANFILES. 1998-12-27 15:04:33 +00:00
Steve Price
a124f32704 Strip the leading path from __progname as is done in the a.out case. Also
bring in stddef.h so we can use NULL instead of 0 for pointer comparisons.

Hinted at by:	Bruce Evans
Reviewed by:	John Polstra
1998-12-24 18:19:47 +00:00
Doug Rabson
6f93bf5f4b Disable building with alpha software completion options until we upgrade
compilers.
1998-12-24 13:17:58 +00:00
Doug Rabson
6b387220be [This is a null commit to supply the correct log entry]
Rename 'cerror' to '.cerror' so that programs which have a function or
global variable named 'cerror' don't completely break the syscall error
reporting mechanism.
1998-12-23 11:55:42 +00:00
Doug Rabson
b7f762137a Implement fpsetmask() and other fp*() functions. Programs should use
#include <ieeefp.h>

to access these functions instead of the i386 specific

	#include <machine/floatingpoint.h>

Submitted by: Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>
1998-12-23 11:50:52 +00:00
Dag-Erling Smørgrav
ce71b7364c Implement and document file list retrieval. 1998-12-21 19:41:50 +00:00
Wes Peters
a8e94191e8 Added documenation for the existing implementation of asctime_r,
ctime_r, gmtime_r, and localtime_r.
1998-12-20 06:22:06 +00:00
Poul-Henning Kamp
3d7b283155 Add "fla" to Disk_Names() 1998-12-19 18:48:33 +00:00
Julian Elischer
6626c6045c Reviewed by: Luoqi Chen, Jordan Hubbard
Submitted by:	 "Richard Seaman, Jr." <lists@tar.com>
Obtained from:	linux :-)

Code to allow Linux Threads to run under FreeBSD.

By default not enabled
This code is dependent on the conditional
COMPAT_LINUX_THREADS (suggested by Garret)
This is not yet a 'real' option but will be within some number of hours.
1998-12-19 02:55:34 +00:00
Dag-Erling Smørgrav
d941fd2df9 Don't specify a language to compile_et.
Rename fetchConnect to _fetch_connect since it's internal.
1998-12-18 14:32:48 +00:00
Doug Rabson
12e25f330b Enable building libio on the alpha. 1998-12-17 23:02:11 +00:00
Eivind Eklund
70efdda93d Note that dying on NULL is an implementation detail. 1998-12-17 17:13:47 +00:00
Eivind Eklund
630dc76f4e Restore old semantics (broken in rev 1.47's buffer overflow fix). 1998-12-17 16:31:02 +00:00
Bruce Evans
bc701368b4 <sys/types.h> isn't a prerequisite for <kvm.h>. 1998-12-16 19:12:14 +00:00
Bruce Evans
424a876474 The previous commit was bogus. <stdlib.h> was never a prerequisite
for <kvm.h> or kvm_getloadavg(), and <sys/types.h> was only a
prerequisite for <kvm.h> when <kvm.h> was broken.
1998-12-16 19:04:54 +00:00
Bruce Evans
b245b90a64 Declare size_t and ssize_t if they are not already declared, so that
<kvm.h> is self-sufficient again.

Moved typedefs and forward struct declarations out of __BEGIN_DECLS/
__END_DECLS.

Don't comment out the prototype for kvm_uread().  This was a 4 year
old kludge for previous breakage of self-sufficiency.  The prototypwe
was broken instead.

Fixed bitrot (const poisoning) in the type of kvm_uread().

Fixed order of the declaration of kvm_uread().
1998-12-16 18:59:47 +00:00
Bruce Evans
60160c5e50 Adjust for kern.ps_strings and PS_STRINGS not being a pointer. This
fixes a type mismatch in the call to kvm_uread().  The bug has gone
undetected for almost 3 years because kvm_uproc()'s protoype has been
disabled for almost 4 years.

Trust sysctlbyname() to work properly if it succeeds.

Fixed style bugs in revs. 1.19 and 1.22.
1998-12-16 18:31:51 +00:00
Bruce Evans
8495e302f6 Declare setproctitle() as printf0-like. 1998-12-16 17:52:15 +00:00
Bruce Evans
d529713846 Adjust for kern.ps_strings and PS_STRINGS not being a pointer. This is
an unimprovement here.  I thought it would be an improvement, as in libkvm,
but here we can access the strings directly.

Use sysctlbyname() instead of sysctl() and trust it to give a nonzero
address if it succeeds.
1998-12-16 17:34:05 +00:00
Dag-Erling Smørgrav
5aea254ff0 Implement and document fetchStatFTP.
Update description of struct url_stat in the man page.
Clean up error handling in ftp.c.
1998-12-16 15:29:03 +00:00
Dag-Erling Smørgrav
3b7a67401b Remove unused header files. Fix a few shadowing bugs. Improve error reporting. 1998-12-16 11:44:31 +00:00
Dag-Erling Smørgrav
0fba3a0005 Add verbose flag, and support functions.
Brucify the Makefile.
Differentiate atime and mtime in fetch*Stat().
Fix a few pointer bugs.
Tweak some error messages.
Don't #include sys/param.h and stdio.h in fetch.h.
Document that sys/param.h and stdio.h must be #included before fetch.h.
1998-12-16 10:24:55 +00:00
Peter Wemm
3cc1b1bf9c Old stuff laying around: Don't use a function called getstr(), that has
nasty consequences when the system curses is ncurses as this conflicts
with a ncurses funciton and causes recursion.
1998-12-16 06:04:29 +00:00
Warner Losh
81e4e6a2d6 Add reminder to return memory allocated by this call.
Obtained from: OpenBSD
1998-12-16 04:39:23 +00:00
Dag-Erling Smørgrav
2878b30827 Fix the "Unknown HTTP error" message.
Make compile_et generate prototypes.
1998-12-15 12:24:26 +00:00
Wes Peters
b1e12513fa Reviewed by: JKH
Submitted by:	Wes Peters

Added strtok_r (reentrant) function and man page.
1998-12-14 05:11:26 +00:00
Matthew Dillon
374fad8b17 Reviewed by: freebsd-current
Add bounds checking to netbios NS packet resolving code.  This should
    prevent natd from crashing on badly formed netbios packets (as might be
    heard when the machine is sitting on a cable modem or certain DSL
    networks), and also closes potential security holes that might have
    exploited the lack of bounds checking in the previous version of the
    code.
1998-12-14 02:25:32 +00:00
Steve Price
4c1a815f94 Commit out caveat about hardlinks to directories since they are
no longer possible.

PR:		8337
1998-12-13 23:35:01 +00:00
Matthew Dillon
9a0d08d599 PR: docs/9050
Add reference to required include file #include <stdlib.h> for
    getloadavg(3) function call.
1998-12-13 02:34:56 +00:00
Matthew Dillon
36058b68da Add required #include references to manual page 1998-12-13 02:32:59 +00:00
Matthew Dillon
0e31b6b580 oops. Fix indentation of the 'for' loop I just added. 1998-12-13 01:39:32 +00:00
Matthew Dillon
f16d2ab2d3 Handle the race condition where vipw may lock a password file which has
just been replaced.  After our lock succeeds we check if st_nlink is 0
    and if it is we close the descriptor and retry our open/lock sequence.
1998-12-13 01:36:45 +00:00
Doug Rabson
25b30a3ebb Add a simple library for accessing i/o ports and memory on the alpha.
This is only intended for use by the X server.
1998-12-12 18:05:06 +00:00
John Birrell
b6776b7488 CALL -> PCALL for sigaltstack for libc_r. 1998-12-10 20:36:24 +00:00
John Birrell
7897c2a418 Don't hide mknod, it doesn't need a wrapper and never has had one. 1998-12-10 20:27:52 +00:00
Steve Price
7b505024ed Add missing int to prototypes of mvaddstr and mvaddnstr.
PR:		8110
Submitted by:	Stephen J. Roznowski <sjr@home.net>
1998-12-10 02:35:24 +00:00
Bruce Evans
0fe8d9f3dd Removed unused include of <kvm.h>. It was alarming for libc to apparently
depend on libkvm.

Removed obsolete `#define _NEW_VFSCONF'.
1998-12-07 11:26:28 +00:00
Matthew Dillon
4bc34f94d6 Obtained from: "Jan B. Koum " <jkb@best.com>
Add a reference to pam(8) in the login(1) and login.access(5) manual
    pages.
1998-12-01 17:05:08 +00:00
Nate Williams
738006fa2c - Fix modulo bug that was masked by the correct code in libgcc.a which is
used in almost all programs unless a shared library specifically
  ignores libgcc.a.
1998-11-30 20:25:37 +00:00
Doug Rabson
3e0f4b28d6 On the alpha, sizeof(char*) != sizeof(int) which was assumed in
term_init().  This is the cause of /usr/bin/ftp faulting on the alpha.

Submitted by: Hidetoshi Shimokawa <simokawa@sat.t.u-tokyo.ac.jp>
1998-11-30 10:12:03 +00:00
Bruce Evans
d14e80a4d3 Fixed SUBDIR order. 1998-11-29 02:47:52 +00:00
Eivind Eklund
07bab7c6a4 Add support for pthread_mutexattr_settype(). As a side effect of
testing this, fix MUTEX_TYPE_COUNTING_FAST.  Recursive locks now work.
1998-11-28 23:52:58 +00:00
Joseph Koshy
2d08e623c1 Enable aio_read(2). 1998-11-24 08:15:08 +00:00
Joseph Koshy
5f67a9c8a1 Don't mention exit(3) in explanation; _exit(2) is a better choice. 1998-11-23 03:23:14 +00:00
John Polstra
c273f24b99 Install PAM modules into ${SHLIBDIR}, not ${LIBDIR}.
Noticed by:	bde
1998-11-22 19:33:27 +00:00
John Polstra
1fc5cffd7b Explicitly depend on libcrypt and libmd for a.out too. Fixes a PAM
related problem on a.out systems.
1998-11-22 19:26:39 +00:00
Jordan K. Hubbard
efbcb4ae03 Better document the file format, add in support for nested {}'s in multi-line
property values.
1998-11-22 13:20:09 +00:00
John Polstra
60da54eec3 Make sure libskey is built before libpam. It is required for one of
the PAM modules.

Fix the comments describing the PAM dependencies to be consistent
with other related comments.

Restructure the library-building loop slightly, per suggestion from
bde.
1998-11-20 02:03:45 +00:00
John Polstra
b2052ac8cf Fix a couple of typos. 1998-11-19 18:07:28 +00:00
Joseph Koshy
cbffe59841 Man page for aio_read(2).
Submitted by:	Terry Lambert <terry@whistle.com> on the -doc lists.
1998-11-19 04:07:55 +00:00
John Polstra
4820dc85d6 Enable the building of libpam. Move libradius and libtacplus up in
the list, because they are prerequisites for libpam.
1998-11-18 02:02:27 +00:00
John Polstra
9a10bb17e1 Build structure for contribified Linux-PAM, plus some home-grown
modules for FreeBSD's standard authentication methods.  Although
the Linux-PAM modules are present in the contrib tree, we don't
use any of them.

The main library "libpam" is composed of sources taken from three
places.  First are the standard Linux-PAM libpam sources from the
contrib tree.  Second are the Linux-PAM "libpam_misc" sources, also
from the contrib tree.  In Linux these form a separate library.
But as Mike Smith pointed out to me, that seems pointless, so I
have combined them into the libpam library.  Third are some additional
sources from the "src/lib/libpam" tree with some common functions
that make it easier to write modules.  Those I wrote myself.

This work has been donated to FreeBSD by Juniper Networks, Inc.
1998-11-18 01:44:37 +00:00
Jean-Marc Zucconi
9ba91dd44b Add an emply MAIN__() function. This avoid an unresolved reference error
during link phase when using fortran subroutines with non-fortran 'main()'.
1998-11-16 23:51:14 +00:00
Jacques Vidrine
90d1ac3b67 Update to reflect reality.
PR:		kern/8629
1998-11-16 03:49:39 +00:00
Kenneth D. Merry
b735c71405 Use snprintf to make sure we don't overflow a buffer. 1998-11-15 23:17:39 +00:00
Kenneth D. Merry
2327ec3a76 Fix an error message. (it was using an uninitialized variable)
Reported by:	dan@math.berkeley.edu (Dan Strick)
1998-11-15 23:12:42 +00:00
John Birrell
4896148e72 Interrupt threads waiting in select etc.
Submitted by: Alec Wolman <wolman@cs.washington.edu>
1998-11-15 10:01:34 +00:00
John Birrell
e7b7b3f3de Close a window between unlocking a spinlock and changing the thread state. 1998-11-15 09:58:26 +00:00
John Polstra
468662e864 Enable libradius and libtacplus. 1998-11-13 01:01:37 +00:00
John Polstra
2c195535b5 Initial import of TACACS+ client library donated by Juniper Networks, Inc. 1998-11-13 00:54:26 +00:00
John Polstra
082bfe6741 Initial import of RADIUS client library donated by Juniper Networks, Inc. 1998-11-13 00:53:01 +00:00
John Polstra
d3b89ae3a4 Build libmd shared for a.out too. Required for some PAM modules. 1998-11-12 04:08:10 +00:00
Dima Ruban
ac1b417f7c Cleanup. Make it compile on alpha. 1998-11-10 06:35:24 +00:00
Joseph Koshy
bee0365a4a Fix a .Nm -> .Fn fix that was missed in the previous commit.
Pointed-out-by:	Bruce Evans
1998-11-09 06:52:46 +00:00
Dag-Erling Smørgrav
08f9fcbfa8 fetch_err.h is a generated file, so don't look for it in ${.CURDIR}. 1998-11-07 08:59:38 +00:00
Dag-Erling Smørgrav
d8acd8dc5c Second of a series of cleanups to libfetch.
This commit introduces the following features:

 a) the fetchStat*() functions, which return meta-information for a
    document, such as size, modification time, etc.

 b) the use of the com_err(3) facilities to report errors.

It also fixes a bunch of style bugs and a few logic bugs and somewhat
improves the man page.

Changed files, in alphabetical order:

 Makefile:
  Don't generate macros in {ftp,http}err.c.

  Generate category fields for the error message lists.

  Compile the error table.

  Install fetch_err.h along with fetch.h.

 common.c:
  Remove the _netdb_errstring() macro, and add FETCH_ERR_NETDB to the
  error code in the _netdb_seterr() macro.

  Add categories to the _netdb_errlist table.

  Report errors through the Common Error library.

 common.h:
  Add the DEBUG macros.

  Add prototype for fetchConnect().

  Remove the prototype for _fetch_errstring(), which is local to common.c

  Add a categroy field to struct fetcherr, and define constants for
  error categories.

  Define macros for _{url,netdb,ftp,http}_seterr().

 errors.et: (new file)
  List error categories.

 fetch.3:
  Document the fetchStat*() functions.

  Move the "unimplemented functionality" comments from NOTES to BUGS.

  Document that applications which use libfetch must also use
  libcom_err, and list existing error codes.

  Undocument fetchLastErr{Code,String}.

  Remove the (empty) DIAGNOSTICS section.

  Mention Eugene Skepner in the AUTHORS section.

 fetch.c:
  Move the DEBUG macros to common.c

  Add fetchStat() and fetchStatURL().

  Generate error messages for URL parser errors, and fix a minor bug
  in the parser.

  Use 'struct url' instead of 'url_t'.

  Remove fetchLastErr{Code,String}.

 fetch.h:
  Use 'struct url' instead of 'url_t', and remove the typedef.

  Define struct url_stat (used by fetchStat()).

  Add prototypes for fetchStat*().

  Remove the declarations for fetchLastErr{Code,String}.

  Include fetch_err.h.

 fetch_err.et: (new file)
  Error table for libfetch.

 file.c:
  Add fetchStatFile().

  Use 'struct url' instead of 'url_t'.

 ftp.c:
  Add fetchStatFTP().

  Use 'struct url' instead of 'url_t'.

  Don't use fetchLastErrCode.

 ftp.errors:
  Add categories to all error messages.

 http.c:
  Add fetchStatHTTP().

  Use 'struct url' instead of 'url_t'.

  Don't use fetchLastErr{Code,Text}.

 http.errors:
  Add categories to all error messages.

Prompted by: jkh and Eugene Skepner
Numerous sugestions from: Garett Wollman and Eugene Skepner
1998-11-06 22:14:08 +00:00
Dmitrij Tejblum
171a7528a8 Don't call pthread_mutex_lock with _SPINLOCK held.
Made pthread_cond_wait() more similar to pthread_cond_timedwait().

PR:		8375
1998-11-06 21:04:02 +00:00
David Greenman
adcac26551 Added info about non-blocking support. 1998-11-06 19:35:58 +00:00
Joseph Koshy
41a3e3b022 Update manual page to reflect changes in rev 1.12 of
"src/lib/libc/gen/popen.c" --- popen() in the child
now closes any copies of popen()'ed descriptors in the parent.
1998-11-06 07:09:22 +00:00
Dag-Erling Smørgrav
842a95cc23 First of a series of cleanups to libfetch. Changed files, in
alphabetical order:

 Makefile:
  Add common.c to SRCS.

  Make debugging easier by making 'CFLAGS += -DNDEBUG' conditional on DEBUG

  Don't declare struct {ftp,http}err in {ftp,http}err.c; use struct fetcherr
  instead.

 README:
  Remove the todo list, which is out of date anyway.

 common.c: (new file)
  Gather utility functions in this file.

  Merge the error reporting functions intp _fetch_errstring(),
  _fetch_seterr() and _fetch_syserr().

  Set fetchLastErrCode and fetchLastErrText appropriately when fetchConnect
  fails.

 common.h: (new file)
  Gather internal prototypes and structures in this files.

 fetch.3:
  Undocument fetchFreeURL().

  Document a few more known bugs.

  Document fetchLastErrCode and fetchLastErrText.

 fetch.c:
  Add descriptive comments to all functions that lacked them.

  Move fetchConnect() to common.c.

  Obviate the need for fetchFreeURL(), and remove it.

 fetch.h:
  Modify struct url_t so the document part is at the end.

 ftp.c:
  Remove code that is duplicated elsewhere.

 http.c:
  Remove code that is duplicated elsewhere.

Prompted by: jkh
1998-11-05 19:48:17 +00:00
David Greenman
eff8678df3 Added a manual page for sendfile(2). 1998-11-05 14:43:29 +00:00
Peter Wemm
49a35712aa Remove stray .endif from previous commit (I hope this is right) 1998-11-04 12:49:31 +00:00
Robert Nordier
8d2c3c32bd Include mergesort() in description of errors. 1998-11-04 09:27:03 +00:00
Robert Nordier
df5a1b840e Drop unused labels. 1998-11-04 09:22:07 +00:00
Robert Nordier
7fb5f2bae4 Handle a zero elements argument.
PR:		8566
Submitted by:	Archie Cobbs <archie@whistle.com>
1998-11-04 08:55:34 +00:00
Mike Smith
400a056059 Don't need this one anymore. 1998-11-04 07:40:05 +00:00
Mike Smith
b8ffd2a51c Well I never. Seems like _setjmp()/_longjmp() are just what the doctor
ordered.  This brings the Alpha back to parity, and should bring us
BootForth on both platforms.

Submitted by:	John Birrell (jb@freebsd.org)
1998-11-04 07:39:53 +00:00
Mike Smith
1add1a81da Improve the quality of isspace() to match expectations. This should make
the Ficl interpreter read its softwords array OK.
1998-11-04 07:04:00 +00:00
Mike Smith
797ed6379a Don't try to build (nonexistent) Alpha setjmp until we have one. 1998-11-04 00:32:08 +00:00
Mike Smith
25c3957dfd Move setjmp/longjmp implementations here from libc; no signal handling
in libstand, only for i386 until I locate an alpha setjmp/longjmp.

Minimal 64-bit gcc integer support for i386.  This is kinda nasty, and
should be revisited once we decide whether the bootblocks need
quad arithmetic.
1998-11-04 00:23:18 +00:00
Peter Wemm
86854f0360 A feeble attempt at kld compatability. The mount_* programs assume that
they cannot mount a filesystem that they cannot see in getvfsbyname().
Part 1 of this is a hack, make vfsisloadable() always return true - the
ultimate decider of whether it's loadable or not is kldload() or mount().
Part 2 of this is to have vfsload() call kldload(2) and return success if
it works.  This means that we will use a viable kld module in preference
to an LKM!
Ultimately, the thing to do is remove the hacks to do a vfsload in all the
mount_* commands and let the kernel do it by itself in mount(2).
1998-11-03 15:02:29 +00:00
Mike Smith
17bcf9c00a Add:
assert()
	setjmp()/longjmp()
	vsprintf()
1998-11-01 09:31:08 +00:00
Mike Smith
2baf3bb5a0 Add a new field to the devsw structure; dv_print, to print all valid units
etc. associated with the device entry.
Consider EOF an 'error' for fgetstr if we haven't read anything yet.

You *MUST* recompile and reinstall libstand before rebuilding the bootstrap.
1998-10-31 02:48:29 +00:00
Jean-Marc Zucconi
65f14a74bd Typo. 1998-10-30 23:50:48 +00:00
Mike Smith
ebed2088fe Prevent buffer overflow in getpwnam()
PR:		bin/8176
Submitted by:	Archie Cobbs <archie@whistle.com>
1998-10-29 23:16:24 +00:00
Robert Nordier
30af884929 Clarify processing of the string argument by psignal(). 1998-10-29 22:17:46 +00:00
Robert Nordier
4a3bc52a9c (Whoops: make it better instead of worse this time). Clarify
processing of the string argument by perror().
1998-10-29 22:08:59 +00:00
Robert Nordier
94cc971811 Clarify processing of the string argument by perror(). 1998-10-29 21:59:38 +00:00
Robert Nordier
e524a581b1 Check for a zero-length as well as a NULL string argument. 1998-10-29 14:40:20 +00:00
Robert Nordier
d223b5868e The man page implies that the string argument to psignal() may be
NULL, in line with perror(3).  However, the code presently checks only
for a zero-length string.  Check for both.
1998-10-29 11:39:39 +00:00
John Polstra
76a2643efb Handle ELF symbols better. This fixes "vmstat -i" for the case
where "/var/db/kvm_kernel.db" doesn't exist.
1998-10-28 06:37:49 +00:00
Mike Smith
f5ce88ded8 Fixes for handling 'wfd' (and any other disk with a non-2-character name)
Submitted by:	Some from Satoh Junichi (junichi@astec.co.jp)
1998-10-27 21:14:03 +00:00
Bill Fenner
551677729e ('): and ('); -> (:') and (;') 1998-10-26 19:36:38 +00:00
David E. O'Brien
af3212bd1d Bogon I somehow inserted between compiling and commiting... 1998-10-26 13:33:39 +00:00
David E. O'Brien
642201c23e Quiet many compiler warnings. Still fails -Wconversion in one case.
Required because:	-Werror is in Makefile
1998-10-26 11:54:36 +00:00
David E. O'Brien
2100aed918 Slight style police.
Add some content from objformat(1).
1998-10-25 13:29:57 +00:00
Andrey A. Chernov
a4beee718b fix unsigned overflow
PR: 8437
1998-10-25 05:06:42 +00:00
Dima Ruban
964b832929 Fix types. 1998-10-21 09:48:35 +00:00
Peter Wemm
ed1bbda829 Revert last change. mkstemp() wasn't to blame, it's nvi. However,
mkstemp() is not behaving as documented.
1998-10-20 15:33:21 +00:00
Peter Wemm
eb356f9af0 Stop mk*temp() from being pathologically stupid in the face of a umask(0);
There are other ways to fix this than wrapping _gettemp(), but this was
the most convenient.

Discovered by: bde
1998-10-20 12:36:36 +00:00
Dag-Erling Smørgrav
4da8edd59e Since vfork() was changed to fork(), we have to pass errno back from the
child to the parent somehow.

PR:		8353
Submitted by:	Andrew J. Korty <ajk@purdue.edu>
1998-10-20 11:34:11 +00:00
Doug Rabson
5a911c6263 Implement a hook to allow us to reclaim the memory used by the first stage
of the bootstrap (the bit which loads /boot/loader).
1998-10-19 09:08:40 +00:00
David E. O'Brien
d58fb9293a To clarify last commit, msmith says:
The reason the Alpha has less room than the i386 is because the bootstrap
is given a 256K mapping by the firmware; to add more requires extra work.
1998-10-17 22:20:06 +00:00
Mike Smith
95f5cf3349 Reduce the sbrk() increment from 64K to 4K. There's not much room on the
Alpha, and wasting potentially 64K-4 bytes of RAM just isn't an option.
1998-10-16 19:23:37 +00:00
Dag-Erling Smørgrav
af806462dc Fix style issues in execl(), and make execle() vfork()-safe.
Reviewed by:	bde
Approved by:	jkh
1998-10-15 17:14:15 +00:00
Mike Smith
26c51fb453 Conform to POSIX and close any copies of popen() descriptors inherited by a
popen()ed child.

PR:		misc/7810
Submitted by:	Wayne Scott <wscott@ichips.intel.com>
1998-10-15 01:47:40 +00:00
Kenneth D. Merry
17ee2b2055 Fix a couple of potential buffer overrun cases.
Submitted by:	imp
1998-10-14 23:28:26 +00:00
Dag-Erling Smørgrav
7ea577e550 Correct braino in previous commit. I get the pointy hat again. 1998-10-14 20:23:40 +00:00
Dag-Erling Smørgrav
dea625c872 Make execl() vfork()-safe. This should fix potential bugs in rcp,
telnet and tip, and probably a few other apps.

Reviewed by:	bde
Approved by:	jkh
1998-10-14 18:53:36 +00:00
Jordan K. Hubbard
eed80d041b correct prototype. 1998-10-14 11:04:36 +00:00
Kenneth D. Merry
01a4eb824c Add man pages for many of the functions in the CAM library. This covers
most of the open/close routines, and the buffer/cdb parsing routines
derived from the old scsi(3) library.

The cam_cdbparse(3) man page borrows from the old scsi(3) man page, so the
copyright and history section reflect that.

The many scsi_* functions and other functions that are pulled in from the
kernel aren't documented yet, but will be eventually.
1998-10-14 06:20:36 +00:00
Bruce Evans
47acf5563c Updated library order and comments about it. This fixes libm not
being built before libf2c and libmd not being built before libatm.
1998-10-13 16:48:43 +00:00
Dag-Erling Smørgrav
1fd98d7d88 Calls one or more of malloc(), warn(), err(), syslog(), execlp() or
execvp() in the child branch of a vfork(). Changed to use fork()
instead.

Some of these (mv, find, apply, xargs) might benefit greatly from
being rewritten to use vfork() properly.

PR:		Loosely related to bin/8252
Approved by:	jkh and bde
1998-10-13 14:52:33 +00:00
Kenneth D. Merry
621a60d46b Add a "dummy light" (actually two dummy lights) to catch people who don't
have the passthrough device configured in their kernel.

This will hopefully reduce the number of people complaining that they can't
get {camcontrol, xmcd, tosha, cdrecord, etc.} to work.

Reviewed by:	gibbs
1998-10-12 21:54:13 +00:00
Dag-Erling Smørgrav
b2d3d0f097 Avoid the "Cannot allocate memory" problem that appears on heavily
loaded systems by retrying the sysctl() with a larger buffer if it
fails with ENOMEM. For good measure, allocate 10% more memory than
sysctl() claims is necessary.

PR:		8275
Reviewed by:	David Greenman <dg@freebsd.org>
1998-10-12 20:36:33 +00:00
Kenneth D. Merry
13a5277c23 Fix a curses bug exposed by the ":numbers" display of systat -iostat.
This bug showed up when you had more than 3 devices displayed.  (thus
requiring a second line of display)

Here's a quote From the PR:

 When wrefresh() is called with a subwindow as argument, __set_subwin
 might be called with reversed arguments if wrefresh() decides to calls
 quickch().  This may cause use of negative array indexes, with a
 resulting segfault.

 Since quickch() manipulates the line structures belonging to curscr,
 it looks like all subwindows of curscr should be updated.

PR:		bin/8086
Submitted by:	Tor Egge <Tor.Egge@fast.no>
1998-10-12 16:32:32 +00:00
John Polstra
0651835dae Eliminate nested comment warning.
Submitted by:	lh@aus.org
1998-10-11 17:14:56 +00:00
Bruce Evans
a9d7016af5 Fixed removing of obsolete shared libraries:
- the directory was wrong if ${SHLIBDIR} != ${LIBDIR}.  It's still wrong
  if the installation of the obsolete library was done before /aout was
  appended to LIBDIR.
- the version would have become wrong when the default in ../Makefile.inc
  is changed from 2.0.
- the comment mostly described moving of libraries to /usr/lib/compat, but
  we don't do that.
1998-10-11 16:33:02 +00:00
Peter Wemm
0c372549f6 Avoid the need for calling functions that malloc after a vfork(). 1998-10-11 14:11:51 +00:00
Peter Wemm
b550818d8d libopie also depends on libmd. Programs using libopie shouldn't have to
know about libopie's internals in order to use it.
1998-10-11 04:45:50 +00:00
Peter Wemm
78c6a7e037 libf2c.so.* depends on libm.so. I'm not sure that this matters in this
case because I expect the f2c front-end should add the -lm automatically.
1998-10-11 04:44:12 +00:00
Peter Wemm
85a6383125 libatm uses libmd; add it to the dependency list so that programs using
libatm are not forced to know the internals of it's implementation.
1998-10-11 04:41:43 +00:00
Peter Wemm
5cc7d6a524 Deal with /usr/lib/compat/aout, and that we've been installing things
in the wrong places for a while.
Also, the the libtermlib.so -> libtermcap.so manually for elf, otherwise
the hard link follows the symlink and the result looks rather wierd.  The
*.a files are still hard linked under elf as before.
1998-10-11 04:39:56 +00:00
Peter Wemm
29b678437f Don't build elf libresolv.so*, no elf freebsd binaries have used it ever.
Also, the a.out compat version is supposed to go into /usr/lib/compat/aout.
Try and clean up the mess left behind in /usr/lib/compat.
1998-10-11 04:21:56 +00:00
Peter Wemm
94614a780f Don't install an elf libgnumalloc.so* in /usr/lib/compat.. No elf binaries
have been linked against it.  Try and clean up the leftovers.  Also, put
the a.out libs in /usr/lib/compat/aout since that's where the default
a.out ldconfig compat path points to.
1998-10-11 04:18:30 +00:00
Peter Wemm
46cc15fe3d Don't install an elf liby.so[.2] in /usr/lib/compat. We have never had
any elf binaries linked against it.  Try and clean up the mess left over..
1998-10-11 04:10:14 +00:00
Bruce Evans
0890dc6f44 vfork -> fork. The child calls execl() which calls malloc(), so
vfork() can't be used.  We could use alloca() in execl() so that
it can be called between vfork() and execve(), but a "portable"
popen() shouldn't depend on this.  Calling execle() instead of
execl() should be fairly safe, since execle() is supposed to be
callable from signal handlers and signal handlers can't call
malloc().  However, execle() is broken.
1998-10-10 19:30:45 +00:00
Eivind Eklund
b41c848d46 Remove the description of EBADF (that's an implementation detail if I
ever saw one), and move the description of NULL behaviour out to a
'NOTES' section, with an extra note that programs should not rely up
on it.

Kinda-approve-by:	bde (by not replying to the mail with the diff)
1998-10-10 13:31:32 +00:00
Dmitrij Tejblum
4b12016bab Fix some bugs in pthread scheduler:
make pthread_yield() more reliable,
  threads always (I hope) preempted at least every 0.1 sec, as intended.

PR:		bin/7744
Submitted by:	"Richard Seaman, Jr." <dick@tar.com>
1998-10-09 19:01:30 +00:00
Jordan K. Hubbard
8b1ef8d464 Now take stdio.h out of files that don't require it. 1998-10-09 11:24:20 +00:00
Jordan K. Hubbard
475ae25ac1 Update docs to match interface change. 1998-10-09 07:33:58 +00:00
Jordan K. Hubbard
50dfa596d3 o move path in libutil.h to paths.h
o make property_read() take a fd instead to avoid stdio.h mess
o update auth to new interface.
1998-10-09 07:32:38 +00:00
Jordan K. Hubbard
72671863e8 Take the path spec back out. 1998-10-09 07:28:14 +00:00
Jordan K. Hubbard
b8c11ec197 All these have to include stdio.h now. 1998-10-09 00:39:09 +00:00
Jordan K. Hubbard
146c3cf45c remove stdio.h include; I forgot Bruce's cardinal rule that header files
shouldn't include other ones (which, unfortunately, is also a hellish
rule since he broke interfaces like sysctl this way by requiring undocumented
header files to be included just in order to be able to use them now - SIGH!).
1998-10-08 23:10:41 +00:00
Jordan K. Hubbard
3b29c89296 Add some rudimentary documentation for my new functions. 1998-10-08 06:53:32 +00:00
Jordan K. Hubbard
69761016be Correct a build error that got past my build test somehow. 1998-10-08 01:56:49 +00:00
Jordan K. Hubbard
b704025f3c Add a simple mechanism for reading property lists from files (which
I'll convert sysinstall to use shortly) and a simple call which uses
this mechanism to implement an /etc/auth.conf file.  I'll let Mark Murray
handle the format and checkin of the sample auth.conf file.
Reviewed by:	markm
1998-10-07 17:32:49 +00:00
Mike Smith
745f11adb6 Add strcasecmp source file required for dosfs operation. 1998-10-07 13:50:17 +00:00
Julian Elischer
29595ffd90 Fix a memory leak
PR: 7923
Submitted by: Archie Cobbs <archie@whistle.com>

        The scandir() function returns -1 if it fails.
	In many cases when this happens, it does not free
	the memory that it allocated, resulting in a memory
	leak, or close the directory opened with opendir().
	BAD DOG, BAD!
1998-10-07 01:30:02 +00:00
Mike Smith
40fd46f77d Enable the DOS filesystem. This allows reading from various DOS filesystems
(FAT12/16/32, VFAT).

Make a private copy of strcasecmp, as the "real" one uses the system ctype
header, which introduces locale poisoning.
1998-10-06 19:23:57 +00:00
Doug Rabson
5b4c313702 Teach libdisk about alpha boot blocks. 1998-10-06 11:57:08 +00:00
Doug Rabson
e0ce825e94 64bit portability fixes.
Submitted by: Andrew Gallatin <gallatin@cs.duke.edu>
1998-10-05 18:35:04 +00:00
Mike Smith
3f9423cca2 Don't build with -g. 1998-10-04 08:10:29 +00:00
Eivind Eklund
aef1f383cf program written under FreeBSD -> programs written under FreeBSD
Noticed by:	Alex Nash <nash@mcs.net>
1998-10-03 16:17:30 +00:00
Mike Smith
31a014da28 Prune unused zalloc components as recommended by Matt Dillon. Extra debugging
code is still enabled (it's not very expensive).
1998-10-01 17:35:08 +00:00
Jordan K. Hubbard
e886e3bd22 Add libdisk back to alpha build. 1998-10-01 14:49:57 +00:00
Jordan K. Hubbard
55ff249dd5 Eliminate unaligned access on Alpha and also neaten up this code a little.
Submitted by:	dfr
1998-09-30 21:40:51 +00:00
Dmitrij Tejblum
60abf62bfa Debug when an environment variable set, no when it is unset. 1998-09-30 19:17:51 +00:00
John Birrell
cffdbf7096 Revise test code for sigwait and add test code for sigsuspend.
Submitted by: Daniel M. Eischen <eischen@vigrid.com>
1998-09-30 07:14:02 +00:00
John Birrell
058716097d Revise test code for sigwait and add test code for sigsuspend.
Submitted by: Daniel M. Eischen <eischen@vigrid.com>
1998-09-30 07:08:09 +00:00
John Birrell
f51ea46d24 Fix a comment. 1998-09-30 06:42:29 +00:00
John Birrell
d3bb66886d Cosmetic cleansing. This code requires extra work to keep the garbage
collector thread running after a fork.
1998-09-30 06:41:16 +00:00
John Birrell
dc3a8b52c0 Move the cleanup code that frees memory allocated for a dead thread from
the thread kernel into a garbage collector thread which is started when
the fisrt thread is created (other than the initial thread). This
removes the window of opportunity where a context switch will cause a
thread that has locked the malloc spinlock, to enter the thread kernel,
find there is a dead thread and try to free memory, therefore trying
to lock the malloc spinlock against itself.

The garbage collector thread acts just like any other thread, so
instead of having a spinlock to control accesses to the dead thread
list, it uses a mutex and a condition variable so that it can happily
wait to be signalled when a thread exists.
1998-09-30 06:36:56 +00:00
John Birrell
05f3e91279 Use snprintf instead of sprintf to avoid long source file paths from
launching an application into space when someone tries to debug it.

The dead thread list now has it's own link pointer, so use that when
reporting the grateful dead.
1998-09-30 06:29:54 +00:00
John Birrell
54059e9f3f Implementation of an additional state called SIGWAIT (with the previous
one renamed to SIGSUSPEND) to fix sigwait().

Submitted by: Daniel M. Eischen <eischen@vigrid.com>
1998-09-30 06:27:31 +00:00
John Birrell
92ce833722 NULL a pointer after it is freed to avoid trying to free it again. 1998-09-30 06:24:57 +00:00
John Birrell
a247f83316 - Fix the debug macros.
-  Add support of a thread being listed in the dead thread list as well
   as the thread list.
-  Add a new thread state to make sigwait work properly. (Submitted by
   Daniel M. Eischen <eischen@vigrid.com>)
-  Add global variable for the garbage collector mutex and condition
   variable.
-  Delete a couple of prototypes that are no longer required.
-  Add a prototype for the garbage collector thread.
1998-09-30 06:22:07 +00:00
John Birrell
a0aa389007 Delete the XXX comments that refer to spinlock recursion. The malloc/free/
realloc functions check for recursion within the malloc code itself. In
a thread-safe library, the single spinlock ensures that no two threads
go inside the protected code at the same time. The thread implementation
is responsible for ensuring that the spinlock does in fact protect malloc.
There was a window of opportunity in which this was not the case. I'll fix
that with a commit RSN.
1998-09-30 06:13:59 +00:00
Joseph Koshy
7669e9013b `kern.maxproc' is not changeable from sysctl(8).
Reminded by:	Bruce Evans <bde@zeta.org.au>
1998-09-29 05:16:45 +00:00