Jeroen Ruigrok/asmodai [Wed, 22 Sep 2004 09:21:41 +0000 (09:21 +0000)]
Fix typo of->pf.
Joerg Sonnenberger [Wed, 22 Sep 2004 08:54:27 +0000 (08:54 +0000)]
This should read const char *, not char char *.
Joerg Sonnenberger [Wed, 22 Sep 2004 08:38:09 +0000 (08:38 +0000)]
s/pidfile/my_pidfile/
This should be converted to use pidfile(3) instead if the hand-rolled
implementation.
Joerg Sonnenberger [Wed, 22 Sep 2004 05:06:57 +0000 (05:06 +0000)]
Add pidfile(3).
Obtained-from: NetBSD
Joerg Sonnenberger [Wed, 22 Sep 2004 05:00:06 +0000 (05:00 +0000)]
Use const char* for tcpstates
Joerg Sonnenberger [Tue, 21 Sep 2004 21:25:28 +0000 (21:25 +0000)]
Uesrland part of PF
Obtained-from: OpenBSD
Ported-by: Devon O'Dell and Simon 'corecode' Schubert
Additioncally, do a pass over the code to get it WARNS=6 clean.
This means mostly fixing const'ness of strings and cleanup sign/unsigned
comparisions. The warnings in authpf about unused arguments have been
removed by use of __unused.
Joerg Sonnenberger [Tue, 21 Sep 2004 21:20:58 +0000 (21:20 +0000)]
PF uses -1 as rule number for the default entry. To make the value more
explicit, change this to (uint32_t)(-1).
Joerg Sonnenberger [Tue, 21 Sep 2004 18:46:00 +0000 (18:46 +0000)]
Include machine/cpu.h for userland to get clear_lwkt_resched.
Joerg Sonnenberger [Tue, 21 Sep 2004 18:40:30 +0000 (18:40 +0000)]
Sync defines with sys/globaldata.h.
Joerg Sonnenberger [Tue, 21 Sep 2004 18:09:57 +0000 (18:09 +0000)]
Use libcaps_free_stack instead of kmem_free for userland
Joerg Sonnenberger [Tue, 21 Sep 2004 13:02:51 +0000 (13:02 +0000)]
Add a new option "TIMER_USE_1", which allows switching the primary heart
beat from i8254 timer 2 to timer 1. This also reactivates the console beep
if TIMER_USE_1 is active.
Matthew Dillon [Tue, 21 Sep 2004 03:25:16 +0000 (03:25 +0000)]
Fixup the location of openssl / fix release builds.
Reported-by: David Rhodus <sdrhodus@gmail.com>
Matthew Dillon [Mon, 20 Sep 2004 22:03:17 +0000 (22:03 +0000)]
Hook the new bc and dc into the tree. Unhook the old gnu bc/dc and add
entries to the upgrade target to remove obsolete examples and documentation.
Submitted-by: Sascha Wildner <saw@online.de>
Joerg Sonnenberger [Mon, 20 Sep 2004 21:30:01 +0000 (21:30 +0000)]
Add various ICMP defines used by PF.
Submitted-by: Simon Schubert and Devon O'Dell
Obtained-from: OpenBSD
Joerg Sonnenberger [Mon, 20 Sep 2004 21:19:28 +0000 (21:19 +0000)]
Install PF header files.
Eirik Nygaard [Mon, 20 Sep 2004 20:38:17 +0000 (20:38 +0000)]
Add KTR, a facility that logs kernel events to help debugging. You can access
the logged information with ddb. If KTR_VERBOSE is defined a string will also be
printed with printf() to your console.
See ktr(4) and ktr(9) for information on how to use KTR.
Obtained from: FreeBSD
Joerg Sonnenberger [Mon, 20 Sep 2004 19:32:19 +0000 (19:32 +0000)]
Also define global uid_t and gid_t variables and remove some warnings.
WARNS=6 clean now.
Jeroen Ruigrok/asmodai [Mon, 20 Sep 2004 15:33:00 +0000 (15:33 +0000)]
Switch to 9.2.4rc7.
Joerg Sonnenberger [Mon, 20 Sep 2004 13:11:54 +0000 (13:11 +0000)]
WARNS=6 cleanes
- proper prototypes
- constify certain strings
- remove pre-ISO C junk
Jeroen Ruigrok/asmodai [Mon, 20 Sep 2004 11:54:11 +0000 (11:54 +0000)]
Remove a '+', remnant of patchset.
Discovered by: Edmondas Girkantas
Jeroen Ruigrok/asmodai [Mon, 20 Sep 2004 06:33:19 +0000 (06:33 +0000)]
Merge from vendor branch BIND:
Add BIND 9.2.4rc7.
Notable changes:
1643. [bug] dns_db_closeversion() could leak memory / node
references. [RT #11163]
1650. [bug] dig, nslookup: flush standard out after each command.
1654. [bug] isc_result_totext() contained array bounds read
error.
1681. [bug] Only set SO_REUSEADDR when a port is specified in
isc_socket_bind(). [RT #11742]
1686. [bug] Named sent a extraneous NOTIFY when it received a
redundant UPDATE request. [RT #11943]
1687. [bug] Race condition in dispatch. [RT #10272]
1690. [bug] Delay detaching view from the client until UPDATE
processing completes when shutting down. [RT #11714]
Jeroen Ruigrok/asmodai [Mon, 20 Sep 2004 06:33:19 +0000 (06:33 +0000)]
Add BIND 9.2.4rc7.
Notable changes:
1643. [bug] dns_db_closeversion() could leak memory / node
references. [RT #11163]
1650. [bug] dig, nslookup: flush standard out after each command.
1654. [bug] isc_result_totext() contained array bounds read
error.
1681. [bug] Only set SO_REUSEADDR when a port is specified in
isc_socket_bind(). [RT #11742]
1686. [bug] Named sent a extraneous NOTIFY when it received a
redundant UPDATE request. [RT #11943]
1687. [bug] Race condition in dispatch. [RT #10272]
1690. [bug] Delay detaching view from the client until UPDATE
processing completes when shutting down. [RT #11714]
Matthew Dillon [Mon, 20 Sep 2004 06:32:58 +0000 (06:32 +0000)]
M_NOWAIT -> M_WAITOK
Matthew Dillon [Mon, 20 Sep 2004 06:32:41 +0000 (06:32 +0000)]
M_NOWAIT -> M_INTWAIT/M_WAITOK. Plus fix a NULL free() that can occur if
initialization fails (which can occur if contigmalloc fails).
Matthew Dillon [Mon, 20 Sep 2004 04:20:39 +0000 (04:20 +0000)]
Here are (BSD licensed) replacements for bc and dc:
Submitted-by: Sascha Wildner <saw@online.de>
Taken-From: OpenBSD, with minor modifications.
Matthew Dillon [Mon, 20 Sep 2004 04:10:44 +0000 (04:10 +0000)]
Use the appropriate #defines instead of hard-coding constants.
Submitted-by: Matt Emmerton <memmerto@yahoo.com>
Matthew Dillon [Mon, 20 Sep 2004 01:43:13 +0000 (01:43 +0000)]
if_pfsync.h needs pfvar.h for struct pf_addr. The ioctl header collection
code for kdump collects the two header files in the wrong order. The easiest
solution for now is to hack if_pfsync.h to include pfvar.h.
Matthew Dillon [Mon, 20 Sep 2004 00:58:36 +0000 (00:58 +0000)]
Do not unconditionally fork() after accept(). accept() can return -1 due
to an interrupted system call (i.e. SIGCHLD). If we fork in that case
ftpd can get into an accept()/SIGCHLD/fork/[fail]/repeat loop.
Reported-by: fabian <fabian.duelli@bluewin.ch>
Matthew Dillon [Sun, 19 Sep 2004 23:54:02 +0000 (23:54 +0000)]
Add a missing #include and add a missing semicolon.
Matthew Dillon [Sun, 19 Sep 2004 23:31:18 +0000 (23:31 +0000)]
Quick cleanup in preparation for a more complete cleanup.
Joerg Sonnenberger [Sun, 19 Sep 2004 22:32:48 +0000 (22:32 +0000)]
Kernel part of PF
Ported-by:
- Max Layer (original patch set, FreeBSD PF maintainer)
- Devon O'Dell, Simon 'corecode' Schubert (integration and DragonFly specific
changes)
In contrast to FreeBSD and OpenBSD, use direct flags in pkthdr instead of
m_tags. This reduces allocation and processing overhead.
Keep the IP header in Host Byte Order like the rest of the tree assumes.
Module support has a memory leak for vm_zones when unloading pf.ko.
Matthew Dillon [Sun, 19 Sep 2004 19:33:50 +0000 (19:33 +0000)]
testing
Jeroen Ruigrok/asmodai [Sun, 19 Sep 2004 18:08:21 +0000 (18:08 +0000)]
From NetBSD 1.11:
Fix a condition where the hole would be inserted in the wrong place during a
split.
Inspired by FreeBSD commit, which did the same.
Submitted by: Simon 'corecode' Schubert.
Joerg Sonnenberger [Sun, 19 Sep 2004 17:42:57 +0000 (17:42 +0000)]
The CIS vendor and product string routines return the string directly, not
an error value like in FreeBSD.
Submitted-by: Jaime Fournier <jaime.fournier@hush.com>
Joerg Sonnenberger [Sun, 19 Sep 2004 17:25:42 +0000 (17:25 +0000)]
Change getgrouplist(3) to take gid_t arguments for the groups.
Submitted-by: Liam J. Foy
Adjust jail(8) and id(1) to pass gid_t arguments as well.
Joerg Sonnenberger [Sun, 19 Sep 2004 16:51:03 +0000 (16:51 +0000)]
timeout/untimeout ==> callout_*
Jeroen Ruigrok/asmodai [Sun, 19 Sep 2004 12:13:38 +0000 (12:13 +0000)]
Belatedly remember that in Nordic languages the aa, ae, and similar letters
are placed behind the position of the letter z.
Jeroen Ruigrok/asmodai [Sun, 19 Sep 2004 12:07:30 +0000 (12:07 +0000)]
Update per recent newsletters of the ISO3166 committee.
Matthew Dillon [Sun, 19 Sep 2004 02:52:27 +0000 (02:52 +0000)]
Remove timeout() and untimeout() plus all related support. Not having to
preallocate a large array of callout structures saves ~800K of physical memory.
Could-not-have-been-done-without: Joerg Sonnenberger <joerg@britannica.bec.de>
Matthew Dillon [Sun, 19 Sep 2004 02:44:35 +0000 (02:44 +0000)]
timeout/untimeout ==> callout_*. NDIS hides the callout in a windoz
structure so we have to 'fake' it with a pointer and use malloc().
Submitted-by: Joerg Sonnenberg
Matthew Dillon [Sun, 19 Sep 2004 02:43:26 +0000 (02:43 +0000)]
timeout/untimeout ==> callout_*
Matthew Dillon [Sun, 19 Sep 2004 02:15:44 +0000 (02:15 +0000)]
timeout/untimeout ==> callout_*
Matthew Dillon [Sun, 19 Sep 2004 02:11:56 +0000 (02:11 +0000)]
timeout/untimeout ==> callout_*
Matthew Dillon [Sun, 19 Sep 2004 02:05:54 +0000 (02:05 +0000)]
timeout/untimeout ==> callout_*
Matthew Dillon [Sun, 19 Sep 2004 02:02:28 +0000 (02:02 +0000)]
timeout/untimeout ==> callout_*
Matthew Dillon [Sun, 19 Sep 2004 01:56:29 +0000 (01:56 +0000)]
timeout/untimeout ==> callout_*
Matthew Dillon [Sun, 19 Sep 2004 01:37:13 +0000 (01:37 +0000)]
timeout/untimeout ==> callout_*
Matthew Dillon [Sun, 19 Sep 2004 01:33:32 +0000 (01:33 +0000)]
timeout/untimeout ==> callout_*
Matthew Dillon [Sun, 19 Sep 2004 01:28:54 +0000 (01:28 +0000)]
cleanup syntax a bit. non functional changes.
Matthew Dillon [Sun, 19 Sep 2004 01:27:23 +0000 (01:27 +0000)]
timeout/untimeout ==> callout_*
Matthew Dillon [Sun, 19 Sep 2004 01:20:42 +0000 (01:20 +0000)]
timeout/untimeout ==> callout_*
Matthew Dillon [Sun, 19 Sep 2004 01:13:33 +0000 (01:13 +0000)]
timeout/untimeout ==> callout_*
Joerg Sonnenberger [Sun, 19 Sep 2004 00:36:37 +0000 (00:36 +0000)]
timeout/untimeout ==> callout_*
Joerg Sonnenberger [Sun, 19 Sep 2004 00:25:57 +0000 (00:25 +0000)]
timeout/untimeout ==> callout_*
Matthew Dillon [Sun, 19 Sep 2004 00:23:33 +0000 (00:23 +0000)]
timeout/untimeout ==> callout_*
Joerg Sonnenberger [Sat, 18 Sep 2004 22:01:49 +0000 (22:01 +0000)]
Remove extra tokens at end of #undef.
Joerg Sonnenberger [Sat, 18 Sep 2004 22:00:37 +0000 (22:00 +0000)]
Remove cast of lvalues.
Joerg Sonnenberger [Sat, 18 Sep 2004 21:05:43 +0000 (21:05 +0000)]
timeout/untimeout ==> callout_*
Joerg Sonnenberger [Sat, 18 Sep 2004 21:05:07 +0000 (21:05 +0000)]
timeout/untimeout ==> callout_*
Note: The driver is currently not stoped when pccard is unloaded.
This might be a problem, but it is definitely not new.
Matthew Dillon [Sat, 18 Sep 2004 20:36:38 +0000 (20:36 +0000)]
Add DragonFly-stable-supfile and cleanup the comments in it and
DragonFly-src-supfile.
Matthew Dillon [Sat, 18 Sep 2004 20:25:17 +0000 (20:25 +0000)]
timeout/untimeout ==> callout_*
Matthew Dillon [Sat, 18 Sep 2004 20:02:38 +0000 (20:02 +0000)]
malloc() M_NOWAIT -> M_WAITOK, plus remove bzero's in favor of M_ZERO.
Matthew Dillon [Sat, 18 Sep 2004 19:54:28 +0000 (19:54 +0000)]
timeout/untimeout ==> callout_*
Matthew Dillon [Sat, 18 Sep 2004 19:42:12 +0000 (19:42 +0000)]
timeout/untimeout ==> callout_* [structural fields appeared not to be used,
#if 0 them out]
Matthew Dillon [Sat, 18 Sep 2004 19:43:22 +0000 (19:43 +0000)]
timeout/untimeout ==> callout_*
Matthew Dillon [Sat, 18 Sep 2004 19:32:59 +0000 (19:32 +0000)]
timeout/untimeout ==> callout_*
Matthew Dillon [Sat, 18 Sep 2004 19:11:29 +0000 (19:11 +0000)]
timeout/untimeout ==> callout_*
Matthew Dillon [Sat, 18 Sep 2004 19:08:08 +0000 (19:08 +0000)]
timeout/untimeout ==> callout_*
Matthew Dillon [Sat, 18 Sep 2004 19:02:35 +0000 (19:02 +0000)]
timeout/untimeout ==> callout_*
Matthew Dillon [Sat, 18 Sep 2004 18:47:20 +0000 (18:47 +0000)]
timeout/untimeout ==> callout_*
Matthew Dillon [Sat, 18 Sep 2004 18:33:38 +0000 (18:33 +0000)]
timeout/untimeout ==> callout_*
Joerg Sonnenberger [Sat, 18 Sep 2004 16:25:54 +0000 (16:25 +0000)]
Use ioctl_map_range instead of ioctl_map_cmd, as required by the mapping API.
Noticied-by: Simon 'corecode' Schubert
Jeroen Ruigrok/asmodai [Sat, 18 Sep 2004 07:16:32 +0000 (07:16 +0000)]
Get rid off the host.conf to nsswitch.conf conversion.
We will not be going the nsswitch way.
Discussed with: matt
Matthew Dillon [Fri, 17 Sep 2004 17:30:42 +0000 (17:30 +0000)]
Fix the ncpu check for 'ps' so it does not display the 'M' flag on UP
systems.
Matthew Dillon [Fri, 17 Sep 2004 17:06:59 +0000 (17:06 +0000)]
Joerg pointed out that callout_init is called by the SYSINIT. Reorganize
the SYSINIT and add an acct_init() procedure to better-organize the
initialization code.
Matthew Dillon [Fri, 17 Sep 2004 16:47:21 +0000 (16:47 +0000)]
Add missing callout_init().
Matthew Dillon [Fri, 17 Sep 2004 10:15:00 +0000 (10:15 +0000)]
Fix a type-o / syntax error in the last commit.
Matthew Dillon [Fri, 17 Sep 2004 10:03:35 +0000 (10:03 +0000)]
Add a missing free to a failure case (non critical).
Matthew Dillon [Fri, 17 Sep 2004 10:02:12 +0000 (10:02 +0000)]
Fix a number of races. First, retain PG_BUSY through a vm_page_remove(),
allowing it to be held atomically through a vm_page_rename() and
through most of a vm_page_free_toq() call. Before vm_page_remove() unbusy'd
the page, leading to possible races and definite future issues.
Use a critical section instead of splvm() for critical VM page operations,
to protect against IPIs.
In-discussion-with: David Rhodus
Matthew Dillon [Fri, 17 Sep 2004 09:54:22 +0000 (09:54 +0000)]
Make the freeing free mbuf assertion a bit more verbose.
Matthew Dillon [Fri, 17 Sep 2004 09:53:27 +0000 (09:53 +0000)]
Fix a race on SMP systems. Since we might block while obtaining the MP
lock we have to check sc->next to see if we raced a deletion of our
callout, and loop if we did.
Matthew Dillon [Fri, 17 Sep 2004 09:51:12 +0000 (09:51 +0000)]
missing log message for last commit: Rearrange the mbuf clearing code in
the tx ring scan so we do not have to make major assumptions with regard
to side effects / blocking effects of m_freem().
Matthew Dillon [Fri, 17 Sep 2004 09:49:24 +0000 (09:49 +0000)]
*** empty log message ***
Matthew Dillon [Fri, 17 Sep 2004 09:34:54 +0000 (09:34 +0000)]
Oops CALLOUT_DID_INIT had the same flags value as CALLOUT_MPSAFE, causing
all timeout functions to operate as if they were MPSAFE, which does bad
things to SMP systems!
Matthew Dillon [Fri, 17 Sep 2004 09:09:21 +0000 (09:09 +0000)]
Unbreak the SCSI drivers. Move the callout_init() from xpt_get_ccb() to
xpt_setup_ccb(). Otherwise the callout for stack-based ccb's (and there
are a LOT of them) will not be properly initialized. The only caller of
xpt_get_ccb() also calls xpt_setup_ccb().
Matthew Dillon [Fri, 17 Sep 2004 08:25:30 +0000 (08:25 +0000)]
Remove a superfluous (and incorrect due to the recent callout changes) bzero()
call.
Joerg Sonnenberger [Fri, 17 Sep 2004 03:39:39 +0000 (03:39 +0000)]
timeout/untimeout ==> callout_*
Joerg Sonnenberger [Fri, 17 Sep 2004 03:25:43 +0000 (03:25 +0000)]
Move the callout init below the softc allocation. *sigh*
Joerg Sonnenberger [Fri, 17 Sep 2004 02:52:39 +0000 (02:52 +0000)]
timeout/untimeout ==> callout_*
Joerg Sonnenberger [Fri, 17 Sep 2004 02:38:10 +0000 (02:38 +0000)]
timeout/untimeout ==> callout_*
Joerg Sonnenberger [Fri, 17 Sep 2004 02:20:53 +0000 (02:20 +0000)]
timeout/untimeout ==> callout_*
Joerg Sonnenberger [Fri, 17 Sep 2004 01:50:06 +0000 (01:50 +0000)]
It is unlikely that NetBSD wants to take this code back or that DF will
switch to XS, so just nuke those parts.
Do some header inclusion reordering according to style(9) while here,
Joerg Sonnenberger [Fri, 17 Sep 2004 01:29:45 +0000 (01:29 +0000)]
timeout/untimeout ==> callout_* for p->p_ithandle
Joerg Sonnenberger [Fri, 17 Sep 2004 01:12:30 +0000 (01:12 +0000)]
timeout/untimeout ==> callout_*
Joerg Sonnenberger [Fri, 17 Sep 2004 01:09:09 +0000 (01:09 +0000)]
Fix typo.
Joerg Sonnenberger [Fri, 17 Sep 2004 01:08:13 +0000 (01:08 +0000)]
timeout/untimeout ==> callout_*
Joerg Sonnenberger [Fri, 17 Sep 2004 01:03:58 +0000 (01:03 +0000)]
timeout/untimeout ==> callout_*
Joerg Sonnenberger [Fri, 17 Sep 2004 00:28:44 +0000 (00:28 +0000)]
timeout/untimeout ==> callout_*
Joerg Sonnenberger [Fri, 17 Sep 2004 00:21:08 +0000 (00:21 +0000)]
timeout/untimeout ==> callout_*
Matthew Dillon [Fri, 17 Sep 2004 00:18:16 +0000 (00:18 +0000)]
Move all the softclock/callout initialization out of MD and into MI. Get rid
of the extremely low-level virtual address space allocation for the old
timeout() API's data structures and simply malloc() them in the new MI code
(they will soon be removed entirely when the old API is removed). Replace
the softclock swi with a non-preempting high priority helper thread (one
per cpu). The lack of preemption allows us to retain compatibility with
splsoftclock() use elsewhere in the kernel until those uses can be cleaned up,
then we *might* make softclock threads preempt-capable.
Rewrite the callout_*() implementation to make all data structures per-cpu.
Add an MP flag (similar to what FreeBSD did), but create a separate API
function, callout_init_mp() instead of adding an additional badly defined
argument to callout_init(). callout_reset() and callout_stop() will now
complain if the supplied structure is uninitialized (zero'd, e.g.
callout_init() was not called on it).
It is our intention to obsolete the old timeout()/untimeout() APIs and work
is ongoing in that regard, and Joerg will soon import the new OpenBSD
timeout_{set,add,del}() API. The callout*() API will be retained.
In DragonFly these APIs will guarentee that the callback will occur on the
same cpu that the timeout was added on, a feature that the TCP protocol stacks
will soon be able to take advantage of.
Idea and Brainstorming by: Jeffrey Hsu, Joerg Sonnenberger, and Matthew Dillon