svn commit: r292857 - in user/ngie/stable-10-libnv: bin/ed bin/sh contrib/netbsd-tests/lib/libc/gen contrib/netbsd-tests/lib/libc/ssp contrib/netbsd-tests/usr.bin/grep contrib/smbfs etc etc/default...
Garrett Cooper
ngie at FreeBSD.org
Tue Dec 29 01:21:44 UTC 2015
Author: ngie
Date: Tue Dec 29 01:21:40 2015
New Revision: 292857
URL: https://svnweb.freebsd.org/changeset/base/292857
Log:
MFstable/10 @ r292856
Added:
user/ngie/stable-10-libnv/lib/libc/tests/nss/
- copied from r292856, stable/10/lib/libc/tests/nss/
user/ngie/stable-10-libnv/lib/libc/tests/resolv/
- copied from r292856, stable/10/lib/libc/tests/resolv/
user/ngie/stable-10-libnv/sys/dev/rl/
- copied from r292856, stable/10/sys/dev/rl/
user/ngie/stable-10-libnv/sys/netinet/tcp_fastopen.c
- copied unchanged from r292856, stable/10/sys/netinet/tcp_fastopen.c
user/ngie/stable-10-libnv/sys/netinet/tcp_fastopen.h
- copied unchanged from r292856, stable/10/sys/netinet/tcp_fastopen.h
user/ngie/stable-10-libnv/sys/sparc64/pci/ofw_pci.c
- copied unchanged from r292856, stable/10/sys/sparc64/pci/ofw_pci.c
Deleted:
user/ngie/stable-10-libnv/sys/pci/if_rl.c
user/ngie/stable-10-libnv/sys/pci/if_rlreg.h
Modified:
user/ngie/stable-10-libnv/bin/ed/main.c
user/ngie/stable-10-libnv/bin/sh/mknodes.c
user/ngie/stable-10-libnv/bin/sh/var.c
user/ngie/stable-10-libnv/contrib/netbsd-tests/lib/libc/gen/t_assert.c
user/ngie/stable-10-libnv/contrib/netbsd-tests/lib/libc/ssp/t_ssp.sh
user/ngie/stable-10-libnv/contrib/netbsd-tests/usr.bin/grep/d_binary.out
user/ngie/stable-10-libnv/contrib/netbsd-tests/usr.bin/grep/t_grep.sh
user/ngie/stable-10-libnv/contrib/smbfs/README
user/ngie/stable-10-libnv/etc/defaults/periodic.conf
user/ngie/stable-10-libnv/etc/mtree/BSD.tests.dist
user/ngie/stable-10-libnv/etc/periodic/daily/800.scrub-zfs
user/ngie/stable-10-libnv/etc/periodic/security/520.pfdenied
user/ngie/stable-10-libnv/etc/services
user/ngie/stable-10-libnv/gnu/usr.bin/Makefile
user/ngie/stable-10-libnv/include/netdb.h
user/ngie/stable-10-libnv/lib/libc/gen/lockf.c
user/ngie/stable-10-libnv/lib/libc/net/getaddrinfo.3
user/ngie/stable-10-libnv/lib/libc/net/getaddrinfo.c
user/ngie/stable-10-libnv/lib/libc/net/map_v4v6.c
user/ngie/stable-10-libnv/lib/libc/net/name6.c
user/ngie/stable-10-libnv/lib/libc/sys/clock_gettime.2
user/ngie/stable-10-libnv/lib/libc/sys/gettimeofday.2
user/ngie/stable-10-libnv/lib/libc/tests/Makefile
user/ngie/stable-10-libnv/lib/liblzma/Makefile
user/ngie/stable-10-libnv/share/examples/tests/tests/atf/printf_test.c
user/ngie/stable-10-libnv/share/mk/bsd.README
user/ngie/stable-10-libnv/share/mk/bsd.test.mk
user/ngie/stable-10-libnv/share/mk/suite.test.mk
user/ngie/stable-10-libnv/share/mk/tap.test.mk
user/ngie/stable-10-libnv/sys/conf/files
user/ngie/stable-10-libnv/sys/conf/files.sparc64
user/ngie/stable-10-libnv/sys/conf/options
user/ngie/stable-10-libnv/sys/contrib/ipfilter/netinet/ip_nat.c
user/ngie/stable-10-libnv/sys/dev/hyperv/vmbus/hv_channel_mgmt.c
user/ngie/stable-10-libnv/sys/dev/md/md.c
user/ngie/stable-10-libnv/sys/dev/mii/rgephy.c
user/ngie/stable-10-libnv/sys/dev/mii/rlphy.c
user/ngie/stable-10-libnv/sys/dev/mii/rlswitch.c
user/ngie/stable-10-libnv/sys/dev/mpt/mpt.c
user/ngie/stable-10-libnv/sys/dev/mpt/mpt.h
user/ngie/stable-10-libnv/sys/dev/re/if_re.c
user/ngie/stable-10-libnv/sys/dev/usb/net/if_urndis.c
user/ngie/stable-10-libnv/sys/dev/vt/colors/vt_termcolors.c
user/ngie/stable-10-libnv/sys/modules/hyperv/netvsc/Makefile
user/ngie/stable-10-libnv/sys/modules/rl/Makefile
user/ngie/stable-10-libnv/sys/netgraph/ng_base.c
user/ngie/stable-10-libnv/sys/netinet/tcp.h
user/ngie/stable-10-libnv/sys/netinet/tcp_input.c
user/ngie/stable-10-libnv/sys/netinet/tcp_output.c
user/ngie/stable-10-libnv/sys/netinet/tcp_subr.c
user/ngie/stable-10-libnv/sys/netinet/tcp_syncache.c
user/ngie/stable-10-libnv/sys/netinet/tcp_syncache.h
user/ngie/stable-10-libnv/sys/netinet/tcp_timer.c
user/ngie/stable-10-libnv/sys/netinet/tcp_usrreq.c
user/ngie/stable-10-libnv/sys/netinet/tcp_var.h
user/ngie/stable-10-libnv/sys/sparc64/ebus/ebus.c
user/ngie/stable-10-libnv/sys/sparc64/include/md_var.h
user/ngie/stable-10-libnv/sys/sparc64/include/smp.h
user/ngie/stable-10-libnv/sys/sparc64/pci/fire.c
user/ngie/stable-10-libnv/sys/sparc64/pci/firereg.h
user/ngie/stable-10-libnv/sys/sparc64/pci/firevar.h
user/ngie/stable-10-libnv/sys/sparc64/pci/ofw_pci.h
user/ngie/stable-10-libnv/sys/sparc64/pci/psycho.c
user/ngie/stable-10-libnv/sys/sparc64/pci/psychoreg.h
user/ngie/stable-10-libnv/sys/sparc64/pci/psychovar.h
user/ngie/stable-10-libnv/sys/sparc64/pci/schizo.c
user/ngie/stable-10-libnv/sys/sparc64/pci/schizoreg.h
user/ngie/stable-10-libnv/sys/sparc64/pci/schizovar.h
user/ngie/stable-10-libnv/sys/sparc64/sparc64/machdep.c
user/ngie/stable-10-libnv/sys/sparc64/sparc64/mp_machdep.c
user/ngie/stable-10-libnv/sys/ufs/ffs/ffs_softdep.c
user/ngie/stable-10-libnv/sys/x86/x86/busdma_bounce.c
user/ngie/stable-10-libnv/tests/freebsd_test_suite/macros.h
user/ngie/stable-10-libnv/tests/sys/file/flock_test.sh
user/ngie/stable-10-libnv/tools/debugscripts/README
user/ngie/stable-10-libnv/tools/regression/lib/libc/nss/mach
user/ngie/stable-10-libnv/tools/regression/lib/libc/resolv/mach
user/ngie/stable-10-libnv/tools/regression/lib/msun/test-ctrig.c
user/ngie/stable-10-libnv/tools/regression/lib/msun/test-exponential.c
user/ngie/stable-10-libnv/tools/regression/lib/msun/test-fma.c
user/ngie/stable-10-libnv/tools/regression/lib/msun/test-invtrig.c
user/ngie/stable-10-libnv/tools/regression/mac/mac_portacl/misc.sh
user/ngie/stable-10-libnv/tools/regression/mac/mac_portacl/nobody.t
user/ngie/stable-10-libnv/tools/regression/mac/mac_portacl/root.t
user/ngie/stable-10-libnv/usr.bin/bc/bc.1
user/ngie/stable-10-libnv/usr.bin/bc/bc.y
user/ngie/stable-10-libnv/usr.bin/bc/extern.h
user/ngie/stable-10-libnv/usr.bin/bc/tty.c
user/ngie/stable-10-libnv/usr.sbin/sysrc/sysrc
user/ngie/stable-10-libnv/usr.sbin/sysrc/sysrc.8
user/ngie/stable-10-libnv/usr.sbin/uhsoctl/uhsoctl.c
user/ngie/stable-10-libnv/usr.sbin/ypserv/Makefile.yp
Directory Properties:
user/ngie/stable-10-libnv/ (props changed)
Modified: user/ngie/stable-10-libnv/bin/ed/main.c
==============================================================================
--- user/ngie/stable-10-libnv/bin/ed/main.c Tue Dec 29 01:09:53 2015 (r292856)
+++ user/ngie/stable-10-libnv/bin/ed/main.c Tue Dec 29 01:21:40 2015 (r292857)
@@ -505,7 +505,8 @@ exec_command(void)
return ERR;
else if (open_sbuf() < 0)
return FATAL;
- if (*fnp && *fnp != '!') strcpy(old_filename, fnp);
+ if (*fnp && *fnp != '!')
+ strlcpy(old_filename, fnp, PATH_MAX);
#ifdef BACKWARDS
if (*fnp == '\0' && *old_filename == '\0') {
errmsg = "no current filename";
@@ -532,7 +533,8 @@ exec_command(void)
return ERR;
}
GET_COMMAND_SUFFIX();
- if (*fnp) strcpy(old_filename, fnp);
+ if (*fnp)
+ strlcpy(old_filename, fnp, PATH_MAX);
printf("%s\n", strip_escapes(old_filename));
break;
case 'g':
@@ -663,7 +665,7 @@ exec_command(void)
GET_COMMAND_SUFFIX();
if (!isglobal) clear_undo_stack();
if (*old_filename == '\0' && *fnp != '!')
- strcpy(old_filename, fnp);
+ strlcpy(old_filename, fnp, PATH_MAX);
#ifdef BACKWARDS
if (*fnp == '\0' && *old_filename == '\0') {
errmsg = "no current filename";
@@ -797,7 +799,7 @@ exec_command(void)
return ERR;
GET_COMMAND_SUFFIX();
if (*old_filename == '\0' && *fnp != '!')
- strcpy(old_filename, fnp);
+ strlcpy(old_filename, fnp, PATH_MAX);
#ifdef BACKWARDS
if (*fnp == '\0' && *old_filename == '\0') {
errmsg = "no current filename";
Modified: user/ngie/stable-10-libnv/bin/sh/mknodes.c
==============================================================================
--- user/ngie/stable-10-libnv/bin/sh/mknodes.c Tue Dec 29 01:09:53 2015 (r292856)
+++ user/ngie/stable-10-libnv/bin/sh/mknodes.c Tue Dec 29 01:21:40 2015 (r292857)
@@ -89,7 +89,6 @@ static struct str *nodestr[MAXTYPES]; /*
static int nstr; /* number of structures */
static struct str str[MAXTYPES]; /* the structures */
static struct str *curstr; /* current structure */
-static FILE *infp;
static char line[1024];
static int linno;
static char *linep;
@@ -102,7 +101,7 @@ static void outfunc(FILE *, int);
static void indent(int, FILE *);
static int nextfield(char *);
static void skipbl(void);
-static int readline(void);
+static int readline(FILE *);
static void error(const char *, ...) __printf0like(1, 2) __dead2;
static char *savestr(const char *);
@@ -110,17 +109,19 @@ static char *savestr(const char *);
int
main(int argc, char *argv[])
{
+ FILE *infp;
+
if (argc != 3)
error("usage: mknodes file");
- infp = stdin;
if ((infp = fopen(argv[1], "r")) == NULL)
error("Can't open %s: %s", argv[1], strerror(errno));
- while (readline()) {
+ while (readline(infp)) {
if (line[0] == ' ' || line[0] == '\t')
parsefield();
else if (line[0] != '\0')
parsenode();
}
+ fclose(infp);
output(argv[2]);
exit(0);
}
@@ -253,6 +254,10 @@ output(char *file)
fputs("union node *getfuncnode(struct funcdef *);\n", hfile);
fputs("void reffunc(struct funcdef *);\n", hfile);
fputs("void unreffunc(struct funcdef *);\n", hfile);
+ if (ferror(hfile))
+ error("Can't write to nodes.h");
+ if (fclose(hfile))
+ error("Can't close nodes.h");
fputs(writer, cfile);
while (fgets(line, sizeof line, patfile) != NULL) {
@@ -266,6 +271,11 @@ output(char *file)
else
fputs(line, cfile);
}
+ fclose(patfile);
+ if (ferror(cfile))
+ error("Can't write to nodes.c");
+ if (fclose(cfile))
+ error("Can't close nodes.c");
}
@@ -401,7 +411,7 @@ skipbl(void)
static int
-readline(void)
+readline(FILE *infp)
{
char *p;
Modified: user/ngie/stable-10-libnv/bin/sh/var.c
==============================================================================
--- user/ngie/stable-10-libnv/bin/sh/var.c Tue Dec 29 01:09:53 2015 (r292856)
+++ user/ngie/stable-10-libnv/bin/sh/var.c Tue Dec 29 01:21:40 2015 (r292857)
@@ -328,7 +328,7 @@ setvareq(char *s, int flags)
if (vp->flags & VREADONLY) {
if ((flags & (VTEXTFIXED|VSTACK)) == 0)
ckfree(s);
- error("%.*s: is read only", vp->name_len, s);
+ error("%.*s: is read only", vp->name_len, vp->text);
}
if (flags & VNOSET) {
if ((flags & (VTEXTFIXED|VSTACK)) == 0)
Modified: user/ngie/stable-10-libnv/contrib/netbsd-tests/lib/libc/gen/t_assert.c
==============================================================================
--- user/ngie/stable-10-libnv/contrib/netbsd-tests/lib/libc/gen/t_assert.c Tue Dec 29 01:09:53 2015 (r292856)
+++ user/ngie/stable-10-libnv/contrib/netbsd-tests/lib/libc/gen/t_assert.c Tue Dec 29 01:21:40 2015 (r292857)
@@ -40,6 +40,23 @@ __RCSID("$NetBSD: t_assert.c,v 1.2 2011/
#include <string.h>
#include <unistd.h>
+#ifdef __FreeBSD__
+#include <sys/types.h>
+#include <sys/time.h>
+#include <sys/resource.h>
+
+static void
+disable_corefile(void)
+{
+ struct rlimit limits;
+
+ limits.rlim_cur = 0;
+ limits.rlim_max = 0;
+
+ ATF_REQUIRE(setrlimit(RLIMIT_CORE, &limits) == 0);
+}
+#endif
+
static void handler(int);
static void
@@ -65,6 +82,9 @@ ATF_TC_BODY(assert_false, tc)
if (pid == 0) {
+#ifdef __FreeBSD__
+ disable_corefile();
+#endif
(void)closefrom(0);
(void)memset(&sa, 0, sizeof(struct sigaction));
@@ -102,6 +122,9 @@ ATF_TC_BODY(assert_true, tc)
if (pid == 0) {
+#ifdef __FreeBSD__
+ disable_corefile();
+#endif
(void)closefrom(0);
(void)memset(&sa, 0, sizeof(struct sigaction));
Modified: user/ngie/stable-10-libnv/contrib/netbsd-tests/lib/libc/ssp/t_ssp.sh
==============================================================================
--- user/ngie/stable-10-libnv/contrib/netbsd-tests/lib/libc/ssp/t_ssp.sh Tue Dec 29 01:09:53 2015 (r292856)
+++ user/ngie/stable-10-libnv/contrib/netbsd-tests/lib/libc/ssp/t_ssp.sh Tue Dec 29 01:21:40 2015 (r292857)
@@ -35,6 +35,7 @@ h_fail()
{
echo "Executing command [ $2$1 ]"
# Begin FreeBSD
+ ulimit -c 0
if true; then
eval $2 atf_check -s signal -o ignore -e ignore $1
else
Modified: user/ngie/stable-10-libnv/contrib/netbsd-tests/usr.bin/grep/d_binary.out
==============================================================================
--- user/ngie/stable-10-libnv/contrib/netbsd-tests/usr.bin/grep/d_binary.out Tue Dec 29 01:09:53 2015 (r292856)
+++ user/ngie/stable-10-libnv/contrib/netbsd-tests/usr.bin/grep/d_binary.out Tue Dec 29 01:21:40 2015 (r292857)
@@ -1 +1 @@
-Binary file /bin/sh matches
+Binary file test.file matches
Modified: user/ngie/stable-10-libnv/contrib/netbsd-tests/usr.bin/grep/t_grep.sh
==============================================================================
--- user/ngie/stable-10-libnv/contrib/netbsd-tests/usr.bin/grep/t_grep.sh Tue Dec 29 01:09:53 2015 (r292856)
+++ user/ngie/stable-10-libnv/contrib/netbsd-tests/usr.bin/grep/t_grep.sh Tue Dec 29 01:21:40 2015 (r292857)
@@ -43,7 +43,20 @@ binary_head()
}
binary_body()
{
+ # Begin FreeBSD
+ #
+ # Generate stable output instead of depending on uname to match the
+ # branded OS name of /bin/sh
+ if true; then
+ dd if=/dev/zero count=1 of=test.file
+ echo -n "foobar" >> test.file
+ atf_check -o file:"$(atf_get_srcdir)/d_binary.out" grep foobar test.file
+ else
+ # End FreeBSD
atf_check -o file:"$(atf_get_srcdir)/d_binary.out" grep $(uname) /bin/sh
+ # Begin FreeBSD
+ fi
+ # End FreeBSD
}
atf_test_case recurse
Modified: user/ngie/stable-10-libnv/contrib/smbfs/README
==============================================================================
--- user/ngie/stable-10-libnv/contrib/smbfs/README Tue Dec 29 01:09:53 2015 (r292856)
+++ user/ngie/stable-10-libnv/contrib/smbfs/README Tue Dec 29 01:21:40 2015 (r292857)
@@ -15,7 +15,7 @@ It is a complete, kernel side implementa
Darwin maintained in the Darwin's tree.
- I'm would be very grateful for any feedback, bug reports etc.
+ I would be very grateful for any feedback, bug reports etc.
Supported SMB servers:
Samba
@@ -23,14 +23,14 @@ It is a complete, kernel side implementa
IBM LanManager
NetApp
- An updated versions of this package can be retrieved from ftp server:
+ An updated version of this package can be retrieved from ftp server:
ftp://ftp.butya.kz/pub/smbfs/smbfs.tar.gz
- Perfomance
+ Performance
==========
- There is some perfomance benchmarks over 10Mbit network:
+ These are some performance benchmarks over a 10Mbit network:
Win95 machine as server:
IOZONE: auto-test mode
Modified: user/ngie/stable-10-libnv/etc/defaults/periodic.conf
==============================================================================
--- user/ngie/stable-10-libnv/etc/defaults/periodic.conf Tue Dec 29 01:09:53 2015 (r292856)
+++ user/ngie/stable-10-libnv/etc/defaults/periodic.conf Tue Dec 29 01:21:40 2015 (r292857)
@@ -319,8 +319,8 @@ if [ -z "${source_periodic_confs_defined
"use \$$var instead." >&2
case "$value" in
[Yy][Ee][Ss])
- $var=YES
- $periodvar=daily
+ eval $var=YES
+ eval $periodvar=daily
;;
*)
eval $var=\"$value\"
Modified: user/ngie/stable-10-libnv/etc/mtree/BSD.tests.dist
==============================================================================
--- user/ngie/stable-10-libnv/etc/mtree/BSD.tests.dist Tue Dec 29 01:09:53 2015 (r292856)
+++ user/ngie/stable-10-libnv/etc/mtree/BSD.tests.dist Tue Dec 29 01:21:40 2015 (r292857)
@@ -109,10 +109,14 @@
..
..
..
+ nss
+ ..
regex
data
..
..
+ resolv
+ ..
rpc
..
ssp
Modified: user/ngie/stable-10-libnv/etc/periodic/daily/800.scrub-zfs
==============================================================================
--- user/ngie/stable-10-libnv/etc/periodic/daily/800.scrub-zfs Tue Dec 29 01:09:53 2015 (r292856)
+++ user/ngie/stable-10-libnv/etc/periodic/daily/800.scrub-zfs Tue Dec 29 01:21:40 2015 (r292857)
@@ -43,6 +43,10 @@ case "$daily_scrub_zfs_enable" in
rc=3
echo "Skipping faulted pool: ${pool}"
continue ;;
+ *UNAVAIL*)
+ rc=4
+ echo "Skipping unavailable pool: ${pool}"
+ continue ;;
esac
# determine how many days shall be between scrubs
Modified: user/ngie/stable-10-libnv/etc/periodic/security/520.pfdenied
==============================================================================
--- user/ngie/stable-10-libnv/etc/periodic/security/520.pfdenied Tue Dec 29 01:09:53 2015 (r292856)
+++ user/ngie/stable-10-libnv/etc/periodic/security/520.pfdenied Tue Dec 29 01:21:40 2015 (r292857)
@@ -44,7 +44,7 @@ rc=0
if check_yesno_period security_status_pfdenied_enable
then
TMP=`mktemp -t security`
- if pfctl -sr -v 2>/dev/null | nawk '{if (/^block/) {buf=$0; getline; gsub(" +"," ",$0); print buf$0;} }' > ${TMP}; then
+ if pfctl -sr -v 2>/dev/null | nawk '{if (/^block/) {buf=$0; getline; gsub(" +"," ",$0); if ($5 > 0) print buf$0;} }' > ${TMP}; then
check_diff new_only pf ${TMP} "${host} pf denied packets:"
fi
rc=$?
Modified: user/ngie/stable-10-libnv/etc/services
==============================================================================
--- user/ngie/stable-10-libnv/etc/services Tue Dec 29 01:09:53 2015 (r292856)
+++ user/ngie/stable-10-libnv/etc/services Tue Dec 29 01:21:40 2015 (r292857)
@@ -1029,7 +1029,7 @@ nntps 563/udp snntp #nntp protocol o
whoami 565/tcp
whoami 565/udp
streettalk 566/tcp
-streettalk 566/udp
+streettalk 566/udp
banyan-rpc 567/tcp
banyan-rpc 567/udp
ms-shuttle 568/tcp #Microsoft shuttle
@@ -1099,16 +1099,16 @@ acp 599/tcp #Aeolon Core Protocol
acp 599/udp #Aeolon Core Protocol
ipcserver 600/tcp #Sun IPC server
ipcserver 600/udp #Sun IPC server
-syslog-conn 601/tcp #Reliable Syslog Service
-syslog-conn 601/udp #Reliable Syslog Service
-xmlrpc-beep 602/tcp #XML-RPC over BEEP
-xmlrpc-beep 602/udp #XML-RPC over BEEP
-idxp 603/tcp
-idxp 603/udp
-tunnel 604/tcp
-tunnel 604/udp
-soap-beep 605/tcp #SOAP over BEEP
-soap-beep 605/udp #SOAP over BEEP
+syslog-conn 601/tcp #Reliable Syslog Service
+syslog-conn 601/udp #Reliable Syslog Service
+xmlrpc-beep 602/tcp #XML-RPC over BEEP
+xmlrpc-beep 602/udp #XML-RPC over BEEP
+idxp 603/tcp
+idxp 603/udp
+tunnel 604/tcp
+tunnel 604/udp
+soap-beep 605/tcp #SOAP over BEEP
+soap-beep 605/udp #SOAP over BEEP
urm 606/tcp #Cray Unified Resource Manager
urm 606/udp #Cray Unified Resource Manager
nqs 607/tcp
@@ -1137,14 +1137,14 @@ dei-icda 618/tcp
dei-icda 618/udp
compaq-evm 619/tcp #Compaq EVM
compaq-evm 619/udp #Compaq EVM
-sco-websrvrmgr 620/tcp #SCO WebServer Manager
-sco-websrvrmgr 620/udp #SCO WebServer Manager
+sco-websrvrmgr 620/tcp #SCO WebServer Manager
+sco-websrvrmgr 620/udp #SCO WebServer Manager
escp-ip 621/tcp #ESCP
escp-ip 621/udp #ESCP
collaborator 622/tcp
collaborator 622/udp
-asf-rmcp 623/tcp #ASF Remote Management and Control Protocol
-asf-rmcp 623/udp #ASF Remote Management and Control Protocol
+asf-rmcp 623/tcp #ASF Remote Management and Control Protocol
+asf-rmcp 623/udp #ASF Remote Management and Control Protocol
cryptoadmin 624/tcp #Crypto Admin
cryptoadmin 624/udp #Crypto Admin
dec_dlm 625/tcp #DEC DLM
@@ -1167,12 +1167,12 @@ servstat 633/tcp #Service Status upda
servstat 633/udp #Service Status update (Sterling Software)
ginad 634/tcp
ginad 634/udp
-rlzdbase 635/tcp #RLZ DBase
-rlzdbase 635/udp #RLZ DBase
+rlzdbase 635/tcp #RLZ DBase
+rlzdbase 635/udp #RLZ DBase
ldaps 636/tcp sldap #ldap protocol over TLS/SSL
ldaps 636/udp sldap
-lanserver 637/tcp
-lanserver 637/udp
+lanserver 637/tcp
+lanserver 637/udp
mcns-sec 638/tcp
mcns-sec 638/udp
msdp 639/tcp
@@ -1191,12 +1191,12 @@ pssc 645/tcp
pssc 645/udp
ldp 646/tcp
ldp 646/udp
-dhcp-failover 647/tcp #DHCP Failover
-dhcp-failover 647/udp #DHCP Failover
-rrp 648/tcp #Registry Registrar Protocol (RRP)
-rrp 648/udp #Registry Registrar Protocol (RRP)
-cadview-3d 649/tcp #Cadview-3d - streaming 3d models over the internet
-cadview-3d 649/udp #Cadview-3d - streaming 3d models over the internet
+dhcp-failover 647/tcp #DHCP Failover
+dhcp-failover 647/udp #DHCP Failover
+rrp 648/tcp #Registry Registrar Protocol (RRP)
+rrp 648/udp #Registry Registrar Protocol (RRP)
+cadview-3d 649/tcp #Cadview-3d - streaming 3d models over the internet
+cadview-3d 649/udp #Cadview-3d - streaming 3d models over the internet
obex 650/tcp
obex 650/udp
ieee-mms 651/tcp #IEEE MMS
@@ -1215,38 +1215,38 @@ rmc 657/tcp
rmc 657/udp
tenfold 658/tcp
tenfold 658/udp
-mac-srvr-admin 660/tcp #MacOS Server Admin
-mac-srvr-admin 660/udp #MacOS Server Admin
-hap 661/tcp
-hap 661/udp
-pftp 662/tcp
-pftp 662/udp
-purenoise 663/tcp #PureNoise
-purenoise 663/udp #PureNoise
-asf-secure-rmcp 664/tcp #ASF Secure Remote Management and Control Protocol
-asf-secure-rmcp 664/udp #ASF Secure Remote Management and Control Protocol
-sun-dr 665/tcp #Sun DR
-sun-dr 665/udp #Sun DR
+mac-srvr-admin 660/tcp #MacOS Server Admin
+mac-srvr-admin 660/udp #MacOS Server Admin
+hap 661/tcp
+hap 661/udp
+pftp 662/tcp
+pftp 662/udp
+purenoise 663/tcp #PureNoise
+purenoise 663/udp #PureNoise
+asf-secure-rmcp 664/tcp #ASF Secure Remote Management and Control Protocol
+asf-secure-rmcp 664/udp #ASF Secure Remote Management and Control Protocol
+sun-dr 665/tcp #Sun DR
+sun-dr 665/udp #Sun DR
mdqs 666/tcp
mdqs 666/udp
#PROBLEMS!===============================================
doom 666/tcp #doom Id Software
doom 666/udp #doom Id Software
#PROBLEMS!===============================================
-disclose 667/tcp #campaign contribution disclosures - SDR Technologies
-disclose 667/udp #campaign contribution disclosures - SDR Technologies
-mecomm 668/tcp
-mecomm 668/udp
-meregister 669/tcp
-meregister 669/udp
-vacdsm-sws 670/tcp
-vacdsm-sws 670/udp
-vacdsm-app 671/tcp
-vacdsm-app 671/udp
-vpps-qua 672/tcp
-vpps-qua 672/udp
-cimplex 673/tcp
-cimplex 673/udp
+disclose 667/tcp #campaign contribution disclosures - SDR Technologies
+disclose 667/udp #campaign contribution disclosures - SDR Technologies
+mecomm 668/tcp
+mecomm 668/udp
+meregister 669/tcp
+meregister 669/udp
+vacdsm-sws 670/tcp
+vacdsm-sws 670/udp
+vacdsm-app 671/tcp
+vacdsm-app 671/udp
+vpps-qua 672/tcp
+vpps-qua 672/udp
+cimplex 673/tcp
+cimplex 673/udp
acap 674/tcp #Application Configuration Access Protocol
acap 674/udp #Application Configuration Access Protocol
dctp 675/tcp
@@ -1257,70 +1257,70 @@ vpp 677/tcp #Virtual Presence Protoc
vpp 677/udp #Virtual Presence Protocol
ggf-ncp 678/tcp #GNU Generation Foundation NCP
ggf-ncp 678/udp #GNU Generation Foundation NCP
-mrm 679/tcp
-mrm 679/udp
+mrm 679/tcp
+mrm 679/udp
entrust-aaas 680/tcp
entrust-aaas 680/udp
entrust-aams 681/tcp
entrust-aams 681/udp
-xfr 682/tcp
-xfr 682/udp
-corba-iiop 683/tcp #CORBA IIOP
-corba-iiop 683/udp #CORBA IIOP
+xfr 682/tcp
+xfr 682/udp
+corba-iiop 683/tcp #CORBA IIOP
+corba-iiop 683/udp #CORBA IIOP
corba-iiop-ssl 684/tcp #CORBA IIOP SSL
corba-iiop-ssl 684/udp #CORBA IIOP SSL
mdc-portmapper 685/tcp #MDC Port Mapper
mdc-portmapper 685/udp #MDC Port Mapper
-hcp-wismar 686/tcp #Hardware Control Protocol Wismar
-hcp-wismar 686/udp #Hardware Control Protocol Wismar
+hcp-wismar 686/tcp #Hardware Control Protocol Wismar
+hcp-wismar 686/udp #Hardware Control Protocol Wismar
asipregistry 687/tcp
asipregistry 687/udp
-realm-rusd 688/tcp #ApplianceWare management protocol
-realm-rusd 688/udp #ApplianceWare management protocol
-nmap 689/tcp
-nmap 689/udp
-vatp 690/tcp #Velazquez Application Transfer Protocol
-vatp 690/udp #Velazquez Application Transfer Protocol
+realm-rusd 688/tcp #ApplianceWare management protocol
+realm-rusd 688/udp #ApplianceWare management protocol
+nmap 689/tcp
+nmap 689/udp
+vatp 690/tcp #Velazquez Application Transfer Protocol
+vatp 690/udp #Velazquez Application Transfer Protocol
msexch-routing 691/tcp #MS Exchange Routing
msexch-routing 691/udp #MS Exchange Routing
hyperwave-isp 692/tcp #Hyperwave-ISP
hyperwave-isp 692/udp #Hyperwave-ISP
-connendp 693/tcp
-connendp 693/udp
-ha-cluster 694/tcp
-ha-cluster 694/udp
-ieee-mms-ssl 695/tcp
-ieee-mms-ssl 695/udp
-rushd 696/tcp
-rushd 696/udp
-uuidgen 697/tcp
-uuidgen 697/udp
-olsr 698/tcp
-olsr 698/udp
-accessnetwork 699/tcp #Access Network
-accessnetwork 699/udp #Access Network
-epp 700/tcp #Extensible Provisioning Protocol
-epp 700/udp #Extensible Provisioning Protocol
-lmp 701/tcp #Link Management Protocol (LMP)
-lmp 701/udp #Link Management Protocol (LMP)
-iris-beep 702/tcp #IRIS over BEEP
-iris-beep 702/udp #IRIS over BEEP
+connendp 693/tcp
+connendp 693/udp
+ha-cluster 694/tcp
+ha-cluster 694/udp
+ieee-mms-ssl 695/tcp
+ieee-mms-ssl 695/udp
+rushd 696/tcp
+rushd 696/udp
+uuidgen 697/tcp
+uuidgen 697/udp
+olsr 698/tcp
+olsr 698/udp
+accessnetwork 699/tcp #Access Network
+accessnetwork 699/udp #Access Network
+epp 700/tcp #Extensible Provisioning Protocol
+epp 700/udp #Extensible Provisioning Protocol
+lmp 701/tcp #Link Management Protocol (LMP)
+lmp 701/udp #Link Management Protocol (LMP)
+iris-beep 702/tcp #IRIS over BEEP
+iris-beep 702/udp #IRIS over BEEP
elcsd 704/tcp #errlog copy/server daemon
elcsd 704/udp #errlog copy/server daemon
-agentx 705/tcp #AgentX
-agentx 705/udp #AgentX
-silc 706/tcp
-silc 706/udp
-borland-dsj 707/tcp #Borland DSJ
-borland-dsj 707/udp #Borland DSJ
+agentx 705/tcp #AgentX
+agentx 705/udp #AgentX
+silc 706/tcp
+silc 706/udp
+borland-dsj 707/tcp #Borland DSJ
+borland-dsj 707/udp #Borland DSJ
entrustmanager 709/tcp #EntrustManager
entrustmanager 709/udp #EntrustManager
-entrust-ash 710/tcp #Entrust Administration Service Handler
-entrust-ash 710/udp #Entrust Administration Service Handler
-cisco-tdp 711/tcp #Cisco TDP
-cisco-tdp 711/udp #Cisco TDP
-tbrpf 712/tcp
-tbrpf 712/udp
+entrust-ash 710/tcp #Entrust Administration Service Handler
+entrust-ash 710/udp #Entrust Administration Service Handler
+cisco-tdp 711/tcp #Cisco TDP
+cisco-tdp 711/udp #Cisco TDP
+tbrpf 712/tcp
+tbrpf 712/udp
iris-xpc 713/tcp #IRIS over XPC
iris-xpc 713/udp #IRIS over XPC
iris-xpcs 714/tcp #IRIS over XPCS
@@ -1419,49 +1419,49 @@ fcp-udp 810/udp #FCP Datagram
itm-mcell-s 828/tcp
itm-mcell-s 828/udp
pkix-3-ca-ra 829/tcp #PKIX-3 CA/RA
-pkix-3-ca-ra 829/udp #PKIX-3 CA/RA
-netconf-ssh 830/tcp #NETCONF over SSH
-netconf-ssh 830/udp #NETCONF over SSH
-netconf-beep 831/tcp #NETCONF over BEEP
-netconf-beep 831/udp #NETCONF over BEEP
-netconfsoaphttp 832/tcp #NETCONF for SOAP over HTTPS
-netconfsoaphttp 832/udp #NETCONF for SOAP over HTTPS
-netconfsoapbeep 833/tcp #NETCONF for SOAP over BEEP
-netconfsoapbeep 833/udp #NETCONF for SOAP over BEEP
-dhcp-failover2 847/tcp #dhcp-failover 2
-dhcp-failover2 847/udp #dhcp-failover 2
-gdoi 848/tcp
-gdoi 848/udp
-iscsi 860/tcp
-iscsi 860/udp
-owamp-control 861/tcp
-owamp-control 861/udp
+pkix-3-ca-ra 829/udp #PKIX-3 CA/RA
+netconf-ssh 830/tcp #NETCONF over SSH
+netconf-ssh 830/udp #NETCONF over SSH
+netconf-beep 831/tcp #NETCONF over BEEP
+netconf-beep 831/udp #NETCONF over BEEP
+netconfsoaphttp 832/tcp #NETCONF for SOAP over HTTPS
+netconfsoaphttp 832/udp #NETCONF for SOAP over HTTPS
+netconfsoapbeep 833/tcp #NETCONF for SOAP over BEEP
+netconfsoapbeep 833/udp #NETCONF for SOAP over BEEP
+dhcp-failover2 847/tcp #dhcp-failover 2
+dhcp-failover2 847/udp #dhcp-failover 2
+gdoi 848/tcp
+gdoi 848/udp
+iscsi 860/tcp
+iscsi 860/udp
+owamp-control 861/tcp
+owamp-control 861/udp
supfilesrv 871/tcp # for SUP
rsync 873/tcp
rsync 873/udp
-iclcnet-locate 886/tcp #ICL coNETion locate server
-iclcnet-locate 886/udp #ICL coNETion locate server
-iclcnet_svinfo 887/tcp #ICL coNETion server info
-iclcnet_svinfo 887/udp #ICL coNETion server info
+iclcnet-locate 886/tcp #ICL coNETion locate server
+iclcnet-locate 886/udp #ICL coNETion locate server
+iclcnet_svinfo 887/tcp #ICL coNETion server info
+iclcnet_svinfo 887/udp #ICL coNETion server info
accessbuilder 888/tcp
accessbuilder 888/udp
-omginitialrefs 900/tcp #OMG Initial Refs
-omginitialrefs 900/udp #OMG Initial Refs
+omginitialrefs 900/tcp #OMG Initial Refs
+omginitialrefs 900/udp #OMG Initial Refs
swat 901/tcp # samba web configuration tool
-smpnameres 901/tcp
-smpnameres 901/udp
-ideafarm-chat 902/tcp
-ideafarm-chat 902/udp
-ideafarm-catch 903/tcp
-ideafarm-catch 903/udp
-kink 910/tcp #Kerberized Internet Negotiation of Keys (KINK)
-kink 910/udp #Kerberized Internet Negotiation of Keys (KINK)
-xact-backup 911/tcp
-xact-backup 911/udp
-apex-mesh 912/tcp #APEX relay-relay service
-apex-mesh 912/udp #APEX relay-relay service
-apex-edge 913/tcp #APEX endpoint-relay service
-apex-edge 913/udp #APEX endpoint-relay service
+smpnameres 901/tcp
+smpnameres 901/udp
+ideafarm-chat 902/tcp
+ideafarm-chat 902/udp
+ideafarm-catch 903/tcp
+ideafarm-catch 903/udp
+kink 910/tcp #Kerberized Internet Negotiation of Keys (KINK)
+kink 910/udp #Kerberized Internet Negotiation of Keys (KINK)
+xact-backup 911/tcp
+xact-backup 911/udp
+apex-mesh 912/tcp #APEX relay-relay service
+apex-mesh 912/udp #APEX relay-relay service
+apex-edge 913/tcp #APEX endpoint-relay service
+apex-edge 913/udp #APEX endpoint-relay service
rndc 953/tcp # named's rndc control socket
ftps-data 989/tcp # ftp protocol, data, over TLS/SSL
ftps-data 989/udp
@@ -1491,10 +1491,10 @@ cadlock2 1000/tcp
cadlock2 1000/udp
surf 1010/tcp
surf 1010/udp
-exp1 1021/tcp #RFC3692-style Experiment 1 (*) [RFC4727]
-exp1 1021/udp #RFC3692-style Experiment 1 (*) [RFC4727]
-exp2 1022/tcp #RFC3692-style Experiment 2 (*) [RFC4727]
-exp2 1022/udp #RFC3692-style Experiment 2 (*) [RFC4727]
+exp1 1021/tcp #RFC3692-style Experiment 1 (*) [RFC4727]
+exp1 1021/udp #RFC3692-style Experiment 1 (*) [RFC4727]
+exp2 1022/tcp #RFC3692-style Experiment 2 (*) [RFC4727]
+exp2 1022/udp #RFC3692-style Experiment 2 (*) [RFC4727]
#
# REGISTERED PORT NUMBERS
#
@@ -2399,6 +2399,7 @@ xdsxdm 6558/udp
sane-port 6566/tcp #Scanner Access Now Easy (SANE) Control Port
sane-port 6566/udp #Scanner Access Now Easy (SANE) Control Port
ircd 6667/tcp #Internet Relay Chat (unofficial)
+ircs-u 6697/tcp #Internet Relay Chat over TLS/SSL
frc-hp 6704/sctp #ForCES HP (High Priority) channel
frc-mp 6705/sctp #ForCES MP (Medium Priority) channel
frc-lp 6706/sctp #ForCES LP (Low priority) channel
Modified: user/ngie/stable-10-libnv/gnu/usr.bin/Makefile
==============================================================================
--- user/ngie/stable-10-libnv/gnu/usr.bin/Makefile Tue Dec 29 01:09:53 2015 (r292856)
+++ user/ngie/stable-10-libnv/gnu/usr.bin/Makefile Tue Dec 29 01:21:40 2015 (r292857)
@@ -17,6 +17,8 @@ SUBDIR= ${_binutils} \
${_tests} \
${_texinfo}
+SUBDIR_DEPEND_gdb= ${_binutils}
+
.if ${MK_CXX} != "no"
_gperf= gperf
.if ${MK_GROFF} != "no"
Modified: user/ngie/stable-10-libnv/include/netdb.h
==============================================================================
--- user/ngie/stable-10-libnv/include/netdb.h Tue Dec 29 01:09:53 2015 (r292856)
+++ user/ngie/stable-10-libnv/include/netdb.h Tue Dec 29 01:21:40 2015 (r292857)
@@ -122,7 +122,7 @@ struct protoent {
struct addrinfo {
int ai_flags; /* AI_PASSIVE, AI_CANONNAME, AI_NUMERICHOST */
- int ai_family; /* PF_xxx */
+ int ai_family; /* AF_xxx */
int ai_socktype; /* SOCK_xxx */
int ai_protocol; /* 0 or IPPROTO_xxx for IPv4 and IPv6 */
socklen_t ai_addrlen; /* length of ai_addr */
@@ -179,7 +179,7 @@ struct addrinfo {
/* valid flags for addrinfo (not a standard def, apps should not use it) */
#define AI_MASK \
(AI_PASSIVE | AI_CANONNAME | AI_NUMERICHOST | AI_NUMERICSERV | \
- AI_ADDRCONFIG)
+ AI_ADDRCONFIG | AI_ALL | AI_V4MAPPED)
#define AI_ALL 0x00000100 /* IPv6 and IPv4-mapped (with AI_V4MAPPED) */
#define AI_V4MAPPED_CFG 0x00000200 /* accept IPv4-mapped if kernel supports */
Modified: user/ngie/stable-10-libnv/lib/libc/gen/lockf.c
==============================================================================
--- user/ngie/stable-10-libnv/lib/libc/gen/lockf.c Tue Dec 29 01:09:53 2015 (r292856)
+++ user/ngie/stable-10-libnv/lib/libc/gen/lockf.c Tue Dec 29 01:21:40 2015 (r292857)
@@ -36,6 +36,7 @@ __FBSDID("$FreeBSD$");
#include <fcntl.h>
#include <unistd.h>
#include "un-namespace.h"
+#include "libc_private.h"
int
lockf(int filedes, int function, off_t size)
@@ -62,9 +63,12 @@ lockf(int filedes, int function, off_t s
break;
case F_TEST:
fl.l_type = F_WRLCK;
- if (_fcntl(filedes, F_GETLK, &fl) == -1)
+ if (((int (*)(int, int, ...))
+ __libc_interposing[INTERPOS_fcntl])(filedes, F_GETLK, &fl)
+ == -1)
return (-1);
- if (fl.l_type == F_UNLCK || (fl.l_sysid == 0 && fl.l_pid == getpid()))
+ if (fl.l_type == F_UNLCK || (fl.l_sysid == 0 &&
+ fl.l_pid == getpid()))
return (0);
errno = EAGAIN;
return (-1);
@@ -75,5 +79,6 @@ lockf(int filedes, int function, off_t s
/* NOTREACHED */
}
- return (_fcntl(filedes, cmd, &fl));
+ return (((int (*)(int, int, ...))
+ __libc_interposing[INTERPOS_fcntl])(filedes, cmd, &fl));
}
Modified: user/ngie/stable-10-libnv/lib/libc/net/getaddrinfo.3
==============================================================================
--- user/ngie/stable-10-libnv/lib/libc/net/getaddrinfo.3 Tue Dec 29 01:09:53 2015 (r292856)
+++ user/ngie/stable-10-libnv/lib/libc/net/getaddrinfo.3 Tue Dec 29 01:21:40 2015 (r292857)
@@ -18,7 +18,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd October 5, 2015
+.Dd December 21, 2015
.Dt GETADDRINFO 3
.Os
.Sh NAME
@@ -78,7 +78,7 @@ as defined by
.Bd -literal
struct addrinfo {
int ai_flags; /* input flags */
- int ai_family; /* protocol family for socket */
+ int ai_family; /* address family for socket */
int ai_socktype; /* socket type */
int ai_protocol; /* protocol for socket */
socklen_t ai_addrlen; /* length of socket-address */
@@ -94,12 +94,12 @@ The caller can supply the following stru
.Fa hints :
.Bl -tag -width "ai_socktypeXX"
.It Fa ai_family
-The protocol family that should be used.
+The address family that should be used.
When
.Fa ai_family
is set to
-.Dv PF_UNSPEC ,
-it means the caller will accept any protocol family supported by the
+.Dv AF_UNSPEC ,
+it means the caller will accept any address family supported by the
operating system.
.It Fa ai_socktype
Denotes the type of socket that is wanted:
@@ -126,11 +126,13 @@ field to which the
parameter points shall be set to zero
or be the bitwise-inclusive OR of one or more of the values
.Dv AI_ADDRCONFIG ,
+.Dv AI_ALL ,
.Dv AI_CANONNAME ,
.Dv AI_NUMERICHOST ,
-.Dv AI_NUMERICSERV
+.Dv AI_NUMERICSERV ,
+.Dv AI_PASSIVE
and
-.Dv AI_PASSIVE .
+.Dv AI_V4MAPPED .
.Bl -tag -width "AI_CANONNAMEXX"
.It Dv AI_ADDRCONFIG
If the
@@ -139,6 +141,25 @@ bit is set, IPv4 addresses shall be retu
an IPv4 address is configured on the local system,
and IPv6 addresses shall be returned only if
an IPv6 address is configured on the local system.
+.It Dv AI_ALL
+If the
+.Dv AI_ALL
+flag is used with the
+.Dv AI_V4MAPPED
+flag, then
+.Fn getaddrinfo
+shall return all matching IPv6 and IPv4 addresses.
+.Pp
+For example, when using the DNS, queries are made for both AAAA records and A records, and
+.Fn getaddrinfo
+returns the combined results of both queries.
+Any IPv4 addresses found are returned as IPv4-mapped IPv6 addresses.
+.Pp
+The
+.Dv AI_ALL
+flag without the
+.Dv AI_V4MAPPED
+flag is ignored.
.It Dv AI_CANONNAME
If the
.Dv AI_CANONNAME
@@ -203,6 +224,25 @@ loopback address if
is the null pointer and
.Dv AI_PASSIVE
is not set.
+.It Dv AI_V4MAPPED
+If the
+.Dv AI_V4MAPPED
+flag is specified along with an ai_family of
+.Dv AF_INET6 ,
+then
+.Fn getaddrinfo
+shall return IPv4-mapped IPv6 addresses on finding no matching IPv6 addresses (
+.Fa ai_addrlen
+shall be 16).
+.Pp
+For example, when using the DNS, if no AAAA records are found then a query is made for A records and any found are returned as IPv4-mapped IPv6 addresses.
+.Pp
+The
+.Dv AI_V4MAPPED
+flag shall be ignored unless
+.Fa ai_family
+equals
+.Dv AF_INET6 .
.El
.El
.Pp
@@ -221,7 +261,7 @@ behaves as if the caller provided a
with
.Fa ai_family
set to
-.Dv PF_UNSPEC
+.Dv AF_UNSPEC
and all other elements set to zero or
.Dv NULL .
.Pp
@@ -333,7 +373,7 @@ int s;
const char *cause = NULL;
memset(&hints, 0, sizeof(hints));
-hints.ai_family = PF_UNSPEC;
+hints.ai_family = AF_UNSPEC;
hints.ai_socktype = SOCK_STREAM;
error = getaddrinfo("www.kame.net", "http", &hints, &res0);
if (error) {
@@ -376,7 +416,7 @@ int nsock;
const char *cause = NULL;
memset(&hints, 0, sizeof(hints));
-hints.ai_family = PF_UNSPEC;
+hints.ai_family = AF_UNSPEC;
hints.ai_socktype = SOCK_STREAM;
hints.ai_flags = AI_PASSIVE;
error = getaddrinfo(NULL, "http", &hints, &res0);
Modified: user/ngie/stable-10-libnv/lib/libc/net/getaddrinfo.c
==============================================================================
--- user/ngie/stable-10-libnv/lib/libc/net/getaddrinfo.c Tue Dec 29 01:09:53 2015 (r292856)
+++ user/ngie/stable-10-libnv/lib/libc/net/getaddrinfo.c Tue Dec 29 01:21:40 2015 (r292857)
@@ -96,6 +96,7 @@ __FBSDID("$FreeBSD$");
#include <stdarg.h>
#include <nsswitch.h>
#include "un-namespace.h"
+#include "netdb_private.h"
#include "libc_private.h"
#ifdef NS_CACHING
#include "nscache.h"
@@ -451,6 +452,24 @@ getaddrinfo(const char *hostname, const
}
/*
+ * RFC 3493: AI_ALL and AI_V4MAPPED are effective only against
+ * AF_INET6 query. They need to be ignored if specified in other
+ * occassions.
+ */
+ switch (pai->ai_flags & (AI_ALL | AI_V4MAPPED)) {
+ case AI_V4MAPPED:
+ case AI_ALL | AI_V4MAPPED:
+#ifdef INET6
+ if (pai->ai_family != AF_INET6)
+ pai->ai_flags &= ~(AI_ALL | AI_V4MAPPED);
+ break;
+#endif
+ case AI_ALL:
+ pai->ai_flags &= ~(AI_ALL | AI_V4MAPPED);
+ break;
+ }
+
+ /*
* check for special cases. (1) numeric servname is disallowed if
* socktype/protocol are left unspecified. (2) servname is disallowed
* for raw and other inet{,6} sockets.
@@ -759,10 +778,9 @@ match_addrselectpolicy(struct sockaddr *
memset(&key, 0, sizeof(key));
key.sin6_family = AF_INET6;
key.sin6_len = sizeof(key);
- key.sin6_addr.s6_addr[10] = 0xff;
- key.sin6_addr.s6_addr[11] = 0xff;
- memcpy(&key.sin6_addr.s6_addr[12],
- &((struct sockaddr_in *)addr)->sin_addr, 4);
+ _map_v4v6_address(
+ (char *)&((struct sockaddr_in *)addr)->sin_addr,
+ (char *)&key.sin6_addr);
break;
default:
return(NULL);
@@ -842,6 +860,16 @@ set_source(struct ai_order *aio, struct
if ((s = _socket(ai.ai_family, ai.ai_socktype | SOCK_CLOEXEC,
ai.ai_protocol)) < 0)
return; /* give up */
+#ifdef INET6
+ if (ai.ai_family == AF_INET6) {
+ struct sockaddr_in6 *sin6 = (struct sockaddr_in6 *)ai.ai_addr;
+ int off = 0;
+
+ if (IN6_IS_ADDR_V4MAPPED(&sin6->sin6_addr))
+ (void)_setsockopt(s, IPPROTO_IPV6, IPV6_V6ONLY,
+ (char *)&off, sizeof(off));
+ }
+#endif
if (_connect(s, ai.ai_addr, ai.ai_addrlen) < 0)
goto cleanup;
srclen = ai.ai_addrlen;
@@ -1177,7 +1205,7 @@ explore_numeric(const struct addrinfo *p
const char *servname, struct addrinfo **res, const char *canonname)
{
const struct afd *afd;
- struct addrinfo *ai;
+ struct addrinfo *ai, ai0;
int error;
char pton[PTON_MAX];
@@ -1201,8 +1229,17 @@ explore_numeric(const struct addrinfo *p
return 0;
break;
default:
- if (inet_pton(afd->a_af, hostname, pton) != 1)
- return 0;
+ if (inet_pton(afd->a_af, hostname, pton) != 1) {
+ if (pai->ai_family != AF_INET6 ||
+ (pai->ai_flags & AI_V4MAPPED) != AI_V4MAPPED)
+ return 0;
+ if (inet_aton(hostname, (struct in_addr *)pton) != 1)
+ return 0;
+ afd = &afdl[N_INET];
+ ai0 = *pai;
+ ai0.ai_family = AF_INET;
+ pai = &ai0;
+ }
break;
}
@@ -1321,6 +1358,9 @@ get_ai(const struct addrinfo *pai, const
char *fp_str;
int translate = 0;
#endif
+#ifdef INET6
+ struct in6_addr mapaddr;
+#endif
#ifdef FAITH
/*
@@ -1358,6 +1398,14 @@ get_ai(const struct addrinfo *pai, const
}
#endif
+#ifdef INET6
+ if (afd->a_af == AF_INET && (pai->ai_flags & AI_V4MAPPED) != 0) {
+ afd = &afdl[N_INET6];
+ _map_v4v6_address(addr, (char *)&mapaddr);
+ addr = (char *)&mapaddr;
+ }
+#endif
+
ai = (struct addrinfo *)malloc(sizeof(struct addrinfo)
+ (afd->a_socklen));
if (ai == NULL)
@@ -2117,7 +2165,11 @@ getanswer(const querybuf *answer, int an
return sentinel.ai_next;
}
- RES_SET_H_ERRNO(res, NO_RECOVERY);
+ /*
+ * We could have walked a CNAME chain, but the ultimate target
+ * may not have what we looked for.
+ */
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-user
mailing list