Commit Graph

9434 Commits

Author SHA1 Message Date
wpaul
29f6674338 Clean up ndiscvt a bit (leaving out the -i flag didn't work) and add
copyrights to the inf parser files.

Add a -n flag to ndiscvt to allow the user to override the default
device name of NDIS devices. Instead of "ndis0, ndis1, etc..."
you can have "foo0, foo1, etc..." This allows you to have more than
one kind of NDIS device in the kernel at the same time.

Convert from printf() to device_printf() in if_ndis.c, kern_ndis.c
and subr_ndis.c.

Create UMA zones for ndis_packet and ndis_buffer structs allocated
on transmit. The zones are created and destroyed in the modevent
handler in kern_ndis.c.

printf() and UMA changes submitted by green@freebsd.org
2004-01-02 04:31:06 +00:00
bmah
19ae5b3d71 Catch up with reality with respect to the location of 4.8, 4.9,
5.0, 5.1, 5.2, and CURRENT packages.
2004-01-02 00:13:20 +00:00
dougb
f831140aeb * Update copyright
* Delete a trailing space
* Add a 'stale /etc/rc.d file checker', offer to delete any stale
files for the user.
2004-01-01 23:41:37 +00:00
obrien
f97ef1fb86 Be consistent in the EXAMPLES formatting. 2004-01-01 00:59:58 +00:00
rwatson
0d9473dba7 Only a read-only file descriptor is required to implement list_devs()
and list_verbose(), so don't open /dev/pci read-write.  This allows
pciconf -l[v] to work for non-root users, assuming the securelevel is
0 or -1.

Problem experienced by:	William Michael Grim <wgrim@siue.edu>
2003-12-31 19:38:29 +00:00
njl
5b48e77525 Use separate events for resume from standby and suspend in the apm(4)
case so that if devices need different initialization, we can key off
this in the rc scripts (currently unused).  Also update the man page
which is a 100% duplicate of the rc scripts.
2003-12-30 17:40:28 +00:00
njl
dc92f60c73 Add support for /etc/rc.suspend and /etc/rc.resume for ACPI. They are
called directly from acpiconf(8).  Change both scripts to take a
subsystem (apm|acpi) and sleep level (suspend,standby|1-5) argument.
2003-12-30 17:28:06 +00:00
wpaul
0349754c19 Remember to use stringcvt() to expand %foo% strings in registry values in
dump_defaultinfo().

Noticed by: green@freebsd.org
2003-12-30 00:30:45 +00:00
alfred
32e06d7c5c Use intmax_t to avoid wrap on large images in verbose output. 2003-12-28 13:32:49 +00:00
ume
1b287b69e9 you have to use 'install' subcommand instead of '-c' option
Obtained from:	KAME
2003-12-26 17:10:58 +00:00
ume
f137b184df when no source-address-selection policy is installed, not scan
the sysctl MIB, as it leads to an unnecessary sysctl error.

Obtained from:	KAME
2003-12-26 17:04:44 +00:00
maxim
2341044956 o Actually add -x option: probeonly assigment was missed
in rev. 1.15 pccardd.c.

Reported by:            osa
OK'ed by:               imp
MFC after:              2 weeks
2003-12-26 10:01:29 +00:00
wpaul
29de6d4f90 Correct a typo in the text.
Remove BUGS section since the bug it describes has been fixed.
Spell Matt Dodd's name correctly. (Oops.)
2003-12-23 18:09:59 +00:00
schweikh
0e961ee647 Fix a case of undefined behavior due to overlapping buf objects in
snprintf (buf, size, fmt, buf, etc). This only works by chance with our
libc, but fails (with a truncated string) on e.g. glibc.

Okayed by:	sobomax
MFC after:	1 week
2003-12-23 15:01:12 +00:00
suz
e3bcae6549 fixed a bug that 'ip6addrctl delete' command does not work
obtained from: KAME
2003-12-22 03:13:50 +00:00
scottl
0f05bb7e9e Teach the Fixit environment how to deal with a dynamic root. Symlink
/libexec to /mnt2/libexec, and execute /mnt2/rescue/ldconfig to add
the /mnt2/lib and /mnt2/usr/lib library directories.  Thanks to John Baldwin
for working to track this down.

Submitted by:	jhb
2003-12-21 17:16:44 +00:00
kensmith
01301e761d - Add new FTP mirror site in Turkey (first/only one).
Approved by:	murray (re@)
2003-12-21 05:42:00 +00:00
jhb
4a2ea587fa Do an update mount operation to mount the mfsroot as read/write rather
than read/only when sysinstall is running as init.  This fixes several
install issues.
2003-12-20 16:34:45 +00:00
emax
caca8e2d8a Fix uncontrolled access to the buffer in rfcomm_sppd(1).
Fix typo in hcsecd(8) man page.

Submitted by: Guido Falsi <mad@madpilot.net>
Reviewed by: imp (mentor)
Approved by: imp (mentor)
2003-12-19 18:15:56 +00:00
wpaul
9916b5df7f Make ndiscvt(8) emit the binary image array as inline assembly code rather
than a char array. Emitting the data as a big char array works fine in
the typical case, where a .sys file may be ~50K in size. Unfortunately,
some .sys files can be several hundred Kbytes in size, or even several
megabytes in size. One extreme case is the Intel centrino wireless
driver, which is 2.4MB. This causes us to emit an ndis_driver_data.h
file that's on the order of 15MB in size, and gcc consumes enormous
amounts of virtual memory while trying to compile it. On my laptop,
with 128MB of RAM and 256MB of swap space, gcc consumed all available
VM and crashed without being able to compile if_ndis.o.

By emitting the array as assembler, we bypass the C compiler and consume
much less memory. I was able to easily test compile if_ndis.ko with the
centrino driver on my laptop after this change.

This is merely a convenience, and should not have any operational effect
on the NDISulator itself.
2003-12-18 21:47:14 +00:00
wpaul
513bd20d82 Grrrr. Remove -g flag that snuck in. 2003-12-18 03:52:40 +00:00
wpaul
74b1363ea9 Deal with the duplicate sysctl leaf problem. A .inf file may contain
definitions for more than one device (usually differentiated by
the PCI subvendor/subdevice ID). Each device also has its own tree
of registry keys. In some cases, each device has the same keys, but
sometimes each device has a unique tree but with overlap. Originally,
I just had ndiscvt(8) dump out all the keys it could find, and we
would try to apply them to every device we could find. Now, each key
has an index number that matches it to a device in the device ID list.
This lets us create just the keys that apply to a particular device.

I also added an extra field to the device list to hold the subvendor
and subdevice ID.

Some devices are generic, i.e. there is no subsystem definition. If
we have a device that doesn't match a specific subsystem value and
we have a generic entry, we use the generic entry.
2003-12-18 03:51:21 +00:00
rwatson
e918d8f302 Install 100dpi fonts by default when installing X11: fun as using 75dpi
fonts on a 100dpi display is, the jaggies just aren't worth it.  DPMI
auto-configures higher DPIs on many modern displays now.
2003-12-17 23:08:13 +00:00
nectar
d1c590eca2 Correct truncation detection after use of snprintf: The case where
exactly one character was truncated was not detected.
2003-12-17 13:36:05 +00:00
brueffer
4c937526f2 o grammar fixes
o wordsmithing
o s/isochronus/isochronous/

MFC after:	5 days
2003-12-17 10:14:11 +00:00
rwatson
40e8e94c68 Re-linewrap help file on securelevels in sysinstall: sysinstall is
mostly used on 80x25 displays, and the actual window is about ten
characters narrower than that, resulting in the need for horizontal
scrolling.  No functional change.

RELENG_5_2 candidate.
2003-12-16 22:55:28 +00:00
scottl
68f2bd72ce Once upon a time, DEVFS was optional, major numbers where static, and /dev
needed to be statically populated with device nodes.  The first two are no
longer true, which makes the third pretty moot.  In fact, we don't seem to
put device node bits into the distribution archives at all anymore.
So..... remove the god-aweful nasty hack that force unmounted devfs during
installation so that static device nodes could land in /dev.  Now that the
vnode cleaner handles this case better this isn't strictly needed, but
axeing code in sysinstall is almost always benficial.  Thanks to Don Lewis
for pointing out this attribute of sysinstall.
2003-12-16 17:58:24 +00:00
trhodes
c18042c896 Provide a way to deal with rc.conf which may already be populated in certain
cases.
2003-12-13 16:12:55 +00:00
wpaul
2dcb6042e5 Support yet another variant of WinXP .INF files. 2003-12-13 08:48:35 +00:00
wpaul
361276aef1 Attempt to handle WinXP .INF files. Also, in dump_regvals(), handle
the case where there's an entry in the manufacturer's device list but
no corresponding installation section (and hence no AddReg assignments),
i.e. if dev = find_assign(sname, "AddReg"); returns NULL, then
don't try to dereference dev.

There is a fundamental problem with the handling of .INF files that
contain definitions for multiple devices: right now we dump all the
AddReg sections that we find, but don't distinguish what device they
belong to. This often results in duplicate keys.
2003-12-12 03:40:05 +00:00
wpaul
27c6ad83ce Fix handling of .INF files with more than one PCI ID defined. 2003-12-11 23:37:56 +00:00
wpaul
128923bf90 Fix getopt() string so -o works. 2003-12-11 23:30:36 +00:00
wpaul
df43a2fd36 Grrr. Put the right .PATH statements in the right Makefiles. 2003-12-11 23:22:44 +00:00
wpaul
4b660977b3 Commit the ndiscvt(8) utility too. (Missed it in the last import.) 2003-12-11 22:38:14 +00:00
wpaul
97c86c25fc Commit the first cut of Project Evil, also known as the NDISulator.
Yes, it's what you think it is. Yes, you should run away now.

This is a special compatibility module for allowing Windows NDIS
miniport network drivers to be used with FreeBSD/x86. This provides
_binary_ NDIS compatibility (not source): you can run NDIS driver
code, but you can't build it. There are three main parts:

sys/compat/ndis: the NDIS compat API, which provides binary
compatibility functions for many routines in NDIS.SYS, HAL.dll
and ntoskrnl.exe in Windows (these are the three modules that
most NDIS miniport drivers use). The compat module also contains
a small PE relocator/dynalinker which relocates the Windows .SYS
image and then patches in our native routines.

sys/dev/if_ndis: the if_ndis driver wrapper. This module makes
use of the ndis compat API and can be compiled with a specially
prepared binary image file (ndis_driver_data.h) containing the
Windows .SYS image and registry key information parsed out of the
accompanying .INF file. Once if_ndis.ko is built, it can be loaded
and unloaded just like a native FreeBSD kenrel module.

usr.sbin/ndiscvt: a special utility that converts foo.sys and foo.inf
into an ndis_driver_data.h file that can be compiled into if_ndis.o.
Contains an .inf file parser graciously provided by Matt Dodd (and
mercilessly hacked upon by me) that strips out device ID info and
registry key info from a .INF file and packages it up with a binary
image array. The ndiscvt(8) utility also does some manipulation of
the segments within the .sys file to make life easier for the kernel
loader. (Doing the manipulation here saves the kernel code from having
to move things around later, which would waste memory.)

ndiscvt is only built for the i386 arch. Only files.i386 has been
updated, and none of this is turned on in GENERIC. It should probably
work on pc98. I have no idea about amd64 or ia64 at this point.

This is still a work in progress. I estimate it's about %85 done, but
I want it under CVS control so I can track subsequent changes. It has
been tested with exactly three drivers: the LinkSys LNE100TX v4 driver
(Lne100v4.sys), the sample Intel 82559 driver from the Windows DDK
(e100bex.sys) and the Broadcom BCM43xx wireless driver (bcmwl5.sys). It
still needs to have a net80211 stuff added to it. To use it, you would
do something like this:

# cd /sys/modules/ndis
# make; make load
# cd /sys/modules/if_ndis
# ndiscvt -i /path/to/foo.inf -s /path/to/foo.sys -o ndis_driver_data.h
# make; make load
# sysctl -a | grep ndis

All registry keys are mapped to sysctl nodes. Sometimes drivers refer
to registry keys that aren't mentioned in foo.inf. If this happens,
the NDIS API module creates sysctl nodes for these keys on the fly so
you can tweak them.

An example usage of the Broadcom wireless driver would be:

# sysctl hw.ndis0.EnableAutoConnect=1
# sysctl hw.ndis0.SSID="MY_SSID"
# sysctl hw.ndis0.NetworkType=0 (0 for bss, 1 for adhoc)
# ifconfig ndis0 <my ipaddr> netmask 0xffffff00 up

Things to be done:

- get rid of debug messages
- add in ndis80211 support
- defer transmissions until after a status update with
  NDIS_STATUS_CONNECTED occurs
- Create smarter lookaside list support
- Split off if_ndis_pci.c and if_ndis_pccard.c attachments
- Make sure PCMCIA support works
- Fix ndiscvt to properly parse PCMCIA device IDs from INF files
- write ndisapi.9 man page

PR:
Submitted by:
Reviewed by:
Approved by:
Obtained from:
MFC after:
2003-12-11 22:34:36 +00:00
obrien
1bf6892caf Add just enough of i386/include/pcvt_ioctl.h to amd64/include/pcvt_ioctl.h
such that 'ispcvt' can build.  Unforunately 'ispcvt' is needed in order for
/etc/rc.d/syscons to run.  This fixes the bug where I could not get my
keymap effective at boot.
2003-12-10 02:49:17 +00:00
tjr
5f6ddde944 Add IPv6 support to pppctl by using getaddrinfo() and trying each address
it returns. This allows it to connect to the server side again, which
has been listening on IPv6 addresses exclusively for more than 2 years.

PR:		59369
2003-12-07 08:39:29 +00:00
phk
f9608ecffb Fix our kernel support for Basic Block Profiling to work with GCC33.
Approved by:	re@
2003-12-03 07:43:03 +00:00
brooks
2b3284fdce Reconnect ipfstat, ipnat, and ipftest to the build now that if_xname
support is enabled.

Approved by:	re (scottl)
2003-12-02 21:52:14 +00:00
marcus
76b226be4b Replace the KDE and GNOME 2 desktops with KDE (Lite Edition) and GNOME 2
(Lite Edition) respectively.  These "lite" packages are streamlined to
provide users with the core essentials for each desktop and to fit on the
release disc 1.

Approved by:	re (scottl)
2003-12-02 20:49:46 +00:00
rwatson
ef88c2c50a Spell SSHd as sshd.
Requested by:	jhb
Approved by:	re (jhb)
2003-12-01 18:58:14 +00:00
phk
66faa6a3a2 The new "spec against spec" comparison code was yet another time
victim of the special sort order employed where files come before
directories and alphabetic inside these two groups.

Approved by:	re@
2003-11-30 18:06:02 +00:00
rwatson
f02bee695e Add a Securelevel sub-menu to the Security configuration menu,
permitting the administrator to select a securelevel top operate
at.  Include a helpfile summarizing some of the information from
init(8).  This allows for explicit configuration of securelevels,
which was previously implicit in Security Profile selection.
Currently, there are no checkboxes for the active securelevel,
because sysinstall's facilities for deriving "current settings"
from rc.conf may use only one variable, not two, and I opted for
the simplest approach at this point.

Approved by:	re (scottl)
2003-11-29 21:44:51 +00:00
olgeni
c22fdb1a5b Cosmetic fix: a message was mixed with a dialog box border line.
Approved by:	re (rwatson)
2003-11-28 20:44:25 +00:00
rwatson
e983c8d12d Remove security profiles from sysinstall. Currently, security profile
selection is used to drive two configuration parameters:

(1) Default enable/disable for sshd
(2) Default enable/disable for securelevels

Replace this with an explicit choice to enable/disable sshd.  A
follow-up commit will add a configuration option to the Security
post-install configuration menu to set the securelevel in rc.conf
explicitly.  This should reduce the level of foot-shooting associated
with accidental enabling of securelevels, make the nature and
implications of the securelevel configuration options more explicit,
as well as make the choice to enable/disable sshd more explicit.

Approved by:	re (scottl)
2003-11-28 18:47:45 +00:00
kensmith
d615638d00 - Drop down to one snapshots FTP site since that's all we have now
- Adjust names of IPv6 FTP hosts a bit
	- Sync list of FTP sites with reality

Approved by:	rwatson (re@)
2003-11-24 15:27:20 +00:00
jhb
39caffc9b9 Add Greek keymaps to sysinstall.
PR:		bin/59078
Submitted by:	Panagiotis Astithas <past@noc.ntua.gr>
Approved by:	re (rwatson)
2003-11-20 20:43:06 +00:00
rwatson
b7bf2a8dfd A variety of content cleanups:
(1) Document the notion of using jail(8) to run "virtual servers" or
    just to constrain specific applications.  If only running specific
    applications, some configuration steps are unnecessary (such as
    editing rc.conf).

(2) Add some more subsection headers to break up the bigger chunks of
    text.

(3) Clarify the problems associated with applications binding all IP
    addresses in the host, and attempt to be more specific about
    potential application problems.  Document how to force sshd to
    bind the the right socket.

(4) Suggest that in a jailed application scenario, you might want to
    have the host syslogd listen on the socket in the jail, rather
    than running syslogd in the jail.

(5) Catch another reference to /stand/sysinstall.

Approved by:	re (bmah implicitly)
2003-11-20 03:47:50 +00:00
rwatson
6b9c80ba7a No need to copy sysinstall into a jail with -CURRENT, since in
-CURRENT, we have /usr/sbin/sysinstall.

Approved by:	re (bmah implicitly)
2003-11-20 02:46:44 +00:00
phk
2a56ea9233 Off by one error in malloc.
Approved by:	re@
2003-11-19 15:28:21 +00:00