Commit Graph

4998 Commits

Author SHA1 Message Date
bde
0184c7ba03 Obtained from: 1.1.5
getcwd() has two off-by-one bugs in FreeBSD-2.0:

1. getcwd(buf, size) fails when the size is just large enough.
2. getcwd(buf + 1, 1) incorrectly succeeds when the current directory
   is "/".  buf[0] and buf[2] are clobbered.

(I modified Bruce's original patch to return the proper error code
[ERANGE] in the case of #2, but otherwise... -DG)

This program demonstrates the bug:

---
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <unistd.h>

int main(void)
{
    char buf[5];
    int errors;

    errors = 0;
    if (chdir("/tmp") != 0) {
        perror("chdir");
        abort();
    }
    if (getcwd(buf, 5) == NULL) {
        perror("oops, getcwd failed for buffer size = size required");
        ++errors;
    }
    if (chdir("/") != 0) {
        perror("chdir");
        abort();
    }
    buf[0] = 0;
    buf[2] = 1;
    if (getcwd(buf + 1, 1) != NULL) {
        fprintf(stderr,
                "oops, getcwd succeeded for buffer size = one too small\n");
        ++errors;
    }
    if (buf[0] != 0) {
        fprintf(stderr,
                "oops, getcwd scribbled on memory before start of buffer\n");
        ++errors;
    }
    if (buf[2] != 1) {
        fprintf(stderr,
                "oops, getcwd scribbled on memory after end of buffer\n");
        ++errors;
    }
    exit(errors == 0 ? 0 : 1);
}
1994-12-12 01:29:13 +00:00
bde
f9bd31e543 Obtained from: 386BSD-0.1 patchkit; also fixed in 1.1.5
Compare unsigned chars.
Return the place after where the character was found and not the start
of the string.
1994-12-12 01:23:33 +00:00
bde
85651f85da Fix execl[e]. Multiple execle's failed because of bogus caching of the
pointer returned by realloc().  All callers free the pointer if the
execve fails.  Nuke the caching.  This essentially restores buildargv()
to the 1.1.5 version.  Also fix a memory leak if realloc() fails.  Also
nuke similar but non-broken caching in execvp().  malloc() should be
efficient enough.
1994-12-12 01:15:01 +00:00
ats
d257edec12 Comment out the man page of rstat.1 from Makefile.inc. There is no rstat
command available yet.
Changed an entry in getprcent.3 from rpcinfo(8C) to rpcinfo(8).
Changed an entry in getrpcport.3 from 3R to 3.
Changed two entries in rpc.3 from 3N to 3.
1994-12-11 22:08:10 +00:00
ats
45fe4d648a Added the mpool.3 manpage to the installed manpages. It is referred from the
other manpages and there is no conflict.
1994-12-11 22:03:05 +00:00
wollman
1504867da7 In _gethostbydnsaddr(), force RES_RECURSE into _res.options. This is
incredibly obnoxious, but also makes inverse mappings work when the local
resolver is in a cache-only configuration.  (Maybe this is actually
a bug in BIND?)
1994-12-01 22:25:38 +00:00
dg
5eb3d67a1e Go back to Bruce's fix with a minor change that will allow a NULL string
pointer if len is 0. I should have looked at the revision history - I would
have found that Bruce already fixed the bug with len=0 over a month ago.
Whoever said that the bug was in 2.0 was wrong.
1994-11-25 08:58:53 +00:00
dg
fa43022815 Fixed bugs related to returning NULL if length is zero. 1994-11-25 04:11:19 +00:00
dfr
78425e620e Added sysarch system call which is used my i386_get/set_ltd.c and is needed
for Wine support.  The current snapshot of wine works fine with this.

This should go into the beta as the code which it calls in the kernel is
already there, and works fine.
1994-11-17 10:50:55 +00:00
phk
48bf3d3d0e Added routines to read the canonical UNIX configuration file. This will
later be applied to a number of programs (inetd for instance) to clean
out the bogus code doing the same thing, modulus all the bugs.

If you need to read a '#'-is-a-comment-file, please use these routines.

I realize that the shlib# should be bumped (for the non-US world:
increased by something), but will defer this until something significant
happens.
1994-11-13 20:47:44 +00:00
nate
1745c06559 Date: Wed, 26 Oct 1994 15:44:49 -0600
From: Chris Torek <torek@bsdi.com>
Here is a semi-official patch (apply to /usr/src/lib/libc/stdio/fseek.c,
rebuild libc, install).  The current code fails when the seek:

  - is optimized, and
  - is to just past the end of the block currently in the buffer, and
  - is followed by another seek with no intervening read operation, and
  - the destination of subsequent seek is within the block left in the
    buffer (seeking to the beginning of a block does not force a read,
    so the buffer still contains the previous block)

so it is indeed rather obscure.

I may have a different `final' fix, as this one `loses' the buffer
contents on a seek that goes just past the end of the current block.

[Footnote: seeks are optimized only on read-only opens of regular
files that are buffered by the file's optimal I/O size.  This is
what you get with fopen(path, "r") and no call to setvbuf().]

Obtained from: [ BSDI mailing list ]
1994-11-05 18:49:34 +00:00
rgrimes
68370522b6 >Description:
While trying to figure out why rlogind wasn't working right for root,
	I noticed that man wouldn't come back with a man page for iruserok, but
	it would for ruserok.  Checking the lib/net directory's Makefile.inc
	file shows that the link to the rcmd man page just isn't getting
	created.
>How-To-Repeat:
	Do a 'man iruserok' and notihing will come back, where a 'man ruserok'
	will.

Submitted by:	Brian Moore <ziff@houdini.eecs.umich.edu>
Obtained from:	NetBSD-bugs mailing list
1994-10-27 16:33:49 +00:00
bde
cea563ca25 Fix memchr(p, 0, 0) to return NULL instead of p. 1994-10-27 11:36:11 +00:00
bde
4c2e71825c Reenable sigsetjmp.S. Preserve the FP state. Rearrange offsets
to match setjmp.S.
1994-10-25 14:08:13 +00:00
bde
ae73fa840b Nuke sigsetjmp.c. sigsetjmp() can't be implemented as a C function
that calls setjmp(), since returning from the function usually
clobbers the saved environment.
1994-10-25 14:04:32 +00:00
ache
f3bbd9e5e3 cfmakeraw(): set IGNBRK, clear IXOFF, INPCK per Bruce suggestion
Set IGNPAR, clear NOFLSH, PENDIN, TOSTOP, ECHOE, ECHOK
1994-10-22 18:12:17 +00:00
ache
1ae081c204 makeraw(): forget to clear IMAXBEL, set VMIN/VTIME 1994-10-22 01:49:27 +00:00
ache
976b2038f4 Remove CPU_COLORDISP, GIO_COLOR now exists 1994-10-18 03:42:18 +00:00
ache
6f726cc4a7 Add new machdep variables 1994-10-17 20:50:41 +00:00
wollman
2cdbc4bdd3 sysctl(3) can return an error (setting errno to ENOMEM) when the
fields in the utsname structure are too small to hold their
corresponding MIB variables.  Don't return an error in this case.
1994-10-13 20:31:19 +00:00
ache
42017de88f Sync with ctype.h (remove EOF handling) 1994-10-09 11:20:55 +00:00
ache
078887695c Sync with ctype.h (EOF, sign extention fixes) 1994-10-08 17:42:45 +00:00
wollman
7c60a4347c Use same configuration file, /etc/host.conf, for both gethost* and
getnet* configuration.  (It's highly unlikely that you'd want to do
something different, and network lookups aren't common enough to justify
their own configuration file.)
1994-09-26 22:45:10 +00:00
wollman
88bee1e698 Fixed YP networks map support. 1994-09-26 02:50:43 +00:00
pst
6f303e9935 remove need for -DDEBUG from resolver code (conflict with db/hash) 1994-09-25 17:45:41 +00:00
pst
4f0d0da86d get* rework and new bind code 1994-09-25 02:12:49 +00:00
wollman
b0059b7227 Document getvfsent() and kin. 1994-09-25 01:38:30 +00:00
wollman
81e5d29b29 Fix so that people who don't have LKMs compiled in their kernels don't
get hosed: vfsisloadable() always returns false if /dev/lkm cannot be
opened for writing.
1994-09-25 00:48:27 +00:00
ache
476696843b Make not-so-space-eaten locale version:
split modules to bring only neccessary functions,
eliminate sprintf, make reduced startup_locale version.
1994-09-24 15:59:33 +00:00
dg
8722740e7f Added $Id$ 1994-09-24 02:59:15 +00:00
wollman
a39c6d0505 If sysctl() fails, return "/kernel" so as not to screw people who haven't
updated their kernels yet.
1994-09-24 00:10:13 +00:00
wollman
89231ffae7 Added getbootfile(3), for an easy C interface to the kern.bootfile MIB
variable.  This one's even documented!
1994-09-23 20:22:01 +00:00
wollman
4c045ca123 Added *ran48 functions, and put them in the correct place this time.
Obtained from:	1.1.5
1994-09-23 00:37:55 +00:00
wollman
7970d2e69d Pass -q and -u flags to modload so that it shuts up and doesn't leave
modules lying around.
1994-09-22 22:36:57 +00:00
pst
dc4fe996ac Make iso_addr's output conform to modern conventions for NSAP
representation.  Original code by pst but ported in as part of
enhancements to BIND 4.9.2 and returned to Vixie.
1994-09-22 19:31:29 +00:00
wollman
6513c1883f Fix stupid memory-allocation error. 1994-09-22 02:17:26 +00:00
wollman
6c7f19942f Added VFS functions: getvfsvbyname, getvfsbytype, getvfsent, setvfsent,
endvfsent, vfsisloadable, vfsload.
Someday these will even be documented.
1994-09-22 01:07:37 +00:00
wollman
1a7a5b2188 Document YP support. 1994-09-20 22:02:20 +00:00
wollman
ebfe3ce6c7 My implementation of YP group file support, modeled after the
password file support done yesterday.
1994-09-20 21:43:27 +00:00
wollman
d7672fbe55 Second half of YP security hole fix. Needs updated password
database in order to operate.
1994-09-20 21:42:12 +00:00
wollman
491552a4bd Re-implement YP password file support from scratch. This implementation
correctly handles +user entries and + entries with local overrides.
1994-09-20 01:23:45 +00:00
wollman
c9c7dd75b7 Maintain pw_fields, and output same to password database.
!!!!!!!!
NB
!!!!!!!!
You MUST pwd_mkdb /etc/master.passwd before attempting to use the new
libc, or things may go wrong.  (I doubt anything actually /will/ go
wrong, but the actual behavior is undefined.  YOU HAVE BEEN WARNED.)
The database format is, however, backwards-compatible, so old executables
will still work.
1994-09-20 01:15:08 +00:00
ache
baa424eb82 Function in this module bloodly called 'gethostname' and linked
with all pgms, you can imagine results!
Change 'gethostname' -> 'ntp_gettime', I don't know what real name
must be here but try to guess.
1994-09-19 22:04:28 +00:00
wollman
5de9aa67de Redo kernel NTP PLL support, user-mode interface. 1994-09-18 20:29:55 +00:00
paul
0a8a4cff4f Added support for kernel profiling to mcount.c 1994-09-15 16:00:41 +00:00
wollman
7fa1ec8f19 Use latest Arthur Olson timezone code rather than that supplied with
4.4.  The code is almost identical to the 4.4 versions, but this organization
should make it easier to merge new versions in the future.
1994-09-13 21:26:08 +00:00
dfr
bed8e3af71 Added SYSV ipc system calls. 1994-09-13 14:52:45 +00:00
wollman
b80021e668 Port to FreeBSD. Not ready for inclusion in libc just yet, but here
so we can compile zic.
1994-09-13 03:50:58 +00:00
wollman
91bd59b78c This commit was generated by cvs2svn to compensate for changes in r2710,
which included commits to RCS files with non-trunk default branches.
1994-09-13 03:44:49 +00:00
wollman
448e2f9aba One more try, and if it doesn't work this time I'm giving up.
(Check in original localtime.c.)
1994-09-13 03:44:49 +00:00
wollman
458460a943 This commit was generated by cvs2svn to compensate for changes in r2708,
which included commits to RCS files with non-trunk default branches.
1994-09-13 03:39:01 +00:00
wollman
cbc72118ba The rest of tzcode94g from Arthur David Olson.
Obtained From: Arthur David Olson, ftp://elsie.nci.nih.gov/pub/tzcode94g.tar.gz
1994-09-13 03:39:01 +00:00
csgr
7ca8cf71da Based on fix from 1.1.5.1:
>From: jtk@atria.com (John T. Kohl)
in rcmd:
It calls select() with a hardcoded "number of file descriptors" argument
of 32, rather than computing it based on the sockets about which it
cares.

- Now we work out the nfds arg, and do some error checking
Submitted by:	Geoff.
1994-09-08 20:55:02 +00:00
csgr
db70eb1cc3 document libcrypt and libcipher.
Submitted by:	Geoff
1994-09-08 19:46:57 +00:00
jkh
5920351a49 Make errors in /etc/fstab print the line numbers where they occured.
Also be more tolerant of blank lines and comments in the file.
Submitted by:	jkh
1994-09-08 09:21:00 +00:00
bde
2933861562 Don't include <sys/types.h> to get u_int or use u_int for a bogus cast.
Modernize bcopy -> memcpy.
1994-09-05 13:41:33 +00:00
bde
ed0e48f6c0 Fix printing of weird errno's: negative values were printed as large
unsigned's; null termination was only guaranteed for the first call.

Fix lint: don't declare externs internally; they were both out of date.
1994-09-05 13:37:43 +00:00
bde
5a325be3b5 u_int -> unsigned int, so that we don't have to include <sys/types.h>
or depend on <stdio.h> bogusly including it.
1994-09-05 13:26:40 +00:00
dg
1bc615af71 Fixed editing blunder. 1994-09-01 12:09:17 +00:00
dg
8b1ffe3ff3 Added rtprio system call stub and manual page.
Submitted by:	Henrik Vestergaard Draboel
1994-09-01 09:52:37 +00:00
bde
6eb79dae2d Build ntp_adjtime.o and ntp_gettime.o so that xntpd compiles.
Don't add to POBJS or SOBJS.  bsd.lib.mk does it.  Some objects were
duplicated.

Don't add to CLEANFILES.  bsd.lib.mk does it.  Some objects were
quadruplicated.

Define variables that are only used once close to where they are
used.

The ifdefs for avoiding building of profiled/shared objects when
NOPROFILE/NOPIC are set were not actually committed.  The ifdefs
belong in bsd.lib.mk anyway.
1994-08-31 15:18:06 +00:00
csgr
70af780508 Fix comparison of int against unsigned when checking error return
from recvfrom()
(This bug is also present in FreeBSD 1.1.5.1.)
Bug Reported by : Thomas.Koenig@ciw.uni-karlsruhe.de
Reviewed by:	geoff.
1994-08-31 12:38:18 +00:00
wollman
4275234ba7 Undo some of Bruce's ``clean-up''. Don't be so damned verbose. 1994-08-30 21:46:05 +00:00
bde
af9bbad3e5 Don't build .po's if NOPROFILE is defined.
Don't build .so's if NOPIC is defined.

Use ${ECHO} instead of `echo' so that `make -s' is fairly quiet.
1994-08-28 17:34:16 +00:00
bde
998cab9143 gethostid.2 is now gethostid.3. Instal the correct one. 1994-08-28 17:08:36 +00:00
csgr
33e047d3b0 Fix gethostbyaddr():
call _getdnsbyaddr() instead of _getdnsbyname() ;-)
Submitted by:	Geoff
1994-08-28 13:33:10 +00:00
wollman
22a09d534e libc.so should be installed immutable. 1994-08-26 18:59:39 +00:00
dg
292c4363f6 WINE/user LDT support from John Brezak, ported to FreeBSD by Jeffrey Hsu
<hsu@soda.berkeley.edu>.
   ...Moved over from 1.1.5. Other portions of this commit were done by moving
the RCS files into place directly.
1994-08-22 10:49:05 +00:00
jkh
4475596713 This is weird. I *added this*, but it went away again! Ummm.. Mumble.
I'm confused..
Submitted by:	jkh
1994-08-22 09:19:50 +00:00
jkh
ee89c5a365 Put __infinity back here again until someone does the right thing and
repartitions libc into something human again.  I don't have that kind of
time right now myself, unfortunately.
Submitted by:	jkh
1994-08-20 20:16:57 +00:00
dg
700593f434 Fixed problem with returning -1 on error when the return value is a
long long. Done by plugging both eax and edx with -1. This will clobber
edx unnecessarily when the return value is only 32bit...though probably
always an okay thing to do, it could stand a better fix.
   This was the cause of gawk being broken (boy was THAT ever a subtle
bug!!!).
1994-08-13 14:00:26 +00:00
wollman
01a149f01b Oops, forgot to cvs add this file. 1994-08-10 06:27:35 +00:00
wollman
f0e3ec0f96 Make it easier for programs to figure out what revision of FreeBSD they
are running under.  Here's how to bootstrap (order is important):

1) Re-compile gcc (just the driver is all you need).
2) Re-compile libc.
3) Re-compile your kernel.  Reboot.
4) cd /usr/src/include; make install

You can now detect the compilation environment with the following code:

#if !defined(__FreeBSD__)
#define __FreeBSD_version 199401
#elif __FreeBSD__ == 1
#define __FreeBSD_version 199405
#else
#include <osreldate.h>
#endif

You can determine the run-time environment by calling the new C library
function getosreldate(), or by examining the MIB variable kern.osreldate.

For the time being, the release date is defined as 199409, which we have
already established as our target.
1994-08-10 06:25:07 +00:00
wollman
08c11fa2ca Add back set_rpc_grouplistsize(), so mount_nfs compiles again. Also
fixed incipient bug wrt gid_t versus int.
1994-08-10 02:25:22 +00:00
wollman
d20aae3469 Fixed typo. 1994-08-09 22:44:12 +00:00
wollman
004c5a3482 Add (substantially re-written) support for /etc/host.conf, and reintegrated
1.1.5 support for YP, fixing a bug in 1.1.5 that prevented YP from ever
working reliably.  (I'm amazed that there were no bug reports.)

IWBRNI someone could write a host.conf(5) manual page.  Please look at
the code before doing so; this version is somewhat more flexible in the
format of its input.
1994-08-09 20:23:14 +00:00
jkh
274dc9f50a Add a missing backslash to get this to work again.
Reviewed by:
Submitted by:	jkh
1994-08-08 15:17:41 +00:00
wollman
356a80adea Added YP domain name getting/setting support, for SunOS/old program
compatibility.
1994-08-08 00:40:24 +00:00
wollman
905766ce24 Add back in the YP code from 1.1.5. (This attribution brought to you
by Theo de Raadt.)  Added a new make flag variable, NO_YP_LIBC, which
disables YP entirely.  User-land programs to come later.
1994-08-07 23:04:55 +00:00
wollman
5840c2bc03 More directory cleanup after YP merge. 1994-08-07 22:21:14 +00:00
wollman
7e6f5f8c5d Add Sun RPC documentation, which should eventually go into our PSD.
(I think I'm up to part 6.)
1994-08-07 18:46:28 +00:00
wollman
39d367d32e Moving RPC stuff into libc, part 2. 1994-08-07 18:39:35 +00:00
wollman
ad3e7cd01d Moving Sun RPC code into libc, part 1. Based on work done by a number of
people, including J.T. Conklin, Theo de Raadt, Paul Richards, and probably
someone else who's going to flame me as soon as they see this message.
1994-08-07 18:36:12 +00:00
dg
6b466831f4 Converted 'vmunix' to 'kernel'. 1994-08-05 09:14:37 +00:00
wollman
e017c781ca First crack at making libc work with the new make macros. It compiles on
my machine, and a simple static (genassym) and shared (sysctl) executable
both work.  Still to be done: RPCand YP merge.
1994-08-05 01:19:12 +00:00
csgr
a22e08d763 Rewrite nlist to mmap the whole a.out file (at Davidg's suggestion).
This means that we don't have to do rounding calculations for page
boundaries.  (We do all our accesses via the mmapped area now.)
Reviewed by:
1994-07-22 12:22:51 +00:00
rgrimes
a3ddeea37c Pull in GNU2 fix for this from FreeBSD, allows ldexp.c to compile with
gcc2.x
1994-05-27 11:00:56 +00:00
rgrimes
8b1c40bc18 BSD 4.4 Lite Lib Sources 1994-05-27 05:00:24 +00:00
rgrimes
be22b15ae2 BSD 4.4 Lite Lib Sources 1994-05-27 05:00:24 +00:00
rgrimes
e043687c62 This commit was generated by cvs2svn to compensate for changes in r1573,
which included commits to RCS files with non-trunk default branches.
1994-05-27 05:00:24 +00:00
rgrimes
cb2f2e712b BSD 4.4 Lite Lib Sources 1994-05-27 05:00:24 +00:00
rgrimes
366dfaba19 BSD 4.4 Lite Lib Sources 1994-05-27 05:00:24 +00:00
rgrimes
eedec95276 BSD 4.4 Lite Lib Sources 1994-05-27 05:00:24 +00:00
rgrimes
c5df1ac6c7 BSD 4.4 Lite bin Sources 1994-05-26 06:18:55 +00:00
rgrimes
5d98a33b2f BSD 4.4 Lite usr.sbin Sources 1994-05-26 05:23:31 +00:00
rgrimes
8b2b31265d BSD 4.4 Lite Include Sources 1994-05-24 09:57:34 +00:00
rgrimes
036e570b76 Add $Id$ to all, clean up multiple spaces 1994-02-21 05:19:06 +00:00
dg
5e9419ef4a WINE/user LDT support from John Brezak, ported to FreeBSD by Jeffrey Hsu
<hsu@soda.berkeley.edu>.
1994-01-31 12:05:32 +00:00