Commit Graph

1738 Commits

Author SHA1 Message Date
phk
2431275ac4 General clean-up of socket.h and associated sources to synchronise up
with NetBSD and the Single Unix Specification v2.

This updates some structures with other, almost equivalent types and
effort is under way to get the whole more consistent.

Also removes a double definition of INET6 and some other clean-ups.

Reviewed by: green, bde, phk
Some part obtained from: NetBSD, SUSv2 specification
1999-11-24 20:49:04 +00:00
eivind
ba4a0df540 Allow empty UIDs if we are processing NIS records. I am not entirely
happy with how this end up and will re-visit the entire empty field
problem, but this patch solves the NIS problem for now.

Submitted by:	Dan Nelson <dan@emsphone.com>
PR:	14865,14984
1999-11-22 12:42:38 +00:00
dt
0cfd9aa083 Make __sfp() even more thread-safe. 1999-11-21 22:34:57 +00:00
dt
75d26bf574 Add (FILE *) locking. 1999-11-20 14:52:03 +00:00
dt
669c69aa24 Make __sfp() (FILE allocator) thread-safe: added locking like in malloc(). 1999-11-20 14:01:48 +00:00
obrien
1101d9eaab Fix HISTORY - the copyright header on the file of the GCC version was
misleading.

Submitted by:	Theo de Raadt <deraadt@cvs.openbsd.org>
1999-11-20 00:15:17 +00:00
obrien
e51eae98ed Add to the HISTORY. 1999-11-19 17:13:31 +00:00
jdp
1cd372d24f For the TCP transport, put the listening socket in non-blocking
mode.  This addresses a well-known race condition that can cause
servers to hang in accept().  The relevant case is when somebody
connects to the server and then immediately kills the connection
by sending a TCP reset.  On the server this causes select to report
a ready condition on the socket, after which the accept call blocks
because there is no longer any pending connection to accept.

In -current there is already a work-around for this in the kernel.
It was merged into -stable some time ago, but then David Greenman
reverted it because it seemed to be causing a socket leak in some
cases.  (See uipc_socket.c revision 1.51.2.3.)  Hence this userland
fix is needed in -stable, and I plan to merge it into that branch
soon because it fixes a potential DoS attack.  It may also be needed
in -current if the suspected socket leak turns out to be real.  In
any case, after thinking it over I believe the fix belongs in
userland.  An application shouldn't assume that a ready return from
select guarantees that the subsequent I/O operation cannot block.
A lot can happen between the select and the accept.

A similar fix should most likely be applied to the Unix domain
socket transport too.

Submitted by:	peter
Reviewed by:	jdp
1999-11-18 03:01:06 +00:00
brian
a6dfb66b8f Make setproctitle(NULL) restore all of the original arguments
(if it's able).
1999-11-17 21:12:17 +00:00
jdp
3776d08208 Fix a bug in the hack that protects against FTP bounce attacks.
It used to loop back up to the accept() call and block there,
shutting out all other transports until a new connection came in.
Now it returns instead after dropping the connection.  That will
take it back to the select() loop where all transports can be
serviced.  I intend to MFC this within a day or two since it
fixes a DoS vulnerability.
1999-11-17 01:54:17 +00:00
phk
cc6b664e2e Introduce commandline caching in the kernel.
This fixes some nasty procfs problems for SMP, makes ps(1) run much faster,
and makes ps(1) even less dependent on /proc which will aid chroot and
jails alike.

To disable this facility and revert to previous behaviour:
        sysctl -w kern.ps_arg_cache_limit=0

For full details see the current@FreeBSD.org mail-archives.
1999-11-16 20:31:58 +00:00
sheldonh
c973e062a1 Add to pwd_mkdb a -q option to silence warnings about large IDs. Add a
suitably ominous warning in the manual page.

The diff applied is not the one provided in the attributed PR.

PR:		13344
Reviewed by:	bde
1999-11-15 16:45:37 +00:00
kris
a2292a1c57 fts_pathlen and fts_namelen are u_short, not short
Obtained from:	OpenBSD
1999-11-15 03:29:19 +00:00
kris
3853bec4b5 Typo
Obtained from:	OpenBSD
1999-11-15 03:13:23 +00:00
chris
6b4352eb7f Properly document what ENOENT really means for kldfind(2). 1999-11-14 18:15:33 +00:00
peter
70fc0d318e Go to a bit more trouble to make it absolutely clear that malloc(3)
does not zero the allocated memory.
1999-11-12 16:41:21 +00:00
sheldonh
6f243c5ca7 Decremement by 1 the value taken for %j before assigning it to tm_yday,
which is zero-based.

Correct the range checking for the value taken for %S.

Add %w for the day of the week (0-6).

Accept (but do nothing with) %U and %W.  The comment for this change was
taken from NetBSD.

These changes were made after several failed attempts to contact the
author of our strptime.c .

PR:		10131
Submitted by:	tadf@kt.rim.or.jp (Tadayoshi Funaba)
1999-11-10 14:40:59 +00:00
ache
1c9f0625c8 Fix dead loop if locale contains / and not all categories specified
PR:		14742
Submitted by:	peter@wahoo.com.tw
1999-11-09 11:09:16 +00:00
phantom
29048c9e3c Remove useless section.
PR:		docs/14764
Submitted by:	David Malone <dwmalone@maths.tcd.ie>
1999-11-09 00:28:34 +00:00
eivind
3729f7b2f6 Flag empty UID entries as errors (to stop typos from turning into
alternate root accounts).
1999-11-06 20:21:04 +00:00
ache
049d579611 Add unsigned char cast to isalpha 1999-11-04 05:01:28 +00:00
ache
cf9ff6546c Add unsigned char cast to isdigit 1999-11-04 04:57:05 +00:00
ache
7cff08527c Add unsigned char cast to is[x]digit 1999-11-04 04:52:34 +00:00
ache
fd2f05f5b2 Add unsigned char cast to isdigit 1999-11-04 04:46:18 +00:00
ache
2e8706cc03 Add unsigned char cast to isupper 1999-11-04 04:40:56 +00:00
ache
dc0dd57e24 unsigned char cast to ctype macros 1999-11-04 04:35:33 +00:00
ache
96b246d3bd Add unsigned char cast to ctype macros arg 1999-11-04 04:30:44 +00:00
ache
0284c44519 Add unsigned char cast to isspace arg 1999-11-04 04:16:28 +00:00
green
972efa99ba Fix a really lame buglet which broke with IPs of 34
(ERANGE...)
1999-11-03 04:18:34 +00:00
joerg
1da0b22e43 It is no longer necessary to prepend underscores to external symbols under
ELF.

Submitted by:	A.Leidinger@WJPServer.CS.Uni-SB.de (Alexander Leidinger)
1999-11-02 18:18:26 +00:00
nik
6fc7a68ebf Document that bind(2) can fail with EAGAIN.
PR:             docs/14173 docs/14181
Submitted by:   Charles Randall <crandall@matchlogic.com>
Submitted by:   Kelly Yancey <kbyanc@posi.net>
1999-11-01 19:43:07 +00:00
green
3514435a4c Allow whitespace termination. Internal use of /etc/resolv.conf relies
on this, and who knows what else would, too...
1999-10-31 04:43:55 +00:00
green
5e58dc63ee This is the new inet_addr/inet_aton with proper error checking. This
should close all outstanding PRs on incorrect inet_aton behavior, and
since it has a decent parsing routine, doesn't allow some hysterically
working behavior.

PR:		13628
Submitted by:	Adrian Chadd <adrian@FreeBSD.org>
1999-10-31 04:07:56 +00:00
phantom
a17fafc521 mdoc(7)'fy 1999-10-30 15:12:25 +00:00
obrien
bd0d380ff0 Add HISTORY. 1999-10-29 16:50:22 +00:00
obrien
ff295fd857 "S" comes before "U"...
Alphabet taught to Green by:	obrien
1999-10-25 03:51:01 +00:00
ache
490fc835e8 Remove UNSAFE_WARN ifdef for mktemp warning (never defined)
Use _mktemp internally
1999-10-24 11:57:24 +00:00
ache
1da654c6bb YP/NIS code: remove unnecessary endgrent() calls which can cause fail on
next try over chroot (descriptor closed). getgrnam() used already handles
endgrent() properly and honors _gr_stayopen. Automatically call
setgroupent(1) when _pw_stayopen is set (for YP/NIS code).
1999-10-16 12:31:49 +00:00
ache
a512dc84f7 Fix longstanding bug "unused stayopen" introduced in rev1.11
PR:		14201
1999-10-16 11:50:37 +00:00
marcel
e56134da7a Remove osig* from NOASM. It bogus now. 1999-10-14 10:00:39 +00:00
jdp
3274954f70 In longjmp, call sigreturn instead of osigreturn. The latter isn't
visible from userland any more.

Reviewed by:	luoqi
1999-10-14 01:16:51 +00:00
marcel
70fb184d38 Not needed now the syscall matches the prototype. 1999-10-12 09:38:57 +00:00
marcel
bcf55ab2b8 \begin{quote}
setjmp() gets the jmp_buf pointer from the wrong place (the place
where the return address is) in the shlib case, and uses it (only)
to fetch the current signal mask to address (return_address + 28).
This address is normally read-only (I hope), so the sigprocmask()
call has no effect except to return an error code.
\end{quote}

Submitted by: bde
1999-10-10 08:38:33 +00:00
marcel
890df87b45 Remove syscall wrappers. 1999-10-09 15:27:09 +00:00
dfr
457427e263 Remove old sig* wrappers. 1999-10-09 12:11:31 +00:00
wes
6af4cfa2bb Correct the description of the timeout argument. I've examined
the code, which seems to implement the POSIX requirements, and
have described the behavior here.  Basically, it behaves the same
as select(2).

Noticed by: John Polstra
1999-10-09 01:35:58 +00:00
jdp
96c8cdf38c Fix sigvec(). When the sigset_t changes came in, it was altered
to call osigaction().  But that's wrong because it causes the
handler to receive a struct osigcontext instead of the expected
struct sigcontext.  Use sigaction() instead, copying the compatible
portion of the signal mask.

Reviewed by:	marcel
1999-10-09 00:25:29 +00:00
marcel
2e11ef172b o Add $FreeBSD$ as a rcsid instead of in a comment
o  Remove bitrotted #undef directives
o  Actually set errno now and order the functions

Submitted by: bde
1999-10-02 19:37:14 +00:00
marcel
3e2b5fba5c o Add $FreeBSD$ as a rcsid instead of in a comment.
o  Fix formatting
o  Return the error if sigprocmask fails instead of undefined data.

Submitted by: bde
1999-10-02 19:24:24 +00:00
jdp
4a4463eee1 Fix misspelling of the "addq" opcode. 1999-09-29 21:10:25 +00:00