dg [Thu, 18 Dec 1997 09:13:39 +0000 (09:13 +0000)]
Call in_pcballoc() at splnet(). As near as I can tell, this won't fix
any instability problems, but it was wrong nonetheless and will be
required in an upcoming round of PCB changes.
brian [Wed, 17 Dec 1997 21:21:56 +0000 (21:21 +0000)]
Log the source of client connections to the diagnostic port.
Disallow connections from port numbers <1024 as low port numbers
can only really mean trouble (ftp bounces etc.).
Discussed at length with: Theo de Raadt <deraadt@cvs.openbsd.org>
brian [Wed, 17 Dec 1997 21:21:47 +0000 (21:21 +0000)]
If we've got a descriptor table that's bigger than an
fd_set, make sure that all descriptors >2 are closed
when we start - otherwise we're asking for a dump in
FD_SET().
Problem pointed out by: Theo de Raadt <deraadt@cvs.openbsd.org>
brian [Wed, 17 Dec 1997 21:21:42 +0000 (21:21 +0000)]
o Log ******** instead of the actual password for "set authkey"
when command logging is switched on.
o Display ******** for the authkey for "show auth"
o Document how \P should be used, and document the other chat escapes
while I'm there.
o Make sure the full command is displayed when a compound command
fails - ie, "set novar rubbish" should say "set novar: Invalid command"
rather than "novar: Invalid command"
Problem pointed out by: Theo de Raadt <deraadt@cvs.openbsd.org> (among others)
wollman [Wed, 17 Dec 1997 19:38:33 +0000 (19:38 +0000)]
Add -Wno-unused so that ``make world'' can complete successfully.
GCC suppresses the warning for ``standard'' header files, but since the
headers do not come from the ``standard'' place in a ``make world'', GCC
doesn't get it.
wollman [Wed, 17 Dec 1997 14:44:23 +0000 (14:44 +0000)]
Revert poll() for UFS files to traditional behavior where polling for read-
or writability always returns true. This works around bugs in netscape and
squid, at a minimum.
bde [Wed, 17 Dec 1997 13:36:44 +0000 (13:36 +0000)]
Normally don't include <bsd.libnames.mk>. Include it in the !aout case
(as in bsd.prog.mk). Include it if `checkdpadd' is being made, so that
it can be checked until it goes away.
bde [Wed, 17 Dec 1997 13:04:18 +0000 (13:04 +0000)]
Use the default LIBOWN, etc. instead of clobbering the defaults to bin,
etc., so that (this part of) `LIBOWN=... make world' can be run by users
other than root. Actually, use BINOWN instead of LIBOWN, since the files
that we install in /usr/libdata are not libraries, and LIBOWN is not
used for anything else in /usr/libdata.
bde [Wed, 17 Dec 1997 12:31:58 +0000 (12:31 +0000)]
Use the default LIBOWN, etc. instead of clobbering the defaults to bin,
etc., so that (this part of) `LIBOWN=... make world' can be run by users
other than root. Actually, BINOWN instead of LIBOWN, since fonts are not
libraries. Only one owner of (non-setuid) installed files is really
supported.
bde [Wed, 17 Dec 1997 10:06:51 +0000 (10:06 +0000)]
Fixed building with NOSHARED=YES. libncurses depends on libmytinfo but
libmytinfo was not mentioned explicitly. The bug was hidden by the
linkage of libncurses to libmytinfo in the shared library case.
kato [Wed, 17 Dec 1997 03:12:35 +0000 (03:12 +0000)]
I should not edit linux_prot.h directly. Fix the argument of linux_nice.
Pointed out by: Eivind Eklund <eivind@FreeBSD.ORG>
NOPROTO LINUX { int getpgrp(void); }
66 NOPROTO LINUX { int setsid(void); }
67 STD LINUX { int linux_sigaction(int sig, \
struct linux_sigaction *nsa, \
struct linux_sigaction *osa); }
68 STD LINUX { int linux_siggetmask(void); }
69 STD LINUX { int linux_sigsetmask(linux_sigset_t mask); }
70 NOPROTO LINUX { int setreuid(int ruid, int euid); }
71 NOPROTO LINUX { int setregid(int rgid, int egid); }
72 STD LINUX { int linux_sigsuspend(int restart, \
linux_sigset_t oldmask, linux_sigset_t mask); }
73 STD LINUX { int linux_sigpending(linux_sigset_t *mask); }
74 NOPROTO LINUX { int osethostname(char *hostname, \
u_int len);}
75 NOPROTO LINUX { int osetrlimit(u_int which, \
struct ogetrlimit *rlp); }
76 NOPROTO LINUX { int ogetrlimit(u_int which, \
struct ogetrlimit *rlp); }
77 NOPROTO LINUX { int getrusage(int who, struct rusage *rusage); }
78 NOPROTO LINUX { int gettimeofday(struct timeval *tp, \
struct timezone *tzp); }
79 NOPROTO LINUX { int settimeofday(struct timeval *tp, \
struct timezone *tzp); }
80 NOPROTO LINUX { int getgroups(u_int gidsetsize, gid_t *gidset); }
81 NOPROTO LINUX { int setgroups(u_int gidsetsize, gid_t *gidset); }
82 STD LINUX { int linux_select(struct linux_select_argv *ptr); }
83 STD LINUX { int linux_symlink(char *path, char *to); }
84 NOPROTO LINUX { int ostat(char *path, struct ostat *up); }
85 STD LINUX { int linux_readlink(char *name, char *buf, \
int count); }
86 STD LINUX { int linux_uselib(char *library); }
87 NOPROTO LINUX { int swapon(char *name); }
88 NOPROTO LINUX { int reboot(int opt); }
89 STD LINUX { int linux_readdir(int fd, struct linux_dirent *dent, \
unsigned int count); }
90 STD LINUX { int linux_mmap(struct linux_mmap_argv *ptr); }
91 NOPROTO LINUX { int munmap(caddr_t addr, int len); }
92 STD LINUX { int linux_truncate(char *path, long length); }
93 NOPROTO LINUX { int oftruncate(int fd, long length); }
94 NOPROTO LINUX { int fchmod(int fd, int mode); }
95 NOPROTO LINUX { int fchown(int fd, int uid, int gid); }
96 NOPROTO LINUX { int getpriority(int which, int who); }
97 NOPROTO LINUX { int setpriority(int which, int who, int prio); }
98 NOPROTO LINUX { int profil(caddr_t samples, u_int size, \
u_int offset, u_int scale); }
99 STD LINUX { int linux_statfs(char *path, \
struct linux_statfs_buf *buf); }
100 STD LINUX { int linux_fstatfs(int fd, \
struct linux_statfs_buf *buf); }
101 STD LINUX { int linux_ioperm(unsigned int lo, \
unsigned int hi, int val); }
102 STD LINUX { int linux_socketcall(int what, void *args); }
103 STD LINUX { int linux_ksyslog(int what); }
104 STD LINUX { int linux_setitimer(u_int which, \
struct itimerval *itv, struct itimerval *oitv); }
105 STD LINUX { int linux_getitimer(u_int which, \
struct itimerval *itv); }
106 STD LINUX { int linux_newstat(char *path, \
struct linux_newstat *buf); }
107 STD LINUX { int linux_newlstat(char *path, \
struct linux_newstat *buf); }
108 STD LINUX { int linux_newfstat(int fd, struct linux_newstat *buf); }
109 STD LINUX { int linux_uname(struct linux_old_utsname *up); }
110 STD LINUX { int linux_iopl(int level); }
111 STD LINUX { int linux_vhangup(void); }
112 STD LINUX { int linux_idle(void); }
113 STD LINUX { int linux_vm86(void); }
114 STD LINUX { int linux_wait4(int pid, int *status, \
int options, struct rusage *rusage); }
115 STD LINUX { int linux_swapoff(void); }
116 STD LINUX { int linux_sysinfo(void); }
117 STD LINUX { int linux_ipc(int what, int arg1, int arg2, int arg3, \
caddr_t ptr); }
118 NOPROTO LINUX { int fsync(int fd); }
119 STD LINUX { int linux_sigreturn(struct linux_sigcontext *scp); }
access
bde [Tue, 16 Dec 1997 17:37:23 +0000 (17:37 +0000)]
Fixed DPADD.
Don't override the (correct) default for SRCS or MAN1.
Replaced bogus Lite1 (?) Id by $Id$. The key server files were
mis-imported so it is hard to tell where they came from, but at
least in Lite2 they don't have useful Makefiles, and I rewrote
most of the Makefile.
bde [Tue, 16 Dec 1997 16:36:43 +0000 (16:36 +0000)]
Fixed DPADD. ${LIBGCC} must be added explicitly since the default
linkage rule is overridden. The -L option must be in ${DPADD} so that
`make checkdpadd' works. Actually use ${DPADD}.
FIxed missing dependencies for doscmd. Use ${LIBCRT0} instead of a
hard-coded path in the rule for doscmd.
Added comments about the kludges used to build 2 binaries and 2 data
files in one directory. It shouldn't be done this way. The dependencies
on sources took extra work to get right, and the dependencies on objects
are still broken (one set is missing and the other has the wrong libs).
Fixed some style bugs while I'm here:
- don't override the (correct) default for MAN1.
- use `beforeinstall', not `afterinstall' to install auxiliary files.
`afterinstall' is for fixing messes made by `install'.
dg [Tue, 16 Dec 1997 15:40:29 +0000 (15:40 +0000)]
Fix bug where a struct buf was free()'d back to the system malloc pool.
Quite amazing that the system runs at all with this bug. Also present in
2.2.5. The bug appears to have come in with changes in rev 1.53.
kato [Tue, 16 Dec 1997 10:22:49 +0000 (10:22 +0000)]
Don't use PG_N if EPSON PC-486HX/HG/HA (PC-9801 compatible) are
detected. These machine cannot make L2 cache write-through by PG_N,
and only I/O access (undocumented) can do that. If PG_N is used,
system hangs.
brian [Mon, 15 Dec 1997 20:21:15 +0000 (20:21 +0000)]
Do 2 passes when "delete all"ing. The first pass removes
all RTF_WASCLONED routes, and the second removes the
others. This avoids the situation where we've added an
RTF_CLONING route (such as ``default''), created some
clones, then deleted the CLONING route before the
WASCLONED route(s). Without the two passes, we get
errno (not rtm_errno) set to ESRCH when deleting the
WASCLONED route, despite the deletion succeeding !
Also:
Enhance the route operation failure diagnostics.
Make portability #ifdefs a bit more generic.
wollman [Mon, 15 Dec 1997 03:09:59 +0000 (03:09 +0000)]
Add support for poll(2) on files. vop_nopoll() now returns POLLNVAL
if one of the new poll types is requested; hopefully this will not break
any existing code. (This is done so that programs have a dependable
way of determining whether a filesystem supports the extended poll types
or not.)
The new poll types added are:
POLLWRITE - file contents may have been modified
POLLNLINK - file was linked, unlinked, or renamed
POLLATTRIB - file's attributes may have been changed
POLLEXTEND - file was extended
Note that the internal operation of poll() means that it is impossible
for two processes to reliably poll for the same event (this could
be fixed but may not be worth it), so it is not possible to rewrite
`tail -f' to use poll at this time.
tegge [Mon, 15 Dec 1997 02:18:35 +0000 (02:18 +0000)]
Add support for low resolution SMP kernel profiling.
- A nonprofiling version of s_lock (called s_lock_np) is used
by mcount.
- When profiling is active, more registers are clobbered in
seemingly simple assembly routines. This means that some
callers needed to save/restore extra registers.
- The stack pointer must have space for a 'fake' return address
in idle, to avoid stack underflow.
jb [Mon, 15 Dec 1997 02:12:42 +0000 (02:12 +0000)]
Fix recursion problem which occurs when a signal is received during
a malloc. The signal handler creates a thread which requires a malloc...
For now, the only thing to do is to block signals. When we move user
pthreads to use the kernel threads, mutexes will be implemented in kernel
space and then malloc can revert.
jdp [Sun, 14 Dec 1997 19:36:24 +0000 (19:36 +0000)]
Make gzipped dynamically linked executables work again. There was
an old bug here that failed to copy the a.out header into memory
properly. It didn't matter until changes were made recently to
the dynamic linker.