Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 10 Feb 2012 22:06:08 +0000 (UTC)
From:      Michael Tuexen <tuexen@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-8@freebsd.org
Subject:   svn commit: r231444 - in stable/8: . contrib/bsnmp/snmpd contrib/top contrib/xz gnu/usr.bin lib lib/libc/net lib/liblzma lib/librtld_db lib/libusb release/picobsd/floppy.tree/sbin sbin/geom/class/s...
Message-ID:  <201202102206.q1AM68Km097583@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: tuexen
Date: Fri Feb 10 22:06:08 2012
New Revision: 231444
URL: http://svn.freebsd.org/changeset/base/231444

Log:
  MFC r223152:
  * Fix the handling of addresses in sctp_sendv().
  * Add support for SCTP_SENDV_NOINFO.
  * Improve the error handling of sctp_sendv() and sctp_recv().

Modified:
  stable/8/lib/libc/net/sctp_sys_calls.c
  stable/8/sys/netinet/sctp_uio.h
Directory Properties:
  stable/8/   (props changed)
  stable/8/COPYRIGHT   (props changed)
  stable/8/LOCKS   (props changed)
  stable/8/MAINTAINERS   (props changed)
  stable/8/Makefile   (props changed)
  stable/8/Makefile.inc1   (props changed)
  stable/8/ObsoleteFiles.inc   (props changed)
  stable/8/README   (props changed)
  stable/8/UPDATING   (props changed)
  stable/8/bin/   (props changed)
  stable/8/bin/chio/   (props changed)
  stable/8/bin/chmod/   (props changed)
  stable/8/bin/cp/   (props changed)
  stable/8/bin/csh/   (props changed)
  stable/8/bin/date/   (props changed)
  stable/8/bin/df/   (props changed)
  stable/8/bin/echo/   (props changed)
  stable/8/bin/ed/   (props changed)
  stable/8/bin/expr/   (props changed)
  stable/8/bin/getfacl/   (props changed)
  stable/8/bin/kenv/   (props changed)
  stable/8/bin/kill/   (props changed)
  stable/8/bin/ln/   (props changed)
  stable/8/bin/ls/   (props changed)
  stable/8/bin/mv/   (props changed)
  stable/8/bin/pax/   (props changed)
  stable/8/bin/pkill/   (props changed)
  stable/8/bin/ps/   (props changed)
  stable/8/bin/pwait/   (props changed)
  stable/8/bin/setfacl/   (props changed)
  stable/8/bin/sh/   (props changed)
  stable/8/bin/sleep/   (props changed)
  stable/8/bin/stty/   (props changed)
  stable/8/bin/test/   (props changed)
  stable/8/cddl/   (props changed)
  stable/8/cddl/compat/opensolaris/   (props changed)
  stable/8/cddl/contrib/dtracetoolkit/   (props changed)
  stable/8/cddl/contrib/opensolaris/   (props changed)
  stable/8/cddl/lib/   (props changed)
  stable/8/cddl/lib/libnvpair/   (props changed)
  stable/8/cddl/lib/libzpool/   (props changed)
  stable/8/cddl/sbin/   (props changed)
  stable/8/cddl/usr.bin/   (props changed)
  stable/8/cddl/usr.sbin/   (props changed)
  stable/8/contrib/   (props changed)
  stable/8/contrib/amd/   (props changed)
  stable/8/contrib/bc/   (props changed)
  stable/8/contrib/bind9/   (props changed)
  stable/8/contrib/binutils/   (props changed)
  stable/8/contrib/bsnmp/   (props changed)
  stable/8/contrib/bsnmp/snmpd/bsnmpd.1   (props changed)
  stable/8/contrib/bzip2/   (props changed)
  stable/8/contrib/com_err/   (props changed)
  stable/8/contrib/cvs/   (props changed)
  stable/8/contrib/diff/   (props changed)
  stable/8/contrib/ee/   (props changed)
  stable/8/contrib/expat/   (props changed)
  stable/8/contrib/file/   (props changed)
  stable/8/contrib/gcc/   (props changed)
  stable/8/contrib/gcclibs/   (props changed)
  stable/8/contrib/gdb/   (props changed)
  stable/8/contrib/gdtoa/   (props changed)
  stable/8/contrib/gnu-sort/   (props changed)
  stable/8/contrib/gperf/   (props changed)
  stable/8/contrib/groff/   (props changed)
  stable/8/contrib/ipfilter/   (props changed)
  stable/8/contrib/libarchive/   (props changed)
  stable/8/contrib/libarchive/cpio/   (props changed)
  stable/8/contrib/libarchive/libarchive/   (props changed)
  stable/8/contrib/libarchive/libarchive_fe/   (props changed)
  stable/8/contrib/libarchive/tar/   (props changed)
  stable/8/contrib/libbegemot/   (props changed)
  stable/8/contrib/libf2c/   (props changed)
  stable/8/contrib/libobjc/   (props changed)
  stable/8/contrib/libpcap/   (props changed)
  stable/8/contrib/libreadline/   (props changed)
  stable/8/contrib/libstdc++/   (props changed)
  stable/8/contrib/lukemftp/   (props changed)
  stable/8/contrib/lukemftpd/   (props changed)
  stable/8/contrib/ncurses/   (props changed)
  stable/8/contrib/netcat/   (props changed)
  stable/8/contrib/ngatm/   (props changed)
  stable/8/contrib/ntp/   (props changed)
  stable/8/contrib/nvi/   (props changed)
  stable/8/contrib/openbsm/   (props changed)
  stable/8/contrib/openpam/   (props changed)
  stable/8/contrib/opie/   (props changed)
  stable/8/contrib/pam_modules/   (props changed)
  stable/8/contrib/pf/   (props changed)
  stable/8/contrib/pnpinfo/   (props changed)
  stable/8/contrib/sendmail/   (props changed)
  stable/8/contrib/smbfs/   (props changed)
  stable/8/contrib/tcp_wrappers/   (props changed)
  stable/8/contrib/tcpdump/   (props changed)
  stable/8/contrib/tcsh/   (props changed)
  stable/8/contrib/telnet/   (props changed)
  stable/8/contrib/texinfo/   (props changed)
  stable/8/contrib/top/   (props changed)
  stable/8/contrib/top/install-sh   (props changed)
  stable/8/contrib/traceroute/   (props changed)
  stable/8/contrib/wpa/   (props changed)
  stable/8/contrib/xz/   (props changed)
  stable/8/contrib/xz/AUTHORS   (props changed)
  stable/8/contrib/xz/COPYING   (props changed)
  stable/8/contrib/xz/ChangeLog   (props changed)
  stable/8/contrib/xz/FREEBSD-Xlist   (props changed)
  stable/8/contrib/xz/FREEBSD-upgrade   (props changed)
  stable/8/contrib/xz/README   (props changed)
  stable/8/contrib/xz/THANKS   (props changed)
  stable/8/contrib/xz/TODO   (props changed)
  stable/8/contrib/xz/po/   (props changed)
  stable/8/contrib/xz/src/   (props changed)
  stable/8/crypto/   (props changed)
  stable/8/crypto/heimdal/   (props changed)
  stable/8/crypto/openssh/   (props changed)
  stable/8/etc/   (props changed)
  stable/8/games/   (props changed)
  stable/8/games/factor/   (props changed)
  stable/8/games/fortune/   (props changed)
  stable/8/games/grdc/   (props changed)
  stable/8/games/pom/   (props changed)
  stable/8/gnu/   (props changed)
  stable/8/gnu/lib/csu/   (props changed)
  stable/8/gnu/lib/libgcc/   (props changed)
  stable/8/gnu/lib/libstdc++/   (props changed)
  stable/8/gnu/usr.bin/   (props changed)
  stable/8/gnu/usr.bin/Makefile   (props changed)
  stable/8/gnu/usr.bin/binutils/ld/   (props changed)
  stable/8/gnu/usr.bin/cc/cc_tools/   (props changed)
  stable/8/gnu/usr.bin/cc/include/   (props changed)
  stable/8/gnu/usr.bin/dialog/   (props changed)
  stable/8/gnu/usr.bin/gdb/   (props changed)
  stable/8/gnu/usr.bin/gdb/arch/sparc64/   (props changed)
  stable/8/gnu/usr.bin/gdb/kgdb/   (props changed)
  stable/8/gnu/usr.bin/gperf/   (props changed)
  stable/8/gnu/usr.bin/groff/   (props changed)
  stable/8/gnu/usr.bin/patch/   (props changed)
  stable/8/include/   (props changed)
  stable/8/kerberos5/   (props changed)
  stable/8/kerberos5/lib/libgssapi_krb5/   (props changed)
  stable/8/kerberos5/lib/libgssapi_spnego/   (props changed)
  stable/8/kerberos5/usr.bin/kdestroy/   (props changed)
  stable/8/kerberos5/usr.bin/kpasswd/   (props changed)
  stable/8/lib/   (props changed)
  stable/8/lib/Makefile   (props changed)
  stable/8/lib/Makefile.inc   (props changed)
  stable/8/lib/bind/   (props changed)
  stable/8/lib/csu/   (props changed)
  stable/8/lib/libalias/   (props changed)
  stable/8/lib/libarchive/   (props changed)
  stable/8/lib/libauditd/   (props changed)
  stable/8/lib/libautofs/   (props changed)
  stable/8/lib/libbegemot/   (props changed)
  stable/8/lib/libbluetooth/   (props changed)
  stable/8/lib/libbsm/   (props changed)
  stable/8/lib/libbsnmp/   (props changed)
  stable/8/lib/libbz2/   (props changed)
  stable/8/lib/libc/   (props changed)
  stable/8/lib/libc/stdtime/   (props changed)
  stable/8/lib/libc/sys/   (props changed)
  stable/8/lib/libc_r/   (props changed)
  stable/8/lib/libcalendar/   (props changed)
  stable/8/lib/libcam/   (props changed)
  stable/8/lib/libcom_err/   (props changed)
  stable/8/lib/libcompat/   (props changed)
  stable/8/lib/libcrypt/   (props changed)
  stable/8/lib/libdevinfo/   (props changed)
  stable/8/lib/libdevstat/   (props changed)
  stable/8/lib/libdisk/   (props changed)
  stable/8/lib/libdwarf/   (props changed)
  stable/8/lib/libedit/   (props changed)
  stable/8/lib/libelf/   (props changed)
  stable/8/lib/libexpat/   (props changed)
  stable/8/lib/libfetch/   (props changed)
  stable/8/lib/libftpio/   (props changed)
  stable/8/lib/libgeom/   (props changed)
  stable/8/lib/libgpib/   (props changed)
  stable/8/lib/libgssapi/   (props changed)
  stable/8/lib/libipsec/   (props changed)
  stable/8/lib/libipx/   (props changed)
  stable/8/lib/libjail/   (props changed)
  stable/8/lib/libkiconv/   (props changed)
  stable/8/lib/libkse/   (props changed)
  stable/8/lib/libkvm/   (props changed)
  stable/8/lib/liblzma/   (props changed)
  stable/8/lib/liblzma/Makefile   (props changed)
  stable/8/lib/liblzma/Symbol.map   (props changed)
  stable/8/lib/liblzma/Versions.def   (props changed)
  stable/8/lib/liblzma/config.h   (props changed)
  stable/8/lib/libmagic/   (props changed)
  stable/8/lib/libmd/   (props changed)
  stable/8/lib/libmemstat/   (props changed)
  stable/8/lib/libmilter/   (props changed)
  stable/8/lib/libmp/   (props changed)
  stable/8/lib/libncp/   (props changed)
  stable/8/lib/libnetgraph/   (props changed)
  stable/8/lib/libngatm/   (props changed)
  stable/8/lib/libopie/   (props changed)
  stable/8/lib/libpam/   (props changed)
  stable/8/lib/libpcap/   (props changed)
  stable/8/lib/libpmc/   (props changed)
  stable/8/lib/libproc/   (props changed)
  stable/8/lib/libradius/   (props changed)
  stable/8/lib/librpcsec_gss/   (props changed)
  stable/8/lib/librpcsvc/   (props changed)
  stable/8/lib/librt/   (props changed)
  stable/8/lib/librtld_db/   (props changed)
  stable/8/lib/librtld_db/Makefile   (props changed)
  stable/8/lib/librtld_db/librtld_db.3   (props changed)
  stable/8/lib/librtld_db/rtld_db.c   (props changed)
  stable/8/lib/librtld_db/rtld_db.h   (props changed)
  stable/8/lib/libsbuf/   (props changed)
  stable/8/lib/libsdp/   (props changed)
  stable/8/lib/libsm/   (props changed)
  stable/8/lib/libsmb/   (props changed)
  stable/8/lib/libsmdb/   (props changed)
  stable/8/lib/libsmutil/   (props changed)
  stable/8/lib/libstand/   (props changed)
  stable/8/lib/libtacplus/   (props changed)
  stable/8/lib/libtelnet/   (props changed)
  stable/8/lib/libthr/   (props changed)
  stable/8/lib/libthread_db/   (props changed)
  stable/8/lib/libufs/   (props changed)
  stable/8/lib/libugidfw/   (props changed)
  stable/8/lib/libusb/   (props changed)
  stable/8/lib/libusb/usb.h   (props changed)
  stable/8/lib/libusbhid/   (props changed)
  stable/8/lib/libutil/   (props changed)
  stable/8/lib/libvgl/   (props changed)
  stable/8/lib/libwrap/   (props changed)
  stable/8/lib/liby/   (props changed)
  stable/8/lib/libypclnt/   (props changed)
  stable/8/lib/libz/   (props changed)
  stable/8/lib/libz/contrib/   (props changed)
  stable/8/lib/msun/   (props changed)
  stable/8/lib/ncurses/   (props changed)
  stable/8/libexec/   (props changed)
  stable/8/libexec/comsat/   (props changed)
  stable/8/libexec/ftpd/   (props changed)
  stable/8/libexec/rshd/   (props changed)
  stable/8/libexec/rtld-elf/   (props changed)
  stable/8/libexec/tftpd/   (props changed)
  stable/8/release/   (props changed)
  stable/8/release/doc/en_US.ISO8859-1/hardware/   (props changed)
  stable/8/release/picobsd/   (props changed)
  stable/8/release/picobsd/floppy.tree/sbin/   (props changed)
  stable/8/release/picobsd/floppy.tree/sbin/dhclient-script   (props changed)
  stable/8/release/picobsd/qemu/   (props changed)
  stable/8/release/picobsd/tinyware/login/   (props changed)
  stable/8/release/powerpc/   (props changed)
  stable/8/rescue/   (props changed)
  stable/8/rescue/rescue/   (props changed)
  stable/8/sbin/   (props changed)
  stable/8/sbin/atacontrol/   (props changed)
  stable/8/sbin/bsdlabel/   (props changed)
  stable/8/sbin/camcontrol/   (props changed)
  stable/8/sbin/conscontrol/   (props changed)
  stable/8/sbin/ddb/   (props changed)
  stable/8/sbin/devd/   (props changed)
  stable/8/sbin/devfs/   (props changed)
  stable/8/sbin/dhclient/   (props changed)
  stable/8/sbin/dump/   (props changed)
  stable/8/sbin/dumpfs/   (props changed)
  stable/8/sbin/fdisk/   (props changed)
  stable/8/sbin/fsck/   (props changed)
  stable/8/sbin/fsck_ffs/   (props changed)
  stable/8/sbin/fsck_msdosfs/   (props changed)
  stable/8/sbin/fsirand/   (props changed)
  stable/8/sbin/geom/   (props changed)
  stable/8/sbin/geom/class/multipath/   (props changed)
  stable/8/sbin/geom/class/part/   (props changed)
  stable/8/sbin/geom/class/sched/gsched.8   (props changed)
  stable/8/sbin/geom/class/stripe/   (props changed)
  stable/8/sbin/ggate/   (props changed)
  stable/8/sbin/growfs/   (props changed)
  stable/8/sbin/gvinum/   (props changed)
  stable/8/sbin/hastctl/   (props changed)
  stable/8/sbin/hastd/   (props changed)
  stable/8/sbin/ifconfig/   (props changed)
  stable/8/sbin/ipfw/   (props changed)
  stable/8/sbin/iscontrol/   (props changed)
  stable/8/sbin/kldload/   (props changed)
  stable/8/sbin/kldstat/   (props changed)
  stable/8/sbin/md5/   (props changed)
  stable/8/sbin/mdconfig/   (props changed)
  stable/8/sbin/mdmfs/   (props changed)
  stable/8/sbin/mknod/   (props changed)
  stable/8/sbin/mksnap_ffs/   (props changed)
  stable/8/sbin/mount/   (props changed)
  stable/8/sbin/mount_cd9660/   (props changed)
  stable/8/sbin/mount_msdosfs/   (props changed)
  stable/8/sbin/mount_nfs/   (props changed)
  stable/8/sbin/mount_unionfs/   (props changed)
  stable/8/sbin/natd/   (props changed)
  stable/8/sbin/newfs/   (props changed)
  stable/8/sbin/newfs_msdos/   (props changed)
  stable/8/sbin/ping6/   (props changed)
  stable/8/sbin/quotacheck/   (props changed)
  stable/8/sbin/rcorder/   (props changed)
  stable/8/sbin/reboot/   (props changed)
  stable/8/sbin/restore/   (props changed)
  stable/8/sbin/route/   (props changed)
  stable/8/sbin/routed/   (props changed)
  stable/8/sbin/setkey/   (props changed)
  stable/8/sbin/shutdown/   (props changed)
  stable/8/sbin/spppcontrol/   (props changed)
  stable/8/sbin/sysctl/   (props changed)
  stable/8/sbin/tunefs/   (props changed)
  stable/8/sbin/umount/   (props changed)
  stable/8/secure/   (props changed)
  stable/8/secure/lib/libcrypto/   (props changed)
  stable/8/secure/lib/libssl/   (props changed)
  stable/8/secure/usr.bin/bdes/   (props changed)
  stable/8/secure/usr.bin/openssl/   (props changed)
  stable/8/share/   (props changed)
  stable/8/share/dict/   (props changed)
  stable/8/share/doc/   (props changed)
  stable/8/share/doc/papers/devfs/   (props changed)
  stable/8/share/doc/papers/jail/   (props changed)
  stable/8/share/doc/smm/01.setup/   (props changed)
  stable/8/share/examples/   (props changed)
  stable/8/share/examples/cvsup/   (props changed)
  stable/8/share/man/   (props changed)
  stable/8/share/man/man1/   (props changed)
  stable/8/share/man/man3/   (props changed)
  stable/8/share/man/man4/   (props changed)
  stable/8/share/man/man5/   (props changed)
  stable/8/share/man/man7/   (props changed)
  stable/8/share/man/man8/   (props changed)
  stable/8/share/man/man9/   (props changed)
  stable/8/share/misc/   (props changed)
  stable/8/share/misc/bsd-family-tree   (props changed)
  stable/8/share/mk/   (props changed)
  stable/8/share/skel/   (props changed)
  stable/8/share/syscons/   (props changed)
  stable/8/share/termcap/   (props changed)
  stable/8/share/timedef/   (props changed)
  stable/8/share/zoneinfo/   (props changed)
  stable/8/sys/   (props changed)
  stable/8/sys/amd64/include/xen/   (props changed)
  stable/8/sys/boot/   (props changed)
  stable/8/sys/cddl/contrib/opensolaris/   (props changed)
  stable/8/sys/contrib/dev/acpica/   (props changed)
  stable/8/sys/contrib/pf/   (props changed)
  stable/8/sys/dev/e1000/   (props changed)
  stable/8/tools/   (props changed)
  stable/8/tools/build/mk/   (props changed)
  stable/8/tools/build/options/   (props changed)
  stable/8/tools/debugscripts/   (props changed)
  stable/8/tools/kerneldoc/subsys/   (props changed)
  stable/8/tools/regression/acct/   (props changed)
  stable/8/tools/regression/acltools/   (props changed)
  stable/8/tools/regression/aio/aiotest/   (props changed)
  stable/8/tools/regression/bin/   (props changed)
  stable/8/tools/regression/bin/date/   (props changed)
  stable/8/tools/regression/bin/sh/   (props changed)
  stable/8/tools/regression/bin/test/   (props changed)
  stable/8/tools/regression/doat/   (props changed)
  stable/8/tools/regression/fifo/   (props changed)
  stable/8/tools/regression/geom/   (props changed)
  stable/8/tools/regression/lib/libc/   (props changed)
  stable/8/tools/regression/lib/msun/test-conj.t   (props changed)
  stable/8/tools/regression/mqueue/mqtest1/   (props changed)
  stable/8/tools/regression/mqueue/mqtest2/   (props changed)
  stable/8/tools/regression/mqueue/mqtest3/   (props changed)
  stable/8/tools/regression/mqueue/mqtest4/   (props changed)
  stable/8/tools/regression/mqueue/mqtest5/   (props changed)
  stable/8/tools/regression/netinet/   (props changed)
  stable/8/tools/regression/poll/   (props changed)
  stable/8/tools/regression/posixsem/   (props changed)
  stable/8/tools/regression/priv/   (props changed)
  stable/8/tools/regression/sockets/unix_gc/   (props changed)
  stable/8/tools/regression/usr.bin/   (props changed)
  stable/8/tools/regression/usr.bin/pkill/   (props changed)
  stable/8/tools/regression/usr.bin/pkill/pgrep-_g.t   (props changed)
  stable/8/tools/regression/usr.bin/pkill/pgrep-_s.t   (props changed)
  stable/8/tools/regression/usr.bin/pkill/pkill-_g.t   (props changed)
  stable/8/tools/regression/usr.bin/sed/   (props changed)
  stable/8/tools/regression/usr.bin/tr/   (props changed)
  stable/8/tools/test/   (props changed)
  stable/8/tools/test/malloc/   (props changed)
  stable/8/tools/tools/   (props changed)
  stable/8/tools/tools/aac/   (props changed)
  stable/8/tools/tools/ath/   (props changed)
  stable/8/tools/tools/ath/common/dumpregs.h   (props changed)
  stable/8/tools/tools/ath/common/dumpregs_5210.c   (props changed)
  stable/8/tools/tools/ath/common/dumpregs_5211.c   (props changed)
  stable/8/tools/tools/ath/common/dumpregs_5212.c   (props changed)
  stable/8/tools/tools/ath/common/dumpregs_5416.c   (props changed)
  stable/8/tools/tools/cfi/   (props changed)
  stable/8/tools/tools/ether_reflect/   (props changed)
  stable/8/tools/tools/iwi/   (props changed)
  stable/8/tools/tools/mctest/   (props changed)
  stable/8/tools/tools/nanobsd/   (props changed)
  stable/8/tools/tools/netrate/   (props changed)
  stable/8/tools/tools/netrate/netblast/   (props changed)
  stable/8/tools/tools/netrate/netsend/   (props changed)
  stable/8/tools/tools/netrate/tcpp/   (props changed)
  stable/8/tools/tools/termcap/termcap.pl   (props changed)
  stable/8/tools/tools/umastat/   (props changed)
  stable/8/tools/tools/vimage/   (props changed)
  stable/8/usr.bin/   (props changed)
  stable/8/usr.bin/apply/   (props changed)
  stable/8/usr.bin/ar/   (props changed)
  stable/8/usr.bin/awk/   (props changed)
  stable/8/usr.bin/biff/   (props changed)
  stable/8/usr.bin/c89/   (props changed)
  stable/8/usr.bin/c99/   (props changed)
  stable/8/usr.bin/calendar/   (props changed)
  stable/8/usr.bin/catman/   (props changed)
  stable/8/usr.bin/checknr/   (props changed)
  stable/8/usr.bin/chpass/Makefile   (props changed)
  stable/8/usr.bin/column/   (props changed)
  stable/8/usr.bin/comm/   (props changed)
  stable/8/usr.bin/compress/   (props changed)
  stable/8/usr.bin/cpio/   (props changed)
  stable/8/usr.bin/cpuset/   (props changed)
  stable/8/usr.bin/csup/   (props changed)
  stable/8/usr.bin/du/   (props changed)
  stable/8/usr.bin/ee/   (props changed)
  stable/8/usr.bin/enigma/   (props changed)
  stable/8/usr.bin/fetch/   (props changed)
  stable/8/usr.bin/find/   (props changed)
  stable/8/usr.bin/finger/   (props changed)
  stable/8/usr.bin/fold/   (props changed)
  stable/8/usr.bin/fstat/   (props changed)
  stable/8/usr.bin/gcore/   (props changed)
  stable/8/usr.bin/getopt/   (props changed)
  stable/8/usr.bin/gzip/   (props changed)
  stable/8/usr.bin/hexdump/   (props changed)
  stable/8/usr.bin/indent/   (props changed)
  stable/8/usr.bin/ipcs/   (props changed)
  stable/8/usr.bin/jot/   (props changed)
  stable/8/usr.bin/kdump/   (props changed)
  stable/8/usr.bin/killall/   (props changed)
  stable/8/usr.bin/ktrace/   (props changed)
  stable/8/usr.bin/lastcomm/   (props changed)
  stable/8/usr.bin/ldd/   (props changed)
  stable/8/usr.bin/less/   (props changed)
  stable/8/usr.bin/lex/   (props changed)
  stable/8/usr.bin/limits/   (props changed)
  stable/8/usr.bin/locale/   (props changed)
  stable/8/usr.bin/locate/   (props changed)
  stable/8/usr.bin/lock/   (props changed)
  stable/8/usr.bin/lockf/   (props changed)
  stable/8/usr.bin/logger/   (props changed)
  stable/8/usr.bin/look/   (props changed)
  stable/8/usr.bin/m4/   (props changed)
  stable/8/usr.bin/mail/   (props changed)
  stable/8/usr.bin/make/   (props changed)
  stable/8/usr.bin/makewhatis/   (props changed)
  stable/8/usr.bin/minigzip/   (props changed)
  stable/8/usr.bin/ncal/   (props changed)
  stable/8/usr.bin/netstat/   (props changed)
  stable/8/usr.bin/netstat/Makefile   (props changed)
  stable/8/usr.bin/netstat/atalk.c   (props changed)
  stable/8/usr.bin/netstat/bpf.c   (props changed)
  stable/8/usr.bin/netstat/if.c   (props changed)
  stable/8/usr.bin/netstat/inet.c   (props changed)
  stable/8/usr.bin/netstat/inet6.c   (props changed)
  stable/8/usr.bin/netstat/ipsec.c   (props changed)
  stable/8/usr.bin/netstat/ipx.c   (props changed)
  stable/8/usr.bin/netstat/main.c   (props changed)
  stable/8/usr.bin/netstat/mbuf.c   (props changed)
  stable/8/usr.bin/netstat/mroute.c   (props changed)
  stable/8/usr.bin/netstat/mroute6.c   (props changed)
  stable/8/usr.bin/netstat/netgraph.c   (props changed)
  stable/8/usr.bin/netstat/netisr.c   (props changed)
  stable/8/usr.bin/netstat/netstat.1   (props changed)
  stable/8/usr.bin/netstat/netstat.h   (props changed)
  stable/8/usr.bin/netstat/pfkey.c   (props changed)
  stable/8/usr.bin/netstat/route.c   (props changed)
  stable/8/usr.bin/netstat/sctp.c   (props changed)
  stable/8/usr.bin/netstat/unix.c   (props changed)
  stable/8/usr.bin/newgrp/   (props changed)
  stable/8/usr.bin/nfsstat/   (props changed)
  stable/8/usr.bin/pathchk/   (props changed)
  stable/8/usr.bin/perror/   (props changed)
  stable/8/usr.bin/printf/   (props changed)
  stable/8/usr.bin/procstat/   (props changed)
  stable/8/usr.bin/rlogin/   (props changed)
  stable/8/usr.bin/rpcgen/   (props changed)
  stable/8/usr.bin/rpcinfo/   (props changed)
  stable/8/usr.bin/rs/   (props changed)
  stable/8/usr.bin/ruptime/   (props changed)
  stable/8/usr.bin/script/   (props changed)
  stable/8/usr.bin/sed/   (props changed)
  stable/8/usr.bin/showmount/   (props changed)
  stable/8/usr.bin/sockstat/   (props changed)
  stable/8/usr.bin/split/   (props changed)
  stable/8/usr.bin/stat/   (props changed)
  stable/8/usr.bin/su/   (props changed)
  stable/8/usr.bin/su/Makefile   (props changed)
  stable/8/usr.bin/su/su.1   (props changed)
  stable/8/usr.bin/su/su.c   (props changed)
  stable/8/usr.bin/systat/   (props changed)
  stable/8/usr.bin/tail/   (props changed)
  stable/8/usr.bin/tar/   (props changed)
  stable/8/usr.bin/tftp/   (props changed)
  stable/8/usr.bin/tip/   (props changed)
  stable/8/usr.bin/top/   (props changed)
  stable/8/usr.bin/touch/   (props changed)
  stable/8/usr.bin/tr/   (props changed)
  stable/8/usr.bin/truss/   (props changed)
  stable/8/usr.bin/uname/   (props changed)
  stable/8/usr.bin/unifdef/   (props changed)
  stable/8/usr.bin/uniq/   (props changed)
  stable/8/usr.bin/unzip/   (props changed)
  stable/8/usr.bin/usbhidaction/   (props changed)
  stable/8/usr.bin/usbhidctl/   (props changed)
  stable/8/usr.bin/uudecode/   (props changed)
  stable/8/usr.bin/vmstat/   (props changed)
  stable/8/usr.bin/w/   (props changed)
  stable/8/usr.bin/wall/   (props changed)
  stable/8/usr.bin/whois/   (props changed)
  stable/8/usr.bin/xargs/   (props changed)
  stable/8/usr.bin/xinstall/   (props changed)
  stable/8/usr.bin/xlint/   (props changed)
  stable/8/usr.bin/xz/   (props changed)
  stable/8/usr.bin/yacc/   (props changed)
  stable/8/usr.sbin/   (props changed)
  stable/8/usr.sbin/IPXrouted/   (props changed)
  stable/8/usr.sbin/Makefile   (props changed)
  stable/8/usr.sbin/Makefile.inc   (props changed)
  stable/8/usr.sbin/ac/   (props changed)
  stable/8/usr.sbin/accton/   (props changed)
  stable/8/usr.sbin/acpi/   (props changed)
  stable/8/usr.sbin/adduser/   (props changed)
  stable/8/usr.sbin/amd/   (props changed)
  stable/8/usr.sbin/ancontrol/   (props changed)
  stable/8/usr.sbin/apm/   (props changed)
  stable/8/usr.sbin/apmd/   (props changed)
  stable/8/usr.sbin/arp/   (props changed)
  stable/8/usr.sbin/asf/   (props changed)
  stable/8/usr.sbin/audit/   (props changed)
  stable/8/usr.sbin/auditd/   (props changed)
  stable/8/usr.sbin/auditreduce/   (props changed)
  stable/8/usr.sbin/authpf/   (props changed)
  stable/8/usr.sbin/bluetooth/   (props changed)
  stable/8/usr.sbin/bluetooth/bthidcontrol/   (props changed)
  stable/8/usr.sbin/bluetooth/bthidd/   (props changed)
  stable/8/usr.sbin/bluetooth/l2control/   (props changed)
  stable/8/usr.sbin/bluetooth/l2ping/   (props changed)
  stable/8/usr.sbin/boot0cfg/   (props changed)
  stable/8/usr.sbin/boot98cfg/   (props changed)
  stable/8/usr.sbin/bootparamd/   (props changed)
  stable/8/usr.sbin/bsnmpd/   (props changed)
  stable/8/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_processor_tbl.c   (props changed)
  stable/8/usr.sbin/btxld/   (props changed)
  stable/8/usr.sbin/burncd/   (props changed)
  stable/8/usr.sbin/cdcontrol/   (props changed)
  stable/8/usr.sbin/chkgrp/   (props changed)
  stable/8/usr.sbin/chown/   (props changed)
  stable/8/usr.sbin/chroot/   (props changed)
  stable/8/usr.sbin/ckdist/   (props changed)
  stable/8/usr.sbin/clear_locks/   (props changed)
  stable/8/usr.sbin/config/   (props changed)
  stable/8/usr.sbin/config/SMM.doc/   (props changed)
  stable/8/usr.sbin/cpucontrol/   (props changed)
  stable/8/usr.sbin/crashinfo/   (props changed)
  stable/8/usr.sbin/cron/   (props changed)
  stable/8/usr.sbin/cron/crontab/   (props changed)
  stable/8/usr.sbin/crunch/   (props changed)
  stable/8/usr.sbin/crunch/examples/   (props changed)
  stable/8/usr.sbin/ctm/   (props changed)
  stable/8/usr.sbin/daemon/   (props changed)
  stable/8/usr.sbin/dconschat/   (props changed)
  stable/8/usr.sbin/devinfo/   (props changed)
  stable/8/usr.sbin/digictl/   (props changed)
  stable/8/usr.sbin/diskinfo/   (props changed)
  stable/8/usr.sbin/dnssec-dsfromkey/   (props changed)
  stable/8/usr.sbin/dnssec-keyfromlabel/   (props changed)
  stable/8/usr.sbin/dnssec-keygen/   (props changed)
  stable/8/usr.sbin/dnssec-signzone/   (props changed)
  stable/8/usr.sbin/dumpcis/   (props changed)
  stable/8/usr.sbin/dumpcis/cardinfo.h   (props changed)
  stable/8/usr.sbin/dumpcis/cis.h   (props changed)
  stable/8/usr.sbin/editmap/   (props changed)
  stable/8/usr.sbin/edquota/   (props changed)
  stable/8/usr.sbin/eeprom/   (props changed)
  stable/8/usr.sbin/extattr/   (props changed)
  stable/8/usr.sbin/extattrctl/   (props changed)
  stable/8/usr.sbin/faithd/   (props changed)
  stable/8/usr.sbin/fdcontrol/   (props changed)
  stable/8/usr.sbin/fdformat/   (props changed)
  stable/8/usr.sbin/fdread/   (props changed)
  stable/8/usr.sbin/fdwrite/   (props changed)
  stable/8/usr.sbin/fifolog/   (props changed)
  stable/8/usr.sbin/flowctl/   (props changed)
  stable/8/usr.sbin/freebsd-update/   (props changed)
  stable/8/usr.sbin/ftp-proxy/   (props changed)
  stable/8/usr.sbin/fwcontrol/   (props changed)
  stable/8/usr.sbin/getfmac/   (props changed)
  stable/8/usr.sbin/getpmac/   (props changed)
  stable/8/usr.sbin/gssd/   (props changed)
  stable/8/usr.sbin/gstat/   (props changed)
  stable/8/usr.sbin/i2c/   (props changed)
  stable/8/usr.sbin/ifmcstat/   (props changed)
  stable/8/usr.sbin/inetd/   (props changed)
  stable/8/usr.sbin/iostat/   (props changed)
  stable/8/usr.sbin/ip6addrctl/   (props changed)
  stable/8/usr.sbin/ipfwpcap/   (props changed)
  stable/8/usr.sbin/jail/   (props changed)
  stable/8/usr.sbin/jexec/   (props changed)
  stable/8/usr.sbin/jls/   (props changed)
  stable/8/usr.sbin/kbdcontrol/   (props changed)
  stable/8/usr.sbin/kbdmap/   (props changed)
  stable/8/usr.sbin/kernbb/   (props changed)
  stable/8/usr.sbin/keyserv/   (props changed)
  stable/8/usr.sbin/kgmon/   (props changed)
  stable/8/usr.sbin/kgzip/   (props changed)
  stable/8/usr.sbin/kldxref/   (props changed)
  stable/8/usr.sbin/lastlogin/   (props changed)
  stable/8/usr.sbin/lmcconfig/   (props changed)
  stable/8/usr.sbin/lpr/   (props changed)
  stable/8/usr.sbin/lptcontrol/   (props changed)
  stable/8/usr.sbin/mailstats/   (props changed)
  stable/8/usr.sbin/mailwrapper/   (props changed)
  stable/8/usr.sbin/makefs/   (props changed)
  stable/8/usr.sbin/makemap/   (props changed)
  stable/8/usr.sbin/manctl/   (props changed)
  stable/8/usr.sbin/memcontrol/   (props changed)
  stable/8/usr.sbin/mergemaster/   (props changed)
  stable/8/usr.sbin/mfiutil/   (props changed)
  stable/8/usr.sbin/mixer/   (props changed)
  stable/8/usr.sbin/mld6query/   (props changed)
  stable/8/usr.sbin/mlxcontrol/   (props changed)
  stable/8/usr.sbin/mount_nwfs/   (props changed)
  stable/8/usr.sbin/mount_portalfs/   (props changed)
  stable/8/usr.sbin/mount_smbfs/   (props changed)
  stable/8/usr.sbin/mountd/   (props changed)
  stable/8/usr.sbin/moused/   (props changed)
  stable/8/usr.sbin/mptable/   (props changed)
  stable/8/usr.sbin/mptutil/   (props changed)
  stable/8/usr.sbin/mtest/   (props changed)
  stable/8/usr.sbin/mtree/   (props changed)
  stable/8/usr.sbin/named/   (props changed)
  stable/8/usr.sbin/named-checkconf/   (props changed)
  stable/8/usr.sbin/named-checkzone/   (props changed)
  stable/8/usr.sbin/named.reload/   (props changed)
  stable/8/usr.sbin/ndiscvt/   (props changed)
  stable/8/usr.sbin/ndp/   (props changed)
  stable/8/usr.sbin/newsyslog/   (props changed)
  stable/8/usr.sbin/nfscbd/   (props changed)
  stable/8/usr.sbin/nfsd/   (props changed)
  stable/8/usr.sbin/nfsdumpstate/   (props changed)
  stable/8/usr.sbin/nfsrevoke/   (props changed)
  stable/8/usr.sbin/nfsuserd/   (props changed)
  stable/8/usr.sbin/ngctl/   (props changed)
  stable/8/usr.sbin/nghook/   (props changed)
  stable/8/usr.sbin/nologin/   (props changed)
  stable/8/usr.sbin/nscd/   (props changed)
  stable/8/usr.sbin/ntp/   (props changed)
  stable/8/usr.sbin/nvram/   (props changed)
  stable/8/usr.sbin/ofwdump/   (props changed)
  stable/8/usr.sbin/pciconf/   (props changed)
  stable/8/usr.sbin/periodic/   (props changed)
  stable/8/usr.sbin/pkg_install/   (props changed)
  stable/8/usr.sbin/pkg_install/info/   (props changed)
  stable/8/usr.sbin/pmcannotate/   (props changed)
  stable/8/usr.sbin/pmccontrol/   (props changed)
  stable/8/usr.sbin/pmcstat/   (props changed)
  stable/8/usr.sbin/pnpinfo/   (props changed)
  stable/8/usr.sbin/portsnap/   (props changed)
  stable/8/usr.sbin/powerd/   (props changed)
  stable/8/usr.sbin/ppp/   (props changed)
  stable/8/usr.sbin/pppctl/   (props changed)
  stable/8/usr.sbin/praliases/   (props changed)
  stable/8/usr.sbin/praudit/   (props changed)
  stable/8/usr.sbin/procctl/   (props changed)
  stable/8/usr.sbin/pstat/   (props changed)
  stable/8/usr.sbin/pw/   (props changed)
  stable/8/usr.sbin/pwd_mkdb/   (props changed)
  stable/8/usr.sbin/quot/   (props changed)
  stable/8/usr.sbin/quotaon/   (props changed)
  stable/8/usr.sbin/rarpd/   (props changed)
  stable/8/usr.sbin/repquota/   (props changed)
  stable/8/usr.sbin/rip6query/   (props changed)
  stable/8/usr.sbin/rmt/   (props changed)
  stable/8/usr.sbin/rndc/   (props changed)
  stable/8/usr.sbin/rndc-confgen/   (props changed)
  stable/8/usr.sbin/route6d/   (props changed)
  stable/8/usr.sbin/rpc.lockd/   (props changed)
  stable/8/usr.sbin/rpc.statd/   (props changed)
  stable/8/usr.sbin/rpc.umntall/   (props changed)
  stable/8/usr.sbin/rpc.yppasswdd/   (props changed)
  stable/8/usr.sbin/rpc.ypupdated/   (props changed)
  stable/8/usr.sbin/rpc.ypxfrd/   (props changed)
  stable/8/usr.sbin/rpcbind/   (props changed)
  stable/8/usr.sbin/rrenumd/   (props changed)
  stable/8/usr.sbin/rtadvd/   (props changed)
  stable/8/usr.sbin/rtprio/   (props changed)
  stable/8/usr.sbin/rtsold/   (props changed)
  stable/8/usr.sbin/rwhod/   (props changed)
  stable/8/usr.sbin/sa/   (props changed)
  stable/8/usr.sbin/sade/   (props changed)
  stable/8/usr.sbin/sendmail/   (props changed)
  stable/8/usr.sbin/service/   (props changed)
  stable/8/usr.sbin/service/Makefile   (props changed)
  stable/8/usr.sbin/service/service.8   (props changed)
  stable/8/usr.sbin/service/service.sh   (props changed)
  stable/8/usr.sbin/services_mkdb/   (props changed)
  stable/8/usr.sbin/services_mkdb/Makefile   (props changed)
  stable/8/usr.sbin/services_mkdb/services_mkdb.8   (props changed)
  stable/8/usr.sbin/services_mkdb/services_mkdb.c   (props changed)
  stable/8/usr.sbin/services_mkdb/uniq.c   (props changed)
  stable/8/usr.sbin/setfib/   (props changed)
  stable/8/usr.sbin/setfmac/   (props changed)
  stable/8/usr.sbin/setpmac/   (props changed)
  stable/8/usr.sbin/sicontrol/   (props changed)
  stable/8/usr.sbin/smbmsg/   (props changed)
  stable/8/usr.sbin/snapinfo/   (props changed)
  stable/8/usr.sbin/spkrtest/   (props changed)
  stable/8/usr.sbin/spray/   (props changed)
  stable/8/usr.sbin/sysinstall/   (props changed)
  stable/8/usr.sbin/syslogd/   (props changed)
  stable/8/usr.sbin/tcpdchk/   (props changed)
  stable/8/usr.sbin/tcpdmatch/   (props changed)
  stable/8/usr.sbin/tcpdrop/   (props changed)
  stable/8/usr.sbin/tcpdump/   (props changed)
  stable/8/usr.sbin/timed/   (props changed)
  stable/8/usr.sbin/traceroute/   (props changed)
  stable/8/usr.sbin/traceroute6/   (props changed)
  stable/8/usr.sbin/trpt/   (props changed)
  stable/8/usr.sbin/tzsetup/   (props changed)
  stable/8/usr.sbin/uathload/   (props changed)
  stable/8/usr.sbin/ugidfw/   (props changed)
  stable/8/usr.sbin/uhsoctl/   (props changed)
  stable/8/usr.sbin/usbconfig/   (props changed)
  stable/8/usr.sbin/usbdevs/   (props changed)
  stable/8/usr.sbin/usbdump/   (props changed)
  stable/8/usr.sbin/usbdump/Makefile   (props changed)
  stable/8/usr.sbin/usbdump/usbdump.8   (props changed)
  stable/8/usr.sbin/usbdump/usbdump.c   (props changed)
  stable/8/usr.sbin/vidcontrol/   (props changed)
  stable/8/usr.sbin/vipw/   (props changed)
  stable/8/usr.sbin/wake/   (props changed)
  stable/8/usr.sbin/watch/   (props changed)
  stable/8/usr.sbin/watchdogd/   (props changed)
  stable/8/usr.sbin/wlandebug/   (props changed)
  stable/8/usr.sbin/wlconfig/   (props changed)
  stable/8/usr.sbin/wpa/   (props changed)
  stable/8/usr.sbin/yp_mkdb/   (props changed)
  stable/8/usr.sbin/ypbind/   (props changed)
  stable/8/usr.sbin/yppoll/   (props changed)
  stable/8/usr.sbin/yppush/   (props changed)
  stable/8/usr.sbin/ypserv/   (props changed)
  stable/8/usr.sbin/ypset/   (props changed)
  stable/8/usr.sbin/zic/   (props changed)
  stable/8/usr.sbin/zzz/   (props changed)

Modified: stable/8/lib/libc/net/sctp_sys_calls.c
==============================================================================
--- stable/8/lib/libc/net/sctp_sys_calls.c	Fri Feb 10 21:33:12 2012	(r231443)
+++ stable/8/lib/libc/net/sctp_sys_calls.c	Fri Feb 10 22:06:08 2012	(r231444)
@@ -942,6 +942,12 @@ sctp_recvv(int sd,
 	struct sctp_rcvinfo *rcvinfo;
 	struct sctp_nxtinfo *nxtinfo;
 
+	if (((info != NULL) && (infolen == NULL)) |
+	    ((info == NULL) && (infolen != NULL) && (*infolen != 0)) ||
+	    ((info != NULL) && (infotype == NULL))) {
+		errno = EINVAL;
+		return (-1);
+	}
 	if (infotype) {
 		*infotype = SCTP_RECVV_NOINFO;
 	}
@@ -1017,16 +1023,22 @@ sctp_sendv(int sd,
 {
 	ssize_t ret;
 	int i;
-	size_t addr_len;
-	struct sctp_sendv_spa *spa_info;
+	socklen_t addr_len;
 	struct msghdr msg;
+	in_port_t port;
+	struct sctp_sendv_spa *spa_info;
 	struct cmsghdr *cmsg;
 	char *cmsgbuf;
 	struct sockaddr *addr;
 	struct sockaddr_in *addr_in;
 	struct sockaddr_in6 *addr_in6;
 
-	if ((addrcnt < 0) || (iovcnt < 0)) {
+	if ((addrcnt < 0) ||
+	    (iovcnt < 0) ||
+	    ((addr == NULL) && (addrcnt > 0)) ||
+	    ((addr != NULL) && (addrcnt == 0)) ||
+	    ((iov == NULL) && (iovcnt > 0)) ||
+	    ((iov != NULL) && (iovcnt == 0))) {
 		errno = EINVAL;
 		return (-1);
 	}
@@ -1042,8 +1054,15 @@ sctp_sendv(int sd,
 	msg.msg_controllen = 0;
 	cmsg = (struct cmsghdr *)cmsgbuf;
 	switch (infotype) {
+	case SCTP_SENDV_NOINFO:
+		if ((infolen != 0) || (info != NULL)) {
+			free(cmsgbuf);
+			errno = EINVAL;
+			return (-1);
+		}
+		break;
 	case SCTP_SENDV_SNDINFO:
-		if (infolen < sizeof(struct sctp_sndinfo)) {
+		if ((info == NULL) || (infolen < sizeof(struct sctp_sndinfo))) {
 			free(cmsgbuf);
 			errno = EINVAL;
 			return (-1);
@@ -1056,7 +1075,7 @@ sctp_sendv(int sd,
 		cmsg = (struct cmsghdr *)((caddr_t)cmsg + CMSG_SPACE(sizeof(struct sctp_sndinfo)));
 		break;
 	case SCTP_SENDV_PRINFO:
-		if (infolen < sizeof(struct sctp_prinfo)) {
+		if ((info == NULL) || (infolen < sizeof(struct sctp_prinfo))) {
 			free(cmsgbuf);
 			errno = EINVAL;
 			return (-1);
@@ -1069,7 +1088,7 @@ sctp_sendv(int sd,
 		cmsg = (struct cmsghdr *)((caddr_t)cmsg + CMSG_SPACE(sizeof(struct sctp_prinfo)));
 		break;
 	case SCTP_SENDV_AUTHINFO:
-		if (infolen < sizeof(struct sctp_authinfo)) {
+		if ((info == NULL) || (infolen < sizeof(struct sctp_authinfo))) {
 			free(cmsgbuf);
 			errno = EINVAL;
 			return (-1);
@@ -1082,7 +1101,7 @@ sctp_sendv(int sd,
 		cmsg = (struct cmsghdr *)((caddr_t)cmsg + CMSG_SPACE(sizeof(struct sctp_authinfo)));
 		break;
 	case SCTP_SENDV_SPA:
-		if (infolen < sizeof(struct sctp_sendv_spa)) {
+		if ((info == NULL) || (infolen < sizeof(struct sctp_sendv_spa))) {
 			free(cmsgbuf);
 			errno = EINVAL;
 			return (-1);
@@ -1119,52 +1138,74 @@ sctp_sendv(int sd,
 		return (-1);
 	}
 	addr = addrs;
-	if (addrcnt == 1) {
-		msg.msg_name = addr;
+	msg.msg_name = NULL;
+	msg.msg_namelen = 0;
+
+	for (i = 0; i < addrcnt; i++) {
 		switch (addr->sa_family) {
 		case AF_INET:
-			msg.msg_namelen = sizeof(struct sockaddr_in);
+			addr_len = (socklen_t) sizeof(struct sockaddr_in);
+			addr_in = (struct sockaddr_in *)addr;
+			if (addr_in->sin_len != addr_len) {
+				free(cmsgbuf);
+				errno = EINVAL;
+				return (-1);
+			}
+			if (i == 0) {
+				port = addr_in->sin_port;
+			} else {
+				if (port == addr_in->sin_port) {
+					cmsg->cmsg_level = IPPROTO_SCTP;
+					cmsg->cmsg_type = SCTP_DSTADDRV4;
+					cmsg->cmsg_len = CMSG_LEN(sizeof(struct in_addr));
+					memcpy(CMSG_DATA(cmsg), &addr_in->sin_addr, sizeof(struct in_addr));
+					msg.msg_controllen += CMSG_SPACE(sizeof(struct in_addr));
+					cmsg = (struct cmsghdr *)((caddr_t)cmsg + CMSG_SPACE(sizeof(struct in_addr)));
+				} else {
+					free(cmsgbuf);
+					errno = EINVAL;
+					return (-1);
+				}
+			}
 			break;
 		case AF_INET6:
-			msg.msg_namelen = sizeof(struct sockaddr_in6);
+			addr_len = (socklen_t) sizeof(struct sockaddr_in6);
+			addr_in6 = (struct sockaddr_in6 *)addr;
+			if (addr_in6->sin6_len != addr_len) {
+				free(cmsgbuf);
+				errno = EINVAL;
+				return (-1);
+			}
+			if (i == 0) {
+				port = addr_in6->sin6_port;
+			} else {
+				if (port == addr_in6->sin6_port) {
+					cmsg->cmsg_level = IPPROTO_SCTP;
+					cmsg->cmsg_type = SCTP_DSTADDRV6;
+					cmsg->cmsg_len = CMSG_LEN(sizeof(struct in6_addr));
+					memcpy(CMSG_DATA(cmsg), &addr_in6->sin6_addr, sizeof(struct in6_addr));
+					msg.msg_controllen += CMSG_SPACE(sizeof(struct in6_addr));
+					cmsg = (struct cmsghdr *)((caddr_t)cmsg + CMSG_SPACE(sizeof(struct in6_addr)));
+				} else {
+					free(cmsgbuf);
+					errno = EINVAL;
+					return (-1);
+				}
+			}
 			break;
 		default:
 			free(cmsgbuf);
 			errno = EINVAL;
 			return (-1);
 		}
-	} else {
-		msg.msg_name = NULL;
-		msg.msg_namelen = 0;
-		for (i = 0; i < addrcnt; i++) {
-			switch (addr->sa_family) {
-			case AF_INET:
-				addr_len = sizeof(struct sockaddr_in);
-				addr_in = (struct sockaddr_in *)addr;
-				cmsg->cmsg_level = IPPROTO_SCTP;
-				cmsg->cmsg_type = SCTP_DSTADDRV4;
-				cmsg->cmsg_len = CMSG_LEN(sizeof(struct in_addr));
-				memcpy(CMSG_DATA(cmsg), &addr_in->sin_addr, sizeof(struct in_addr));
-				msg.msg_controllen += CMSG_SPACE(sizeof(struct in_addr));
-				cmsg = (struct cmsghdr *)((caddr_t)cmsg + CMSG_SPACE(sizeof(struct in_addr)));
-				break;
-			case AF_INET6:
-				addr_len = sizeof(struct sockaddr_in6);
-				addr_in6 = (struct sockaddr_in6 *)addr;
-				cmsg->cmsg_level = IPPROTO_SCTP;
-				cmsg->cmsg_type = SCTP_DSTADDRV6;
-				cmsg->cmsg_len = CMSG_LEN(sizeof(struct in6_addr));
-				memcpy(CMSG_DATA(cmsg), &addr_in6->sin6_addr, sizeof(struct in6_addr));
-				msg.msg_controllen += CMSG_SPACE(sizeof(struct in6_addr));
-				cmsg = (struct cmsghdr *)((caddr_t)cmsg + CMSG_SPACE(sizeof(struct in6_addr)));
-				break;
-			default:
-				free(cmsgbuf);
-				errno = EINVAL;
-				return (-1);
-			}
-			addr = (struct sockaddr *)((caddr_t)addr + addr_len);
+		if (i == 0) {
+			msg.msg_name = addr;
+			msg.msg_namelen = addr_len;
 		}
+		addr = (struct sockaddr *)((caddr_t)addr + addr_len);
+	}
+	if (msg.msg_controllen == 0) {
+		msg.msg_control = NULL;
 	}
 	if (msg.msg_controllen == 0) {
 		msg.msg_control = NULL;

Modified: stable/8/sys/netinet/sctp_uio.h
==============================================================================
--- stable/8/sys/netinet/sctp_uio.h	Fri Feb 10 21:33:12 2012	(r231443)
+++ stable/8/sys/netinet/sctp_uio.h	Fri Feb 10 22:06:08 2012	(r231444)
@@ -201,6 +201,7 @@ struct sctp_recvv_rn {
 #define SCTP_RECVV_NXTINFO 2
 #define SCTP_RECVV_RN      3
 
+#define SCTP_SENDV_NOINFO   0
 #define SCTP_SENDV_SNDINFO  1
 #define SCTP_SENDV_PRINFO   2
 #define SCTP_SENDV_AUTHINFO 3



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201202102206.q1AM68Km097583>