PERFORCE change 56566 for review
Marcel Moolenaar
marcel at FreeBSD.org
Mon Jul 5 18:59:30 PDT 2004
http://perforce.freebsd.org/chv.cgi?CH=56566
Change 56566 by marcel at marcel_nfs on 2004/07/06 01:58:46
IFC @56561
Affected files ...
.. //depot/projects/gdb/UPDATING#19 integrate
.. //depot/projects/gdb/contrib/gnu-sort/FREEBSD-upgrade#3 integrate
.. //depot/projects/gdb/contrib/gnu-sort/src/sort.c#3 integrate
.. //depot/projects/gdb/contrib/top/top.c#3 integrate
.. //depot/projects/gdb/etc/devd.conf#5 integrate
.. //depot/projects/gdb/gnu/lib/libregex/FREEBSD-upgrade#2 integrate
.. //depot/projects/gdb/include/Makefile#8 integrate
.. //depot/projects/gdb/include/ftw.h#1 branch
.. //depot/projects/gdb/lib/libalias/Makefile#4 integrate
.. //depot/projects/gdb/lib/libalias/alias.c#7 integrate
.. //depot/projects/gdb/lib/libalias/alias.h#5 integrate
.. //depot/projects/gdb/lib/libalias/alias_cuseeme.c#4 integrate
.. //depot/projects/gdb/lib/libalias/alias_db.c#4 integrate
.. //depot/projects/gdb/lib/libalias/alias_ftp.c#4 integrate
.. //depot/projects/gdb/lib/libalias/alias_irc.c#4 integrate
.. //depot/projects/gdb/lib/libalias/alias_local.h#5 integrate
.. //depot/projects/gdb/lib/libalias/alias_nbt.c#4 integrate
.. //depot/projects/gdb/lib/libalias/alias_old.c#3 integrate
.. //depot/projects/gdb/lib/libalias/alias_pptp.c#5 integrate
.. //depot/projects/gdb/lib/libalias/alias_proxy.c#4 integrate
.. //depot/projects/gdb/lib/libalias/alias_skinny.c#4 integrate
.. //depot/projects/gdb/lib/libalias/alias_smedia.c#4 integrate
.. //depot/projects/gdb/lib/libalias/alias_util.c#5 integrate
.. //depot/projects/gdb/lib/libarchive/archive_entry.3#7 integrate
.. //depot/projects/gdb/lib/libarchive/archive_entry.c#17 integrate
.. //depot/projects/gdb/lib/libarchive/archive_entry.h#10 integrate
.. //depot/projects/gdb/lib/libarchive/archive_read.3#10 integrate
.. //depot/projects/gdb/lib/libarchive/archive_util.3#2 integrate
.. //depot/projects/gdb/lib/libarchive/archive_write.3#4 integrate
.. //depot/projects/gdb/lib/libarchive/libarchive-formats.5#2 integrate
.. //depot/projects/gdb/lib/libarchive/libarchive.3#4 integrate
.. //depot/projects/gdb/lib/libarchive/tar.5#6 integrate
.. //depot/projects/gdb/lib/libbluetooth/bluetooth.3#3 integrate
.. //depot/projects/gdb/lib/libbsnmp/modules/snmp_netgraph/snmp_netgraph.3#4 integrate
.. //depot/projects/gdb/lib/libc/gen/Makefile.inc#4 integrate
.. //depot/projects/gdb/lib/libc/gen/ftw.3#1 branch
.. //depot/projects/gdb/lib/libc/gen/ftw.c#1 branch
.. //depot/projects/gdb/lib/libc/gen/getttyent.3#2 integrate
.. //depot/projects/gdb/lib/libc/gen/shm_open.3#3 integrate
.. //depot/projects/gdb/lib/libc/locale/big5.5#2 integrate
.. //depot/projects/gdb/lib/libc/locale/euc.5#2 integrate
.. //depot/projects/gdb/lib/libc/locale/gb18030.5#2 integrate
.. //depot/projects/gdb/lib/libc/locale/gb2312.5#3 integrate
.. //depot/projects/gdb/lib/libc/locale/gbk.5#2 integrate
.. //depot/projects/gdb/lib/libc/locale/isideogram.3#2 integrate
.. //depot/projects/gdb/lib/libc/locale/localeconv.3#2 integrate
.. //depot/projects/gdb/lib/libc/locale/mblen.3#5 integrate
.. //depot/projects/gdb/lib/libc/locale/mbstowcs.3#3 integrate
.. //depot/projects/gdb/lib/libc/locale/mbtowc.3#4 integrate
.. //depot/projects/gdb/lib/libc/locale/mskanji.5#2 integrate
.. //depot/projects/gdb/lib/libc/locale/utf2.5#3 integrate
.. //depot/projects/gdb/lib/libc/locale/wcstombs.3#4 integrate
.. //depot/projects/gdb/lib/libc/locale/wctomb.3#3 integrate
.. //depot/projects/gdb/lib/libc/net/getifmaddrs.3#2 integrate
.. //depot/projects/gdb/lib/libc/net/inet6_opt_init.3#4 integrate
.. //depot/projects/gdb/lib/libc/net/inet6_rth_space.3#4 integrate
.. //depot/projects/gdb/lib/libc/posix1e/acl_delete.3#3 integrate
.. //depot/projects/gdb/lib/libc/stdio/fflush.c#2 integrate
.. //depot/projects/gdb/lib/libc/stdlib/exit.3#2 integrate
.. //depot/projects/gdb/lib/libc/sys/execve.2#3 integrate
.. //depot/projects/gdb/lib/libc/sys/extattr_get_file.2#2 integrate
.. //depot/projects/gdb/lib/libc/sys/sched_setparam.2#3 integrate
.. //depot/projects/gdb/lib/libc/sys/setuid.2#2 integrate
.. //depot/projects/gdb/lib/libc/sys/vfork.2#3 integrate
.. //depot/projects/gdb/lib/libc/sys/wait.2#4 integrate
.. //depot/projects/gdb/lib/libkiconv/kiconv.3#4 integrate
.. //depot/projects/gdb/lib/libpam/modules/pam_guest/pam_guest.8#3 integrate
.. //depot/projects/gdb/lib/libsdp/sdp.3#5 integrate
.. //depot/projects/gdb/lib/libufs/bread.3#3 integrate
.. //depot/projects/gdb/lib/libufs/cgread.3#3 integrate
.. //depot/projects/gdb/lib/libufs/getino.3#3 integrate
.. //depot/projects/gdb/lib/libufs/libufs.3#3 integrate
.. //depot/projects/gdb/lib/libufs/sbread.3#3 integrate
.. //depot/projects/gdb/sbin/geom/class/concat/gconcat.8#4 integrate
.. //depot/projects/gdb/sbin/geom/class/concat/geom_concat.c#3 integrate
.. //depot/projects/gdb/sbin/geom/class/label/geom_label.c#2 integrate
.. //depot/projects/gdb/sbin/geom/class/label/glabel.8#3 integrate
.. //depot/projects/gdb/sbin/geom/class/stripe/geom_stripe.c#3 integrate
.. //depot/projects/gdb/sbin/geom/class/stripe/gstripe.8#4 integrate
.. //depot/projects/gdb/sbin/geom/misc/subr.c#3 integrate
.. //depot/projects/gdb/sbin/geom/misc/subr.h#3 integrate
.. //depot/projects/gdb/share/man/man4/man4.i386/ndis.4#4 integrate
.. //depot/projects/gdb/share/man/man4/man4.i386/pae.4#3 integrate
.. //depot/projects/gdb/share/man/man4/matcd.4#4 integrate
.. //depot/projects/gdb/share/man/man4/natmip.4#3 integrate
.. //depot/projects/gdb/share/man/man4/ng_atm.4#4 integrate
.. //depot/projects/gdb/share/man/man4/ng_atmpif.4#4 integrate
.. //depot/projects/gdb/share/man/man4/ng_one2many.4#7 integrate
.. //depot/projects/gdb/share/man/man4/ng_sppp.4#5 integrate
.. //depot/projects/gdb/share/man/man4/random.4#6 integrate
.. //depot/projects/gdb/share/man/man4/sbp_targ.4#3 integrate
.. //depot/projects/gdb/share/man/man8/rc.8#3 integrate
.. //depot/projects/gdb/share/man/man9/VOP_LINK.9#2 integrate
.. //depot/projects/gdb/share/man/man9/VOP_LISTEXTATTR.9#3 integrate
.. //depot/projects/gdb/share/man/man9/g_access.9#5 integrate
.. //depot/projects/gdb/share/man/man9/g_attach.9#5 integrate
.. //depot/projects/gdb/share/man/man9/g_bio.9#5 integrate
.. //depot/projects/gdb/share/man/man9/g_consumer.9#5 integrate
.. //depot/projects/gdb/share/man/man9/g_data.9#5 integrate
.. //depot/projects/gdb/share/man/man9/g_event.9#5 integrate
.. //depot/projects/gdb/share/man/man9/g_geom.9#5 integrate
.. //depot/projects/gdb/share/man/man9/g_provider.9#5 integrate
.. //depot/projects/gdb/share/man/man9/g_provider_by_name.9#4 integrate
.. //depot/projects/gdb/share/man/man9/g_wither_geom.9#4 integrate
.. //depot/projects/gdb/share/man/man9/ieee80211.9#2 integrate
.. //depot/projects/gdb/share/man/man9/ithread.9#3 integrate
.. //depot/projects/gdb/share/man/man9/mutex.9#5 integrate
.. //depot/projects/gdb/share/man/man9/p_candebug.9#2 integrate
.. //depot/projects/gdb/share/man/man9/pmap.9#3 integrate
.. //depot/projects/gdb/share/man/man9/pmap_addr_hint.9#2 integrate
.. //depot/projects/gdb/share/man/man9/pmap_change_wiring.9#2 integrate
.. //depot/projects/gdb/share/man/man9/pmap_clear_modify.9#2 integrate
.. //depot/projects/gdb/share/man/man9/pmap_copy.9#2 integrate
.. //depot/projects/gdb/share/man/man9/pmap_enter.9#2 integrate
.. //depot/projects/gdb/share/man/man9/pmap_extract.9#2 integrate
.. //depot/projects/gdb/share/man/man9/pmap_is_modified.9#2 integrate
.. //depot/projects/gdb/share/man/man9/pmap_is_prefaultable.9#2 integrate
.. //depot/projects/gdb/share/man/man9/pmap_map.9#2 integrate
.. //depot/projects/gdb/share/man/man9/pmap_mincore.9#2 integrate
.. //depot/projects/gdb/share/man/man9/pmap_object_init_pt.9#2 integrate
.. //depot/projects/gdb/share/man/man9/pmap_page_protect.9#2 integrate
.. //depot/projects/gdb/share/man/man9/pmap_zero_page.9#2 integrate
.. //depot/projects/gdb/share/man/man9/signal.9#2 integrate
.. //depot/projects/gdb/sys/alpha/alpha/pmap.c#10 integrate
.. //depot/projects/gdb/sys/alpha/include/pmap.h#7 integrate
.. //depot/projects/gdb/sys/arm/arm/pmap.c#4 integrate
.. //depot/projects/gdb/sys/dev/fdc/fdc.c#4 integrate
.. //depot/projects/gdb/sys/geom/concat/g_concat.c#8 integrate
.. //depot/projects/gdb/sys/geom/concat/g_concat.h#5 integrate
.. //depot/projects/gdb/sys/geom/label/g_label.c#2 integrate
.. //depot/projects/gdb/sys/geom/label/g_label.h#2 integrate
.. //depot/projects/gdb/sys/geom/stripe/g_stripe.c#3 integrate
.. //depot/projects/gdb/sys/geom/stripe/g_stripe.h#2 integrate
.. //depot/projects/gdb/sys/geom/vinum/geom_vinum.c#4 integrate
.. //depot/projects/gdb/sys/i386/isa/isa.h#3 integrate
.. //depot/projects/gdb/sys/i386/isa/isa_dma.c#3 integrate
.. //depot/projects/gdb/sys/i4b/driver/i4b_ing.c#5 integrate
.. //depot/projects/gdb/sys/ia64/ia64/pmap.c#9 integrate
.. //depot/projects/gdb/sys/isa/orm.c#3 integrate
.. //depot/projects/gdb/sys/kern/uipc_socket.c#18 integrate
.. //depot/projects/gdb/sys/kern/vfs_subr.c#14 integrate
.. //depot/projects/gdb/sys/net/bpf.c#8 integrate
.. //depot/projects/gdb/sys/net/bridge.c#8 integrate
.. //depot/projects/gdb/sys/pci/if_dc.c#8 integrate
.. //depot/projects/gdb/sys/pci/if_de.c#7 integrate
.. //depot/projects/gdb/sys/pci/if_rl.c#11 integrate
.. //depot/projects/gdb/sys/pci/if_rlreg.h#4 integrate
.. //depot/projects/gdb/sys/pci/if_sf.c#6 integrate
.. //depot/projects/gdb/sys/pci/if_ti.c#6 integrate
.. //depot/projects/gdb/sys/pci/if_xl.c#8 integrate
.. //depot/projects/gdb/sys/pci/if_xlreg.h#2 integrate
.. //depot/projects/gdb/sys/powerpc/powerpc/pmap.c#8 integrate
.. //depot/projects/gdb/sys/sys/mount.h#9 integrate
.. //depot/projects/gdb/usr.bin/compress/compress.1#3 integrate
.. //depot/projects/gdb/usr.bin/fetch/fetch.c#6 integrate
.. //depot/projects/gdb/usr.bin/join/join.1#4 integrate
.. //depot/projects/gdb/usr.bin/join/join.c#2 integrate
.. //depot/projects/gdb/usr.bin/rup/rup.1#3 integrate
.. //depot/projects/gdb/usr.bin/rusers/rusers.1#3 integrate
.. //depot/projects/gdb/usr.bin/rwall/rwall.1#3 integrate
.. //depot/projects/gdb/usr.bin/tar/bsdtar.1#10 integrate
.. //depot/projects/gdb/usr.bin/top/machine.c#4 integrate
.. //depot/projects/gdb/usr.sbin/syslogd/syslogd.c#6 integrate
.. //depot/projects/gdb/usr.sbin/ypserv/ypinit.8#2 integrate
Differences ...
==== //depot/projects/gdb/UPDATING#19 (text+ko) ====
@@ -17,6 +17,13 @@
developers choose to disable these features on build machines
to maximize performance.
+20040702:
+ The native preemption has been added to the kernel scheduler.
+ There is some report that ULE scheduler was broken in some
+ machines and we encourage users using ULE schedluer either
+ stick with an known good kernel, or temporary switch to 4BSD
+ scheduler as a workaround.
+
20040630:
The netgraph ABI version number has been incremented to indicate
an incompatible change in the ABI. Old netgraph nodes will refuse
@@ -26,6 +33,9 @@
case the changes are simple; the file ng_ksocket.c serves as an
example of such changes.
+ This also broke i4b, although the compile problem has been papered
+ over.
+
20040630:
ACPI has been updated to disable known-bad BIOS revisions. A message
will be printed on console indicating that ACPI has been disabled
@@ -1670,4 +1680,4 @@
Contact Warner Losh if you have any questions about your use of
this document.
-$FreeBSD: src/UPDATING,v 1.321 2004/06/30 23:13:16 bms Exp $
+$FreeBSD: src/UPDATING,v 1.322 2004/07/05 18:11:59 imp Exp $
==== //depot/projects/gdb/contrib/gnu-sort/FREEBSD-upgrade#3 (text+ko) ====
@@ -1,4 +1,4 @@
-$FreeBSD: src/contrib/gnu-sort/FREEBSD-upgrade,v 1.3 2004/07/03 02:37:42 tjr Exp $
+$FreeBSD: src/contrib/gnu-sort/FREEBSD-upgrade,v 1.4 2004/07/06 00:33:52 ache Exp $
GNU Sort
originals can be found at: ftp://ftp.gnu.org/gnu/coreutils/
@@ -12,6 +12,3 @@
cvs import \
-m "Virgin import (trimmed) of GNU Sort, coreutils 5.2.1" \
src/contrib/gnu-sort FSF SORT_v5_2_1
-
-ache at FreeBSD.org
-30 Aug 2003
==== //depot/projects/gdb/contrib/gnu-sort/src/sort.c#3 (text+ko) ====
@@ -1,4 +1,4 @@
-/* $FreeBSD: src/contrib/gnu-sort/src/sort.c,v 1.2 2004/07/02 11:07:42 tjr Exp $ */
+/* $FreeBSD: src/contrib/gnu-sort/src/sort.c,v 1.3 2004/07/05 12:40:31 tjr Exp $ */
/* sort - sort lines of text (with all kinds of options).
Copyright (C) 88, 1991-2004 Free Software Foundation, Inc.
@@ -301,13 +301,11 @@
they were read if all keys compare equal. */
static bool stable;
-/* If TAB has this value, blanks separate fields. */
-enum { TAB_DEFAULT = CHAR_MAX + 1 };
-
-/* Tab character separating fields. If TAB_DEFAULT, then fields are
+/* Tab character separating fields. If tab_default, then fields are
separated by the empty string between a non-blank character and a blank
character. */
-static int tab[MB_LEN_MAX + 1] = { TAB_DEFAULT };
+static bool tab_default = true;
+static unsigned char tab[MB_LEN_MAX + 1];
static size_t tab_length = 1;
/* Flag to remove consecutive duplicate lines from the output.
@@ -949,7 +947,7 @@
/* The leading field separator itself is included in a field when -t
is absent. */
- if (tab[0] != TAB_DEFAULT)
+ if (!tab_default)
while (ptr < lim && sword--)
{
while (ptr < lim && *ptr != tab[0])
@@ -993,7 +991,7 @@
memset (&state, '\0', sizeof(mbstate_t));
- if (tab[0] != TAB_DEFAULT)
+ if (!tab_default)
while (ptr < lim && sword--)
{
while (ptr < lim && memcmp (ptr, tab, tab_length) != 0)
@@ -1056,7 +1054,7 @@
`beginning' is the first character following the delimiting TAB.
Otherwise, leave PTR pointing at the first `blank' character after
the preceding field. */
- if (tab[0] != TAB_DEFAULT)
+ if (!tab_default)
while (ptr < lim && eword--)
{
while (ptr < lim && *ptr != tab[0])
@@ -1105,7 +1103,7 @@
*/
/* Make LIM point to the end of (one byte past) the current field. */
- if (tab[0] != TAB_DEFAULT)
+ if (!tab_default)
{
char *newlim;
newlim = memchr (ptr, tab[0], lim - ptr);
@@ -1152,7 +1150,7 @@
memset (&state, '\0', sizeof(mbstate_t));
- if (tab[0])
+ if (!tab_default)
while (ptr < lim && eword--)
{
while (ptr < lim && memcmp (ptr, tab, tab_length) != 0)
@@ -1183,7 +1181,7 @@
# ifdef POSIX_UNSPECIFIED
/* Make LIM point to the end of (one byte past) the current field. */
- if (tab[0])
+ if (!tab_default)
{
char *newlim, *p;
@@ -3150,6 +3148,7 @@
case 't':
{
char newtab[MB_LEN_MAX + 1];
+ size_t newtab_length = 1;
strncpy (newtab, optarg, MB_LEN_MAX);
if (! newtab[0])
error (SORT_FAILURE, 0, _("empty tab"));
@@ -3158,7 +3157,7 @@
{
wchar_t wc;
mbstate_t state;
- size_t newtab_length, i;
+ size_t i;
memset (&state, '\0', sizeof (mbstate_t));
newtab_length = mbrtowc (&wc, newtab, strnlen (newtab, MB_LEN_MAX), &state);
@@ -3170,7 +3169,7 @@
newtab_length = 1;
}
- if (optarg[tab_length])
+ if (optarg[newtab_length])
{
/* Provoke with `sort -txx'. Complain about
"multi-character tab" instead of "multibyte tab", so
@@ -3179,9 +3178,6 @@
error (SORT_FAILURE, 0, _("multi-character tab `%s'"),
optarg);
}
-
- for (i = 0; i < newtab_length; i++)
- tab[i] = newtab[i];
}
else
#endif
@@ -3200,9 +3196,12 @@
optarg);
}
}
- if (tab[0] != TAB_DEFAULT && tab[0] != newtab[0])
+ if (!tab_default && (tab_length != newtab_length
+ || memcmp(tab, newtab, tab_length) != 0))
error (SORT_FAILURE, 0, _("incompatible tabs"));
- tab[0] = newtab[0];
+ memcpy(tab, newtab, newtab_length);
+ tab_length = newtab_length;
+ tab_default = false;
}
break;
==== //depot/projects/gdb/contrib/top/top.c#3 (text+ko) ====
@@ -13,7 +13,7 @@
* Copyright (c) 1994, 1995, William LeFebvre, Argonne National Laboratory
* Copyright (c) 1996, William LeFebvre, Group sys Consulting
*
- * $FreeBSD: src/contrib/top/top.c,v 1.11 2004/07/01 09:12:38 alfred Exp $
+ * $FreeBSD: src/contrib/top/top.c,v 1.12 2004/07/05 12:19:53 des Exp $
*/
/*
@@ -354,7 +354,7 @@
}
break;
- case 'm': /* select sort order */
+ case 'm': /* select display mode */
if (strcmp(optarg, "io") == 0) {
displaymode = DISP_IO;
} else if (strcmp(optarg, "cpu") == 0) {
==== //depot/projects/gdb/etc/devd.conf#5 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/etc/devd.conf,v 1.13 2004/06/06 11:46:27 schweikh Exp $
+# $FreeBSD: src/etc/devd.conf,v 1.14 2004/07/05 20:16:30 imp Exp $
#
# Refer to devd.conf(5) and devd(8) man pages for the details on how to
# run and configure devd.
@@ -60,7 +60,7 @@
#
attach 0 {
device-name "$scsi-controller-regex";
- action "camcontrol rescan all";
+// action "camcontrol rescan all";
};
# Don't even try to second guess what to do about drivers that don't
==== //depot/projects/gdb/gnu/lib/libregex/FREEBSD-upgrade#2 (text+ko) ====
@@ -1,14 +1,12 @@
-$FreeBSD: src/gnu/lib/libregex/FREEBSD-upgrade,v 1.1 2004/02/25 02:59:26 ache Exp $
+$FreeBSD: src/gnu/lib/libregex/FREEBSD-upgrade,v 1.2 2004/07/06 00:10:40 ache Exp $
GNU regex (from grep):
-originals can be found at: ftp://ftp.gnu.org/gnu/grep/
+originals can be found at:
+http://download.fedora.redhat.com/pub/fedora/linux/core/2/SRPMS/grep-2.5.1-26.src.rpm
Imported by:
cvs import \
- -m "Virgin import (trimmed) of GNU regex, from GNU grep 2.4.2" \
- src/gnu/lib/libregex FSF from_grep_v2_4_2
-
-ache at FreeBSD.org
-25 Feb 2004
+ -m "Import of GNU regex from GNU grep 2.5.1 (trimmed)." \
+ src/gnu/lib/libregex FSF from_grep_v2_5_1
==== //depot/projects/gdb/include/Makefile#8 (text+ko) ====
@@ -1,5 +1,5 @@
# @(#)Makefile 8.2 (Berkeley) 1/4/94
-# $FreeBSD: src/include/Makefile,v 1.215 2004/07/02 19:40:35 pjd Exp $
+# $FreeBSD: src/include/Makefile,v 1.216 2004/07/05 23:13:16 das Exp $
#
# Doing a "make install" builds /usr/include.
@@ -7,7 +7,8 @@
SUBDIR= arpa protocols rpcsvc rpc
INCS= a.out.h ar.h assert.h bitstring.h complex.h cpio.h ctype.h db.h \
dirent.h dlfcn.h elf.h elf-hints.h err.h fmtmsg.h fnmatch.h fstab.h \
- fts.h getopt.h glob.h grp.h hesiod.h histedit.h ieeefp.h ifaddrs.h \
+ fts.h ftw.h getopt.h glob.h grp.h \
+ hesiod.h histedit.h ieeefp.h ifaddrs.h \
inttypes.h iso646.h kenv.h langinfo.h libgen.h limits.h link.h \
locale.h malloc.h memory.h monetary.h mpool.h ndbm.h netconfig.h \
netdb.h nl_types.h nlist.h nss.h nsswitch.h objformat.h paths.h \
==== //depot/projects/gdb/lib/libalias/Makefile#4 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/lib/libalias/Makefile,v 1.25 2004/03/31 21:33:55 des Exp $
+# $FreeBSD: src/lib/libalias/Makefile,v 1.26 2004/07/05 11:10:57 des Exp $
LIB= alias
SHLIBDIR?= /lib
@@ -8,6 +8,6 @@
alias_nbt.c alias_pptp.c alias_proxy.c alias_skinny.c alias_smedia.c \
alias_util.c alias_old.c
INCS= alias.h
-WARNS?= 2
+WARNS?= 6
.include <bsd.lib.mk>
==== //depot/projects/gdb/lib/libalias/alias.c#7 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libalias/alias.c,v 1.43 2004/07/04 12:53:07 phk Exp $");
+__FBSDID("$FreeBSD: src/lib/libalias/alias.c,v 1.46 2004/07/05 11:10:57 des Exp $");
/*
Alias.c provides supervisory control for the functions of the
@@ -47,56 +47,56 @@
Version 1.0 August, 1996 (cjm)
Version 1.1 August 20, 1996 (cjm)
- PPP host accepts incoming connections for ports 0 to 1023.
- (Gary Roberts pointed out the need to handle incoming
- connections.)
+ PPP host accepts incoming connections for ports 0 to 1023.
+ (Gary Roberts pointed out the need to handle incoming
+ connections.)
Version 1.2 September 7, 1996 (cjm)
- Fragment handling error in alias_db.c corrected.
- (Tom Torrance helped fix this problem.)
+ Fragment handling error in alias_db.c corrected.
+ (Tom Torrance helped fix this problem.)
Version 1.4 September 16, 1996 (cjm)
- - A more generalized method for handling incoming
- connections, without the 0-1023 restriction, is
- implemented in alias_db.c
- - Improved ICMP support in alias.c. Traceroute
- packet streams can now be correctly aliased.
- - TCP connection closing logic simplified in
- alias.c and now allows for additional 1 minute
- "grace period" after FIN or RST is observed.
+ - A more generalized method for handling incoming
+ connections, without the 0-1023 restriction, is
+ implemented in alias_db.c
+ - Improved ICMP support in alias.c. Traceroute
+ packet streams can now be correctly aliased.
+ - TCP connection closing logic simplified in
+ alias.c and now allows for additional 1 minute
+ "grace period" after FIN or RST is observed.
Version 1.5 September 17, 1996 (cjm)
- Corrected error in handling incoming UDP packets with 0 checksum.
- (Tom Torrance helped fix this problem.)
+ Corrected error in handling incoming UDP packets with 0 checksum.
+ (Tom Torrance helped fix this problem.)
Version 1.6 September 18, 1996 (cjm)
- Simplified ICMP aliasing scheme. Should now support
- traceroute from Win95 as well as FreeBSD.
+ Simplified ICMP aliasing scheme. Should now support
+ traceroute from Win95 as well as FreeBSD.
Version 1.7 January 9, 1997 (cjm)
- - Out-of-order fragment handling.
- - IP checksum error fixed for ftp transfers
- from aliasing host.
- - Integer return codes added to all
- aliasing/de-aliasing functions.
- - Some obsolete comments cleaned up.
- - Differential checksum computations for
- IP header (TCP, UDP and ICMP were already
- differential).
+ - Out-of-order fragment handling.
+ - IP checksum error fixed for ftp transfers
+ from aliasing host.
+ - Integer return codes added to all
+ aliasing/de-aliasing functions.
+ - Some obsolete comments cleaned up.
+ - Differential checksum computations for
+ IP header (TCP, UDP and ICMP were already
+ differential).
Version 2.1 May 1997 (cjm)
- - Added support for outgoing ICMP error
- messages.
- - Added two functions PacketAliasIn2()
- and PacketAliasOut2() for dynamic address
- control (e.g. round-robin allocation of
- incoming packets).
+ - Added support for outgoing ICMP error
+ messages.
+ - Added two functions PacketAliasIn2()
+ and PacketAliasOut2() for dynamic address
+ control (e.g. round-robin allocation of
+ incoming packets).
Version 2.2 July 1997 (cjm)
- - Rationalized API function names to begin
- with "PacketAlias..."
- - Eliminated PacketAliasIn2() and
- PacketAliasOut2() as poorly conceived.
+ - Rationalized API function names to begin
+ with "PacketAlias..."
+ - Eliminated PacketAliasIn2() and
+ PacketAliasOut2() as poorly conceived.
Version 2.3 Dec 1998 (dillon)
- Major bounds checking additions, see FreeBSD/CVS
@@ -162,43 +162,43 @@
static void
-TcpMonitorIn(struct ip *pip, struct alias_link *link)
+TcpMonitorIn(struct ip *pip, struct alias_link *lnk)
{
struct tcphdr *tc;
tc = (struct tcphdr *)((char *)pip + (pip->ip_hl << 2));
- switch (GetStateIn(link)) {
+ switch (GetStateIn(lnk)) {
case ALIAS_TCP_STATE_NOT_CONNECTED:
if (tc->th_flags & TH_RST)
- SetStateIn(link, ALIAS_TCP_STATE_DISCONNECTED);
+ SetStateIn(lnk, ALIAS_TCP_STATE_DISCONNECTED);
else if (tc->th_flags & TH_SYN)
- SetStateIn(link, ALIAS_TCP_STATE_CONNECTED);
+ SetStateIn(lnk, ALIAS_TCP_STATE_CONNECTED);
break;
case ALIAS_TCP_STATE_CONNECTED:
if (tc->th_flags & (TH_FIN | TH_RST))
- SetStateIn(link, ALIAS_TCP_STATE_DISCONNECTED);
+ SetStateIn(lnk, ALIAS_TCP_STATE_DISCONNECTED);
break;
}
}
static void
-TcpMonitorOut(struct ip *pip, struct alias_link *link)
+TcpMonitorOut(struct ip *pip, struct alias_link *lnk)
{
struct tcphdr *tc;
tc = (struct tcphdr *)((char *)pip + (pip->ip_hl << 2));
- switch (GetStateOut(link)) {
+ switch (GetStateOut(lnk)) {
case ALIAS_TCP_STATE_NOT_CONNECTED:
if (tc->th_flags & TH_RST)
- SetStateOut(link, ALIAS_TCP_STATE_DISCONNECTED);
+ SetStateOut(lnk, ALIAS_TCP_STATE_DISCONNECTED);
else if (tc->th_flags & TH_SYN)
- SetStateOut(link, ALIAS_TCP_STATE_CONNECTED);
+ SetStateOut(lnk, ALIAS_TCP_STATE_CONNECTED);
break;
case ALIAS_TCP_STATE_CONNECTED:
if (tc->th_flags & (TH_FIN | TH_RST))
- SetStateOut(link, ALIAS_TCP_STATE_DISCONNECTED);
+ SetStateOut(lnk, ALIAS_TCP_STATE_DISCONNECTED);
break;
}
}
@@ -273,18 +273,18 @@
De-alias incoming echo and timestamp replies.
Alias incoming echo and timestamp requests.
*/
- struct alias_link *link;
+ struct alias_link *lnk;
struct icmp *ic;
ic = (struct icmp *)((char *)pip + (pip->ip_hl << 2));
/* Get source address from ICMP data field and restore original data */
- link = FindIcmpIn(la, pip->ip_src, pip->ip_dst, ic->icmp_id, 1);
- if (link != NULL) {
+ lnk = FindIcmpIn(la, pip->ip_src, pip->ip_dst, ic->icmp_id, 1);
+ if (lnk != NULL) {
u_short original_id;
int accumulate;
- original_id = GetOriginalPort(link);
+ original_id = GetOriginalPort(lnk);
/* Adjust ICMP checksum */
accumulate = ic->icmp_id;
@@ -298,7 +298,7 @@
{
struct in_addr original_address;
- original_address = GetOriginalAddress(link);
+ original_address = GetOriginalAddress(lnk);
DifferentialChecksum(&pip->ip_sum,
&original_address, &pip->ip_dst, 2);
pip->ip_dst = original_address;
@@ -320,7 +320,7 @@
struct icmp *ic, *ic2;
struct udphdr *ud;
struct tcphdr *tc;
- struct alias_link *link;
+ struct alias_link *lnk;
ic = (struct icmp *)((char *)pip + (pip->ip_hl << 2));
ip = &ic->icmp_ip;
@@ -330,29 +330,29 @@
ic2 = (struct icmp *)ud;
if (ip->ip_p == IPPROTO_UDP)
- link = FindUdpTcpIn(la, ip->ip_dst, ip->ip_src,
+ lnk = FindUdpTcpIn(la, ip->ip_dst, ip->ip_src,
ud->uh_dport, ud->uh_sport,
IPPROTO_UDP, 0);
else if (ip->ip_p == IPPROTO_TCP)
- link = FindUdpTcpIn(la, ip->ip_dst, ip->ip_src,
+ lnk = FindUdpTcpIn(la, ip->ip_dst, ip->ip_src,
tc->th_dport, tc->th_sport,
IPPROTO_TCP, 0);
else if (ip->ip_p == IPPROTO_ICMP) {
if (ic2->icmp_type == ICMP_ECHO || ic2->icmp_type == ICMP_TSTAMP)
- link = FindIcmpIn(la, ip->ip_dst, ip->ip_src, ic2->icmp_id, 0);
+ lnk = FindIcmpIn(la, ip->ip_dst, ip->ip_src, ic2->icmp_id, 0);
else
- link = NULL;
+ lnk = NULL;
} else
- link = NULL;
+ lnk = NULL;
- if (link != NULL) {
+ if (lnk != NULL) {
if (ip->ip_p == IPPROTO_UDP || ip->ip_p == IPPROTO_TCP) {
int accumulate, accumulate2;
struct in_addr original_address;
u_short original_port;
- original_address = GetOriginalAddress(link);
- original_port = GetOriginalPort(link);
+ original_address = GetOriginalAddress(lnk);
+ original_port = GetOriginalPort(lnk);
/* Adjust ICMP checksum */
accumulate = twowords(&ip->ip_src);
@@ -379,8 +379,8 @@
struct in_addr original_address;
u_short original_id;
- original_address = GetOriginalAddress(link);
- original_id = GetOriginalPort(link);
+ original_address = GetOriginalAddress(lnk);
+ original_id = GetOriginalPort(lnk);
/* Adjust ICMP checksum */
accumulate = twowords(&ip->ip_src);
@@ -417,7 +417,7 @@
/* Return if proxy-only mode is enabled */
if (la->packetAliasMode & PKT_ALIAS_PROXY_ONLY)
- return PKT_ALIAS_OK;
+ return (PKT_ALIAS_OK);
ic = (struct icmp *)((char *)pip + (pip->ip_hl << 2));
@@ -451,18 +451,18 @@
Alias outgoing echo and timestamp requests.
De-alias outgoing echo and timestamp replies.
*/
- struct alias_link *link;
+ struct alias_link *lnk;
struct icmp *ic;
ic = (struct icmp *)((char *)pip + (pip->ip_hl << 2));
/* Save overwritten data for when echo packet returns */
- link = FindIcmpOut(la, pip->ip_src, pip->ip_dst, ic->icmp_id, 1);
- if (link != NULL) {
+ lnk = FindIcmpOut(la, pip->ip_src, pip->ip_dst, ic->icmp_id, 1);
+ if (lnk != NULL) {
u_short alias_id;
int accumulate;
- alias_id = GetAliasPort(link);
+ alias_id = GetAliasPort(lnk);
/* Since data field is being modified, adjust ICMP checksum */
accumulate = ic->icmp_id;
@@ -476,7 +476,7 @@
{
struct in_addr alias_address;
- alias_address = GetAliasAddress(link);
+ alias_address = GetAliasAddress(lnk);
DifferentialChecksum(&pip->ip_sum,
&alias_address, &pip->ip_src, 2);
pip->ip_src = alias_address;
@@ -499,7 +499,7 @@
struct icmp *ic, *ic2;
struct udphdr *ud;
struct tcphdr *tc;
- struct alias_link *link;
+ struct alias_link *lnk;
ic = (struct icmp *)((char *)pip + (pip->ip_hl << 2));
ip = &ic->icmp_ip;
@@ -509,29 +509,29 @@
ic2 = (struct icmp *)ud;
if (ip->ip_p == IPPROTO_UDP)
- link = FindUdpTcpOut(la, ip->ip_dst, ip->ip_src,
+ lnk = FindUdpTcpOut(la, ip->ip_dst, ip->ip_src,
ud->uh_dport, ud->uh_sport,
IPPROTO_UDP, 0);
else if (ip->ip_p == IPPROTO_TCP)
- link = FindUdpTcpOut(la, ip->ip_dst, ip->ip_src,
+ lnk = FindUdpTcpOut(la, ip->ip_dst, ip->ip_src,
tc->th_dport, tc->th_sport,
IPPROTO_TCP, 0);
else if (ip->ip_p == IPPROTO_ICMP) {
if (ic2->icmp_type == ICMP_ECHO || ic2->icmp_type == ICMP_TSTAMP)
- link = FindIcmpOut(la, ip->ip_dst, ip->ip_src, ic2->icmp_id, 0);
+ lnk = FindIcmpOut(la, ip->ip_dst, ip->ip_src, ic2->icmp_id, 0);
else
- link = NULL;
+ lnk = NULL;
} else
- link = NULL;
+ lnk = NULL;
- if (link != NULL) {
+ if (lnk != NULL) {
if (ip->ip_p == IPPROTO_UDP || ip->ip_p == IPPROTO_TCP) {
int accumulate;
struct in_addr alias_address;
u_short alias_port;
- alias_address = GetAliasAddress(link);
- alias_port = GetAliasPort(link);
+ alias_address = GetAliasAddress(lnk);
+ alias_port = GetAliasPort(lnk);
/* Adjust ICMP checksum */
accumulate = twowords(&ip->ip_dst);
@@ -558,8 +558,8 @@
struct in_addr alias_address;
u_short alias_id;
- alias_address = GetAliasAddress(link);
- alias_id = GetAliasPort(link);
+ alias_address = GetAliasAddress(lnk);
+ alias_id = GetAliasPort(lnk);
/* Adjust ICMP checksum */
accumulate = twowords(&ip->ip_dst);
@@ -594,9 +594,11 @@
int iresult;
struct icmp *ic;
+ (void)create;
+
/* Return if proxy-only mode is enabled */
if (la->packetAliasMode & PKT_ALIAS_PROXY_ONLY)
- return PKT_ALIAS_OK;
+ return (PKT_ALIAS_OK);
ic = (struct icmp *)((char *)pip + (pip->ip_hl << 2));
@@ -632,17 +634,17 @@
the dest IP address of the packet to our inside
machine.
*/
- struct alias_link *link;
+ struct alias_link *lnk;
/* Return if proxy-only mode is enabled */
if (la->packetAliasMode & PKT_ALIAS_PROXY_ONLY)
- return PKT_ALIAS_OK;
+ return (PKT_ALIAS_OK);
- link = FindProtoIn(la, pip->ip_src, pip->ip_dst, pip->ip_p);
- if (link != NULL) {
+ lnk = FindProtoIn(la, pip->ip_src, pip->ip_dst, pip->ip_p);
+ if (lnk != NULL) {
struct in_addr original_address;
- original_address = GetOriginalAddress(link);
+ original_address = GetOriginalAddress(lnk);
/* Restore original IP address */
DifferentialChecksum(&pip->ip_sum,
@@ -663,17 +665,19 @@
only thing which is done in this case is to alias
the source IP address of the packet.
*/
- struct alias_link *link;
+ struct alias_link *lnk;
+
+ (void)create;
/* Return if proxy-only mode is enabled */
if (la->packetAliasMode & PKT_ALIAS_PROXY_ONLY)
- return PKT_ALIAS_OK;
+ return (PKT_ALIAS_OK);
- link = FindProtoOut(la, pip->ip_src, pip->ip_dst, pip->ip_p);
- if (link != NULL) {
+ lnk = FindProtoOut(la, pip->ip_src, pip->ip_dst, pip->ip_p);
+ if (lnk != NULL) {
struct in_addr alias_address;
- alias_address = GetAliasAddress(link);
+ alias_address = GetAliasAddress(lnk);
/* Change source address */
DifferentialChecksum(&pip->ip_sum,
@@ -690,28 +694,28 @@
UdpAliasIn(struct libalias *la, struct ip *pip)
{
struct udphdr *ud;
- struct alias_link *link;
+ struct alias_link *lnk;
/* Return if proxy-only mode is enabled */
if (la->packetAliasMode & PKT_ALIAS_PROXY_ONLY)
- return PKT_ALIAS_OK;
+ return (PKT_ALIAS_OK);
ud = (struct udphdr *)((char *)pip + (pip->ip_hl << 2));
- link = FindUdpTcpIn(la, pip->ip_src, pip->ip_dst,
+ lnk = FindUdpTcpIn(la, pip->ip_src, pip->ip_dst,
ud->uh_sport, ud->uh_dport,
IPPROTO_UDP, 1);
- if (link != NULL) {
+ if (lnk != NULL) {
struct in_addr alias_address;
struct in_addr original_address;
u_short alias_port;
int accumulate;
int r = 0;
- alias_address = GetAliasAddress(link);
- original_address = GetOriginalAddress(link);
+ alias_address = GetAliasAddress(lnk);
+ original_address = GetOriginalAddress(lnk);
alias_port = ud->uh_dport;
- ud->uh_dport = GetOriginalPort(link);
+ ud->uh_dport = GetOriginalPort(lnk);
/* Special processing for IP encoding protocols */
if (ntohs(ud->uh_dport) == CUSEEME_PORT_NUMBER)
@@ -719,10 +723,10 @@
/* If NETBIOS Datagram, It should be alias address in UDP Data, too */
else if (ntohs(ud->uh_dport) == NETBIOS_DGM_PORT_NUMBER
|| ntohs(ud->uh_sport) == NETBIOS_DGM_PORT_NUMBER)
- r = AliasHandleUdpNbt(la, pip, link, &original_address, ud->uh_dport);
+ r = AliasHandleUdpNbt(la, pip, lnk, &original_address, ud->uh_dport);
else if (ntohs(ud->uh_dport) == NETBIOS_NS_PORT_NUMBER
|| ntohs(ud->uh_sport) == NETBIOS_NS_PORT_NUMBER)
- r = AliasHandleUdpNbtNS(la, pip, link, &alias_address, &alias_port,
+ r = AliasHandleUdpNbtNS(la, pip, lnk, &alias_address, &alias_port,
&original_address, &ud->uh_dport);
/* If UDP checksum is not zero, then adjust since destination port */
@@ -754,34 +758,34 @@
UdpAliasOut(struct libalias *la, struct ip *pip, int create)
{
struct udphdr *ud;
- struct alias_link *link;
+ struct alias_link *lnk;
/* Return if proxy-only mode is enabled */
if (la->packetAliasMode & PKT_ALIAS_PROXY_ONLY)
- return PKT_ALIAS_OK;
+ return (PKT_ALIAS_OK);
ud = (struct udphdr *)((char *)pip + (pip->ip_hl << 2));
- link = FindUdpTcpOut(la, pip->ip_src, pip->ip_dst,
+ lnk = FindUdpTcpOut(la, pip->ip_src, pip->ip_dst,
ud->uh_sport, ud->uh_dport,
IPPROTO_UDP, create);
- if (link != NULL) {
+ if (lnk != NULL) {
u_short alias_port;
struct in_addr alias_address;
- alias_address = GetAliasAddress(link);
- alias_port = GetAliasPort(link);
+ alias_address = GetAliasAddress(lnk);
+ alias_port = GetAliasPort(lnk);
/* Special processing for IP encoding protocols */
if (ntohs(ud->uh_dport) == CUSEEME_PORT_NUMBER)
- AliasHandleCUSeeMeOut(la, pip, link);
+ AliasHandleCUSeeMeOut(la, pip, lnk);
/* If NETBIOS Datagram, It should be alias address in UDP Data, too */
else if (ntohs(ud->uh_dport) == NETBIOS_DGM_PORT_NUMBER
|| ntohs(ud->uh_sport) == NETBIOS_DGM_PORT_NUMBER)
- AliasHandleUdpNbt(la, pip, link, &alias_address, alias_port);
+ AliasHandleUdpNbt(la, pip, lnk, &alias_address, alias_port);
else if (ntohs(ud->uh_dport) == NETBIOS_NS_PORT_NUMBER
|| ntohs(ud->uh_sport) == NETBIOS_NS_PORT_NUMBER)
- AliasHandleUdpNbtNS(la, pip, link, &pip->ip_src, &ud->uh_sport,
+ AliasHandleUdpNbtNS(la, pip, lnk, &pip->ip_src, &ud->uh_sport,
&alias_address, &alias_port);
/*
* We don't know in advance what TID the TFTP server will choose,
@@ -822,15 +826,15 @@
TcpAliasIn(struct libalias *la, struct ip *pip)
{
struct tcphdr *tc;
- struct alias_link *link;
+ struct alias_link *lnk;
tc = (struct tcphdr *)((char *)pip + (pip->ip_hl << 2));
- link = FindUdpTcpIn(la, pip->ip_src, pip->ip_dst,
+ lnk = FindUdpTcpIn(la, pip->ip_src, pip->ip_dst,
tc->th_sport, tc->th_dport,
IPPROTO_TCP,
!(la->packetAliasMode & PKT_ALIAS_PROXY_ONLY));
- if (link != NULL) {
+ if (lnk != NULL) {
struct in_addr alias_address;
struct in_addr original_address;
struct in_addr proxy_address;
@@ -841,17 +845,17 @@
/* Special processing for IP encoding protocols */
if (ntohs(tc->th_dport) == PPTP_CONTROL_PORT_NUMBER
|| ntohs(tc->th_sport) == PPTP_CONTROL_PORT_NUMBER)
- AliasHandlePptpIn(la, pip, link);
+ AliasHandlePptpIn(la, pip, lnk);
else if (la->skinnyPort != 0 && (ntohs(tc->th_dport) == la->skinnyPort
|| ntohs(tc->th_sport) == la->skinnyPort))
- AliasHandleSkinny(la, pip, link);
+ AliasHandleSkinny(la, pip, lnk);
- alias_address = GetAliasAddress(link);
- original_address = GetOriginalAddress(link);
- proxy_address = GetProxyAddress(link);
+ alias_address = GetAliasAddress(lnk);
+ original_address = GetOriginalAddress(lnk);
+ proxy_address = GetProxyAddress(lnk);
alias_port = tc->th_dport;
- tc->th_dport = GetOriginalPort(link);
- proxy_port = GetProxyPort(link);
+ tc->th_dport = GetOriginalPort(lnk);
+ proxy_port = GetProxyPort(lnk);
/* Adjust TCP checksum since destination port is being unaliased */
/* and destination port is being altered. */
@@ -870,10 +874,10 @@
accumulate -= twowords(&proxy_address);
}
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list