From owner-svn-src-vendor@freebsd.org Sun Apr 24 22:12:48 2016 Return-Path: Delivered-To: svn-src-vendor@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D746FB1B55B; Sun, 24 Apr 2016 22:12:48 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 98C1D1CFA; Sun, 24 Apr 2016 22:12:48 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u3OMCl6A082360; Sun, 24 Apr 2016 22:12:47 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u3OMClxR082356; Sun, 24 Apr 2016 22:12:47 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <201604242212.u3OMClxR082356@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Sun, 24 Apr 2016 22:12:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r298554 - vendor/netcat/dist X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 24 Apr 2016 22:12:49 -0000 Author: delphij Date: Sun Apr 24 22:12:47 2016 New Revision: 298554 URL: https://svnweb.freebsd.org/changeset/base/298554 Log: Vendor import nc(1) from OPENBSD_5_9. Modified: vendor/netcat/dist/Makefile vendor/netcat/dist/nc.1 vendor/netcat/dist/netcat.c vendor/netcat/dist/socks.c Modified: vendor/netcat/dist/Makefile ============================================================================== --- vendor/netcat/dist/Makefile Sun Apr 24 21:35:01 2016 (r298553) +++ vendor/netcat/dist/Makefile Sun Apr 24 22:12:47 2016 (r298554) @@ -1,6 +1,8 @@ -# $OpenBSD: Makefile,v 1.6 2001/09/02 18:45:41 jakob Exp $ +# $OpenBSD: Makefile,v 1.7 2015/09/11 21:07:01 beck Exp $ PROG= nc SRCS= netcat.c atomicio.c socks.c +LDADD+= -ltls -lssl -lcrypto +DPADD+= ${LIBTLS} ${LIBSSL} ${LIBCRYPTO} .include Modified: vendor/netcat/dist/nc.1 ============================================================================== --- vendor/netcat/dist/nc.1 Sun Apr 24 21:35:01 2016 (r298553) +++ vendor/netcat/dist/nc.1 Sun Apr 24 22:12:47 2016 (r298554) @@ -1,4 +1,4 @@ -.\" $OpenBSD: nc.1,v 1.68 2015/03/26 10:35:04 tobias Exp $ +.\" $OpenBSD: nc.1,v 1.71 2015/09/25 14:56:33 schwarze Exp $ .\" .\" Copyright (c) 1996 David Sacerdote .\" All rights reserved. @@ -25,7 +25,7 @@ .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd $Mdocdate: February 26 2014 $ +.Dd $Mdocdate: September 12 2015 $ .Dt NC 1 .Os .Sh NAME @@ -33,25 +33,25 @@ .Nd arbitrary TCP and UDP connections and listens .Sh SYNOPSIS .Nm nc -.Bk -words -.Op Fl 46DdFhklNnrStUuvz +.Op Fl 46cDdFhklNnrStUuvz +.Op Fl C Ar certfile +.Op Fl e Ar name +.Op Fl H Ar hash .Op Fl I Ar length .Op Fl i Ar interval +.Op Fl K Ar keyfile .Op Fl O Ar length .Op Fl P Ar proxy_username .Op Fl p Ar source_port +.Op Fl R Ar CAfile .Op Fl s Ar source -.Op Fl T Ar toskeyword +.Op Fl T Ar keyword .Op Fl V Ar rtable .Op Fl w Ar timeout .Op Fl X Ar proxy_protocol -.Oo Xo -.Fl x Ar proxy_address Ns Oo : Ns -.Ar port Oc -.Xc Oc +.Op Fl x Ar proxy_address Ns Op : Ns Ar port .Op Ar destination .Op Ar port -.Ek .Sh DESCRIPTION The .Nm @@ -98,10 +98,20 @@ to use IPv4 addresses only. Forces .Nm to use IPv6 addresses only. +.It Fl C Ar certfile +Specifies the filename from which the public key part of the TLS +certificate is loaded, in PEM format. +May only be used with TLS. +.It Fl c +If using a TCP socket to connect or listen, use TLS. +Illegal if not using TCP sockets. .It Fl D Enable debugging on the socket. .It Fl d Do not attempt to read from stdin. +.It Fl e Ar name +Specify the name that must be present in the peer certificate when using TLS. +Illegal if not using TLS. .It Fl F Pass the first connected socket using .Xr sendmsg 2 @@ -117,6 +127,11 @@ using the .Xr ssh_config 5 .Cm ProxyUseFdpass option). +.It Fl H Ar hash +Specifies the required hash string of the peer certificate when using TLS. +The string format required is that used by +.Xr tls_peer_cert_hash 3 . +Illegal if not using TLS, and may not be used with -T noverify. .It Fl h Prints out .Nm @@ -126,6 +141,10 @@ Specifies the size of the TCP receive bu .It Fl i Ar interval Specifies a delay time interval between lines of text sent and received. Also causes a delay time between connections to multiple ports. +.It Fl K Ar keyfile +Specifies the filename from which the private key +is loaded in PEM format. +May only be used with TLS. .It Fl k Forces .Nm @@ -172,6 +191,12 @@ should use, subject to privilege restric It is an error to use this option in conjunction with the .Fl l option. +.It Fl R Ar CAfile +Specifies the filename from which the root CA bundle for certificate +verification is loaded, in PEM format. +Illegal if not using TLS. +The default is +.Pa /etc/ssl/cert.pem . .It Fl r Specifies that source and/or destination ports should be chosen randomly instead of sequentially within a range or in the order that the system @@ -187,9 +212,23 @@ to create and use so that datagrams can It is an error to use this option in conjunction with the .Fl l option. -.It Fl T Ar toskeyword -Change IPv4 TOS value. -.Ar toskeyword +.It Fl T Ar keyword +Change IPv4 TOS value or TLS options. +For TLS options +.Ar keyword +may be one of +.Ar tlslegacy , +which allows legacy TLS protocols; +.Ar noverify , +which disables certificate verification; +.Ar noname , +which disables certificate name checking; or +.Ar clientcert , +which requires a client certificate on incoming connections. +It is illegal to specify TLS options if not using TLS. +.Pp +For IPv4 TOS value +.Ar keyword may be one of .Ar critical , .Ar inetcontrol , @@ -258,10 +297,7 @@ and .Dq connect (HTTPS proxy). If the protocol is not specified, SOCKS version 5 is used. -.It Xo -.Fl x Ar proxy_address Ns Oo : Ns -.Ar port Oc -.Xc +.It Fl x Ar proxy_address Ns Op : Ns Ar port Requests that .Nm should connect to @@ -429,6 +465,11 @@ the source port, with a timeout of 5 sec .Pp .Dl $ nc -p 31337 -w 5 host.example.com 42 .Pp +Open a TCP connection to port 443 of www.google.ca, and negotiate TLS. +Check for a different name in the certificate for validation. +.Pp +.Dl $ nc -v -c -e adsf.au.doubleclick.net www.google.ca 443 +.Pp Open a UDP connection to port 53 of host.example.com: .Pp .Dl $ nc -u host.example.com 53 Modified: vendor/netcat/dist/netcat.c ============================================================================== --- vendor/netcat/dist/netcat.c Sun Apr 24 21:35:01 2016 (r298553) +++ vendor/netcat/dist/netcat.c Sun Apr 24 22:12:47 2016 (r298554) @@ -1,6 +1,7 @@ -/* $OpenBSD: netcat.c,v 1.130 2015/07/26 19:12:28 chl Exp $ */ +/* $OpenBSD: netcat.c,v 1.150 2016/01/04 02:18:31 bcook Exp $ */ /* * Copyright (c) 2001 Eric Jackson + * Copyright (c) 2015 Bob Beck. All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -33,7 +34,6 @@ #include #include -#include #include #include @@ -44,7 +44,6 @@ #include #include -#include #include #include #include @@ -53,16 +52,12 @@ #include #include #include +#include #include +#include #include "atomicio.h" -#ifndef SUN_LEN -#define SUN_LEN(su) \ - (sizeof(*(su)) - sizeof((su)->sun_path) + strlen((su)->sun_path)) -#endif - #define PORT_MAX 65535 -#define PORT_MAX_LEN 6 #define UNIX_DG_TMP_SOCKET_SIZE 19 #define POLL_STDIN 0 @@ -70,6 +65,12 @@ #define POLL_NETIN 2 #define POLL_STDOUT 3 #define BUFSIZE 16384 +#define DEFAULT_CA_FILE "/etc/ssl/cert.pem" + +#define TLS_LEGACY (1 << 1) +#define TLS_NOVERIFY (1 << 2) +#define TLS_NONAME (1 << 3) +#define TLS_CCERT (1 << 4) /* Command Line Options */ int dflag; /* detached, no stdin */ @@ -95,6 +96,21 @@ int Sflag; /* TCP MD5 signature opti int Tflag = -1; /* IP Type of Service */ int rtableid = -1; +int usetls; /* use TLS */ +char *Cflag; /* Public cert file */ +char *Kflag; /* Private key file */ +char *Rflag = DEFAULT_CA_FILE; /* Root CA file */ +int tls_cachanged; /* Using non-default CA file */ +int TLSopt; /* TLS options */ +char *tls_expectname; /* required name in peer cert */ +char *tls_expecthash; /* required hash of peer cert */ +uint8_t *cacert; +size_t cacertlen; +uint8_t *privkey; +size_t privkeylen; +uint8_t *pubcert; +size_t pubcertlen; + int timeout = -1; int family = AF_UNSPEC; char *portlist[PORT_MAX+1]; @@ -104,22 +120,26 @@ void atelnet(int, unsigned char *, unsig void build_ports(char *); void help(void); int local_listen(char *, char *, struct addrinfo); -void readwrite(int); +void readwrite(int, struct tls *); void fdpass(int nfd) __attribute__((noreturn)); int remote_connect(const char *, const char *, struct addrinfo); int timeout_connect(int, const struct sockaddr *, socklen_t); int socks_connect(const char *, const char *, struct addrinfo, const char *, const char *, struct addrinfo, int, const char *); int udptest(int); -int unix_bind(char *); +int unix_bind(char *, int); int unix_connect(char *); int unix_listen(char *); void set_common_sockopts(int, int); int map_tos(char *, int *); +int map_tls(char *, int *); void report_connect(const struct sockaddr *, socklen_t); +void report_tls(struct tls *tls_ctx, char * host, char *tls_expectname); void usage(int); -ssize_t drainbuf(int, unsigned char *, size_t *); -ssize_t fillbuf(int, unsigned char *, size_t *); +ssize_t drainbuf(int, unsigned char *, size_t *, struct tls *); +ssize_t fillbuf(int, unsigned char *, size_t *, struct tls *); +void tls_setup_client(struct tls *, int, char *); +struct tls *tls_setup_server(struct tls *, int, char *); int main(int argc, char *argv[]) @@ -134,6 +154,8 @@ main(int argc, char *argv[]) const char *errstr, *proxyhost = "", *proxyport = NULL; struct addrinfo proxyhints; char unix_dg_tmp_socket_buf[UNIX_DG_TMP_SOCKET_SIZE]; + struct tls_config *tls_cfg = NULL; + struct tls *tls_ctx = NULL; ret = 1; s = 0; @@ -145,7 +167,7 @@ main(int argc, char *argv[]) signal(SIGPIPE, SIG_IGN); while ((ch = getopt(argc, argv, - "46DdFhI:i:klNnO:P:p:rSs:tT:UuV:vw:X:x:z")) != -1) { + "46C:cDde:FH:hI:i:K:klNnO:P:p:R:rSs:T:tUuV:vw:X:x:z")) != -1) { switch (ch) { case '4': family = AF_INET; @@ -166,12 +188,24 @@ main(int argc, char *argv[]) else errx(1, "unsupported proxy protocol"); break; + case 'C': + Cflag = optarg; + break; + case 'c': + usetls = 1; + break; case 'd': dflag = 1; break; + case 'e': + tls_expectname = optarg; + break; case 'F': Fflag = 1; break; + case 'H': + tls_expecthash = optarg; + break; case 'h': help(); break; @@ -180,6 +214,9 @@ main(int argc, char *argv[]) if (errstr) errx(1, "interval %s: %s", errstr, optarg); break; + case 'K': + Kflag = optarg; + break; case 'k': kflag = 1; break; @@ -198,6 +235,10 @@ main(int argc, char *argv[]) case 'p': pflag = optarg; break; + case 'R': + tls_cachanged = 1; + Rflag = optarg; + break; case 'r': rflag = 1; break; @@ -256,6 +297,8 @@ main(int argc, char *argv[]) errno = 0; if (map_tos(optarg, &Tflag)) break; + if (map_tls(optarg, &TLSopt)) + break; if (strlen(optarg) > 1 && optarg[0] == '0' && optarg[1] == 'x') Tflag = (int)strtol(optarg, NULL, 16); @@ -263,7 +306,7 @@ main(int argc, char *argv[]) Tflag = (int)strtonum(optarg, 0, 255, &errstr); if (Tflag < 0 || Tflag > 255 || errstr || errno) - errx(1, "illegal tos value %s", optarg); + errx(1, "illegal tos/tls value %s", optarg); break; default: usage(1); @@ -272,6 +315,22 @@ main(int argc, char *argv[]) argc -= optind; argv += optind; + if (rtableid >= 0) + if (setrtable(rtableid) == -1) + err(1, "setrtable"); + + if (family == AF_UNIX) { + if (pledge("stdio rpath wpath cpath tmppath unix", NULL) == -1) + err(1, "pledge"); + } else if (Fflag) { + if (pledge("stdio inet dns sendfd", NULL) == -1) + err(1, "pledge"); + } else if (usetls) { + if (pledge("stdio rpath inet dns", NULL) == -1) + err(1, "pledge"); + } else if (pledge("stdio inet dns", NULL) == -1) + err(1, "pledge"); + /* Cruft to make sure options are clean, and used properly. */ if (argv[0] && !argv[1] && family == AF_UNIX) { host = argv[0]; @@ -295,6 +354,26 @@ main(int argc, char *argv[]) errx(1, "cannot use -z and -l"); if (!lflag && kflag) errx(1, "must use -l with -k"); + if (uflag && usetls) + errx(1, "cannot use -c and -u"); + if ((family == AF_UNIX) && usetls) + errx(1, "cannot use -c and -U"); + if ((family == AF_UNIX) && Fflag) + errx(1, "cannot use -F and -U"); + if (Fflag && usetls) + errx(1, "cannot use -c and -F"); + if (TLSopt && !usetls) + errx(1, "you must specify -c to use TLS options"); + if (Cflag && !usetls) + errx(1, "you must specify -c to use -C"); + if (Kflag && !usetls) + errx(1, "you must specify -c to use -K"); + if (tls_cachanged && !usetls) + errx(1, "you must specify -c to use -R"); + if (tls_expecthash && !usetls) + errx(1, "you must specify -c to use -H"); + if (tls_expectname && !usetls) + errx(1, "you must specify -c to use -e"); /* Get name of temporary socket for unix datagram client */ if ((family == AF_UNIX) && uflag && !lflag) { @@ -302,7 +381,7 @@ main(int argc, char *argv[]) unix_dg_tmp_socket = sflag; } else { strlcpy(unix_dg_tmp_socket_buf, "/tmp/nc.XXXXXXXXXX", - UNIX_DG_TMP_SOCKET_SIZE); + UNIX_DG_TMP_SOCKET_SIZE); if (mktemp(unix_dg_tmp_socket_buf) == NULL) err(1, "mktemp"); unix_dg_tmp_socket = unix_dg_tmp_socket_buf; @@ -347,17 +426,62 @@ main(int argc, char *argv[]) proxyhints.ai_flags |= AI_NUMERICHOST; } + if (usetls) { + if (Rflag && (cacert = tls_load_file(Rflag, &cacertlen, NULL)) == NULL) + errx(1, "unable to load root CA file %s", Rflag); + if (Cflag && (pubcert = tls_load_file(Cflag, &pubcertlen, NULL)) == NULL) + errx(1, "unable to load TLS certificate file %s", Cflag); + if (Kflag && (privkey = tls_load_file(Kflag, &privkeylen, NULL)) == NULL) + errx(1, "unable to load TLS key file %s", Kflag); + + if (pledge("stdio inet dns", NULL) == -1) + err(1, "pledge"); + + if (tls_init() == -1) + errx(1, "unable to initialize TLS"); + if ((tls_cfg = tls_config_new()) == NULL) + errx(1, "unable to allocate TLS config"); + if (Rflag && tls_config_set_ca_mem(tls_cfg, cacert, cacertlen) == -1) + errx(1, "unable to set root CA file %s", Rflag); + if (Cflag && tls_config_set_cert_mem(tls_cfg, pubcert, pubcertlen) == -1) + errx(1, "unable to set TLS certificate file %s", Cflag); + if (Kflag && tls_config_set_key_mem(tls_cfg, privkey, privkeylen) == -1) + errx(1, "unable to set TLS key file %s", Kflag); + if (TLSopt & TLS_LEGACY) { + tls_config_set_protocols(tls_cfg, TLS_PROTOCOLS_ALL); + tls_config_set_ciphers(tls_cfg, "legacy"); + } + if (!lflag && (TLSopt & TLS_CCERT)) + errx(1, "clientcert is only valid with -l"); + if (TLSopt & TLS_NONAME) + tls_config_insecure_noverifyname(tls_cfg); + if (TLSopt & TLS_NOVERIFY) { + if (tls_expecthash != NULL) + errx(1, "-H and -T noverify may not be used" + "together"); + tls_config_insecure_noverifycert(tls_cfg); + } + } if (lflag) { + struct tls *tls_cctx = NULL; int connfd; ret = 0; if (family == AF_UNIX) { if (uflag) - s = unix_bind(host); + s = unix_bind(host, 0); else s = unix_listen(host); } + if (usetls) { + tls_config_verify_client_optional(tls_cfg); + if ((tls_ctx = tls_server()) == NULL) + errx(1, "tls server creation failed"); + if (tls_configure(tls_ctx, tls_cfg) == -1) + errx(1, "tls configuration failed (%s)", + tls_error(tls_ctx)); + } /* Allow only one connection at a time, but stay alive. */ for (;;) { if (family != AF_UNIX) @@ -369,7 +493,7 @@ main(int argc, char *argv[]) * receive datagrams from multiple socket pairs. */ if (uflag && kflag) - readwrite(s); + readwrite(s, NULL); /* * For UDP and not -k, we will use recvfrom() initially * to wait for a caller, then use the regular functions @@ -394,22 +518,34 @@ main(int argc, char *argv[]) if (vflag) report_connect((struct sockaddr *)&z, len); - readwrite(s); + readwrite(s, NULL); } else { len = sizeof(cliaddr); - connfd = accept(s, (struct sockaddr *)&cliaddr, - &len); + connfd = accept4(s, (struct sockaddr *)&cliaddr, + &len, SOCK_NONBLOCK); if (connfd == -1) { /* For now, all errnos are fatal */ err(1, "accept"); } if (vflag) report_connect((struct sockaddr *)&cliaddr, len); - - readwrite(connfd); + if ((usetls) && + (tls_cctx = tls_setup_server(tls_ctx, connfd, host))) + readwrite(connfd, tls_cctx); + if (!usetls) + readwrite(connfd, NULL); + if (tls_cctx) { + int i; + + do { + i = tls_close(tls_cctx); + } while (i == TLS_WANT_POLLIN || + i == TLS_WANT_POLLOUT); + tls_free(tls_cctx); + tls_cctx = NULL; + } close(connfd); } - if (family != AF_UNIX) close(s); else if (uflag) { @@ -424,7 +560,7 @@ main(int argc, char *argv[]) ret = 0; if ((s = unix_connect(host)) > 0 && !zflag) { - readwrite(s); + readwrite(s, NULL); close(s); } else ret = 1; @@ -444,6 +580,13 @@ main(int argc, char *argv[]) if (s) close(s); + if (usetls) { + if ((tls_ctx = tls_client()) == NULL) + errx(1, "tls client creation failed"); + if (tls_configure(tls_ctx, tls_cfg) == -1) + errx(1, "tls configuration failed (%s)", + tls_error(tls_ctx)); + } if (xflag) s = socks_connect(host, portlist[i], hints, proxyhost, proxyport, proxyhints, socksv, @@ -481,14 +624,30 @@ main(int argc, char *argv[]) } if (Fflag) fdpass(s); - else if (!zflag) - readwrite(s); + else { + if (usetls) + tls_setup_client(tls_ctx, s, host); + if (!zflag) + readwrite(s, tls_ctx); + if (tls_ctx) { + int j; + + do { + j = tls_close(tls_ctx); + } while (j == TLS_WANT_POLLIN || + j == TLS_WANT_POLLOUT); + tls_free(tls_ctx); + tls_ctx = NULL; + } + } } } if (s) close(s); + tls_config_free(tls_cfg); + exit(ret); } @@ -497,33 +656,95 @@ main(int argc, char *argv[]) * Returns a unix socket bound to the given path */ int -unix_bind(char *path) +unix_bind(char *path, int flags) { - struct sockaddr_un sun; + struct sockaddr_un s_un; int s; /* Create unix domain socket. */ - if ((s = socket(AF_UNIX, uflag ? SOCK_DGRAM : SOCK_STREAM, - 0)) < 0) + if ((s = socket(AF_UNIX, flags | (uflag ? SOCK_DGRAM : SOCK_STREAM), + 0)) < 0) return (-1); - memset(&sun, 0, sizeof(struct sockaddr_un)); - sun.sun_family = AF_UNIX; + memset(&s_un, 0, sizeof(struct sockaddr_un)); + s_un.sun_family = AF_UNIX; - if (strlcpy(sun.sun_path, path, sizeof(sun.sun_path)) >= - sizeof(sun.sun_path)) { + if (strlcpy(s_un.sun_path, path, sizeof(s_un.sun_path)) >= + sizeof(s_un.sun_path)) { close(s); errno = ENAMETOOLONG; return (-1); } - if (bind(s, (struct sockaddr *)&sun, SUN_LEN(&sun)) < 0) { + if (bind(s, (struct sockaddr *)&s_un, sizeof(s_un)) < 0) { close(s); return (-1); } return (s); } +void +tls_setup_client(struct tls *tls_ctx, int s, char *host) +{ + int i; + + if (tls_connect_socket(tls_ctx, s, + tls_expectname ? tls_expectname : host) == -1) { + errx(1, "tls connection failed (%s)", + tls_error(tls_ctx)); + } + do { + if ((i = tls_handshake(tls_ctx)) == -1) + errx(1, "tls handshake failed (%s)", + tls_error(tls_ctx)); + } while (i == TLS_WANT_POLLIN || i == TLS_WANT_POLLOUT); + if (vflag) + report_tls(tls_ctx, host, tls_expectname); + if (tls_expecthash && tls_peer_cert_hash(tls_ctx) && + strcmp(tls_expecthash, tls_peer_cert_hash(tls_ctx)) != 0) + errx(1, "peer certificate is not %s", tls_expecthash); +} + +struct tls * +tls_setup_server(struct tls *tls_ctx, int connfd, char *host) +{ + struct tls *tls_cctx; + + if (tls_accept_socket(tls_ctx, &tls_cctx, + connfd) == -1) { + warnx("tls accept failed (%s)", + tls_error(tls_ctx)); + tls_cctx = NULL; + } else { + int i; + + do { + if ((i = tls_handshake(tls_cctx)) == -1) + warnx("tls handshake failed (%s)", + tls_error(tls_cctx)); + } while(i == TLS_WANT_POLLIN || i == TLS_WANT_POLLOUT); + } + if (tls_cctx) { + int gotcert = tls_peer_cert_provided(tls_cctx); + + if (vflag && gotcert) + report_tls(tls_cctx, host, tls_expectname); + if ((TLSopt & TLS_CCERT) && !gotcert) + warnx("No client certificate provided"); + else if (gotcert && tls_peer_cert_hash(tls_ctx) && tls_expecthash && + strcmp(tls_expecthash, tls_peer_cert_hash(tls_ctx)) != 0) + warnx("peer certificate is not %s", tls_expecthash); + else if (gotcert && tls_expectname && + (!tls_peer_cert_contains_name(tls_cctx, tls_expectname))) + warnx("name (%s) not found in client cert", + tls_expectname); + else { + return tls_cctx; + } + } + return NULL; +} + /* * unix_connect() * Returns a socket connected to a local unix socket. Returns -1 on failure. @@ -531,28 +752,27 @@ unix_bind(char *path) int unix_connect(char *path) { - struct sockaddr_un sun; + struct sockaddr_un s_un; int s; if (uflag) { - if ((s = unix_bind(unix_dg_tmp_socket)) < 0) + if ((s = unix_bind(unix_dg_tmp_socket, SOCK_CLOEXEC)) < 0) return (-1); } else { - if ((s = socket(AF_UNIX, SOCK_STREAM, 0)) < 0) + if ((s = socket(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0)) < 0) return (-1); } - (void)fcntl(s, F_SETFD, FD_CLOEXEC); - memset(&sun, 0, sizeof(struct sockaddr_un)); - sun.sun_family = AF_UNIX; + memset(&s_un, 0, sizeof(struct sockaddr_un)); + s_un.sun_family = AF_UNIX; - if (strlcpy(sun.sun_path, path, sizeof(sun.sun_path)) >= - sizeof(sun.sun_path)) { + if (strlcpy(s_un.sun_path, path, sizeof(s_un.sun_path)) >= + sizeof(s_un.sun_path)) { close(s); errno = ENAMETOOLONG; return (-1); } - if (connect(s, (struct sockaddr *)&sun, SUN_LEN(&sun)) < 0) { + if (connect(s, (struct sockaddr *)&s_un, sizeof(s_un)) < 0) { close(s); return (-1); } @@ -568,7 +788,7 @@ int unix_listen(char *path) { int s; - if ((s = unix_bind(path)) < 0) + if ((s = unix_bind(path, 0)) < 0) return (-1); if (listen(s, 5) < 0) { @@ -594,14 +814,10 @@ remote_connect(const char *host, const c res0 = res; do { - if ((s = socket(res0->ai_family, res0->ai_socktype, - res0->ai_protocol)) < 0) + if ((s = socket(res0->ai_family, res0->ai_socktype | + SOCK_NONBLOCK, res0->ai_protocol)) < 0) continue; - if (rtableid >= 0 && (setsockopt(s, SOL_SOCKET, SO_RTABLE, - &rtableid, sizeof(rtableid)) == -1)) - err(1, "setsockopt SO_RTABLE"); - /* Bind to a local port or source address if specified. */ if (sflag || pflag) { struct addrinfo ahints, *ares; @@ -626,7 +842,7 @@ remote_connect(const char *host, const c if (timeout_connect(s, res0->ai_addr, res0->ai_addrlen) == 0) break; - else if (vflag) + if (vflag) warn("connect to %s port %s (%s) failed", host, port, uflag ? "udp" : "tcp"); @@ -644,15 +860,9 @@ timeout_connect(int s, const struct sock { struct pollfd pfd; socklen_t optlen; - int flags, optval; + int optval; int ret; - if (timeout != -1) { - flags = fcntl(s, F_GETFL, 0); - if (fcntl(s, F_SETFL, flags | O_NONBLOCK) == -1) - err(1, "set non-blocking mode"); - } - if ((ret = connect(s, name, namelen)) != 0 && errno == EINPROGRESS) { pfd.fd = s; pfd.events = POLLOUT; @@ -670,9 +880,6 @@ timeout_connect(int s, const struct sock err(1, "poll failed"); } - if (timeout != -1 && fcntl(s, F_SETFL, flags) == -1) - err(1, "restoring flags"); - return (ret); } @@ -707,10 +914,6 @@ local_listen(char *host, char *port, str res0->ai_protocol)) < 0) continue; - if (rtableid >= 0 && (setsockopt(s, SOL_SOCKET, SO_RTABLE, - &rtableid, sizeof(rtableid)) == -1)) - err(1, "setsockopt SO_RTABLE"); - ret = setsockopt(s, SOL_SOCKET, SO_REUSEPORT, &x, sizeof(x)); if (ret == -1) err(1, NULL); @@ -740,7 +943,7 @@ local_listen(char *host, char *port, str * Loop that polls on the network file descriptor and stdin. */ void -readwrite(int net_fd) +readwrite(int net_fd, struct tls *tls_ctx) { struct pollfd pfd[4]; int stdin_fd = STDIN_FILENO; @@ -774,8 +977,8 @@ readwrite(int net_fd) while (1) { /* both inputs are gone, buffers are empty, we are done */ - if (pfd[POLL_STDIN].fd == -1 && pfd[POLL_NETIN].fd == -1 - && stdinbufpos == 0 && netinbufpos == 0) { + if (pfd[POLL_STDIN].fd == -1 && pfd[POLL_NETIN].fd == -1 && + stdinbufpos == 0 && netinbufpos == 0) { close(net_fd); return; } @@ -785,8 +988,8 @@ readwrite(int net_fd) return; } /* listen and net in gone, queues empty, done */ - if (lflag && pfd[POLL_NETIN].fd == -1 - && stdinbufpos == 0 && netinbufpos == 0) { + if (lflag && pfd[POLL_NETIN].fd == -1 && + stdinbufpos == 0 && netinbufpos == 0) { close(net_fd); return; } @@ -819,13 +1022,13 @@ readwrite(int net_fd) /* reading is possible after HUP */ if (pfd[POLL_STDIN].events & POLLIN && pfd[POLL_STDIN].revents & POLLHUP && - ! (pfd[POLL_STDIN].revents & POLLIN)) - pfd[POLL_STDIN].fd = -1; + !(pfd[POLL_STDIN].revents & POLLIN)) + pfd[POLL_STDIN].fd = -1; if (pfd[POLL_NETIN].events & POLLIN && pfd[POLL_NETIN].revents & POLLHUP && - ! (pfd[POLL_NETIN].revents & POLLIN)) - pfd[POLL_NETIN].fd = -1; + !(pfd[POLL_NETIN].revents & POLLIN)) + pfd[POLL_NETIN].fd = -1; if (pfd[POLL_NETOUT].revents & POLLHUP) { if (Nflag) @@ -848,9 +1051,12 @@ readwrite(int net_fd) /* try to read from stdin */ if (pfd[POLL_STDIN].revents & POLLIN && stdinbufpos < BUFSIZE) { ret = fillbuf(pfd[POLL_STDIN].fd, stdinbuf, - &stdinbufpos); - /* error or eof on stdin - remove from pfd */ - if (ret == 0 || ret == -1) + &stdinbufpos, NULL); + if (ret == TLS_WANT_POLLIN) + pfd[POLL_STDIN].events = POLLIN; + else if (ret == TLS_WANT_POLLOUT) + pfd[POLL_STDIN].events = POLLOUT; + else if (ret == 0 || ret == -1) pfd[POLL_STDIN].fd = -1; /* read something - poll net out */ if (stdinbufpos > 0) @@ -862,8 +1068,12 @@ readwrite(int net_fd) /* try to write to network */ if (pfd[POLL_NETOUT].revents & POLLOUT && stdinbufpos > 0) { ret = drainbuf(pfd[POLL_NETOUT].fd, stdinbuf, - &stdinbufpos); - if (ret == -1) + &stdinbufpos, tls_ctx); + if (ret == TLS_WANT_POLLIN) + pfd[POLL_NETOUT].events = POLLIN; + else if (ret == TLS_WANT_POLLOUT) + pfd[POLL_NETOUT].events = POLLOUT; + else if (ret == -1) pfd[POLL_NETOUT].fd = -1; /* buffer empty - remove self from polling */ if (stdinbufpos == 0) @@ -875,8 +1085,12 @@ readwrite(int net_fd) /* try to read from network */ if (pfd[POLL_NETIN].revents & POLLIN && netinbufpos < BUFSIZE) { ret = fillbuf(pfd[POLL_NETIN].fd, netinbuf, - &netinbufpos); - if (ret == -1) + &netinbufpos, tls_ctx); + if (ret == TLS_WANT_POLLIN) + pfd[POLL_NETIN].events = POLLIN; + else if (ret == TLS_WANT_POLLOUT) + pfd[POLL_NETIN].events = POLLOUT; + else if (ret == -1) pfd[POLL_NETIN].fd = -1; /* eof on net in - remove from pfd */ if (ret == 0) { @@ -897,8 +1111,12 @@ readwrite(int net_fd) /* try to write to stdout */ if (pfd[POLL_STDOUT].revents & POLLOUT && netinbufpos > 0) { ret = drainbuf(pfd[POLL_STDOUT].fd, netinbuf, - &netinbufpos); - if (ret == -1) + &netinbufpos, NULL); + if (ret == TLS_WANT_POLLIN) + pfd[POLL_STDOUT].events = POLLIN; + else if (ret == TLS_WANT_POLLOUT) + pfd[POLL_STDOUT].events = POLLOUT; + else if (ret == -1) pfd[POLL_STDOUT].fd = -1; /* buffer empty - remove self from polling */ if (netinbufpos == 0) @@ -922,15 +1140,19 @@ readwrite(int net_fd) } ssize_t -drainbuf(int fd, unsigned char *buf, size_t *bufpos) +drainbuf(int fd, unsigned char *buf, size_t *bufpos, struct tls *tls) { ssize_t n; ssize_t adjust; - n = write(fd, buf, *bufpos); - /* don't treat EAGAIN, EINTR as error */ - if (n == -1 && (errno == EAGAIN || errno == EINTR)) - n = -2; + if (tls) + n = tls_write(tls, buf, *bufpos); + else { + n = write(fd, buf, *bufpos); + /* don't treat EAGAIN, EINTR as error */ + if (n == -1 && (errno == EAGAIN || errno == EINTR)) + n = TLS_WANT_POLLOUT; + } if (n <= 0) return n; /* adjust buffer */ @@ -941,17 +1163,20 @@ drainbuf(int fd, unsigned char *buf, siz return n; } - ssize_t -fillbuf(int fd, unsigned char *buf, size_t *bufpos) +fillbuf(int fd, unsigned char *buf, size_t *bufpos, struct tls *tls) { size_t num = BUFSIZE - *bufpos; ssize_t n; - n = read(fd, buf + *bufpos, num); - /* don't treat EAGAIN, EINTR as error */ - if (n == -1 && (errno == EAGAIN || errno == EINTR)) - n = -2; + if (tls) + n = tls_read(tls, buf + *bufpos, num); + else { + n = read(fd, buf + *bufpos, num); + /* don't treat EAGAIN, EINTR as error */ + if (n == -1 && (errno == EAGAIN || errno == EINTR)) + n = TLS_WANT_POLLIN; + } if (n <= 0) return n; *bufpos += n; @@ -1079,25 +1304,22 @@ build_ports(char *p) lo = cp; } - /* Load ports sequentially. */ - for (cp = lo; cp <= hi; cp++) { - portlist[x] = calloc(1, PORT_MAX_LEN); - if (portlist[x] == NULL) - err(1, NULL); - snprintf(portlist[x], PORT_MAX_LEN, "%d", cp); - x++; - } - - /* Randomly swap ports. */ + /* + * Initialize portlist with a random permutation. Based on + * Knuth, as in ip_randomid() in sys/netinet/ip_id.c. + */ if (rflag) { - int y; - char *c; - - for (x = 0; x <= (hi - lo); x++) { - y = (arc4random() & 0xFFFF) % (hi - lo); - c = portlist[x]; - portlist[x] = portlist[y]; - portlist[y] = c; + for (x = 0; x <= hi - lo; x++) { + cp = arc4random_uniform(x + 1); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-vendor@freebsd.org Sun Apr 24 22:13:56 2016 Return-Path: Delivered-To: svn-src-vendor@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 61230B1B5B3; Sun, 24 Apr 2016 22:13:56 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 1891C1E50; Sun, 24 Apr 2016 22:13:56 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u3OMDtu4082439; Sun, 24 Apr 2016 22:13:55 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u3OMDtKE082438; Sun, 24 Apr 2016 22:13:55 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <201604242213.u3OMDtKE082438@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Sun, 24 Apr 2016 22:13:55 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r298555 - vendor/netcat/5.9 X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 24 Apr 2016 22:13:56 -0000 Author: delphij Date: Sun Apr 24 22:13:55 2016 New Revision: 298555 URL: https://svnweb.freebsd.org/changeset/base/298555 Log: Tag netcat from OpenBSD 5.9. Added: vendor/netcat/5.9/ - copied from r298554, vendor/netcat/dist/ From owner-svn-src-vendor@freebsd.org Mon Apr 25 22:24:57 2016 Return-Path: Delivered-To: svn-src-vendor@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A91CFB1CEED; Mon, 25 Apr 2016 22:24:57 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4425E1A2B; Mon, 25 Apr 2016 22:24:57 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u3PMOugB033553; Mon, 25 Apr 2016 22:24:56 GMT (envelope-from jkim@FreeBSD.org) Received: (from jkim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u3PMOr3C033523; Mon, 25 Apr 2016 22:24:53 GMT (envelope-from jkim@FreeBSD.org) Message-Id: <201604252224.u3PMOr3C033523@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jkim set sender to jkim@FreeBSD.org using -f From: Jung-uk Kim Date: Mon, 25 Apr 2016 22:24:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r298595 - in vendor-sys/acpica/dist: . generate/unix/acpibin generate/unix/acpidump generate/unix/acpiexamples generate/unix/acpiexec generate/unix/acpinames generate/unix/acpisrc gener... X-SVN-Group: vendor-sys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 25 Apr 2016 22:24:57 -0000 Author: jkim Date: Mon Apr 25 22:24:53 2016 New Revision: 298595 URL: https://svnweb.freebsd.org/changeset/base/298595 Log: Import ACPICA 20160422. Added: vendor-sys/acpica/dist/source/components/utilities/utascii.c (contents, props changed) Modified: vendor-sys/acpica/dist/changes.txt vendor-sys/acpica/dist/generate/unix/acpibin/Makefile vendor-sys/acpica/dist/generate/unix/acpidump/Makefile vendor-sys/acpica/dist/generate/unix/acpiexamples/Makefile vendor-sys/acpica/dist/generate/unix/acpiexec/Makefile vendor-sys/acpica/dist/generate/unix/acpinames/Makefile vendor-sys/acpica/dist/generate/unix/acpisrc/Makefile vendor-sys/acpica/dist/generate/unix/acpixtract/Makefile vendor-sys/acpica/dist/generate/unix/iasl/Makefile vendor-sys/acpica/dist/source/common/acfileio.c vendor-sys/acpica/dist/source/common/dmextern.c vendor-sys/acpica/dist/source/common/dmrestag.c vendor-sys/acpica/dist/source/common/dmtable.c vendor-sys/acpica/dist/source/common/dmtbdump.c vendor-sys/acpica/dist/source/common/dmtbinfo.c vendor-sys/acpica/dist/source/compiler/aslanalyze.c vendor-sys/acpica/dist/source/compiler/aslcompile.c vendor-sys/acpica/dist/source/compiler/aslcompiler.h vendor-sys/acpica/dist/source/compiler/aslcompiler.l vendor-sys/acpica/dist/source/compiler/aslfold.c vendor-sys/acpica/dist/source/compiler/asllookup.c vendor-sys/acpica/dist/source/compiler/aslmap.c vendor-sys/acpica/dist/source/compiler/aslmethod.c vendor-sys/acpica/dist/source/compiler/aslparser.y vendor-sys/acpica/dist/source/compiler/aslpredef.c vendor-sys/acpica/dist/source/compiler/aslprepkg.c vendor-sys/acpica/dist/source/compiler/aslresource.c vendor-sys/acpica/dist/source/compiler/aslresources.y vendor-sys/acpica/dist/source/compiler/aslrestype2s.c vendor-sys/acpica/dist/source/compiler/aslrules.y vendor-sys/acpica/dist/source/compiler/asltokens.y vendor-sys/acpica/dist/source/compiler/asltree.c vendor-sys/acpica/dist/source/compiler/asltypes.y vendor-sys/acpica/dist/source/compiler/dttable2.c vendor-sys/acpica/dist/source/compiler/dttemplate.h vendor-sys/acpica/dist/source/components/debugger/dbnames.c vendor-sys/acpica/dist/source/components/disassembler/dmcstyle.c vendor-sys/acpica/dist/source/components/disassembler/dmopcode.c vendor-sys/acpica/dist/source/components/disassembler/dmresrcl2.c vendor-sys/acpica/dist/source/components/disassembler/dmutils.c vendor-sys/acpica/dist/source/components/disassembler/dmwalk.c vendor-sys/acpica/dist/source/components/dispatcher/dsmethod.c vendor-sys/acpica/dist/source/components/executer/exfldio.c vendor-sys/acpica/dist/source/components/executer/exnames.c vendor-sys/acpica/dist/source/components/hardware/hwregs.c vendor-sys/acpica/dist/source/components/namespace/nsinit.c vendor-sys/acpica/dist/source/components/namespace/nsprepkg.c vendor-sys/acpica/dist/source/components/namespace/nsxfeval.c vendor-sys/acpica/dist/source/components/parser/psutils.c vendor-sys/acpica/dist/source/components/resources/rsdumpinfo.c vendor-sys/acpica/dist/source/components/resources/rsserial.c vendor-sys/acpica/dist/source/components/tables/tbdata.c vendor-sys/acpica/dist/source/components/tables/tbfind.c vendor-sys/acpica/dist/source/components/tables/tbinstal.c vendor-sys/acpica/dist/source/components/tables/tbutils.c vendor-sys/acpica/dist/source/components/utilities/utstring.c vendor-sys/acpica/dist/source/include/acdisasm.h vendor-sys/acpica/dist/source/include/aclocal.h vendor-sys/acpica/dist/source/include/acmacros.h vendor-sys/acpica/dist/source/include/acpixf.h vendor-sys/acpica/dist/source/include/acpredef.h vendor-sys/acpica/dist/source/include/acrestyp.h vendor-sys/acpica/dist/source/include/actables.h vendor-sys/acpica/dist/source/include/actbl3.h vendor-sys/acpica/dist/source/include/acutils.h vendor-sys/acpica/dist/source/tools/acpibin/abcompare.c vendor-sys/acpica/dist/source/tools/acpidump/apdump.c vendor-sys/acpica/dist/source/tools/acpihelp/ahamlops.c vendor-sys/acpica/dist/source/tools/acpihelp/ahaslops.c vendor-sys/acpica/dist/source/tools/acpisrc/astable.c vendor-sys/acpica/dist/source/tools/acpixtract/acpixtract.c vendor-sys/acpica/dist/source/tools/acpixtract/acpixtract.h vendor-sys/acpica/dist/source/tools/acpixtract/axutils.c Modified: vendor-sys/acpica/dist/changes.txt ============================================================================== --- vendor-sys/acpica/dist/changes.txt Mon Apr 25 22:00:05 2016 (r298594) +++ vendor-sys/acpica/dist/changes.txt Mon Apr 25 22:24:53 2016 (r298595) @@ -1,4 +1,99 @@ ---------------------------------------- +22 April 2016. Summary of changes for version 20160422: + +1) ACPICA kernel-resident subsystem: + +Fixed a regression in the GAS (generic address structure) arbitrary bit +support in AcpiHwRead/AcpiHwWrite. Problem could cause incorrect behavior +and incorrect return values. Lv Zheng. ACPICA BZ 1270. + +ACPI 6.0: Added support for new/renamed resource macros. One new argument +was added to each of these macros, and the original name has been +deprecated. The AML disassembler will always disassemble to the new +names. Support for the new macros was added to iASL, disassembler, +resource manager, and the acpihelp utility. ACPICA BZ 1274. + + I2cSerialBus -> I2cSerialBusV2 + SpiSerialBus -> SpiSerialBusV2 + UartSerialBus -> UartSerialBusV2 + +ACPI 6.0: Added support for a new integer field that was appended to the +package object returned by the _BIX method. This adds iASL compile-time +and AML runtime error checking. ACPICA BZ 1273. + +ACPI 6.1: Added support for a new PCCT subtable, "HW-Reduced Comm +Subspace Type2" (Headers, Disassembler, and data table compiler). + +Example Code and Data Size: These are the sizes for the OS-independent +acpica.lib produced by the Microsoft Visual C++ 9.0 32-bit compiler. The +debug version of the code includes the debug output trace mechanism and +has a much larger code and data size. + + Current Release: + Non-Debug Version: 137.4K Code, 52.6K Data, 190.0K Total + Debug Version: 201.5K Code, 82.2K Data, 283.7K Total + Previous Release: + Non-Debug Version: 137.1K Code, 51.5K Data, 188.6K Total + Debug Version: 201.0K Code, 82.0K Data, 283.0K Total + + +2) iASL Compiler/Disassembler and Tools: + +iASL: Implemented an ASL grammar extension to allow/enable executable +"module-level code" to be created and executed under the various +operators that create new scopes. This type of AML code is already +supported in all known AML interpreters, and the grammar change will +appear in the next version of the ACPI specification. Simplifies the +conditional runtime creation of named objects under these object types: + + Device + PowerResource + Processor + Scope + ThermalZone + +iASL: Implemented a new ASL extension, a "For" loop macro to add greater +ease-of-use to the ASL language. The syntax is similar to the +corresponding C operator, and is implemented with the existing AML While +opcode -- thus requiring no changes to existing AML interpreters. + + For (Initialize, Predicate, Update) {TermList} + +Grammar: + ForTerm := + For ( + Initializer // Nothing | TermArg => ComputationalData + Predicate // Nothing | TermArg => ComputationalData + Update // Nothing | TermArg => ComputationalData + ) {TermList} + + +iASL: The _HID/_ADR detection and validation has been enhanced to search +under conditionals in order to allow these objects to be conditionally +created at runtime. + +iASL: Fixed several issues with the constant folding feature. The +improvement allows better detection and resolution of statements that can +be folded at compile time. ACPICA BZ 1266. + +iASL/Disassembler: Fixed a couple issues with the Else{If{}...} +conversion to the ASL ElseIf operator where incorrect ASL code could be +generated. + +iASL/Disassembler: Fixed a problem with the ASL+ code disassembly where +sometimes an extra (and extraneous) set of parentheses were emitted for +some combinations of operators. Although this did not cause any problems +with recompilation of the disassembled code, it made the code more +difficult to read. David Box. ACPICA BZ 1231. + +iASL: Changed to ignore the unreferenced detection for predefined names +of resource descriptor elements, when the resource descriptor is +created/defined within a control method. + +iASL: Disassembler: Fix a possible fault with externally declared Buffer +objects. + +---------------------------------------- 18 March 2016. Summary of changes for version 20160318: 1) ACPICA kernel-resident subsystem: Modified: vendor-sys/acpica/dist/generate/unix/acpibin/Makefile ============================================================================== --- vendor-sys/acpica/dist/generate/unix/acpibin/Makefile Mon Apr 25 22:00:05 2016 (r298594) +++ vendor-sys/acpica/dist/generate/unix/acpibin/Makefile Mon Apr 25 22:24:53 2016 (r298595) @@ -32,6 +32,7 @@ OBJECTS = \ $(OBJDIR)/cmfsize.o\ $(OBJDIR)/getopt.o\ $(OBJDIR)/utalloc.o\ + $(OBJDIR)/utascii.o\ $(OBJDIR)/utbuffer.o\ $(OBJDIR)/utcache.o\ $(OBJDIR)/utdebug.o\ Modified: vendor-sys/acpica/dist/generate/unix/acpidump/Makefile ============================================================================== --- vendor-sys/acpica/dist/generate/unix/acpidump/Makefile Mon Apr 25 22:00:05 2016 (r298594) +++ vendor-sys/acpica/dist/generate/unix/acpidump/Makefile Mon Apr 25 22:24:53 2016 (r298595) @@ -39,6 +39,7 @@ OBJECTS = \ $(OBJDIR)/osunixxf.o\ $(OBJDIR)/tbprint.o\ $(OBJDIR)/tbxfroot.o\ + $(OBJDIR)/utascii.o\ $(OBJDIR)/utbuffer.o\ $(OBJDIR)/utdebug.o\ $(OBJDIR)/utexcep.o\ Modified: vendor-sys/acpica/dist/generate/unix/acpiexamples/Makefile ============================================================================== --- vendor-sys/acpica/dist/generate/unix/acpiexamples/Makefile Mon Apr 25 22:00:05 2016 (r298594) +++ vendor-sys/acpica/dist/generate/unix/acpiexamples/Makefile Mon Apr 25 22:24:53 2016 (r298595) @@ -131,6 +131,7 @@ OBJECTS = \ $(OBJDIR)/tbxfroot.o\ $(OBJDIR)/utaddress.o\ $(OBJDIR)/utalloc.o\ + $(OBJDIR)/utascii.o\ $(OBJDIR)/utbuffer.o\ $(OBJDIR)/utcache.o\ $(OBJDIR)/utcopy.o\ Modified: vendor-sys/acpica/dist/generate/unix/acpiexec/Makefile ============================================================================== --- vendor-sys/acpica/dist/generate/unix/acpiexec/Makefile Mon Apr 25 22:00:05 2016 (r298594) +++ vendor-sys/acpica/dist/generate/unix/acpiexec/Makefile Mon Apr 25 22:24:53 2016 (r298595) @@ -201,6 +201,7 @@ OBJECTS = \ $(OBJDIR)/tbxfroot.o\ $(OBJDIR)/utaddress.o\ $(OBJDIR)/utalloc.o\ + $(OBJDIR)/utascii.o\ $(OBJDIR)/utbuffer.o\ $(OBJDIR)/utcache.o\ $(OBJDIR)/utcopy.o\ Modified: vendor-sys/acpica/dist/generate/unix/acpinames/Makefile ============================================================================== --- vendor-sys/acpica/dist/generate/unix/acpinames/Makefile Mon Apr 25 22:00:05 2016 (r298594) +++ vendor-sys/acpica/dist/generate/unix/acpinames/Makefile Mon Apr 25 22:24:53 2016 (r298595) @@ -96,6 +96,7 @@ OBJECTS = \ $(OBJDIR)/tbxfroot.o\ $(OBJDIR)/utaddress.o\ $(OBJDIR)/utalloc.o\ + $(OBJDIR)/utascii.o\ $(OBJDIR)/utbuffer.o\ $(OBJDIR)/utcache.o\ $(OBJDIR)/utdebug.o\ Modified: vendor-sys/acpica/dist/generate/unix/acpisrc/Makefile ============================================================================== --- vendor-sys/acpica/dist/generate/unix/acpisrc/Makefile Mon Apr 25 22:00:05 2016 (r298594) +++ vendor-sys/acpica/dist/generate/unix/acpisrc/Makefile Mon Apr 25 22:24:53 2016 (r298595) @@ -39,6 +39,7 @@ OBJECTS = \ $(OBJDIR)/oslibcfs.o\ $(OBJDIR)/osunixdir.o\ $(OBJDIR)/osunixxf.o\ + $(OBJDIR)/utascii.o\ $(OBJDIR)/utdebug.o\ $(OBJDIR)/utexcep.o\ $(OBJDIR)/utglobal.o\ Modified: vendor-sys/acpica/dist/generate/unix/acpixtract/Makefile ============================================================================== --- vendor-sys/acpica/dist/generate/unix/acpixtract/Makefile Mon Apr 25 22:00:05 2016 (r298594) +++ vendor-sys/acpica/dist/generate/unix/acpixtract/Makefile Mon Apr 25 22:24:53 2016 (r298595) @@ -33,6 +33,7 @@ OBJECTS = \ $(OBJDIR)/getopt.o\ $(OBJDIR)/oslibcfs.o\ $(OBJDIR)/osunixxf.o\ + $(OBJDIR)/utascii.o\ $(OBJDIR)/utdebug.o\ $(OBJDIR)/utexcep.o\ $(OBJDIR)/utglobal.o\ Modified: vendor-sys/acpica/dist/generate/unix/iasl/Makefile ============================================================================== --- vendor-sys/acpica/dist/generate/unix/iasl/Makefile Mon Apr 25 22:00:05 2016 (r298594) +++ vendor-sys/acpica/dist/generate/unix/iasl/Makefile Mon Apr 25 22:24:53 2016 (r298595) @@ -201,6 +201,7 @@ OBJECTS = \ $(OBJDIR)/tbxfload.o\ $(OBJDIR)/utaddress.o\ $(OBJDIR)/utalloc.o\ + $(OBJDIR)/utascii.o\ $(OBJDIR)/utbuffer.o\ $(OBJDIR)/utcache.o\ $(OBJDIR)/utcopy.o\ @@ -274,12 +275,14 @@ include ../Makefile.rules # Function to safely execute yacc # safe_yacc = \ - _f=`echo $(1) | tr '[:upper:]' '[:lower:]'` &&\ - _d=`mktemp -d $(OBJDIR)/$$_f.XXXXXX` &&\ - _t=`basename $(3)` &&\ - $(YACC) $(YFLAGS) -p$(1) -o$$_d/$$_f.c -d $(2) &&\ - mv $$_d/$$_f.$${_t\#\#*.} $(3);\ - test -d $$_d && rm -fr $$_d + _d=`mktemp -d $(OBJDIR)/$(1).XXXXXX` &&\ + cd $$_d &&\ + $(YACC) $(YFLAGS) -d -p$(1) $(abspath $(2)) &&\ + cd - &&\ + mv $$_d/y.tab$(suffix $(3)) $(3);\ + _r=$$?;\ + rm -fr $$_d;\ + exit $$_r # # Macro processing for iASL .y files Modified: vendor-sys/acpica/dist/source/common/acfileio.c ============================================================================== --- vendor-sys/acpica/dist/source/common/acfileio.c Mon Apr 25 22:00:05 2016 (r298594) +++ vendor-sys/acpica/dist/source/common/acfileio.c Mon Apr 25 22:24:53 2016 (r298595) @@ -112,7 +112,8 @@ AcGetAllTablesFromFile ( FileSize = CmGetFileSize (File); if (FileSize == ACPI_UINT32_MAX) { - return (AE_ERROR); + Status = AE_ERROR; + goto ErrorExit; } fprintf (stderr, @@ -123,7 +124,8 @@ AcGetAllTablesFromFile ( if (FileSize < sizeof (ACPI_TABLE_HEADER)) { - return (AE_BAD_HEADER); + Status = AE_BAD_HEADER; + goto ErrorExit; } /* Check for an non-binary file */ @@ -156,7 +158,7 @@ AcGetAllTablesFromFile ( } else if (ACPI_FAILURE (Status)) { - return (Status); + goto ErrorExit; } /* Print table header for iASL/disassembler only */ @@ -203,6 +205,7 @@ AcGetAllTablesFromFile ( *ReturnListHead = ListHead; } +ErrorExit: fclose(File); return (Status); } @@ -409,7 +412,7 @@ AcValidateTableHeader ( /* Validate the signature (limited ASCII chars) */ - if (!AcpiIsValidSignature (TableHeader.Signature)) + if (!AcpiUtValidNameseg (TableHeader.Signature)) { fprintf (stderr, "Invalid table signature: 0x%8.8X\n", *ACPI_CAST_PTR (UINT32, TableHeader.Signature)); Modified: vendor-sys/acpica/dist/source/common/dmextern.c ============================================================================== --- vendor-sys/acpica/dist/source/common/dmextern.c Mon Apr 25 22:00:05 2016 (r298594) +++ vendor-sys/acpica/dist/source/common/dmextern.c Mon Apr 25 22:24:53 2016 (r298595) @@ -1101,7 +1101,6 @@ AcpiDmEmitExternals ( */ while (AcpiGbl_ExternalList) { - AcpiGbl_ExternalList = AcpiGbl_ExternalList; if (!(AcpiGbl_ExternalList->Flags & ACPI_EXT_EXTERNAL_EMITTED)) { AcpiOsPrintf (" External (%s%s)", Modified: vendor-sys/acpica/dist/source/common/dmrestag.c ============================================================================== --- vendor-sys/acpica/dist/source/common/dmrestag.c Mon Apr 25 22:00:05 2016 (r298594) +++ vendor-sys/acpica/dist/source/common/dmrestag.c Mon Apr 25 22:24:53 2016 (r298595) @@ -279,6 +279,7 @@ static const ACPI_RESOURCE_TAG Acpi static const ACPI_RESOURCE_TAG AcpiDmI2cSerialBusTags[] = { {( 6 * 8) + 0, ACPI_RESTAG_SLAVEMODE}, + {( 6 * 8) + 2, ACPI_RESTAG_INTERRUPTSHARE}, /* V2 - ACPI 6.0 */ {( 7 * 8) + 0, ACPI_RESTAG_MODE}, {(12 * 8), ACPI_RESTAG_SPEED}, {(16 * 8), ACPI_RESTAG_ADDRESS}, @@ -288,6 +289,7 @@ static const ACPI_RESOURCE_TAG Acpi static const ACPI_RESOURCE_TAG AcpiDmSpiSerialBusTags[] = { {( 6 * 8) + 0, ACPI_RESTAG_SLAVEMODE}, + {( 6 * 8) + 2, ACPI_RESTAG_INTERRUPTSHARE}, /* V2 - ACPI 6.0 */ {( 7 * 8) + 0, ACPI_RESTAG_MODE}, {( 7 * 8) + 1, ACPI_RESTAG_DEVICEPOLARITY}, {(12 * 8), ACPI_RESTAG_SPEED}, @@ -300,7 +302,8 @@ static const ACPI_RESOURCE_TAG Acpi static const ACPI_RESOURCE_TAG AcpiDmUartSerialBusTags[] = { - {( 6 * 8) + 0, ACPI_RESTAG_SLAVEMODE}, /* Note: not part of original macro */ + {( 6 * 8) + 0, ACPI_RESTAG_SLAVEMODE}, /* Note: not part of original macro */ + {( 6 * 8) + 2, ACPI_RESTAG_INTERRUPTSHARE}, /* V2 - ACPI 6.0 */ {( 7 * 8) + 0, ACPI_RESTAG_FLOWCONTROL}, {( 7 * 8) + 2, ACPI_RESTAG_STOPBITS}, {( 7 * 8) + 4, ACPI_RESTAG_LENGTH}, Modified: vendor-sys/acpica/dist/source/common/dmtable.c ============================================================================== --- vendor-sys/acpica/dist/source/common/dmtable.c Mon Apr 25 22:00:05 2016 (r298594) +++ vendor-sys/acpica/dist/source/common/dmtable.c Mon Apr 25 22:24:53 2016 (r298595) @@ -58,15 +58,6 @@ AcpiAhGetTableInfo ( char *Signature); -/* Local Prototypes */ - -static void -AcpiDmCheckAscii ( - UINT8 *Target, - char *RepairedName, - UINT32 Count); - - /* Common format strings for commented values */ #define UINT8_FORMAT "%2.2X [%s]\n" @@ -255,6 +246,7 @@ static const char *AcpiDmPcctS { "Generic Communications Subspace", /* ACPI_PCCT_TYPE_GENERIC_SUBSPACE */ "HW-Reduced Comm Subspace", /* ACPI_PCCT_TYPE_HW_REDUCED_SUBSPACE */ + "HW-Reduced Comm Subspace Type2", /* ACPI_PCCT_TYPE_HW_REDUCED_SUBSPACE_TYPE2 */ "Unknown Subtable Type" /* Reserved */ }; @@ -1059,7 +1051,7 @@ AcpiDmDumpTable ( case ACPI_DMT_SIG: - AcpiDmCheckAscii (Target, RepairedName, 4); + AcpiUtCheckAndRepairAscii (Target, RepairedName, 4); AcpiOsPrintf ("\"%.4s\" ", RepairedName); TableData = AcpiAhGetTableInfo (ACPI_CAST_PTR (char, Target)); @@ -1075,19 +1067,19 @@ AcpiDmDumpTable ( case ACPI_DMT_NAME4: - AcpiDmCheckAscii (Target, RepairedName, 4); + AcpiUtCheckAndRepairAscii (Target, RepairedName, 4); AcpiOsPrintf ("\"%.4s\"\n", RepairedName); break; case ACPI_DMT_NAME6: - AcpiDmCheckAscii (Target, RepairedName, 6); + AcpiUtCheckAndRepairAscii (Target, RepairedName, 6); AcpiOsPrintf ("\"%.6s\"\n", RepairedName); break; case ACPI_DMT_NAME8: - AcpiDmCheckAscii (Target, RepairedName, 8); + AcpiUtCheckAndRepairAscii (Target, RepairedName, 8); AcpiOsPrintf ("\"%.8s\"\n", RepairedName); break; @@ -1490,42 +1482,3 @@ AcpiDmDumpTable ( return (AE_OK); } - - -/******************************************************************************* - * - * FUNCTION: AcpiDmCheckAscii - * - * PARAMETERS: Name - Ascii string - * Count - Number of characters to check - * - * RETURN: None - * - * DESCRIPTION: Ensure that the requested number of characters are printable - * Ascii characters. Sets non-printable and null chars to . - * - ******************************************************************************/ - -static void -AcpiDmCheckAscii ( - UINT8 *Name, - char *RepairedName, - UINT32 Count) -{ - UINT32 i; - - - for (i = 0; i < Count; i++) - { - RepairedName[i] = (char) Name[i]; - - if (!Name[i]) - { - return; - } - if (!isprint (Name[i])) - { - RepairedName[i] = ' '; - } - } -} Modified: vendor-sys/acpica/dist/source/common/dmtbdump.c ============================================================================== --- vendor-sys/acpica/dist/source/common/dmtbdump.c Mon Apr 25 22:00:05 2016 (r298594) +++ vendor-sys/acpica/dist/source/common/dmtbdump.c Mon Apr 25 22:24:53 2016 (r298595) @@ -2897,6 +2897,11 @@ AcpiDmDumpPcct ( InfoTable = AcpiDmTableInfoPcct1; break; + case ACPI_PCCT_TYPE_HW_REDUCED_SUBSPACE_TYPE2: + + InfoTable = AcpiDmTableInfoPcct2; + break; + default: AcpiOsPrintf ( Modified: vendor-sys/acpica/dist/source/common/dmtbinfo.c ============================================================================== --- vendor-sys/acpica/dist/source/common/dmtbinfo.c Mon Apr 25 22:00:05 2016 (r298594) +++ vendor-sys/acpica/dist/source/common/dmtbinfo.c Mon Apr 25 22:24:53 2016 (r298595) @@ -218,6 +218,7 @@ #define ACPI_NFIT6_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_NFIT_FLUSH_ADDRESS,f) #define ACPI_PCCT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PCCT_SUBSPACE,f) #define ACPI_PCCT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PCCT_HW_REDUCED,f) +#define ACPI_PCCT2_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PCCT_HW_REDUCED_TYPE2,f) #define ACPI_PMTT0_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PMTT_SOCKET,f) #define ACPI_PMTT1_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PMTT_CONTROLLER,f) #define ACPI_PMTT1A_OFFSET(f) (UINT16) ACPI_OFFSET (ACPI_PMTT_DOMAIN,f) @@ -279,6 +280,7 @@ #define ACPI_NFIT4_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_NFIT_CONTROL_REGION,f,o) #define ACPI_PCCT_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_TABLE_PCCT,f,o) #define ACPI_PCCT1_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_PCCT_HW_REDUCED,f,o) +#define ACPI_PCCT2_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_PCCT_HW_REDUCED_TYPE2,f,o) #define ACPI_PMTTH_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_PMTT_HEADER,f,o) #define ACPI_WDDT_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_TABLE_WDDT,f,o) #define ACPI_EINJ0_FLAG_OFFSET(f,o) ACPI_FLAG_OFFSET (ACPI_WHEA_HEADER,f,o) @@ -2339,6 +2341,29 @@ ACPI_DMTABLE_INFO AcpiDmTableI ACPI_DMT_TERMINATOR }; +/* 2: HW-reduced Communications Subspace Type 2 (ACPI 6.1) */ + +ACPI_DMTABLE_INFO AcpiDmTableInfoPcct2[] = +{ + {ACPI_DMT_UINT32, ACPI_PCCT2_OFFSET (DoorbellInterrupt), "Doorbell Interrupt", 0}, + {ACPI_DMT_UINT8, ACPI_PCCT2_OFFSET (Flags), "Flags (Decoded Below)", DT_FLAG}, + {ACPI_DMT_FLAG0, ACPI_PCCT2_FLAG_OFFSET (Flags,0), "Polarity", 0}, + {ACPI_DMT_FLAG1, ACPI_PCCT2_FLAG_OFFSET (Flags,0), "Mode", 0}, + {ACPI_DMT_UINT8, ACPI_PCCT2_OFFSET (Reserved), "Reserved", 0}, + {ACPI_DMT_UINT64, ACPI_PCCT2_OFFSET (BaseAddress), "Base Address", 0}, + {ACPI_DMT_UINT64, ACPI_PCCT2_OFFSET (Length), "Address Length", 0}, + {ACPI_DMT_GAS, ACPI_PCCT2_OFFSET (DoorbellRegister), "Doorbell Register", 0}, + {ACPI_DMT_UINT64, ACPI_PCCT2_OFFSET (PreserveMask), "Preserve Mask", 0}, + {ACPI_DMT_UINT64, ACPI_PCCT2_OFFSET (WriteMask), "Write Mask", 0}, + {ACPI_DMT_UINT32, ACPI_PCCT2_OFFSET (Latency), "Command Latency", 0}, + {ACPI_DMT_UINT32, ACPI_PCCT2_OFFSET (MaxAccessRate), "Maximum Access Rate", 0}, + {ACPI_DMT_UINT16, ACPI_PCCT2_OFFSET (MinTurnaroundTime), "Minimum Turnaround Time", 0}, + {ACPI_DMT_GAS, ACPI_PCCT2_OFFSET (DoorbellAckRegister), "Doorbell ACK Register", 0}, + {ACPI_DMT_UINT64, ACPI_PCCT2_OFFSET (AckPreserveMask), "ACK Preserve Mask", 0}, + {ACPI_DMT_UINT64, ACPI_PCCT2_OFFSET (AckWriteMask), "ACK Write Mask", 0}, + ACPI_DMT_TERMINATOR +}; + /******************************************************************************* * Modified: vendor-sys/acpica/dist/source/compiler/aslanalyze.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslanalyze.c Mon Apr 25 22:00:05 2016 (r298594) +++ vendor-sys/acpica/dist/source/compiler/aslanalyze.c Mon Apr 25 22:24:53 2016 (r298595) @@ -50,6 +50,15 @@ ACPI_MODULE_NAME ("aslanalyze") +/* Local Prototypes */ + +static ACPI_STATUS +ApDeviceSubtreeWalk ( + ACPI_PARSE_OBJECT *Op, + UINT32 Level, + void *Context); + + /******************************************************************************* * * FUNCTION: AnIsInternalMethod @@ -579,6 +588,108 @@ ApCheckRegMethod ( /******************************************************************************* * + * FUNCTION: ApFindNameInDeviceTree + * + * PARAMETERS: Name - Name to search for + * Op - Current parse op + * + * RETURN: TRUE if name found in the same scope as Op. + * + * DESCRIPTION: Determine if a name appears in the same scope as Op, as either + * a Method() or a Name(). "Same scope" can mean under an If or + * Else statement. + * + * NOTE: Detects _HID/_ADR in this type of construct (legal in ACPI 6.1+) + * + * Scope (\_SB.PCI0) + * { + * Device (I2C0) + * { + * If (SMD0 != 4) { + * Name (_HID, "INT3442") + * } Else { + * Name (_ADR, 0x400) + * } + * } + * } + ******************************************************************************/ + +BOOLEAN +ApFindNameInDeviceTree ( + char *Name, + ACPI_PARSE_OBJECT *Op) +{ + ACPI_STATUS Status; + + + Status = TrWalkParseTree (Op, ASL_WALK_VISIT_DOWNWARD, + ApDeviceSubtreeWalk, NULL, Name); + + if (Status == AE_CTRL_TRUE) + { + return (TRUE); /* Found a match */ + } + + return (FALSE); +} + + +/* Callback function for interface above */ + +static ACPI_STATUS +ApDeviceSubtreeWalk ( + ACPI_PARSE_OBJECT *Op, + UINT32 Level, + void *Context) +{ + char *Name = ACPI_CAST_PTR (char, Context); + + + switch (Op->Asl.ParseOpcode) + { + case PARSEOP_DEVICE: + + /* Level 0 is the starting device, ignore it */ + + if (Level > 0) + { + /* Ignore sub-devices */ + + return (AE_CTRL_DEPTH); + } + break; + + case PARSEOP_NAME: + case PARSEOP_METHOD: + + /* These are what we are looking for */ + + if (ACPI_COMPARE_NAME (Name, Op->Asl.NameSeg)) + { + return (AE_CTRL_TRUE); + } + return (AE_CTRL_DEPTH); + + case PARSEOP_SCOPE: + case PARSEOP_FIELD: + case PARSEOP_OPERATIONREGION: + + /* + * We want to ignore these, because either they can be large + * subtrees or open a scope to somewhere else. + */ + return (AE_CTRL_DEPTH); + + default: + break; + } + + return (AE_OK); +} + + +/******************************************************************************* + * * FUNCTION: ApFindNameInScope * * PARAMETERS: Name - Name to search for Modified: vendor-sys/acpica/dist/source/compiler/aslcompile.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslcompile.c Mon Apr 25 22:00:05 2016 (r298594) +++ vendor-sys/acpica/dist/source/compiler/aslcompile.c Mon Apr 25 22:24:53 2016 (r298595) @@ -207,8 +207,8 @@ CmDoCompile ( if (Gbl_FoldConstants) { - TrWalkParseTree (Gbl_ParseTreeRoot, ASL_WALK_VISIT_DOWNWARD, - OpcAmlConstantWalk, NULL, NULL); + TrWalkParseTree (Gbl_ParseTreeRoot, ASL_WALK_VISIT_UPWARD, + NULL, OpcAmlConstantWalk, NULL); } else { Modified: vendor-sys/acpica/dist/source/compiler/aslcompiler.h ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslcompiler.h Mon Apr 25 22:00:05 2016 (r298594) +++ vendor-sys/acpica/dist/source/compiler/aslcompiler.h Mon Apr 25 22:24:53 2016 (r298595) @@ -287,6 +287,10 @@ ApFindNameInScope ( char *Name, ACPI_PARSE_OBJECT *Op); +BOOLEAN +ApFindNameInDeviceTree ( + char *Name, + ACPI_PARSE_OBJECT *Op); /* * aslerror - error handling/reporting @@ -709,6 +713,11 @@ ExDoExternal ( #define ASL_WALK_VISIT_TWICE (ASL_WALK_VISIT_DOWNWARD | ASL_WALK_VISIT_UPWARD) +void +TrSetParent ( + ACPI_PARSE_OBJECT *Op, + ACPI_PARSE_OBJECT *ParentOp); + ACPI_PARSE_OBJECT * TrAllocateNode ( UINT32 ParseOpcode); Modified: vendor-sys/acpica/dist/source/compiler/aslcompiler.l ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslcompiler.l Mon Apr 25 22:00:05 2016 (r298594) +++ vendor-sys/acpica/dist/source/compiler/aslcompiler.l Mon Apr 25 22:24:53 2016 (r298595) @@ -332,6 +332,7 @@ NamePathTail [.]{NameSeg} "GpioInt" { count (1); return (PARSEOP_GPIO_INT); } "GpioIo" { count (1); return (PARSEOP_GPIO_IO); } "I2cSerialBus" { count (1); return (PARSEOP_I2C_SERIALBUS); } +"I2cSerialBusV2" { count (1); return (PARSEOP_I2C_SERIALBUS_V2); } "Interrupt" { count (1); return (PARSEOP_INTERRUPT); } "IO" { count (1); return (PARSEOP_IO); } "IRQ" { count (1); return (PARSEOP_IRQ); } @@ -344,9 +345,11 @@ NamePathTail [.]{NameSeg} "QWordSpace" { count (1); return (PARSEOP_QWORDSPACE); } "Register" { count (1); return (PARSEOP_REGISTER); } "SpiSerialBus" { count (1); return (PARSEOP_SPI_SERIALBUS); } +"SpiSerialBusV2" { count (1); return (PARSEOP_SPI_SERIALBUS_V2); } "StartDependentFn" { count (1); return (PARSEOP_STARTDEPENDENTFN); } "StartDependentFnNoPri" { count (1); return (PARSEOP_STARTDEPENDENTFN_NOPRI); } "UartSerialBus" { count (1); return (PARSEOP_UART_SERIALBUS); } +"UartSerialBusV2" { count (1); return (PARSEOP_UART_SERIALBUS_V2); } "VendorLong" { count (1); return (PARSEOP_VENDORLONG); } "VendorShort" { count (1); return (PARSEOP_VENDORSHORT); } "WordBusNumber" { count (1); return (PARSEOP_WORDBUSNUMBER); } @@ -672,9 +675,14 @@ NamePathTail [.]{NameSeg} /* printf debug macros */ + "printf" { count (0); return (PARSEOP_PRINTF); } "fprintf" { count (0); return (PARSEOP_FPRINTF); } + /* Other macros */ + +"For" { count (0); return (PARSEOP_FOR); } + /* Predefined compiler names */ "__DATE__" { count (0); return (PARSEOP___DATE__); } Modified: vendor-sys/acpica/dist/source/compiler/aslfold.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslfold.c Mon Apr 25 22:00:05 2016 (r298594) +++ vendor-sys/acpica/dist/source/compiler/aslfold.c Mon Apr 25 22:24:53 2016 (r298595) @@ -101,6 +101,7 @@ TrInstallReducedConstant ( * RETURN: Status * * DESCRIPTION: Reduce an Op and its subtree to a constant if possible. + * Called during ascent of the parse tree. * ******************************************************************************/ @@ -192,9 +193,7 @@ OpcAmlConstantWalk ( OpcUpdateIntegerNode (Op, 0); } - /* Abort the walk of this subtree, we are done with it */ - - return (AE_CTRL_DEPTH); + return (AE_OK); } @@ -207,7 +206,7 @@ OpcAmlConstantWalk ( * RETURN: Status * * DESCRIPTION: Check one Op for a reducible type 3/4/5 AML opcode. - * This is performed via a downward walk of the parse subtree. + * This is performed via an upward walk of the parse subtree. * ******************************************************************************/ @@ -373,7 +372,6 @@ OpcAmlCheckForConstant ( goto CleanupAndExit; } - /* Debug output */ DbgPrint (ASL_PARSE_OUTPUT, "TYPE_345"); @@ -519,9 +517,6 @@ TrTransformToStoreOp ( ACPI_STATUS Status; - DbgPrint (ASL_PARSE_OUTPUT, - "Reduction/Transform to StoreOp: Store(Constant, Target)\n"); - /* Extract the operands */ Child1 = Op->Asl.Child; @@ -543,6 +538,10 @@ TrTransformToStoreOp ( } } + DbgPrint (ASL_PARSE_OUTPUT, + "Reduction/Transform to StoreOp: Store(%s, %s)\n", + Child1->Asl.ParseOpName, Child2->Asl.ParseOpName); + /* * Create a NULL (zero) target so that we can use the * interpreter to evaluate the expression. Modified: vendor-sys/acpica/dist/source/compiler/asllookup.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/asllookup.c Mon Apr 25 22:00:05 2016 (r298594) +++ vendor-sys/acpica/dist/source/compiler/asllookup.c Mon Apr 25 22:24:53 2016 (r298595) @@ -207,6 +207,7 @@ LkIsObjectUsed ( case ACPI_TYPE_POWER: case ACPI_TYPE_THERMAL: case ACPI_TYPE_LOCAL_RESOURCE: + case ACPI_TYPE_LOCAL_RESOURCE_FIELD: /* Names assigned to descriptor elements */ return (AE_OK); @@ -227,8 +228,8 @@ LkIsObjectUsed ( * Issue a remark even if it is a reserved name (starts * with an underscore). */ - sprintf (MsgBuffer, "Name is within method [%4.4s]", - Next->Name.Ascii); + sprintf (MsgBuffer, "Name [%4.4s] is within a method [%4.4s]", + Node->Name.Ascii, Next->Name.Ascii); AslError (ASL_REMARK, ASL_MSG_NOT_REFERENCED, LkGetNameOp (Node->Op), MsgBuffer); return (AE_OK); Modified: vendor-sys/acpica/dist/source/compiler/aslmap.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslmap.c Mon Apr 25 22:00:05 2016 (r298594) +++ vendor-sys/acpica/dist/source/compiler/aslmap.c Mon Apr 25 22:24:53 2016 (r298595) @@ -238,6 +238,7 @@ const ASL_MAPPING_ENTRY AslKeywordMa /* GPIOINT */ OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP, 0, 0, 0), /* GPIOIO */ OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP, 0, 0, 0), /* I2CSERIALBUS */ OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP, 0, 0, 0), +/* I2CSERIALBUSV2 */ OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP, 0, 0, 0), /* IF */ OP_TABLE_ENTRY (AML_IF_OP, 0, NODE_AML_PACKAGE, 0), /* INCLUDE */ OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP, 0, 0, 0), /* INCLUDE_END */ OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP, 0, 0, 0), @@ -395,6 +396,7 @@ const ASL_MAPPING_ENTRY AslKeywordMa /* SLAVEMODE_DEVICEINIT */ OP_TABLE_ENTRY (AML_BYTE_OP, 1, 0, 0), /* SLEEP */ OP_TABLE_ENTRY (AML_SLEEP_OP, 0, 0, 0), /* SPISERIALBUS */ OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP, 0, 0, 0), +/* SPISERIALBUSV2 */ OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP, 0, 0, 0), /* STALL */ OP_TABLE_ENTRY (AML_STALL_OP, 0, 0, 0), /* STARTDEPENDENTFN */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), /* STARTDEPENDENTFN_NOPRI */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), @@ -420,6 +422,7 @@ const ASL_MAPPING_ENTRY AslKeywordMa /* TYPE_STATIC */ OP_TABLE_ENTRY (AML_BYTE_OP, 0, 0, 0), /* TYPE_TRANSLATION */ OP_TABLE_ENTRY (AML_BYTE_OP, 1, 0, 0), /* UART_SERIALBUS */ OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP, 0, 0, 0), +/* UART_SERIALBUSV2 */ OP_TABLE_ENTRY (AML_DEFAULT_ARG_OP, 0, 0, 0), /* UNICODE */ OP_TABLE_ENTRY (AML_BUFFER_OP, 0, NODE_AML_PACKAGE, 0), /* UNLOAD */ OP_TABLE_ENTRY (AML_UNLOAD_OP, 0, 0, 0), /* UPDATERULE_ONES */ OP_TABLE_ENTRY (AML_BYTE_OP, AML_FIELD_UPDATE_WRITE_AS_ONES, 0, 0), Modified: vendor-sys/acpica/dist/source/compiler/aslmethod.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslmethod.c Mon Apr 25 22:00:05 2016 (r298594) +++ vendor-sys/acpica/dist/source/compiler/aslmethod.c Mon Apr 25 22:24:53 2016 (r298595) @@ -406,10 +406,8 @@ MtMethodAnalysisWalkBegin ( case PARSEOP_DEVICE: - Next = Op->Asl.Child; - - if (!ApFindNameInScope (METHOD_NAME__HID, Next) && - !ApFindNameInScope (METHOD_NAME__ADR, Next)) + if (!ApFindNameInDeviceTree (METHOD_NAME__HID, Op) && + !ApFindNameInDeviceTree (METHOD_NAME__ADR, Op)) { AslError (ASL_WARNING, ASL_MSG_MISSING_DEPENDENCY, Op, "Device object requires a _HID or _ADR in same scope"); Modified: vendor-sys/acpica/dist/source/compiler/aslparser.y ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslparser.y Mon Apr 25 22:00:05 2016 (r298594) +++ vendor-sys/acpica/dist/source/compiler/aslparser.y Mon Apr 25 22:24:53 2016 (r298595) @@ -58,7 +58,7 @@ * each list element and possibly overflow on very large lists (>4000 items). * This dramatically reduces use of the parse stack overall. * - * ArgList, TermList, Objectlist, ByteList, DWordList, PackageList, + * ArgList, TermList, ByteList, DWordList, PackageList, * ResourceMacroList, and FieldUnitList */ @@ -99,7 +99,7 @@ AslLocalAllocate ( * These shift/reduce conflicts are expected. There should be zero * reduce/reduce conflicts. */ -%expect 89 +%expect 101 /*! [Begin] no source code translation */ Modified: vendor-sys/acpica/dist/source/compiler/aslpredef.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslpredef.c Mon Apr 25 22:00:05 2016 (r298594) +++ vendor-sys/acpica/dist/source/compiler/aslpredef.c Mon Apr 25 22:24:53 2016 (r298595) @@ -454,8 +454,8 @@ ApCheckForPredefinedName ( if (Name[0] == 0) { - AcpiOsPrintf ("Found a null name, external = %s\n", - Op->Asl.ExternalName); + AslError (ASL_ERROR, ASL_MSG_COMPILER_INTERNAL, Op, + "zero length name found"); } /* All reserved names are prefixed with a single underscore */ Modified: vendor-sys/acpica/dist/source/compiler/aslprepkg.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslprepkg.c Mon Apr 25 22:00:05 2016 (r298594) +++ vendor-sys/acpica/dist/source/compiler/aslprepkg.c Mon Apr 25 22:24:53 2016 (r298595) @@ -52,7 +52,7 @@ /* Local prototypes */ -static void +static ACPI_PARSE_OBJECT * ApCheckPackageElements ( const char *PredefinedName, ACPI_PARSE_OBJECT *Op, @@ -88,6 +88,11 @@ ApPackageTooLarge ( UINT32 Count, UINT32 ExpectedCount); +static void +ApCustomPackage ( + ACPI_PARSE_OBJECT *ParentOp, + const ACPI_PREDEFINED_INFO *Predefined); + /******************************************************************************* * @@ -168,6 +173,11 @@ ApCheckPackage ( switch (Package->RetInfo.Type) { + case ACPI_PTYPE_CUSTOM: + + ApCustomPackage (ParentOp, Predefined); + break; + case ACPI_PTYPE1_FIXED: /* * The package count is fixed and there are no subpackages @@ -382,6 +392,86 @@ PackageTooSmall: /******************************************************************************* * + * FUNCTION: ApCustomPackage + * + * PARAMETERS: ParentOp - Parse op for the package + * Predefined - Pointer to package-specific info for + * the method + * + * RETURN: None + * + * DESCRIPTION: Validate packages that don't fit into the standard model and + * require custom code. + * + * NOTE: Currently used for the _BIX method only. When needed for two or more + * methods, probably a detect/dispatch mechanism will be required. + * + ******************************************************************************/ + +static void +ApCustomPackage ( + ACPI_PARSE_OBJECT *ParentOp, + const ACPI_PREDEFINED_INFO *Predefined) +{ + ACPI_PARSE_OBJECT *Op; + UINT32 Count; + UINT32 ExpectedCount; + UINT32 Version; + + + /* First child is the package length */ + + Op = ParentOp->Asl.Child; + Count = (UINT32) Op->Asl.Value.Integer; + + /* Get the version number, must be Integer */ + + Op = Op->Asl.Next; + Version = (UINT32) Op->Asl.Value.Integer; + if (Op->Asl.ParseOpcode != PARSEOP_INTEGER) + { + AslError (ASL_ERROR, ASL_MSG_RESERVED_OPERAND_TYPE, Op, MsgBuffer); + return; + } + + /* Validate count (# of elements) */ + + ExpectedCount = 21; /* Version 1 */ + if (Version == 0) + { + ExpectedCount = 20; /* Version 0 */ + } + + if (Count < ExpectedCount) + { + ApPackageTooSmall (Predefined->Info.Name, ParentOp, + Count, ExpectedCount); + return; + } + else if (Count > ExpectedCount) + { + ApPackageTooLarge (Predefined->Info.Name, ParentOp, + Count, ExpectedCount); + } + + /* Validate all elements of the package */ + + Op = ApCheckPackageElements (Predefined->Info.Name, Op, + ACPI_RTYPE_INTEGER, 16, + ACPI_RTYPE_STRING, 4); + + /* Version 1 has a single trailing integer */ + + if (Version > 0) + { + ApCheckPackageElements (Predefined->Info.Name, Op, + ACPI_RTYPE_INTEGER, 1, 0, 0); + } +} + + +/******************************************************************************* + * * FUNCTION: ApCheckPackageElements * * PARAMETERS: PredefinedName - Name of the predefined object @@ -391,7 +481,9 @@ PackageTooSmall: * Type2 - Object type for second group * Count2 - Count for second group * - * RETURN: None + * RETURN: Next Op peer in the parse tree, after all specified elements + * have been validated. Used for multiple validations (calls + * to this function). * * DESCRIPTION: Validate all elements of a package. Works with packages that * are defined to contain up to two groups of different object @@ -399,7 +491,7 @@ PackageTooSmall: * ******************************************************************************/ -static void +static ACPI_PARSE_OBJECT * ApCheckPackageElements ( const char *PredefinedName, ACPI_PARSE_OBJECT *Op, @@ -431,6 +523,8 @@ ApCheckPackageElements ( ApCheckObjectType (PredefinedName, Op, Type2, (i + Count1)); Op = Op->Asl.Next; } + + return (Op); } Modified: vendor-sys/acpica/dist/source/compiler/aslresource.c ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslresource.c Mon Apr 25 22:00:05 2016 (r298594) +++ vendor-sys/acpica/dist/source/compiler/aslresource.c Mon Apr 25 22:24:53 2016 (r298595) @@ -865,16 +865,19 @@ RsDoOneResourceDescriptor ( break; case PARSEOP_I2C_SERIALBUS: + case PARSEOP_I2C_SERIALBUS_V2: Rnode = RsDoI2cSerialBusDescriptor (Info); break; case PARSEOP_SPI_SERIALBUS: + case PARSEOP_SPI_SERIALBUS_V2: Rnode = RsDoSpiSerialBusDescriptor (Info); break; case PARSEOP_UART_SERIALBUS: + case PARSEOP_UART_SERIALBUS_V2: Rnode = RsDoUartSerialBusDescriptor (Info); break; Modified: vendor-sys/acpica/dist/source/compiler/aslresources.y ============================================================================== --- vendor-sys/acpica/dist/source/compiler/aslresources.y Mon Apr 25 22:00:05 2016 (r298594) +++ vendor-sys/acpica/dist/source/compiler/aslresources.y Mon Apr 25 22:24:53 2016 (r298595) @@ -392,6 +392,7 @@ ResourceMacroTerm | GpioIntTerm {} | GpioIoTerm {} | I2cSerialBusTerm {} + | I2cSerialBusTermV2 {} | InterruptTerm {} | IOTerm {} | IRQNoFlagsTerm {} @@ -404,9 +405,11 @@ ResourceMacroTerm | QWordSpaceTerm {} | RegisterTerm {} | SpiSerialBusTerm {} + | SpiSerialBusTermV2 {} | StartDependentFnNoPriTerm {} | StartDependentFnTerm {} | UartSerialBusTerm {} + | UartSerialBusTermV2 {} *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-vendor@freebsd.org Mon Apr 25 22:25:58 2016 Return-Path: Delivered-To: svn-src-vendor@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9E463B1CF90; Mon, 25 Apr 2016 22:25:58 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 559631BAE; Mon, 25 Apr 2016 22:25:58 +0000 (UTC) (envelope-from jkim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u3PMPvBG033630; Mon, 25 Apr 2016 22:25:57 GMT (envelope-from jkim@FreeBSD.org) Received: (from jkim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u3PMPv36033629; Mon, 25 Apr 2016 22:25:57 GMT (envelope-from jkim@FreeBSD.org) Message-Id: <201604252225.u3PMPv36033629@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: jkim set sender to jkim@FreeBSD.org using -f From: Jung-uk Kim Date: Mon, 25 Apr 2016 22:25:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r298596 - vendor-sys/acpica/20160422 X-SVN-Group: vendor-sys MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 25 Apr 2016 22:25:58 -0000 Author: jkim Date: Mon Apr 25 22:25:57 2016 New Revision: 298596 URL: https://svnweb.freebsd.org/changeset/base/298596 Log: Tag ACPICA 20160422. Added: vendor-sys/acpica/20160422/ - copied from r298595, vendor-sys/acpica/dist/ From owner-svn-src-vendor@freebsd.org Wed Apr 27 05:37:55 2016 Return-Path: Delivered-To: svn-src-vendor@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A853AB1D688; Wed, 27 Apr 2016 05:37:55 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 61F8C10C2; Wed, 27 Apr 2016 05:37:55 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u3R5bsUd003425; Wed, 27 Apr 2016 05:37:54 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u3R5bsuM003422; Wed, 27 Apr 2016 05:37:54 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <201604270537.u3R5bsuM003422@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Wed, 27 Apr 2016 05:37:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r298691 - in vendor/ntp/dist: . html include lib/isc lib/isc/include/isc libntp ntpd ntpdate ntpdc ntpq ntpsnmpd ports/winnt/include ports/winnt/ntpd ports/winnt/vs2005 ports/winnt/vs20... X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 27 Apr 2016 05:37:55 -0000 Author: delphij Date: Wed Apr 27 05:37:54 2016 New Revision: 298691 URL: https://svnweb.freebsd.org/changeset/base/298691 Log: Vendor import of ntp-4.2.8p7. Added: vendor/ntp/dist/README.pullrequests vendor/ntp/dist/lib/isc/tsmemcmp.c (contents, props changed) vendor/ntp/dist/ports/winnt/include/ntp_iocplmem.h (contents, props changed) vendor/ntp/dist/ports/winnt/include/ntp_iocpltypes.h (contents, props changed) vendor/ntp/dist/ports/winnt/ntpd/ntp_iocplmem.c (contents, props changed) vendor/ntp/dist/ports/winnt/ntpd/ntp_iocpltypes.c (contents, props changed) vendor/ntp/dist/tests/libntp/run-tsafememcmp.c (contents, props changed) vendor/ntp/dist/tests/libntp/tsafememcmp.c (contents, props changed) Modified: vendor/ntp/dist/ChangeLog vendor/ntp/dist/CommitLog vendor/ntp/dist/Makefile.am vendor/ntp/dist/Makefile.in vendor/ntp/dist/NEWS vendor/ntp/dist/config.h.in vendor/ntp/dist/configure vendor/ntp/dist/configure.ac vendor/ntp/dist/html/authentic.html vendor/ntp/dist/html/monopt.html vendor/ntp/dist/html/xleave.html vendor/ntp/dist/include/ntp.h vendor/ntp/dist/include/ntp_keyacc.h vendor/ntp/dist/include/ntp_refclock.h vendor/ntp/dist/include/ntp_stdlib.h vendor/ntp/dist/include/ntp_types.h vendor/ntp/dist/include/ntp_worker.h vendor/ntp/dist/include/recvbuff.h vendor/ntp/dist/lib/isc/hmacmd5.c vendor/ntp/dist/lib/isc/hmacsha.c vendor/ntp/dist/lib/isc/include/isc/string.h vendor/ntp/dist/libntp/Makefile.am vendor/ntp/dist/libntp/Makefile.in vendor/ntp/dist/libntp/a_md5encrypt.c vendor/ntp/dist/libntp/authkeys.c vendor/ntp/dist/libntp/authreadkeys.c vendor/ntp/dist/libntp/is_ip_address.c vendor/ntp/dist/libntp/ntp_intres.c vendor/ntp/dist/libntp/ntp_worker.c vendor/ntp/dist/libntp/recvbuff.c vendor/ntp/dist/libntp/work_fork.c vendor/ntp/dist/libntp/work_thread.c vendor/ntp/dist/ntpd/invoke-ntp.conf.texi vendor/ntp/dist/ntpd/invoke-ntp.keys.texi vendor/ntp/dist/ntpd/invoke-ntpd.texi vendor/ntp/dist/ntpd/ntp.conf.5man vendor/ntp/dist/ntpd/ntp.conf.5mdoc vendor/ntp/dist/ntpd/ntp.conf.def vendor/ntp/dist/ntpd/ntp.conf.html vendor/ntp/dist/ntpd/ntp.conf.man.in vendor/ntp/dist/ntpd/ntp.conf.mdoc.in vendor/ntp/dist/ntpd/ntp.keys.5man vendor/ntp/dist/ntpd/ntp.keys.5mdoc vendor/ntp/dist/ntpd/ntp.keys.html vendor/ntp/dist/ntpd/ntp.keys.man.in vendor/ntp/dist/ntpd/ntp.keys.mdoc.in vendor/ntp/dist/ntpd/ntp_control.c vendor/ntp/dist/ntpd/ntp_io.c vendor/ntp/dist/ntpd/ntp_proto.c vendor/ntp/dist/ntpd/ntp_request.c vendor/ntp/dist/ntpd/ntp_timer.c vendor/ntp/dist/ntpd/ntpd-opts.c vendor/ntp/dist/ntpd/ntpd-opts.h vendor/ntp/dist/ntpd/ntpd.1ntpdman vendor/ntp/dist/ntpd/ntpd.1ntpdmdoc vendor/ntp/dist/ntpd/ntpd.c vendor/ntp/dist/ntpd/ntpd.html vendor/ntp/dist/ntpd/ntpd.man.in vendor/ntp/dist/ntpd/ntpd.mdoc.in vendor/ntp/dist/ntpdate/ntpdate.c vendor/ntp/dist/ntpdc/invoke-ntpdc.texi vendor/ntp/dist/ntpdc/ntpdc-opts.c vendor/ntp/dist/ntpdc/ntpdc-opts.h vendor/ntp/dist/ntpdc/ntpdc.1ntpdcman vendor/ntp/dist/ntpdc/ntpdc.1ntpdcmdoc vendor/ntp/dist/ntpdc/ntpdc.html vendor/ntp/dist/ntpdc/ntpdc.man.in vendor/ntp/dist/ntpdc/ntpdc.mdoc.in vendor/ntp/dist/ntpq/invoke-ntpq.texi vendor/ntp/dist/ntpq/ntpq-opts.c vendor/ntp/dist/ntpq/ntpq-opts.def vendor/ntp/dist/ntpq/ntpq-opts.h vendor/ntp/dist/ntpq/ntpq-subs.c vendor/ntp/dist/ntpq/ntpq.1ntpqman vendor/ntp/dist/ntpq/ntpq.1ntpqmdoc vendor/ntp/dist/ntpq/ntpq.c vendor/ntp/dist/ntpq/ntpq.h vendor/ntp/dist/ntpq/ntpq.html vendor/ntp/dist/ntpq/ntpq.man.in vendor/ntp/dist/ntpq/ntpq.mdoc.in vendor/ntp/dist/ntpsnmpd/invoke-ntpsnmpd.texi vendor/ntp/dist/ntpsnmpd/ntpsnmpd-opts.c vendor/ntp/dist/ntpsnmpd/ntpsnmpd-opts.h vendor/ntp/dist/ntpsnmpd/ntpsnmpd.1ntpsnmpdman vendor/ntp/dist/ntpsnmpd/ntpsnmpd.1ntpsnmpdmdoc vendor/ntp/dist/ntpsnmpd/ntpsnmpd.html vendor/ntp/dist/ntpsnmpd/ntpsnmpd.man.in vendor/ntp/dist/ntpsnmpd/ntpsnmpd.mdoc.in vendor/ntp/dist/packageinfo.sh vendor/ntp/dist/ports/winnt/include/config.h vendor/ntp/dist/ports/winnt/include/ntp_iocompletionport.h vendor/ntp/dist/ports/winnt/ntpd/ntp_iocompletionport.c vendor/ntp/dist/ports/winnt/ntpd/ntservice.c vendor/ntp/dist/ports/winnt/vs2005/libntp.vcproj vendor/ntp/dist/ports/winnt/vs2005/ntpd.vcproj vendor/ntp/dist/ports/winnt/vs2008/libntp/libntp.vcproj vendor/ntp/dist/ports/winnt/vs2008/ntpd/ntpd.vcproj vendor/ntp/dist/ports/winnt/vs2013/debug-x64.props vendor/ntp/dist/ports/winnt/vs2013/libntp/libntp.vcxproj vendor/ntp/dist/ports/winnt/vs2013/libntp/libntp.vcxproj.filters vendor/ntp/dist/ports/winnt/vs2013/ntpd/ntpd.vcxproj vendor/ntp/dist/ports/winnt/vs2013/ntpd/ntpd.vcxproj.filters vendor/ntp/dist/ports/winnt/vs2013/release-x64.props vendor/ntp/dist/scripts/calc_tickadj/calc_tickadj.1calc_tickadjman vendor/ntp/dist/scripts/calc_tickadj/calc_tickadj.1calc_tickadjmdoc vendor/ntp/dist/scripts/calc_tickadj/calc_tickadj.html vendor/ntp/dist/scripts/calc_tickadj/calc_tickadj.man.in vendor/ntp/dist/scripts/calc_tickadj/calc_tickadj.mdoc.in vendor/ntp/dist/scripts/calc_tickadj/invoke-calc_tickadj.texi vendor/ntp/dist/scripts/invoke-plot_summary.texi vendor/ntp/dist/scripts/invoke-summary.texi vendor/ntp/dist/scripts/ntp-wait/invoke-ntp-wait.texi vendor/ntp/dist/scripts/ntp-wait/ntp-wait-opts vendor/ntp/dist/scripts/ntp-wait/ntp-wait.1ntp-waitman vendor/ntp/dist/scripts/ntp-wait/ntp-wait.1ntp-waitmdoc vendor/ntp/dist/scripts/ntp-wait/ntp-wait.html vendor/ntp/dist/scripts/ntp-wait/ntp-wait.man.in vendor/ntp/dist/scripts/ntp-wait/ntp-wait.mdoc.in vendor/ntp/dist/scripts/ntpsweep/invoke-ntpsweep.texi vendor/ntp/dist/scripts/ntpsweep/ntpsweep-opts vendor/ntp/dist/scripts/ntpsweep/ntpsweep.1ntpsweepman vendor/ntp/dist/scripts/ntpsweep/ntpsweep.1ntpsweepmdoc vendor/ntp/dist/scripts/ntpsweep/ntpsweep.html vendor/ntp/dist/scripts/ntpsweep/ntpsweep.man.in vendor/ntp/dist/scripts/ntpsweep/ntpsweep.mdoc.in vendor/ntp/dist/scripts/ntptrace/invoke-ntptrace.texi vendor/ntp/dist/scripts/ntptrace/ntptrace-opts vendor/ntp/dist/scripts/ntptrace/ntptrace.1ntptraceman vendor/ntp/dist/scripts/ntptrace/ntptrace.1ntptracemdoc vendor/ntp/dist/scripts/ntptrace/ntptrace.html vendor/ntp/dist/scripts/ntptrace/ntptrace.man.in vendor/ntp/dist/scripts/ntptrace/ntptrace.mdoc.in vendor/ntp/dist/scripts/plot_summary-opts vendor/ntp/dist/scripts/plot_summary.1plot_summaryman vendor/ntp/dist/scripts/plot_summary.1plot_summarymdoc vendor/ntp/dist/scripts/plot_summary.html vendor/ntp/dist/scripts/plot_summary.man.in vendor/ntp/dist/scripts/plot_summary.mdoc.in vendor/ntp/dist/scripts/summary-opts vendor/ntp/dist/scripts/summary.1summaryman vendor/ntp/dist/scripts/summary.1summarymdoc vendor/ntp/dist/scripts/summary.html vendor/ntp/dist/scripts/summary.man.in vendor/ntp/dist/scripts/summary.mdoc.in vendor/ntp/dist/scripts/update-leap/invoke-update-leap.texi vendor/ntp/dist/scripts/update-leap/update-leap-opts vendor/ntp/dist/scripts/update-leap/update-leap.1update-leapman vendor/ntp/dist/scripts/update-leap/update-leap.1update-leapmdoc vendor/ntp/dist/scripts/update-leap/update-leap.html vendor/ntp/dist/scripts/update-leap/update-leap.man.in vendor/ntp/dist/scripts/update-leap/update-leap.mdoc.in vendor/ntp/dist/sntp/config.h.in vendor/ntp/dist/sntp/configure vendor/ntp/dist/sntp/crypto.c vendor/ntp/dist/sntp/include/version.def vendor/ntp/dist/sntp/include/version.texi vendor/ntp/dist/sntp/invoke-sntp.texi vendor/ntp/dist/sntp/m4/ntp_libntp.m4 vendor/ntp/dist/sntp/m4/version.m4 vendor/ntp/dist/sntp/sntp-opts.c vendor/ntp/dist/sntp/sntp-opts.h vendor/ntp/dist/sntp/sntp.1sntpman vendor/ntp/dist/sntp/sntp.1sntpmdoc vendor/ntp/dist/sntp/sntp.html vendor/ntp/dist/sntp/sntp.man.in vendor/ntp/dist/sntp/sntp.mdoc.in vendor/ntp/dist/sntp/version.c vendor/ntp/dist/tests/libntp/Makefile.am vendor/ntp/dist/tests/libntp/Makefile.in vendor/ntp/dist/tests/libntp/lfpfunc.c vendor/ntp/dist/tests/libntp/run-lfpfunc.c vendor/ntp/dist/tests/libntp/run-timevalops.c vendor/ntp/dist/tests/libntp/ssl_init.c vendor/ntp/dist/tests/libntp/timespecops.c vendor/ntp/dist/tests/libntp/timevalops.c vendor/ntp/dist/tests/ntpq/Makefile.am vendor/ntp/dist/tests/ntpq/Makefile.in vendor/ntp/dist/util/invoke-ntp-keygen.texi vendor/ntp/dist/util/ntp-keygen-opts.c vendor/ntp/dist/util/ntp-keygen-opts.h vendor/ntp/dist/util/ntp-keygen.1ntp-keygenman vendor/ntp/dist/util/ntp-keygen.1ntp-keygenmdoc vendor/ntp/dist/util/ntp-keygen.html vendor/ntp/dist/util/ntp-keygen.man.in vendor/ntp/dist/util/ntp-keygen.mdoc.in Modified: vendor/ntp/dist/ChangeLog ============================================================================== --- vendor/ntp/dist/ChangeLog Wed Apr 27 05:18:04 2016 (r298690) +++ vendor/ntp/dist/ChangeLog Wed Apr 27 05:37:54 2016 (r298691) @@ -1,4 +1,65 @@ --- +(4.2.8p7) 2016/04/26 Released by Harlan Stenn + +* [Sec 2901] KoD packets must have non-zero transmit timestamps. HStenn. +* [Sec 2936] Skeleton Key: Any system knowing the trusted key can serve + time. Include passive servers in this check. HStenn. +* [Sec 2945] Additional KoD packet checks. HStenn. +* [Sec 2978] Interleave can be partially triggered. HStenn. +* [Sec 3007] Validate crypto-NAKs. Danny Mayer. +* [Sec 3008] Always check the return value of ctl_getitem(). + - initial work by HStenn + - Additional cleanup of ctl_getitem by perlinger@ntp.org +* [Sec 3009] Crafted addpeer with hmode > 7 causes OOB error. perlinger@ntp.org + - added more stringent checks on packet content +* [Sec 3010] remote configuration trustedkey/requestkey values + are not properly validated. perlinger@ntp.org + - sidekick: Ignore keys that have an unsupported MAC algorithm + but are otherwise well-formed +* [Sec 3011] Duplicate IPs on unconfig directives will cause an assertion botch + - graciously accept the same IP multiple times. perlinger@ntp.org +* [Sec 3020] Refclock impersonation. HStenn. +* [Bug 2831] Segmentation Fault in DNS lookup during startup. perlinger@ntp.org + - fixed yet another race condition in the threaded resolver code. +* [Bug 2858] bool support. Use stdbool.h when available. HStenn. +* [Bug 2879] Improve NTP security against timing attacks. perlinger@ntp.org + - integrated patches by Loganaden Velvidron + with some modifications & unit tests +* [Bug 2952] Symmetric active/passive mode is broken. HStenn. +* [Bug 2960] async name resolution fixes for chroot() environments. + Reinhard Max. +* [Bug 2994] Systems with HAVE_SIGNALED_IO fail to compile. perlinger@ntp.org +* [Bug 2995] Fixes to compile on Windows +* [Bug 2999] out-of-bounds access in 'is_safe_filename()'. perlinger@ntp.org +* [Bug 3013] Fix for ssl_init.c SHA1 test. perlinger@ntp.org + - Patch provided by Ch. Weisgerber +* [Bug 3015] ntpq: config-from-file: "request contains an unprintable character" + - A change related to [Bug 2853] forbids trailing white space in + remote config commands. perlinger@ntp.org +* [Bug 3019] NTPD stops processing packets after ERROR_HOST_UNREACHABLE + - report and patch from Aleksandr Kostikov. + - Overhaul of Windows IO completion port handling. perlinger@ntp.org +* [Bug 3022] authkeys.c should be refactored. perlinger@ntp.org + - fixed memory leak in access list (auth[read]keys.c) + - refactored handling of key access lists (auth[read]keys.c) + - reduced number of error branches (authreadkeys.c) +* [Bug 3023] ntpdate cannot correct dates in the future. perlinger@ntp.org +* [Bug 3030] ntpq needs a general way to specify refid output format. HStenn. +* [Bug 3031] ntp broadcastclient unable to synchronize to an server + when the time of server changed. perlinger@ntp.org + - Check the initial delay calculation and reject/unpeer the broadcast + server if the delay exceeds 50ms. Retry again after the next + broadcast packet. +* [Bug 3036] autokey trips an INSIST in authistrustedip(). Harlan Stenn. +* Document ntp.key's optional IP list in authenetic.html. Harlan Stenn. +* Update html/xleave.html documentation. Harlan Stenn. +* Update ntp.conf documentation. Harlan Stenn. +* Fix some Credit: attributions in the NEWS file. Harlan Stenn. +* Fix typo in html/monopt.html. Harlan Stenn. +* Add README.pullrequests. Harlan Stenn. +* Cleanup to include/ntp.h. Harlan Stenn. + +--- (4.2.8p6) 2016/01/20 Released by Harlan Stenn * [Sec 2935] Deja Vu: Replay attack on authenticated broadcast mode. HStenn. @@ -92,6 +153,7 @@ * Update scripts/calc_tickadj/Makefile.am. Harlan Stenn. --- +(4.2.8p4) 2015/10/21 Released by Harlan Stenn * [Sec 2899] CVE-2014-9297 perlinger@ntp.org * [Sec 2901] Drop invalid packet before checking KoD. Check for all KoD's. Modified: vendor/ntp/dist/CommitLog ============================================================================== --- vendor/ntp/dist/CommitLog Wed Apr 27 05:18:04 2016 (r298690) +++ vendor/ntp/dist/CommitLog Wed Apr 27 05:37:54 2016 (r298691) @@ -1,3 +1,1130 @@ +ChangeSet@1.3669, 2016-04-26 20:30:51-04:00, stenn@deacon.udel.edu + NTP_4_2_8P7 + TAG: NTP_4_2_8P7 + + ChangeLog@1.1820 +1 -0 + NTP_4_2_8P7 + + ntpd/invoke-ntp.conf.texi@1.198 +38 -20 + NTP_4_2_8P7 + + ntpd/invoke-ntp.keys.texi@1.189 +1 -1 + NTP_4_2_8P7 + + ntpd/invoke-ntpd.texi@1.505 +2 -2 + NTP_4_2_8P7 + + ntpd/ntp.conf.5man@1.232 +43 -24 + NTP_4_2_8P7 + + ntpd/ntp.conf.5mdoc@1.232 +40 -18 + NTP_4_2_8P7 + + ntpd/ntp.conf.html@1.184 +34 -10 + NTP_4_2_8P7 + + ntpd/ntp.conf.man.in@1.232 +43 -24 + NTP_4_2_8P7 + + ntpd/ntp.conf.mdoc.in@1.232 +40 -18 + NTP_4_2_8P7 + + ntpd/ntp.keys.5man@1.223 +2 -2 + NTP_4_2_8P7 + + ntpd/ntp.keys.5mdoc@1.223 +2 -2 + NTP_4_2_8P7 + + ntpd/ntp.keys.html@1.185 +1 -1 + NTP_4_2_8P7 + + ntpd/ntp.keys.man.in@1.223 +2 -2 + NTP_4_2_8P7 + + ntpd/ntp.keys.mdoc.in@1.223 +2 -2 + NTP_4_2_8P7 + + ntpd/ntpd-opts.c@1.527 +7 -7 + NTP_4_2_8P7 + + ntpd/ntpd-opts.h@1.526 +3 -3 + NTP_4_2_8P7 + + ntpd/ntpd.1ntpdman@1.334 +3 -3 + NTP_4_2_8P7 + + ntpd/ntpd.1ntpdmdoc@1.334 +2 -2 + NTP_4_2_8P7 + + ntpd/ntpd.html@1.178 +2 -2 + NTP_4_2_8P7 + + ntpd/ntpd.man.in@1.334 +3 -3 + NTP_4_2_8P7 + + ntpd/ntpd.mdoc.in@1.334 +2 -2 + NTP_4_2_8P7 + + ntpdc/invoke-ntpdc.texi@1.502 +2 -2 + NTP_4_2_8P7 + + ntpdc/ntpdc-opts.c@1.520 +7 -7 + NTP_4_2_8P7 + + ntpdc/ntpdc-opts.h@1.519 +3 -3 + NTP_4_2_8P7 + + ntpdc/ntpdc.1ntpdcman@1.333 +3 -3 + NTP_4_2_8P7 + + ntpdc/ntpdc.1ntpdcmdoc@1.333 +2 -2 + NTP_4_2_8P7 + + ntpdc/ntpdc.html@1.346 +2 -2 + NTP_4_2_8P7 + + ntpdc/ntpdc.man.in@1.333 +3 -3 + NTP_4_2_8P7 + + ntpdc/ntpdc.mdoc.in@1.333 +2 -2 + NTP_4_2_8P7 + + ntpq/invoke-ntpq.texi@1.510 +2 -2 + NTP_4_2_8P7 + + ntpq/ntpq-opts.c@1.527 +7 -7 + NTP_4_2_8P7 + + ntpq/ntpq-opts.h@1.525 +3 -3 + NTP_4_2_8P7 + + ntpq/ntpq.1ntpqman@1.338 +3 -3 + NTP_4_2_8P7 + + ntpq/ntpq.1ntpqmdoc@1.338 +2 -2 + NTP_4_2_8P7 + + ntpq/ntpq.html@1.175 +36 -6 + NTP_4_2_8P7 + + ntpq/ntpq.man.in@1.338 +3 -3 + NTP_4_2_8P7 + + ntpq/ntpq.mdoc.in@1.338 +2 -2 + NTP_4_2_8P7 + + ntpsnmpd/invoke-ntpsnmpd.texi@1.504 +2 -2 + NTP_4_2_8P7 + + ntpsnmpd/ntpsnmpd-opts.c@1.522 +7 -7 + NTP_4_2_8P7 + + ntpsnmpd/ntpsnmpd-opts.h@1.521 +3 -3 + NTP_4_2_8P7 + + ntpsnmpd/ntpsnmpd.1ntpsnmpdman@1.333 +3 -3 + NTP_4_2_8P7 + + ntpsnmpd/ntpsnmpd.1ntpsnmpdmdoc@1.333 +2 -2 + NTP_4_2_8P7 + + ntpsnmpd/ntpsnmpd.html@1.173 +1 -1 + NTP_4_2_8P7 + + ntpsnmpd/ntpsnmpd.man.in@1.333 +3 -3 + NTP_4_2_8P7 + + ntpsnmpd/ntpsnmpd.mdoc.in@1.333 +2 -2 + NTP_4_2_8P7 + + packageinfo.sh@1.526 +2 -2 + NTP_4_2_8P7 + + scripts/calc_tickadj/calc_tickadj.1calc_tickadjman@1.94 +3 -3 + NTP_4_2_8P7 + + scripts/calc_tickadj/calc_tickadj.1calc_tickadjmdoc@1.95 +2 -2 + NTP_4_2_8P7 + + scripts/calc_tickadj/calc_tickadj.html@1.96 +1 -1 + NTP_4_2_8P7 + + scripts/calc_tickadj/calc_tickadj.man.in@1.93 +3 -3 + NTP_4_2_8P7 + + scripts/calc_tickadj/calc_tickadj.mdoc.in@1.95 +2 -2 + NTP_4_2_8P7 + + scripts/calc_tickadj/invoke-calc_tickadj.texi@1.98 +1 -1 + NTP_4_2_8P7 + + scripts/invoke-plot_summary.texi@1.115 +2 -2 + NTP_4_2_8P7 + + scripts/invoke-summary.texi@1.115 +2 -2 + NTP_4_2_8P7 + + scripts/ntp-wait/invoke-ntp-wait.texi@1.325 +2 -2 + NTP_4_2_8P7 + + scripts/ntp-wait/ntp-wait-opts@1.61 +2 -2 + NTP_4_2_8P7 + + scripts/ntp-wait/ntp-wait.1ntp-waitman@1.322 +3 -3 + NTP_4_2_8P7 + + scripts/ntp-wait/ntp-wait.1ntp-waitmdoc@1.323 +2 -2 + NTP_4_2_8P7 + + scripts/ntp-wait/ntp-wait.html@1.342 +2 -2 + NTP_4_2_8P7 + + scripts/ntp-wait/ntp-wait.man.in@1.322 +3 -3 + NTP_4_2_8P7 + + scripts/ntp-wait/ntp-wait.mdoc.in@1.323 +2 -2 + NTP_4_2_8P7 + + scripts/ntpsweep/invoke-ntpsweep.texi@1.113 +2 -2 + NTP_4_2_8P7 + + scripts/ntpsweep/ntpsweep-opts@1.63 +2 -2 + NTP_4_2_8P7 + + scripts/ntpsweep/ntpsweep.1ntpsweepman@1.101 +3 -3 + NTP_4_2_8P7 + + scripts/ntpsweep/ntpsweep.1ntpsweepmdoc@1.101 +2 -2 + NTP_4_2_8P7 + + scripts/ntpsweep/ntpsweep.html@1.114 +2 -2 + NTP_4_2_8P7 + + scripts/ntpsweep/ntpsweep.man.in@1.101 +3 -3 + NTP_4_2_8P7 + + scripts/ntpsweep/ntpsweep.mdoc.in@1.102 +2 -2 + NTP_4_2_8P7 + + scripts/ntptrace/invoke-ntptrace.texi@1.114 +2 -2 + NTP_4_2_8P7 + + scripts/ntptrace/ntptrace-opts@1.63 +2 -2 + NTP_4_2_8P7 + + scripts/ntptrace/ntptrace.1ntptraceman@1.101 +3 -3 + NTP_4_2_8P7 + + scripts/ntptrace/ntptrace.1ntptracemdoc@1.102 +2 -2 + NTP_4_2_8P7 + + scripts/ntptrace/ntptrace.html@1.115 +2 -2 + NTP_4_2_8P7 + + scripts/ntptrace/ntptrace.man.in@1.101 +3 -3 + NTP_4_2_8P7 + + scripts/ntptrace/ntptrace.mdoc.in@1.103 +2 -2 + NTP_4_2_8P7 + + scripts/plot_summary-opts@1.63 +2 -2 + NTP_4_2_8P7 + + scripts/plot_summary.1plot_summaryman@1.113 +3 -3 + NTP_4_2_8P7 + + scripts/plot_summary.1plot_summarymdoc@1.113 +2 -2 + NTP_4_2_8P7 + + scripts/plot_summary.html@1.116 +2 -2 + NTP_4_2_8P7 + + scripts/plot_summary.man.in@1.113 +3 -3 + NTP_4_2_8P7 + + scripts/plot_summary.mdoc.in@1.113 +2 -2 + NTP_4_2_8P7 + + scripts/summary-opts@1.63 +2 -2 + NTP_4_2_8P7 + + scripts/summary.1summaryman@1.113 +3 -3 + NTP_4_2_8P7 + + scripts/summary.1summarymdoc@1.113 +2 -2 + NTP_4_2_8P7 + + scripts/summary.html@1.116 +2 -2 + NTP_4_2_8P7 + + scripts/summary.man.in@1.113 +3 -3 + NTP_4_2_8P7 + + scripts/summary.mdoc.in@1.113 +2 -2 + NTP_4_2_8P7 + + scripts/update-leap/invoke-update-leap.texi@1.14 +1 -1 + NTP_4_2_8P7 + + scripts/update-leap/update-leap-opts@1.14 +2 -2 + NTP_4_2_8P7 + + scripts/update-leap/update-leap.1update-leapman@1.14 +3 -3 + NTP_4_2_8P7 + + scripts/update-leap/update-leap.1update-leapmdoc@1.14 +2 -2 + NTP_4_2_8P7 + + scripts/update-leap/update-leap.html@1.14 +1 -1 + NTP_4_2_8P7 + + scripts/update-leap/update-leap.man.in@1.14 +3 -3 + NTP_4_2_8P7 + + scripts/update-leap/update-leap.mdoc.in@1.14 +2 -2 + NTP_4_2_8P7 + + sntp/invoke-sntp.texi@1.502 +2 -2 + NTP_4_2_8P7 + + sntp/sntp-opts.c@1.521 +7 -7 + NTP_4_2_8P7 + + sntp/sntp-opts.h@1.519 +3 -3 + NTP_4_2_8P7 + + sntp/sntp.1sntpman@1.337 +3 -3 + NTP_4_2_8P7 + + sntp/sntp.1sntpmdoc@1.337 +2 -2 + NTP_4_2_8P7 + + sntp/sntp.html@1.517 +2 -2 + NTP_4_2_8P7 + + sntp/sntp.man.in@1.337 +3 -3 + NTP_4_2_8P7 + + sntp/sntp.mdoc.in@1.337 +2 -2 + NTP_4_2_8P7 + + util/invoke-ntp-keygen.texi@1.505 +2 -2 + NTP_4_2_8P7 + + util/ntp-keygen-opts.c@1.523 +7 -7 + NTP_4_2_8P7 + + util/ntp-keygen-opts.h@1.521 +3 -3 + NTP_4_2_8P7 + + util/ntp-keygen.1ntp-keygenman@1.333 +3 -3 + NTP_4_2_8P7 + + util/ntp-keygen.1ntp-keygenmdoc@1.333 +2 -2 + NTP_4_2_8P7 + + util/ntp-keygen.html@1.179 +2 -2 + NTP_4_2_8P7 + + util/ntp-keygen.man.in@1.333 +3 -3 + NTP_4_2_8P7 + + util/ntp-keygen.mdoc.in@1.333 +2 -2 + NTP_4_2_8P7 + +ChangeSet@1.3668, 2016-04-26 20:07:48-04:00, stenn@deacon.udel.edu + ntp-4.2.8p7 + + packageinfo.sh@1.525 +1 -1 + ntp-4.2.8p7 + +ChangeSet@1.3667, 2016-04-26 23:24:25+00:00, stenn@psp-deb1.ntp.org + 4.2.8p7 documentation cleanup + + ChangeLog@1.1819 +9 -9 + 4.2.8p7 documentation cleanup + + NEWS@1.169 +123 -36 + 4.2.8p7 documentation cleanup + +ChangeSet@1.3666, 2016-04-24 09:17:06+00:00, stenn@psp-deb1.ntp.org + [Bug 3036] autokey trips an INSIST in authistrustedip() + + ntpd/ntp_proto.c@1.386 +0 -1 + [Bug 3036] autokey trips an INSIST in authistrustedip() + +ChangeSet@1.3665, 2016-04-21 23:42:43+00:00, stenn@psp-deb1.ntp.org + Update 3007 + + NEWS@1.168 +1 -1 + Update 3007 + +ChangeSet@1.3664, 2016-04-21 23:29:30+00:00, stenn@psp-deb1.ntp.org + [Bug 3007] Fix bug in crypto-NAK check + + ChangeLog@1.1818 +1 -1 + [Bug 3007] Fix bug in crypto-NAK check + + ntpd/ntp_proto.c@1.385 +3 -1 + [Bug 3007] Fix bug in crypto-NAK check + +ChangeSet@1.3663, 2016-04-21 09:29:31+00:00, stenn@psp-deb1.ntp.org + [Bug 3036] autokey trips an INSIST in authistrustedip() + + NEWS@1.167 +1 -0 + [Bug 3036] autokey trips an INSIST in authistrustedip() + +ChangeSet@1.3661, 2016-04-21 09:24:12+00:00, stenn@psp-deb1.ntp.org + tweak some ntp_proto.c timestamp log messages + + ntpd/ntp_proto.c@1.383 +4 -3 + tweak some ntp_proto.c timestamp log messages + +ChangeSet@1.3630.1.17, 2016-04-21 09:11:51+00:00, stenn@psp-deb1.ntp.org + [Bug 3036] autokey trips an INSIST in authistrustedip() + + ChangeLog@1.1794.1.15 +1 -0 + [Bug 3036] autokey trips an INSIST in authistrustedip() + + ntpd/ntp_proto.c@1.373.2.7 +6 -1 + [Bug 3036] autokey trips an INSIST in authistrustedip() + +ChangeSet@1.3660, 2016-04-19 05:29:57+00:00, stenn@psp-deb1.ntp.org + Windows cleanup for Bug 2978 mitigation + + ports/winnt/include/config.h@1.114 +6 -0 + Windows cleanup for Bug 2978 mitigation + +ChangeSet@1.3659, 2016-04-18 05:38:06+00:00, stenn@psp-deb1.ntp.org + 4.2.8p7 update: [Bug 2831] Segmentation Fault in DNS lookup during startup + + NEWS@1.166 +2 -0 + 4.2.8p7 update: [Bug 2831] Segmentation Fault in DNS lookup during startup + +ChangeSet@1.3630.15.1, 2016-04-18 06:07:25+02:00, perlinger@ntp.org + [Bug 2831] Segmentation Fault in DNS lookup during startup. + - fixed yet another race condition in the threaded resolver code. + + ChangeLog@1.1794.15.1 +2 -0 + [Bug 2831] Segmentation Fault in DNS lookup during startup. + - fixed yet another race condition in the threaded resolver code. + + include/ntp_worker.h@1.7 +2 -0 + [Bug 2831] Segmentation Fault in DNS lookup during startup. + - fixed yet another race condition in the threaded resolver code: global locker prototype + + libntp/ntp_intres.c@1.100 +20 -28 + [Bug 2831] Segmentation Fault in DNS lookup during startup. + - fixed yet another race condition in the threaded resolver code: + lock global context table during access + remove dangerous wrapper + + libntp/work_fork.c@1.14.1.1 +5 -0 + [Bug 2831] Segmentation Fault in DNS lookup during startup. + - fixed yet another race condition in the threaded resolver code: global locker dummy + + libntp/work_thread.c@1.21 +23 -0 + [Bug 2831] Segmentation Fault in DNS lookup during startup. + - fixed yet another race condition in the threaded resolver code: create&handle global lock + +ChangeSet@1.3657, 2016-04-16 07:59:23+00:00, stenn@psp-deb1.ntp.org + type + + NEWS@1.165 +1 -1 + type + +ChangeSet@1.3656, 2016-04-14 09:03:11+00:00, stenn@psp-deb1.ntp.org + Update the NEWS file for 4.2.8p7 + + NEWS@1.164 +7 -0 + Update the NEWS file for 4.2.8p7 + +ChangeSet@1.3655, 2016-04-14 01:59:45+00:00, stenn@psp-deb1.ntp.org + [Sec 2978] Interleave can be partially triggered + + ChangeLog@1.1815 +1 -0 + [Sec 2978] Interleave can be partially triggered + + configure.ac@1.605 +22 -0 + [Sec 2978] Interleave can be partially triggered + + ntpd/ntp_proto.c@1.382 +11 -3 + [Sec 2978] Interleave can be partially triggered + +ChangeSet@1.3654, 2016-04-14 01:46:50+00:00, stenn@psp-deb1.ntp.org + Update the NEWS file for 4.2.8p7 + + NEWS@1.163 +168 -26 + Update the NEWS file for 4.2.8p7 + +ChangeSet@1.3653, 2016-04-12 22:29:18+00:00, stenn@psp-deb1.ntp.org + 4.2.8p7 prep + + NEWS@1.162 +105 -5 + 4.2.8p7 prep + +ChangeSet@1.3652, 2016-04-12 09:01:09+00:00, stenn@psp-deb1.ntp.org + Credit Aleksandr Kostikov on bug 3019 + + ChangeLog@1.1814 +1 -0 + Credit Aleksandr Kostikov on bug 3019 + +ChangeSet@1.3630.13.6, 2016-04-12 07:43:08+00:00, stenn@psp-deb1.ntp.org + comment tweak + + ntpd/ntp_proto.c@1.373.2.6 +1 -1 + comment tweak + +ChangeSet@1.3650, 2016-04-11 20:26:29-07:00, harlan@max.pfcs.com + [Bug 2952] Symmetric active/passive mode is broken + + ChangeLog@1.1812 +1 -0 + [Bug 2952] Symmetric active/passive mode is broken + + ntpd/ntp_proto.c@1.380 +21 -12 + [Bug 2952] Symmetric active/passive mode is broken + +ChangeSet@1.3649, 2016-04-11 19:56:06-07:00, harlan@max.pfcs.com + Cleanup to include/ntp.h + + ChangeLog@1.1811 +1 -0 + Cleanup to include/ntp.h + + include/ntp.h@1.218 +7 -0 + cleanup + +ChangeSet@1.3630.13.5, 2016-04-01 19:18:25+02:00, jnperlin@nemesis.localnet + [Bug 3031] ntp broadcastclient unable to synchronize to an server when the time of server changed + - adjust pull cycle of broadcast client to trensmission of brodcast server + + libntp/ntp_worker.c@1.7.1.1 +1 -1 + [Bug 3031] ntp broadcastclient unable to synchronize to an server when the time of server changed + - side kick: fix annoying signed/unsigned clash + + ntpd/ntp_proto.c@1.373.2.5 +1 -0 + [Bug 3031] ntp broadcastclient unable to synchronize to an server when the time of server changed + - adjust pull cycle of broadcast client to trensmission of brodcast server + +ChangeSet@1.3630.13.4, 2016-03-30 23:55:33+02:00, jnperlin@nemesis.localnet + [Bug 3031] modify deadband + + ntpd/ntp_proto.c@1.373.2.4 +13 -12 + [Bug 3031] broadcast issues + - modify deadband for first round after volley + +ChangeSet@1.3630.14.1, 2016-03-30 17:28:04+00:00, perlinger@psp-deb1.ntp.org + [Bug 3031] ntp broadcastclient unable to synchronize to an server when the time of server changed. + - Check the initial delay calculation and reject/unpeer the broadcast server if the delay exceeds + the cutoff limit. (default 50ms) + Retry again after the next broadcast packet. + + ChangeLog@1.1794.14.1 +5 -0 + [Bug 3031] ntp broadcastclient unable to synchronize to an server when the time of server changed. + + ntpd/ntp_io.c@1.414.3.1 +28 -10 + [Bug 3031] ntp broadcastclient unable to synchronize to an server when the time of server changed. + - improve/fix handling of opening broadcast sockets (-> EADDRNOTAVAIL) + + ntpd/ntp_proto.c@1.373.3.1 +23 -4 + [Bug 3031] ntp broadcastclient unable to synchronize to an server when the time of server changed. + - Check the initial delay calculation and reject/unpeer the broadcast server if the delay exceeds 50ms. + Retry again after the next broadcast packet. + - the absolute value of negative broadcastdelays is cutoff limit for peer removal. + +ChangeSet@1.3630.13.2, 2016-03-30 19:23:06+02:00, jnperlin@nemesis.localnet + [Bug 3031] + + ntpd/ntp_io.c@1.414.2.1 +28 -10 + [Bug 3031] + - improve/fix handling of opening broadcast sockets (-> EADDRNOTAVAIL) + + ntpd/ntp_proto.c@1.373.2.2 +14 -6 + [Bug 3031] + - the absolute value of negative broadcastdelays is cutoff limit for peer removal + +ChangeSet@1.3630.1.14, 2016-03-30 10:29:07+00:00, stenn@psp-deb1.ntp.org + [Bug 2960] async name resolution fixes for chroot() environments. Reinhard Max + + ChangeLog@1.1794.1.12 +2 -0 + [Bug 2960] async name resolution fixes for chroot() environments. Reinhard Max + + libntp/work_fork.c@1.15 +1 -1 + [Bug 2960] async name resolution fixes for chroot() environments. Reinhard Max + + ntpd/ntp_timer.c@1.96 +6 -0 + [Bug 2960] async name resolution fixes for chroot() environments. Reinhard Max + + ntpd/ntpd.c@1.171 +15 -0 + [Bug 2960] async name resolution fixes for chroot() environments. Reinhard Max + + sntp/m4/ntp_libntp.m4@1.33 +1 -0 + [Bug 2960] async name resolution fixes for chroot() environments. Reinhard Max + +ChangeSet@1.3630.13.1, 2016-03-29 18:22:03+02:00, perlinger@ntp.org + [Bug 3031] ntp broadcastclient unable to synchronize to an server when the time of server changed. + - Check the initial delay calculation and reject/unpeer the broadcast server if the delay exceeds 50ms. + Retry again after the next broadcast packet. + + ChangeLog@1.1794.13.1 +5 -0 + [Bug 3031] ntp broadcastclient unable to synchronize to an server when the time of server changed. + + ntpd/ntp_proto.c@1.373.2.1 +11 -0 + [Bug 3031] ntp broadcastclient unable to synchronize to an server when the time of server changed. + - Check the initial delay calculation and reject/unpeer the broadcast server if the delay exceeds 50ms. + Retry again after the next broadcast packet. + +ChangeSet@1.3630.12.1, 2016-03-27 23:59:51+02:00, jnperlin@nemesis.localnet + [Bug 3019] NTPD stops processing packets after ERROR_HOST_UNREACHABLE + - complete refurbishment of overlapped IO engine + - cleanup + + ChangeLog@1.1794.12.1 +2 -0 + [Bug 3019] NTPD stops processing packets after ERROR_HOST_UNREACHABLE + - work around windows network issues, improve overlapped IO. perlinger@ntp.org + + include/ntp.h@1.216.1.1 +1 -0 + [Bug 3019] NTPD stops processing packets ERROR_HOST_UNREACHABLE + - add IOCPL registration handle to interface + + include/ntp_refclock.h@1.38 +2 -1 + [Bug 3019] NTPD stops processing packets ERROR_HOST_UNREACHABLE + - add IOCPL registration handle to RIO structure + + include/recvbuff.h@1.26 +2 -2 + [Bug 3019] NTPD stops processing packets ERROR_HOST_UNREACHABLE + - fix SOCKET vs. FD clash + - 'get_free_recv_buffer_alloc()': extended comment + + libntp/ntp_worker.c@1.8 +1 -1 + [Bug 3019] NTPD stops processing packets after ERROR_HOST_UNREACHABLE + - fix signed/unsigned clash + + libntp/recvbuff.c@1.41 +15 -13 + [Bug 3019] NTPD stops processing packets after ERROR_HOST_UNREACHABLE + - API cleanup: accept and silently ignore NULL pointer in 'freerecvbuf()' + - fix SOCKET vs. FD clash + + ntpd/ntp_io.c@1.414.1.1 +42 -12 + [Bug 3019] NTPD stops processing packets after hitting ERROR_HOST_UNREACHABLE + - first invalidate FDs in shared structure, then close handles + - defer free() via cooling pond when doing overlapped IO + --- + [Bug 3019] NTPD stops processing packets after hitting ERROR_HOST_UNREACHABLE + - proper wiring to IO completion ports + --- + [Bug 3019] NTPD stops processing packets after hitting ERROR_HOST_UNREACHABLE + - first invalidate FDs in shared structure, then close handles + - defer free() via cooling pond when doing overlapped IO + - proper wiring to IO completion ports + --- + [Bug 3019] NTPD stops processing packets after hitting ERROR_HOST_UNREACHABLE + - wired the needed unregistration functions for overlapped IO + + ports/winnt/include/ntp_iocompletionport.h@1.22 +17 -10 + Bug 3019 - NTPD stops processing packets after ERROR_HOST_UNREACHABLE + - extend API to provide essential information + - added missing unregistration functions to API + + ports/winnt/include/ntp_iocplmem.h@1.1 +24 -0 + [Bug 3019] NTPD stops processing packets after hitting ERROR_HOST_UNREACHABLE + - refactored IOCPL heap into separate file + + ports/winnt/include/ntp_iocplmem.h@1.0 +0 -0 + + ports/winnt/include/ntp_iocpltypes.h@1.1 +160 -0 + [Bug 3019] NTPD stops processing packets after ERROR_HOST_UNREACHABLE + - refactored helper objects (locks, PPS/device context, IO context,...) into separate file + + ports/winnt/include/ntp_iocpltypes.h@1.0 +0 -0 + + ports/winnt/ntpd/ntp_iocompletionport.c@1.73 +875 -791 + [Bug 3019] NTPD stops processing packets after ERROR_HOST_UNREACHABLE + - make sure ALL operations are overlapped for sockets + - use APC queue for deferred error processing + - take extra care to deal with interfaces/clocks being removed while overlapped IO in flight + - minor WINAPI cleanups (VS2008 vs VS2013) + - extend API to provide essential information + - better context checking + - implemented the missing unregistration functions + - implemented shared locking between clocks/interfaces and IO operations + - made sure minimal locking is engaged + - fixed / locked / avoided access to global / shared values from IO thread + - made sure interfaces and clocks cannot be deleted wile accessed from worker thread + - made sure feeding the receive queue stops with deregistration + In other words, a complete refurbishment. + - further refactoring, better handling of received packets + + ports/winnt/ntpd/ntp_iocplmem.c@1.1 +123 -0 + [Bug 3019] NTPD stops processing packets after ERROR_HOST_UNREACHABLE + - refactored IOCPL heap into separate file + + ports/winnt/ntpd/ntp_iocplmem.c@1.0 +0 -0 + + ports/winnt/ntpd/ntp_iocpltypes.c@1.1 +366 -0 + [Bug 3019] NTPD stops processing packets after ERROR_HOST_UNREACHABLE + - refactored helper objects (locks, PPS/device context, IO context,...) into separate file + + ports/winnt/ntpd/ntp_iocpltypes.c@1.0 +0 -0 + + ports/winnt/ntpd/ntservice.c@1.30 +13 -3 + [Bug 3019] NTPD stops processing packets after ERROR_HOST_UNREACHABLE + - log request from SCM in INFO level + + ports/winnt/vs2005/ntpd.vcproj@1.21 +8 -18 + [Bug 3019] NTPD stops processing packets after ERROR_HOST_UNREACHABLE + - added ntp_iocpl{mem,types}.c to sources. + + ports/winnt/vs2008/ntpd/ntpd.vcproj@1.51 +16 -0 + [Bug 3019] NTPD stops processing packets after ERROR_HOST_UNREACHABLE + - added ntp_iocpl{mem,types}.c to sources. + + ports/winnt/vs2013/debug-x64.props@1.2 +1 -0 + [Bug 3019] NTPD stops processing packets after ERROR_HOST_UNREACHABLE + - sidekick: property sheet name + + ports/winnt/vs2013/libntp/libntp.vcxproj.filters@1.7.1.1 +3 -0 + [Bug 3019] NTPD stops processing packets after ERROR_HOST_UNREACHABLE + - auto update + + ports/winnt/vs2013/ntpd/ntpd.vcxproj@1.9 +4 -0 + [Bug 3019] NTPD stops processing packets after ERROR_HOST_UNREACHABLE + - added ntp_iocpl{mem,types}.c to sources. + + ports/winnt/vs2013/ntpd/ntpd.vcxproj.filters@1.6 +12 -0 + [Bug 3019] NTPD stops processing packets after hitting ERROR_HOST_UNREACHABLE + - auto update + + ports/winnt/vs2013/release-x64.props@1.2 +1 -0 + [Bug 3019] NTPD stops processing packets after ERROR_HOST_UNREACHABLE + - sidekick: property sheet name + +ChangeSet@1.3630.1.12, 2016-03-19 09:09:07+00:00, stenn@psp-deb1.ntp.org + [Bug 3030] ntpq needs a general way to specify refid output format. HStenn. + + tests/ntpq/Makefile.am@1.9 +1 -0 + [Bug 3030] ntpq needs a general way to specify refid output format. HStenn. + +ChangeSet@1.3630.1.10, 2016-03-16 09:22:31+00:00, stenn@psp-deb1.ntp.org + Add README.pullrequests. Harlan Stenn + + ChangeLog@1.1794.1.9 +1 -0 + Add README.pullrequests. Harlan Stenn + + Makefile.am@1.135 +1 -0 + Add README.pullrequests. Harlan Stenn + + README.pullrequests@1.1 +90 -0 + BitKeeper file /home/stenn/ntp-stable/README.pullrequests + + README.pullrequests@1.0 +0 -0 + +ChangeSet@1.3630.11.1, 2016-03-16 08:46:16+00:00, stenn@psp-deb1.ntp.org + [Bug 3030] ntpq needs a general way to specify refid output format. HStenn. + + ChangeLog@1.1794.11.1 +1 -0 + [Bug 3030] ntpq needs a general way to specify refid output format. HStenn. + + ntpq/invoke-ntpq.texi@1.509 +28 -1 + [Bug 3030] ntpq needs a general way to specify refid output format. HStenn. + + ntpq/ntpq-opts.c@1.526 +108 -50 + [Bug 3030] ntpq needs a general way to specify refid output format. HStenn. + + ntpq/ntpq-opts.def@1.27 +12 -0 + [Bug 3030] ntpq needs a general way to specify refid output format. HStenn. + + ntpq/ntpq-opts.h@1.524 +21 -8 + [Bug 3030] ntpq needs a general way to specify refid output format. HStenn. + + ntpq/ntpq-subs.c@1.116.1.1 +17 -10 + [Bug 3030] ntpq needs a general way to specify refid output format. HStenn. + + ntpq/ntpq.1ntpqman@1.337 +24 -3 + [Bug 3030] ntpq needs a general way to specify refid output format. HStenn. + + ntpq/ntpq.1ntpqmdoc@1.337 +22 -2 + [Bug 3030] ntpq needs a general way to specify refid output format. HStenn. + + ntpq/ntpq.c@1.169 +53 -2 + [Bug 3030] ntpq needs a general way to specify refid output format. HStenn. + + ntpq/ntpq.h@1.32 +3 -0 + [Bug 3030] ntpq needs a general way to specify refid output format. HStenn. + + ntpq/ntpq.man.in@1.337 +24 -3 + [Bug 3030] ntpq needs a general way to specify refid output format. HStenn. + + ntpq/ntpq.mdoc.in@1.337 +22 -2 + [Bug 3030] ntpq needs a general way to specify refid output format. HStenn. + +ChangeSet@1.3630.10.1, 2016-03-01 08:30:22+01:00, perlinger@ntp.org + [Bug 3023] ntpdate cannot correct dates in the future. + + ChangeLog@1.1794.10.1 +1 -0 + [Bug 3023] ntpdate cannot correct dates in the future. + + ntpdate/ntpdate.c@1.98 +9 -5 + [Bug 3023] ntpdate cannot correct dates in the future. + +ChangeSet@1.3642, 2016-03-01 05:46:29+00:00, stenn@psp-deb1.ntp.org + cleanup + + ChangeLog@1.1805 +0 -1 + cleanup + +ChangeSet@1.3641, 2016-02-29 23:01:01+00:00, stenn@psp-deb1.ntp.org + [Sec 3020] Refclock impersonation. HStenn. + + ChangeLog@1.1804 +1 -0 + [Sec 3020] Refclock impersonation. HStenn. + + configure.ac@1.604 +18 -0 + [Sec 3020] Refclock impersonation. HStenn. + + ntpd/ntp_io.c@1.415 +12 -0 + [Sec 3020] Refclock impersonation. HStenn. + +ChangeSet@1.3630.9.1, 2016-02-29 20:03:59+01:00, jnperlin@hydra.localnet + [Bug 3022] authkeys.c should be refactored + + ChangeLog@1.1794.9.1 +4 -0 + [Bug 3022] authkeys.c should be refactored + + include/ntp_keyacc.h@1.2 +6 -0 + [Bug 3022] authkeys.c should be refactored + - refactoring of key access handling + + libntp/authkeys.c@1.34 +146 -85 + [Bug 3022] authkeys.c should be refactored + - refactoring of key access handling + - fixed memory leak in access list + + libntp/authreadkeys.c@1.25.1.1 +52 -44 + [Bug 3022] authkeys.c should be refactored + - refactoring of key access handling + - reduced number of error branches + +ChangeSet@1.3638.2.2, 2016-02-22 05:33:56+00:00, stenn@psp-deb1.ntp.org + [Sec 3008] Always check the return value of ctl_getitem(). HStenn. + + ChangeLog@1.1801.2.1 +1 -0 + [Sec 3008] Always check the return value of ctl_getitem(). HStenn. + + ntpd/ntp_control.c@1.206.2.1 +11 -2 + [Sec 3008] Always check the return value of ctl_getitem(). HStenn. + +ChangeSet@1.3638.2.1, 2016-02-22 05:12:39+00:00, stenn@psp-deb1.ntp.org + Update ntp.conf documentation. Harlan Stenn. + + ntpd/ntp.conf.def@1.23 +38 -16 + Update ntp.conf documentation. Harlan Stenn. + +ChangeSet@1.3638.1.3, 2016-02-22 03:39:39+00:00, stenn@psp-deb1.ntp.org + Bug 3007 cleanup + + ntpd/ntp_proto.c@1.379 +4 -1 + Bug 3007 cleanup + +ChangeSet@1.3630.8.1, 2016-02-21 15:09:37+01:00, perlinger@ntp.org + [Bug 3009] Crafted addpeer with hmode > 7 causes OOB error + + ChangeLog@1.1794.8.1 +2 -0 + [Bug 3009] Crafted addpeer with hmode > 7 causes OOB error + + ntpd/ntp_request.c@1.117.2.1 +29 -2 + [Bug 3009] Crafted addpeer with hmode > 7 causes OOB error + - added more stringent checks on packet content: + hmode <= 6 (7 is already out of range for a peer mode!) + +ChangeSet@1.3630.7.2, 2016-02-21 09:39:25+01:00, perlinger@ntp.org + Bug 3010] remote configuration trustedkey/requestkey values are not properly validated + - sidekick: Ignore keys that have an unsupported MAC algorithm but are otherwise well-formed + + ChangeLog@1.1794.7.2 +2 -0 + Bug 3010] remote configuration trustedkey/requestkey values are not properly validated + - sidekick: Ignore keys that have an unsupported MAC algorithm but are otherwise well-formed + + libntp/authreadkeys.c@1.26 +48 -26 + [Bug 3010] remote configuration trustedkey/requestkey values are not properly validated + - sidekick: Ignore keys that have an unsupported MAC algorithm but are otherwise well-formed + +ChangeSet@1.3630.7.1, 2016-02-19 22:42:25+01:00, perlinger@ntp.org + [Bug 3010] remote configuration trustedkey/requestkey values are not properly validated + + ChangeLog@1.1794.7.1 +2 -0 + [Bug 3010] remote configuration trustedkey/requestkey values are not properly validated + + ntpd/ntp_request.c@1.117.1.1 +41 -25 + [Bug 3010] remote configuration trustedkey/requestkey values are not properly validated + - make sure the new keyids are valid static key IDs and present in the key table + +ChangeSet@1.3630.6.1, 2016-02-19 19:47:31+01:00, perlinger@ntp.org + [Bug 3013] Fix for ssl_init.c SHA1 test + + ChangeLog@1.1794.6.1 +2 -0 + [Bug 3013] Fix for ssl_init.c SHA1 test + + tests/libntp/ssl_init.c@1.9 +2 -2 + [Bug 3013] Fix for ssl_init.c SHA1 test + - Require SHA1 explicitely, to avoid confusion with (deprecated) SHA0. + Patch provided by Ch. Weisgerber + +ChangeSet@1.3630.5.1, 2016-02-17 18:36:10+01:00, perlinger@ntp.org + [Bug 3015] ntpq: config-from-file: "request contains an unprintable character" + + ChangeLog@1.1794.5.1 +3 -0 + [Bug 3015] ntpq: config-from-file: "request contains an unprintable character" + + ntpq/ntpq-subs.c@1.117 +35 -16 + [Bug 3015] ntpq: config-from-file: "request contains an unprintable character" + - remove trailing whitespace in remote config command + - remove comments, too. + +ChangeSet@1.3639, 2016-02-17 09:30:05+01:00, jnperlin@hydra.localnet + [Bug 3008] ctl_getitem() return value not always checked + + ChangeLog@1.1802 +3 -0 + [Bug 3008] ctl_getitem() return value not always checked + + ntpd/ntp_control.c@1.206.1.1 +101 -58 + [Bug 3008] ctl_getitem() return value not always checked + - also some cleanup of ctl_getitem + +ChangeSet@1.3630.3.3, 2016-02-14 10:15:57+00:00, stenn@psp-deb1.ntp.org + Fix typo in html/monopt.html. Harlan Stenn. + + ChangeLog@1.1794.3.3 +1 -0 + Fix typo in html/monopt.html. Harlan Stenn. + + html/monopt.html@1.39 +2 -2 + Fix typo in html/monopt.html. Harlan Stenn. + +ChangeSet@1.3630.3.2, 2016-02-13 09:15:45+00:00, stenn@psp-deb1.ntp.org + Fix some Credit: attributions in the NEWS file. Harlan Stenn. + + ChangeLog@1.1794.3.2 +1 -0 + Fix some Credit: attributions in the NEWS file. Harlan Stenn. + + NEWS@1.161 +3 -2 + Fix some Credit: attributions in the NEWS file. Harlan Stenn. + +ChangeSet@1.3630.4.1, 2016-02-10 20:11:21+01:00, perlinger@ntp.org + [Bug 3011] Duplicate IPs on unconfig directives will cause an assertion botch + + ChangeLog@1.1794.4.1 +2 -0 + [Bug 3011] Duplicate IPs on unconfig directives will cause an assertion botch + + ntpd/ntp_request.c@1.118 +48 -78 + [Bug 3011] Duplicate IPs on unconfig directives will cause an assertion botch + - reworked 'do_unconf()' to survive the effect of having peers named multiple times + +ChangeSet@1.3630.2.3, 2016-02-09 00:46:57+00:00, mayer@psp-deb1.ntp.org *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-vendor@freebsd.org Wed Apr 27 05:38:48 2016 Return-Path: Delivered-To: svn-src-vendor@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 87221B1D6DF; Wed, 27 Apr 2016 05:38:48 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 401D2120F; Wed, 27 Apr 2016 05:38:48 +0000 (UTC) (envelope-from delphij@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u3R5clO3003493; Wed, 27 Apr 2016 05:38:47 GMT (envelope-from delphij@FreeBSD.org) Received: (from delphij@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u3R5clY8003492; Wed, 27 Apr 2016 05:38:47 GMT (envelope-from delphij@FreeBSD.org) Message-Id: <201604270538.u3R5clY8003492@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: delphij set sender to delphij@FreeBSD.org using -f From: Xin LI Date: Wed, 27 Apr 2016 05:38:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r298692 - vendor/ntp/4.2.8p7 X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 27 Apr 2016 05:38:48 -0000 Author: delphij Date: Wed Apr 27 05:38:47 2016 New Revision: 298692 URL: https://svnweb.freebsd.org/changeset/base/298692 Log: Tag ntp 4.2.8p7. Added: vendor/ntp/4.2.8p7/ - copied from r298691, vendor/ntp/dist/ From owner-svn-src-vendor@freebsd.org Fri Apr 29 19:17:03 2016 Return-Path: Delivered-To: svn-src-vendor@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 513E9B2169A; Fri, 29 Apr 2016 19:17:03 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id B22591690; Fri, 29 Apr 2016 19:17:02 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u3TJH10x088555; Fri, 29 Apr 2016 19:17:01 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u3TJH0Er088537; Fri, 29 Apr 2016 19:17:00 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201604291917.u3TJH0Er088537@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Fri, 29 Apr 2016 19:17:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r298794 - in vendor/subversion/dist: . subversion/include subversion/libsvn_client subversion/libsvn_diff subversion/libsvn_fs_base subversion/libsvn_fs_fs subversion/libsvn_fs_x subver... X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 29 Apr 2016 19:17:03 -0000 Author: dim Date: Fri Apr 29 19:16:59 2016 New Revision: 298794 URL: https://svnweb.freebsd.org/changeset/base/298794 Log: Vendor import of subversion-1.9.4. Modified: vendor/subversion/dist/CHANGES vendor/subversion/dist/INSTALL vendor/subversion/dist/Makefile.in vendor/subversion/dist/NOTICE vendor/subversion/dist/build-outputs.mk vendor/subversion/dist/configure vendor/subversion/dist/subversion/include/svn_client.h vendor/subversion/dist/subversion/include/svn_config.h vendor/subversion/dist/subversion/include/svn_fs.h vendor/subversion/dist/subversion/include/svn_version.h vendor/subversion/dist/subversion/libsvn_client/externals.c vendor/subversion/dist/subversion/libsvn_client/merge.c vendor/subversion/dist/subversion/libsvn_client/patch.c vendor/subversion/dist/subversion/libsvn_diff/binary_diff.c vendor/subversion/dist/subversion/libsvn_fs_base/dag.c vendor/subversion/dist/subversion/libsvn_fs_base/fs.h vendor/subversion/dist/subversion/libsvn_fs_fs/cached_data.c vendor/subversion/dist/subversion/libsvn_fs_fs/dag.c vendor/subversion/dist/subversion/libsvn_fs_fs/fs.h vendor/subversion/dist/subversion/libsvn_fs_fs/fs_fs.c vendor/subversion/dist/subversion/libsvn_fs_fs/fs_fs.h vendor/subversion/dist/subversion/libsvn_fs_fs/rep-cache-db.h vendor/subversion/dist/subversion/libsvn_fs_fs/transaction.c vendor/subversion/dist/subversion/libsvn_fs_fs/tree.c vendor/subversion/dist/subversion/libsvn_fs_x/rep-cache-db.h vendor/subversion/dist/subversion/libsvn_ra_local/ra_plugin.c vendor/subversion/dist/subversion/libsvn_ra_serf/commit.c vendor/subversion/dist/subversion/libsvn_ra_serf/inherited_props.c vendor/subversion/dist/subversion/libsvn_ra_serf/merge.c vendor/subversion/dist/subversion/libsvn_ra_serf/multistatus.c vendor/subversion/dist/subversion/libsvn_ra_serf/ra_serf.h vendor/subversion/dist/subversion/libsvn_ra_serf/replay.c vendor/subversion/dist/subversion/libsvn_ra_serf/serf.c vendor/subversion/dist/subversion/libsvn_ra_serf/util.c vendor/subversion/dist/subversion/libsvn_ra_svn/client.c vendor/subversion/dist/subversion/libsvn_ra_svn/deprecated.c vendor/subversion/dist/subversion/libsvn_ra_svn/marshal.c vendor/subversion/dist/subversion/libsvn_repos/dump.c vendor/subversion/dist/subversion/libsvn_repos/log.c vendor/subversion/dist/subversion/libsvn_repos/repos.c vendor/subversion/dist/subversion/libsvn_subr/auth.c vendor/subversion/dist/subversion/libsvn_subr/cache-membuffer.c vendor/subversion/dist/subversion/libsvn_subr/eol.c vendor/subversion/dist/subversion/libsvn_subr/gpg_agent.c vendor/subversion/dist/subversion/libsvn_subr/internal_statements.h vendor/subversion/dist/subversion/libsvn_subr/prompt.c vendor/subversion/dist/subversion/libsvn_subr/sqlite.c vendor/subversion/dist/subversion/libsvn_subr/string.c vendor/subversion/dist/subversion/libsvn_subr/utf_validate.c vendor/subversion/dist/subversion/libsvn_subr/version.c vendor/subversion/dist/subversion/libsvn_wc/deprecated.c vendor/subversion/dist/subversion/libsvn_wc/wc-checks.h vendor/subversion/dist/subversion/libsvn_wc/wc-metadata.h vendor/subversion/dist/subversion/libsvn_wc/wc-queries.h vendor/subversion/dist/subversion/libsvn_wc/wc-queries.sql vendor/subversion/dist/subversion/libsvn_wc/wc_db_pristine.c vendor/subversion/dist/subversion/svn/conflict-callbacks.c vendor/subversion/dist/subversion/svn/diff-cmd.c vendor/subversion/dist/subversion/svn/lock-cmd.c vendor/subversion/dist/subversion/svn/unlock-cmd.c vendor/subversion/dist/subversion/svnlook/svnlook.c vendor/subversion/dist/subversion/svnserve/cyrus_auth.c vendor/subversion/dist/win-tests.py Modified: vendor/subversion/dist/CHANGES ============================================================================== --- vendor/subversion/dist/CHANGES Fri Apr 29 19:10:22 2016 (r298793) +++ vendor/subversion/dist/CHANGES Fri Apr 29 19:16:59 2016 (r298794) @@ -1,3 +1,91 @@ +Version 1.9.4 +(28 Apr 2016, from /branches/1.9.x) +http://svn.apache.org/repos/asf/subversion/tags/1.9.4 + + User-visible changes: + - Client-side bugfixes: + * diff: support '--summarize --ignore-properties' (part of issue #4567) + * checkout: fix performance regression on NFS (r1710167) + * gpg-agent: properly handle passwords with percent characters (issue #4611) + * svn-graph.pl: fix assertion about a non-canonical path (r1729060 et al) + * hot-backup.py: better input validation (r1721174, r1721175) + * commit: abort on Ctrl-C in plaintext password prompt (issue #4624) + * diff: produce proper forward binary diffs with --git (r1704292, r1704573) + * ra_serf: fix deleting directories with many files (issue #4557) + + - Server-side bugfixes: + * improve documentation for AuthzSVNGroupsFile and groups-db (r1730856) + * fsfs: reduce peak memory usage when listing large directories (r1725180) + * fsfs: fix a rare source of incomplete dump files and reports (r1717876) + + - Client-side and server-side bugfixes: + * update INSTALL documentation file (r1703470 et al) + * fix potential memory access bugs (r1722860 et al) + * fix potential out of bounds read in svn_repos_get_logs5() (r1738259) + + - Bindings bugfixes: + * ignore absent nodes in javahl version of svn status -u (r1720643) + + Developer-visible changes: + - General: + * fix ruby test suite to work with test-unit gem (r1714790) + * allow building against KDE4 without conflict with KDE5 (r1734926) + * fix update_tests.py#76 with SVNPathAuthz short_circuit (r1736432) + * build system tweaks: + * tweak how symbolic error names in maintainer mode (r1735179) + * fix inconsistent behavior of inherited property API (r1717874 et al) + + - API changes: + * properly interpret parameters in svn_wc_get_diff_editor6() (r1728308) + + +Version 1.9.3 +(15 Dec 2015, from /branches/1.9.x) +http://svn.apache.org/repos/asf/subversion/tags/1.9.3 + + User-visible changes: + - Client-side bugfixes: + * svn: fix possible crash in auth credentials cache (r1705328) + * cleanup: avoid unneeded memory growth during pristine cleanup (r1706241) + * diff: fix crash when repository is on server root (r1705060 et al) + * fix translations for commit notifications (r1709389, r1709562) + * ra_serf: fix crash in multistatus parser (r1706323, r1706324) + * svn: report lock/unlock errors as failures (r1701598 et al) + * svn: cleanup user deleted external registrations (r1705843, r1710558) + * svn: allow simple resolving of binary file text conflicts (r1703581) + * svnlook: properly remove tempfiles on diff errors (r1711346) + * ra_serf: report built- and run-time versions of libserf (r1704847) + * ra_serf: set Content-Type header in outgoing requests (r1715224 et al) + * svn: fix merging deletes of svn:eol-style CRLF/CR files (r1703689 et al) + * ra_local: disable zero-copy code path (r1718167) + + - Server-side bugfixes: + * mod_dav_svn: fix heap overflow with skel-encoded requests (CVE-2015-5343) + * mod_authz_svn: fix authz with mod_auth_kerb/mod_auth_ntlm (issue #4602) + * mod_dav_svn: fix display of process ID in cache statistics (r1709553) + * mod_dav_svn: use LimitXMLRequestBody for skel-encoded requests (r1687812) + * svnadmin dump: preserve no-op changes (r1709388 et al, issue #4598) + * fsfs: avoid unneeded I/O when opening transactions (r1715793) + + - Client-side and server-side bugfixes: + * fix heap overflow in svn:// protocol parser (CVE-2015-5259) + + - Bindings bugfixes: + * javahl: fix ABI incompatibilty with 1.8 (r1710104) + * javahl: allow non-absolute paths in SVNClient.vacuum (r1710215, r1710290) + + Developer-visible changes: + - General: + * fix patch filter invocation in svn_client_patch() (r1706783) + * add @since information to config defines (r1706983, r1706999) + * fix running the tests in compatibility mode (r1706375) + * clarify documentation of svn_fs_node_created_rev() (r1717154) + + - API changes: + * fix overflow detection in svn_stringbuf_remove and _replace (r1714358) + * don't ignore some of the parameters to svn_ra_svn_create_conn3 (r1714314) + + Version 1.9.2 (30 Sep 2015, from /branches/1.9.x) http://svn.apache.org/repos/asf/subversion/tags/1.9.2 @@ -118,7 +206,7 @@ http://svn.apache.org/repos/asf/subversi * fsfs: enable dir and prop deltas by default for formats that support it (r1555286) * fsfs: avoid out of date errors from files in a directory changing when - you change a property on the directory (r1558224) + you change a property on the directory (issue #2118) * fsfs: temporary transaction properties are preserved when commit is interrupted (r1549907 et al) * fsfs: speed up transaction creation (r1544719) @@ -794,6 +882,51 @@ http://svn.apache.org/repos/asf/subversi * javahl: allow compiling with a C++11 compiler (r1684412) +Version 1.8.16 +(28 Apr 2016, from /branches/1.8.x) +http://svn.apache.org/repos/asf/subversion/tags/1.8.16 + + User-visible changes: + - Server-side bugfixes: + * mod_authz_svn: fix authz with mod_auth_kerb/mod_auth_ntlm (issue #4602) + * dump: don't write broken dump files in some ambiguously encoded fsfs + repositories (issue #4554) + + - Client-side and server-side bugfixes: + * update INSTALL documentation file (r1703470, r1703475) + + Developer-visible changes: + - General: + * fix javahl test suite to work on a symlinked RAM disk (r1539230) + * fix ruby test suite to work with test-unit gem (r1714790) + + +Version 1.8.15 +(15 Dec 2015, from /branches/1.8.x) +http://svn.apache.org/repos/asf/subversion/tags/1.8.15 + + User-visible changes: + - Client-side bugfixes: + * gpg-agent: fix crash with non-canonical $HOME (r1691928, issue #4584) + + - Client-side and server-side bugfixes: + * fix a segfault with old style text delta (r1618472 et al) + + - Server-side bugfixes: + * mod_dav_svn: fix heap overflow with skel-encoded requests (CVE-2015-5343) + * fsfs: reduce memory allocation with Apache (r1591005 et al) + * mod_dav_svn: emit first log items as soon as possible (r1666965 et al) + * mod_dav_svn: use LimitXMLRequestBody for skel-encoded requests (r1687812) + + - Bindings bugfixes: + * swig: fix memory corruption in svn_client_copy_source_t (r1694929) + + Developer-visible changes: + - General: + * better configure-time detection of httpd authz fix (r1687304 et al) + * fix compilation with apr 1.2.x (r1701237) + + Version 1.8.14 (5 Aug 2015, from /branches/1.8.x) http://svn.apache.org/repos/asf/subversion/tags/1.8.14 Modified: vendor/subversion/dist/INSTALL ============================================================================== --- vendor/subversion/dist/INSTALL Fri Apr 29 19:10:22 2016 (r298793) +++ vendor/subversion/dist/INSTALL Fri Apr 29 19:16:59 2016 (r298794) @@ -3,7 +3,7 @@ A Quick Guide ====================================== -$LastChangedDate: 2015-07-26 23:03:10 +0000 (Sun, 26 Jul 2015) $ +$LastChangedDate: 2015-12-12 04:00:43 +0000 (Sat, 12 Dec 2015) $ Contents: @@ -199,48 +199,6 @@ I. INTRODUCTION Apache Portable Runtime (APR) and the APR Utility (APR-util) libraries. - - **************************************************************** - ** IMPORTANT ISSUE ABOUT APR VERSIONS: READ THIS ** - ** IF UPGRADING FROM MUCH OLDER SUBVERSION ** - **************************************************************** - | | - | APR 0.9.X and 1.X are binary-incompatible. | - | | - | This means: | - | | - | - if you are already using Subversion with APR 0.9.X, and | - | then upgrade your libapr to 1.X without rebuilding | - | Subversion, things will break and segfault. | - | | - | - if your Subversion server libraries are linked to one | - | version of APR, but your Apache server is linked to a | - | different version, things will break and segfault. | - | | - | Subversion distribution dependencies: | - | ------------------------------------- | - | | - | For a long time, Subversion's main distribution contained | - | APR and APR-UTIL (both 0.9.x), plus a few other things that | - | we couldn't count on the installation system having. But | - | nowadays, Subversion's requirements are no longer exotic, | - | and so our main distribution contains just the Subversion | - | source code itself -- people compiling Subversion are | - | expected to either have the APR libraries already installed | - | on their system, or to be capable of fetching them easily. | - | | - | Note that it's *perfectly* safe to use APR 1.X from the | - | beginning. In fact, we recommend it. If you're building | - | Subversion for the first time, there's no compatibility | - | issue to worry about, so grab the latest version of APR. | - | | - | If you already have a Subversion installation using APR | - | 0.9.x, it's still possible to move to APR 1.X safely. Just | - | be sure to recompile Subversion (and Apache httpd if | - | necessary) after upgrading APR! | - |______________________________________________________________| - - If you do not have a pre-installed APR and APR-util, you will need to get these yourself: @@ -960,14 +918,6 @@ II. INSTALLATION This step is only required for building the server dso modules. - The Subversion gen-make.py script must be run before building Apache or - Apache and Subversion will be running incompatible versions of apr. - - C:>cd src-%DIR% - C:>python gen-make.py -t dsp --with-httpd=..\httpd-2.0.58 - --with-berkeley-db=db4-win32 --with-openssl=..\openssl-0.9.7f - --with-zlib=..\zlib --with-libintl=..\svn-win32-libintl - C:>cd .. C:>set APACHEDIR=C:\Program Files\Apache Group\Apache2 C:>msdev httpd-2.0.58\apache.dsw /MAKE "BuildBin - Win32 Release" @@ -1042,7 +992,6 @@ II. INSTALLATION The Apache/APR projects required by Subversion are: apr-util\libaprutil.dsp, apr\libapr.dsp, apr-iconv\libapriconv.dsp, apr-util\xml\expat\lib\xml.dsp, - apr-util\uri\gen_uri_delims.dsp (for APR 0.9.x), apr-iconv\ccs\libapriconv_ccs_modules.dsp, and apr-iconv\ces\libapriconv_ces_modules.dsp. * If the server dso modules are being built and tested Apache must not @@ -1168,33 +1117,13 @@ III. BUILDING A SUBVERSION SERVER 1. Obtaining and Installing Apache 2 Subversion tries to compile against the latest released version - of Apache httpd 2.X. The easiest thing for you to do is download + of Apache httpd 2.2+. The easiest thing for you to do is download a source tarball of the latest release and unpack that. - - **************************************************************** - ** IMPORTANT ISSUE ABOUT APACHE VERSIONS: READ THIS. ** - ** ** - **************************************************************** - | | - | First, be sure to read the APR version warning box, back in | - | section I.C.1, which explains that APR 0.9.x and 1.X are | - | binary-incompatible. | - | | - | Apache HTTPD 2.0 uses APR 0.9.x. | - | Apache HTTPD 2.2 uses APR 1.2.x. | - | | - | We recommend using the latest Apache. However, whatever | - | version you choose, you *must* ensure that Subversion | - | and Apache are using the same version of APR. If you don't, | - | things will segfault and break. | - |______________________________________________________________| - - - If you have questions about the Apache httpd 2.0 build, please consult + If you have questions about the Apache httpd 2.2 build, please consult the httpd install documentation: - http://httpd.apache.org/docs-2.0/install.html + http://httpd.apache.org/docs-2.2/install.html At the top of the httpd tree: @@ -1240,7 +1169,7 @@ III. BUILDING A SUBVERSION SERVER --------------------------------------------------------- Go back into your subversion working copy and run ./autogen.sh if - you need to. Then, assuming Apache httpd 2.0 is installed in the + you need to. Then, assuming Apache httpd 2.2 is installed in the standard location, run: $ ./configure @@ -1250,7 +1179,7 @@ III. BUILDING A SUBVERSION SERVER look for other libsvn_*.so libraries on your system. If you see a warning message that the build of mod_dav_svn is - being skipped, this may be because you have Apache httpd 2.X + being skipped, this may be because you have Apache httpd 2.x installed in a non-standard location. You can use the "--with-apxs=" option to locate the apxs script: @@ -1292,7 +1221,7 @@ III. BUILDING A SUBVERSION SERVER /usr/local/apache2/conf/httpd.conf to reflect your setup. At a minimum you should look at the User, Group and ServerName directives. Full details on setting up apache can be found at: - http://httpd.apache.org/docs-2.0/ + http://httpd.apache.org/docs-2.2/ First, your httpd.conf needs to load the mod_dav_svn module. If you pass --enable-mod-activation to Subversion's configure, @@ -1346,6 +1275,7 @@ III. BUILDING A SUBVERSION SERVER Require group svn_readers + ### FIXME Tutorials section refers to old 2.0 docs These are only a few simple examples. For a complete tutorial on Apache access control, please consider taking a look at the tutorials found under "Security" on the following page: @@ -1372,7 +1302,7 @@ III. BUILDING A SUBVERSION SERVER NOTE: If you are unfamiliar with an Apache directive, or not exactly sure about what it does, don't hesitate to look it up in the - documentation: http://httpd.apache.org/docs-2.0/mod/directives.html. + documentation: http://httpd.apache.org/docs-2.2/mod/directives.html. NOTE: Make sure that the user 'nobody' (or whatever UID the httpd process runs as) has permission to read and write the Modified: vendor/subversion/dist/Makefile.in ============================================================================== --- vendor/subversion/dist/Makefile.in Fri Apr 29 19:10:22 2016 (r298793) +++ vendor/subversion/dist/Makefile.in Fri Apr 29 19:16:59 2016 (r298794) @@ -917,13 +917,15 @@ swig-rb: autogen-swig-rb check-swig-rb: swig-rb svnserve $(TEST_SHLIB_VAR_SWIG_RB) \ cd $(SWIG_RB_DIR); \ - if [ "$(RUBY_MAJOR)" -eq 1 -a "$(RUBY_MINOR)" -lt 9 ] ; then \ - $(RUBY) -I $(SWIG_RB_SRC_DIR) \ - $(SWIG_RB_SRC_DIR)/test/run-test.rb \ - --verbose=$(SWIG_RB_TEST_VERBOSE); \ - else \ - $(RUBY) -I $(SWIG_RB_SRC_DIR) \ - $(SWIG_RB_SRC_DIR)/test/run-test.rb; \ + check_rb() { \ + $(RUBY) -I $(SWIG_RB_SRC_DIR) $(SWIG_RB_SRC_DIR)/test/run-test.rb "$$@"; \ + }; \ + if check_rb --help 2>&1 | grep -q -- --collector; then \ + check_rb --collector=dir --verbose=$(SWIG_RB_TEST_VERBOSE); \ + elif [ "$(RUBY_MAJOR)" -eq 1 -a "$(RUBY_MINOR)" -lt 9 ] ; then \ + check_rb --verbose=$(SWIG_RB_TEST_VERBOSE); \ + else \ + check_rb; \ fi EXTRACLEAN_SWIG_RB=rm -f $(SWIG_RB_SRC_DIR)/svn_*.c $(SWIG_RB_SRC_DIR)/core.c Modified: vendor/subversion/dist/NOTICE ============================================================================== --- vendor/subversion/dist/NOTICE Fri Apr 29 19:10:22 2016 (r298793) +++ vendor/subversion/dist/NOTICE Fri Apr 29 19:16:59 2016 (r298794) @@ -1,5 +1,5 @@ Apache Subversion -Copyright 2015 The Apache Software Foundation +Copyright 2016 The Apache Software Foundation This product includes software developed by many people, and distributed under Contributor License Agreements to The Apache Software Foundation Modified: vendor/subversion/dist/build-outputs.mk ============================================================================== --- vendor/subversion/dist/build-outputs.mk Fri Apr 29 19:10:22 2016 (r298793) +++ vendor/subversion/dist/build-outputs.mk Fri Apr 29 19:16:59 2016 (r298794) @@ -521,8 +521,8 @@ subversion/bindings/cxxhl/libsvncxxhl-1. cd subversion/bindings/cxxhl && $(LINK_CXX_LIB) $(libsvncxxhl_LDFLAGS) -o libsvncxxhl-1.la $(LT_NO_UNDEFINED) $(libsvncxxhl_OBJECTS) ../../../subversion/libsvn_repos/libsvn_repos-1.la ../../../subversion/libsvn_client/libsvn_client-1.la ../../../subversion/libsvn_wc/libsvn_wc-1.la ../../../subversion/libsvn_ra/libsvn_ra-1.la ../../../subversion/libsvn_delta/libsvn_delta-1.la ../../../subversion/libsvn_diff/libsvn_diff-1.la ../../../subversion/libsvn_subr/libsvn_subr-1.la ../../../subversion/libsvn_fs/libsvn_fs-1.la $(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS) $(LIBS) libsvnjavahl_PATH = subversion/bindings/javahl/native -libsvnjavahl_DEPS = $(javahl_java_DEPS) $(javahl_callback_javah_DEPS) $(javahl_remote_javah_DEPS) $(javahl_types_javah_DEPS) $(javahl_util_javah_DEPS) $(javahl_javah_DEPS) subversion/bindings/javahl/native/Array.lo subversion/bindings/javahl/native/AuthnCallback.lo subversion/bindings/javahl/native/BlameCallback.lo subversion/bindings/javahl/native/ChangelistCallback.lo subversion/bindings/javahl/native/ClientContext.lo subversion/bindings/javahl/native/CommitCallback.lo subversion/bindings/javahl/native/CommitEditor.lo subversion/bindings/javahl/native/CommitMessage.lo subversion/bindings/javahl/native/CopySources.lo subversion/bindings/javahl/native/CreateJ.lo subversion/bindings/javahl/native/Credential.lo subversion/bindings/javahl/native/DiffOptions.lo subversion/bindings/javahl/native/DiffSummaryReceiver.lo subversion/bindings/javahl/native/EditorCallbacks.lo subversion/bindings/javahl/native/EditorProxy.lo subversion/bindings/javahl/native/EnumMapper.lo subversion/bindings/ja vahl/native/ExternalItem.lo subversion/bindings/javahl/native/File.lo subversion/bindings/javahl/native/ImportFilterCallback.lo subversion/bindings/javahl/native/InfoCallback.lo subversion/bindings/javahl/native/InputStream.lo subversion/bindings/javahl/native/Iterator.lo subversion/bindings/javahl/native/JNIByteArray.lo subversion/bindings/javahl/native/JNICriticalSection.lo subversion/bindings/javahl/native/JNIMutex.lo subversion/bindings/javahl/native/JNIStackElement.lo subversion/bindings/javahl/native/JNIStringHolder.lo subversion/bindings/javahl/native/JNIUtil.lo subversion/bindings/javahl/native/ListCallback.lo subversion/bindings/javahl/native/LockTokenTable.lo subversion/bindings/javahl/native/LogMessageCallback.lo subversion/bindings/javahl/native/MessageReceiver.lo subversion/bindings/javahl/native/NativeStream.lo subversion/bindings/javahl/native/OperationContext.lo subversion/bindings/javahl/native/OutputStream.lo subversion/bindings/javahl/native/PatchCallback.lo subve rsion/bindings/javahl/native/Path.lo subvers! ion/bindings/javahl/native/Pool.lo subversion/bindings/javahl/native/Prompter.lo subversion/bindings/javahl/native/PropertyTable.lo subversion/bindings/javahl/native/ProplistCallback.lo subversion/bindings/javahl/native/RemoteSession.lo subversion/bindings/javahl/native/RemoteSessionContext.lo subversion/bindings/javahl/native/ReposFreezeAction.lo subversion/bindings/javahl/native/ReposNotifyCallback.lo subversion/bindings/javahl/native/ReposVerifyCallback.lo subversion/bindings/javahl/native/Revision.lo subversion/bindings/javahl/native/RevisionRange.lo subversion/bindings/javahl/native/RevisionRangeList.lo subversion/bindings/javahl/native/SVNBase.lo subversion/bindings/javahl/native/SVNClient.lo subversion/bindings/javahl/native/SVNRepos.lo subversion/bindings/javahl/native/StateReporter.lo subversion/bindings/javahl/native/StatusCallback.lo subversion/bindings/javahl/native/StringArray.lo subversion/bindings/javahl/native/SubversionException.lo subversion/bindings/javahl/native/ Targets.lo subversion/bindings/javahl/native/Utility.lo subversion/bindings/javahl/native/VersionExtended.lo subversion/bindings/javahl/native/deprecated.lo subversion/bindings/javahl/native/jniwrapper/jni_base.lo subversion/bindings/javahl/native/jniwrapper/jni_channel.lo subversion/bindings/javahl/native/jniwrapper/jni_class_cache.lo subversion/bindings/javahl/native/jniwrapper/jni_io_stream.lo subversion/bindings/javahl/native/jniwrapper/jni_iterator.lo subversion/bindings/javahl/native/jniwrapper/jni_list.lo subversion/bindings/javahl/native/jniwrapper/jni_string_map.lo subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.lo subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNRepos.lo subversion/bindings/javahl/native/org_apache_subversion_javahl_remote_CommitEditor.lo subversion/bindings/javahl/native/org_apache_subversion_javahl_remote_RemoteFactory.lo subversion/bindings/javahl/native/org_apache_subversion_javahl_remote_RemoteSession.lo subve rsion/bindings/javahl/native/org_apache_subv! ersion_ja! vahl_remote_StateReporter.lo subversion/bindings/javahl/native/org_apache_subversion_javahl_types_RevisionRangeList.lo subversion/bindings/javahl/native/org_apache_subversion_javahl_types_RuntimeVersion.lo subversion/bindings/javahl/native/org_apache_subversion_javahl_types_Version.lo subversion/bindings/javahl/native/org_apache_subversion_javahl_types_VersionExtended.lo subversion/bindings/javahl/native/org_apache_subversion_javahl_util_ConfigImpl_Category.lo subversion/bindings/javahl/native/org_apache_subversion_javahl_util_ConfigLib.lo subversion/bindings/javahl/native/org_apache_subversion_javahl_util_DiffLib.lo subversion/bindings/javahl/native/org_apache_subversion_javahl_util_PropLib.lo subversion/bindings/javahl/native/org_apache_subversion_javahl_util_SubstLib.lo subversion/bindings/javahl/native/org_apache_subversion_javahl_util_TunnelChannel.lo subversion/libsvn_repos/libsvn_repos-1.la subversion/libsvn_client/libsvn_client-1.la subversion/libsvn_wc/libsvn_wc-1.la subver sion/libsvn_ra/libsvn_ra-1.la subversion/libsvn_delta/libsvn_delta-1.la subversion/libsvn_diff/libsvn_diff-1.la subversion/libsvn_subr/libsvn_subr-1.la subversion/libsvn_fs/libsvn_fs-1.la -libsvnjavahl_OBJECTS = Array.lo AuthnCallback.lo BlameCallback.lo ChangelistCallback.lo ClientContext.lo CommitCallback.lo CommitEditor.lo CommitMessage.lo CopySources.lo CreateJ.lo Credential.lo DiffOptions.lo DiffSummaryReceiver.lo EditorCallbacks.lo EditorProxy.lo EnumMapper.lo ExternalItem.lo File.lo ImportFilterCallback.lo InfoCallback.lo InputStream.lo Iterator.lo JNIByteArray.lo JNICriticalSection.lo JNIMutex.lo JNIStackElement.lo JNIStringHolder.lo JNIUtil.lo ListCallback.lo LockTokenTable.lo LogMessageCallback.lo MessageReceiver.lo NativeStream.lo OperationContext.lo OutputStream.lo PatchCallback.lo Path.lo Pool.lo Prompter.lo PropertyTable.lo ProplistCallback.lo RemoteSession.lo RemoteSessionContext.lo ReposFreezeAction.lo ReposNotifyCallback.lo ReposVerifyCallback.lo Revision.lo RevisionRange.lo RevisionRangeList.lo SVNBase.lo SVNClient.lo SVNRepos.lo StateReporter.lo StatusCallback.lo StringArray.lo SubversionException.lo Targets.lo Utility.lo VersionExtended.lo deprecat ed.lo jniwrapper/jni_base.lo jniwrapper/jni_channel.lo jniwrapper/jni_class_cache.lo jniwrapper/jni_io_stream.lo jniwrapper/jni_iterator.lo jniwrapper/jni_list.lo jniwrapper/jni_string_map.lo org_apache_subversion_javahl_SVNClient.lo org_apache_subversion_javahl_SVNRepos.lo org_apache_subversion_javahl_remote_CommitEditor.lo org_apache_subversion_javahl_remote_RemoteFactory.lo org_apache_subversion_javahl_remote_RemoteSession.lo org_apache_subversion_javahl_remote_StateReporter.lo org_apache_subversion_javahl_types_RevisionRangeList.lo org_apache_subversion_javahl_types_RuntimeVersion.lo org_apache_subversion_javahl_types_Version.lo org_apache_subversion_javahl_types_VersionExtended.lo org_apache_subversion_javahl_util_ConfigImpl_Category.lo org_apache_subversion_javahl_util_ConfigLib.lo org_apache_subversion_javahl_util_DiffLib.lo org_apache_subversion_javahl_util_PropLib.lo org_apache_subversion_javahl_util_SubstLib.lo org_apache_subversion_javahl_util_TunnelChannel.lo +libsvnjavahl_DEPS = $(javahl_java_DEPS) $(javahl_callback_javah_DEPS) $(javahl_remote_javah_DEPS) $(javahl_types_javah_DEPS) $(javahl_util_javah_DEPS) $(javahl_javah_DEPS) subversion/bindings/javahl/native/Array.lo subversion/bindings/javahl/native/AuthnCallback.lo subversion/bindings/javahl/native/BlameCallback.lo subversion/bindings/javahl/native/ChangelistCallback.lo subversion/bindings/javahl/native/ClientContext.lo subversion/bindings/javahl/native/CommitCallback.lo subversion/bindings/javahl/native/CommitEditor.lo subversion/bindings/javahl/native/CommitMessage.lo subversion/bindings/javahl/native/CopySources.lo subversion/bindings/javahl/native/CreateJ.lo subversion/bindings/javahl/native/Credential.lo subversion/bindings/javahl/native/DiffOptions.lo subversion/bindings/javahl/native/DiffSummaryReceiver.lo subversion/bindings/javahl/native/EditorCallbacks.lo subversion/bindings/javahl/native/EditorProxy.lo subversion/bindings/javahl/native/EnumMapper.lo subversion/bindings/ja vahl/native/ExternalItem.lo subversion/bindings/javahl/native/File.lo subversion/bindings/javahl/native/ImportFilterCallback.lo subversion/bindings/javahl/native/InfoCallback.lo subversion/bindings/javahl/native/InputStream.lo subversion/bindings/javahl/native/Iterator.lo subversion/bindings/javahl/native/JNIByteArray.lo subversion/bindings/javahl/native/JNICriticalSection.lo subversion/bindings/javahl/native/JNIMutex.lo subversion/bindings/javahl/native/JNIStackElement.lo subversion/bindings/javahl/native/JNIStringHolder.lo subversion/bindings/javahl/native/JNIUtil.lo subversion/bindings/javahl/native/ListCallback.lo subversion/bindings/javahl/native/LockTokenTable.lo subversion/bindings/javahl/native/LogMessageCallback.lo subversion/bindings/javahl/native/MessageReceiver.lo subversion/bindings/javahl/native/NativeStream.lo subversion/bindings/javahl/native/OperationContext.lo subversion/bindings/javahl/native/OutputStream.lo subversion/bindings/javahl/native/PatchCallback.lo subve rsion/bindings/javahl/native/Path.lo subvers! ion/bindings/javahl/native/Pool.lo subversion/bindings/javahl/native/Prompter.lo subversion/bindings/javahl/native/PropertyTable.lo subversion/bindings/javahl/native/ProplistCallback.lo subversion/bindings/javahl/native/RemoteSession.lo subversion/bindings/javahl/native/RemoteSessionContext.lo subversion/bindings/javahl/native/ReposFreezeAction.lo subversion/bindings/javahl/native/ReposNotifyCallback.lo subversion/bindings/javahl/native/ReposVerifyCallback.lo subversion/bindings/javahl/native/Revision.lo subversion/bindings/javahl/native/RevisionRange.lo subversion/bindings/javahl/native/RevisionRangeList.lo subversion/bindings/javahl/native/SVNBase.lo subversion/bindings/javahl/native/SVNClient.lo subversion/bindings/javahl/native/SVNRepos.lo subversion/bindings/javahl/native/StateReporter.lo subversion/bindings/javahl/native/StatusCallback.lo subversion/bindings/javahl/native/StringArray.lo subversion/bindings/javahl/native/SubversionException.lo subversion/bindings/javahl/native/ Targets.lo subversion/bindings/javahl/native/Utility.lo subversion/bindings/javahl/native/VersionExtended.lo subversion/bindings/javahl/native/deprecated.lo subversion/bindings/javahl/native/jniwrapper/jni_base.lo subversion/bindings/javahl/native/jniwrapper/jni_channel.lo subversion/bindings/javahl/native/jniwrapper/jni_class_cache.lo subversion/bindings/javahl/native/jniwrapper/jni_io_stream.lo subversion/bindings/javahl/native/jniwrapper/jni_iterator.lo subversion/bindings/javahl/native/jniwrapper/jni_list.lo subversion/bindings/javahl/native/jniwrapper/jni_string_map.lo subversion/bindings/javahl/native/org_apache_subversion_javahl_NativeResources.lo subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.lo subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNRepos.lo subversion/bindings/javahl/native/org_apache_subversion_javahl_remote_CommitEditor.lo subversion/bindings/javahl/native/org_apache_subversion_javahl_remote_RemoteFactory.lo subversion /bindings/javahl/native/org_apache_subversio! n_javahl_! remote_RemoteSession.lo subversion/bindings/javahl/native/org_apache_subversion_javahl_remote_StateReporter.lo subversion/bindings/javahl/native/org_apache_subversion_javahl_types_RevisionRangeList.lo subversion/bindings/javahl/native/org_apache_subversion_javahl_types_RuntimeVersion.lo subversion/bindings/javahl/native/org_apache_subversion_javahl_types_Version.lo subversion/bindings/javahl/native/org_apache_subversion_javahl_types_VersionExtended.lo subversion/bindings/javahl/native/org_apache_subversion_javahl_util_ConfigImpl_Category.lo subversion/bindings/javahl/native/org_apache_subversion_javahl_util_ConfigLib.lo subversion/bindings/javahl/native/org_apache_subversion_javahl_util_DiffLib.lo subversion/bindings/javahl/native/org_apache_subversion_javahl_util_PropLib.lo subversion/bindings/javahl/native/org_apache_subversion_javahl_util_SubstLib.lo subversion/bindings/javahl/native/org_apache_subversion_javahl_util_TunnelChannel.lo subversion/libsvn_repos/libsvn_repos-1.la subv ersion/libsvn_client/libsvn_client-1.la subversion/libsvn_wc/libsvn_wc-1.la subversion/libsvn_ra/libsvn_ra-1.la subversion/libsvn_delta/libsvn_delta-1.la subversion/libsvn_diff/libsvn_diff-1.la subversion/libsvn_subr/libsvn_subr-1.la subversion/libsvn_fs/libsvn_fs-1.la +libsvnjavahl_OBJECTS = Array.lo AuthnCallback.lo BlameCallback.lo ChangelistCallback.lo ClientContext.lo CommitCallback.lo CommitEditor.lo CommitMessage.lo CopySources.lo CreateJ.lo Credential.lo DiffOptions.lo DiffSummaryReceiver.lo EditorCallbacks.lo EditorProxy.lo EnumMapper.lo ExternalItem.lo File.lo ImportFilterCallback.lo InfoCallback.lo InputStream.lo Iterator.lo JNIByteArray.lo JNICriticalSection.lo JNIMutex.lo JNIStackElement.lo JNIStringHolder.lo JNIUtil.lo ListCallback.lo LockTokenTable.lo LogMessageCallback.lo MessageReceiver.lo NativeStream.lo OperationContext.lo OutputStream.lo PatchCallback.lo Path.lo Pool.lo Prompter.lo PropertyTable.lo ProplistCallback.lo RemoteSession.lo RemoteSessionContext.lo ReposFreezeAction.lo ReposNotifyCallback.lo ReposVerifyCallback.lo Revision.lo RevisionRange.lo RevisionRangeList.lo SVNBase.lo SVNClient.lo SVNRepos.lo StateReporter.lo StatusCallback.lo StringArray.lo SubversionException.lo Targets.lo Utility.lo VersionExtended.lo deprecat ed.lo jniwrapper/jni_base.lo jniwrapper/jni_channel.lo jniwrapper/jni_class_cache.lo jniwrapper/jni_io_stream.lo jniwrapper/jni_iterator.lo jniwrapper/jni_list.lo jniwrapper/jni_string_map.lo org_apache_subversion_javahl_NativeResources.lo org_apache_subversion_javahl_SVNClient.lo org_apache_subversion_javahl_SVNRepos.lo org_apache_subversion_javahl_remote_CommitEditor.lo org_apache_subversion_javahl_remote_RemoteFactory.lo org_apache_subversion_javahl_remote_RemoteSession.lo org_apache_subversion_javahl_remote_StateReporter.lo org_apache_subversion_javahl_types_RevisionRangeList.lo org_apache_subversion_javahl_types_RuntimeVersion.lo org_apache_subversion_javahl_types_Version.lo org_apache_subversion_javahl_types_VersionExtended.lo org_apache_subversion_javahl_util_ConfigImpl_Category.lo org_apache_subversion_javahl_util_ConfigLib.lo org_apache_subversion_javahl_util_DiffLib.lo org_apache_subversion_javahl_util_PropLib.lo org_apache_subversion_javahl_util_SubstLib.lo org_apache_sub version_javahl_util_TunnelChannel.lo subversion/bindings/javahl/native/libsvnjavahl-1.la: $(libsvnjavahl_DEPS) cd subversion/bindings/javahl/native && $(LINK_JAVAHL_CXX) $(libsvnjavahl_LDFLAGS) -o libsvnjavahl-1.la $(LT_NO_UNDEFINED) $(libsvnjavahl_OBJECTS) ../../../../subversion/libsvn_repos/libsvn_repos-1.la ../../../../subversion/libsvn_client/libsvn_client-1.la ../../../../subversion/libsvn_wc/libsvn_wc-1.la ../../../../subversion/libsvn_ra/libsvn_ra-1.la ../../../../subversion/libsvn_delta/libsvn_delta-1.la ../../../../subversion/libsvn_diff/libsvn_diff-1.la ../../../../subversion/libsvn_subr/libsvn_subr-1.la ../../../../subversion/libsvn_fs/libsvn_fs-1.la $(SVN_APRUTIL_LIBS) $(SVN_APR_LIBS) $(SVN_JAVA_SDK_LIBS) $(LIBS) @@ -2268,6 +2268,9 @@ subversion/bindings/javahl/native/jniwra subversion/bindings/javahl/native/jniwrapper/jni_string_map.lo: subversion/bindings/javahl/native/jniwrapper/jni_string_map.cpp subversion/bindings/javahl/native/jniwrapper/jni_env.hpp subversion/bindings/javahl/native/jniwrapper/jni_globalref.hpp subversion/bindings/javahl/native/jniwrapper/jni_iterator.hpp subversion/bindings/javahl/native/jniwrapper/jni_object.hpp subversion/bindings/javahl/native/jniwrapper/jni_string.hpp subversion/bindings/javahl/native/jniwrapper/jni_string_map.hpp subversion/svn_private_config.h $(COMPILE_JAVAHL_CXX) $(canonicalized_srcdir)subversion/bindings/javahl/native/jniwrapper/jni_string_map.cpp +subversion/bindings/javahl/native/org_apache_subversion_javahl_NativeResources.lo: subversion/bindings/javahl/native/org_apache_subversion_javahl_NativeResources.cpp subversion/bindings/javahl/include/org_apache_subversion_javahl_NativeResources.h + $(COMPILE_JAVAHL_CXX) $(canonicalized_srcdir)subversion/bindings/javahl/native/org_apache_subversion_javahl_NativeResources.cpp + subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.lo: subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp subversion/bindings/javahl/include/org_apache_subversion_javahl_SVNClient.h subversion/bindings/javahl/native/Array.h subversion/bindings/javahl/native/BlameCallback.h subversion/bindings/javahl/native/ChangelistCallback.h subversion/bindings/javahl/native/ClientContext.h subversion/bindings/javahl/native/CommitCallback.h subversion/bindings/javahl/native/CommitMessage.h subversion/bindings/javahl/native/CopySources.h subversion/bindings/javahl/native/CreateJ.h subversion/bindings/javahl/native/DiffOptions.h subversion/bindings/javahl/native/DiffSummaryReceiver.h subversion/bindings/javahl/native/EnumMapper.h subversion/bindings/javahl/native/ImportFilterCallback.h subversion/bindings/javahl/native/InfoCallback.h subversion/bindings/javahl/native/JNIByteArray.h subversion/bindings/javahl/native/JNIStackElement.h subversion/bindings /javahl/native/JNIStringHolder.h subversion/bindings/javahl/native/JNIUtil.h subversion/bindings/javahl/native/ListCallback.h subversion/bindings/javahl/native/LogMessageCallback.h subversion/bindings/javahl/native/OperationContext.h subversion/bindings/javahl/native/OutputStream.h subversion/bindings/javahl/native/PatchCallback.h subversion/bindings/javahl/native/Path.h subversion/bindings/javahl/native/Pool.h subversion/bindings/javahl/native/Prompter.h subversion/bindings/javahl/native/PropertyTable.h subversion/bindings/javahl/native/ProplistCallback.h subversion/bindings/javahl/native/Revision.h subversion/bindings/javahl/native/RevisionRange.h subversion/bindings/javahl/native/SVNBase.h subversion/bindings/javahl/native/SVNClient.h subversion/bindings/javahl/native/StatusCallback.h subversion/bindings/javahl/native/StringArray.h subversion/bindings/javahl/native/Targets.h subversion/bindings/javahl/native/VersionExtended.h subversion/bindings/javahl/native/jniwrapper/jni_env.h pp subversion/bindings/javahl/native/jniwrap! per/jni_globalref.hpp subversion/bindings/javahl/native/version.h subversion/include/private/svn_atomic.h subversion/include/private/svn_debug.h subversion/include/private/svn_dep_compat.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_client.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_diff.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_opt.h subversion/include/svn_pools.h subversion/include/svn_ra.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/include/svn_wc.h subversion/svn_private_config.h $(COMPILE_JAVAHL_CXX) $(canonicalized_srcdir)subversion/bindings/javahl/native/org_apache_subversion_javahl_SVNClient.cpp @@ -3139,7 +3142,7 @@ subversion/mod_dav_svn/reports/update.lo subversion/mod_dav_svn/repos.lo: subversion/mod_dav_svn/repos.c subversion/include/mod_authz_svn.h subversion/include/mod_dav_svn.h subversion/include/private/svn_dav_protocol.h subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_fspath.h subversion/include/private/svn_log.h subversion/include/private/svn_repos_private.h subversion/include/private/svn_skel.h subversion/include/private/svn_sorts_private.h subversion/include/private/svn_string_private.h subversion/include/svn_auth.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_ctype.h subversion/include/svn_dav.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_hash.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_pools.h subversion /include/svn_props.h subversion/include/svn_ra.h subversion/include/svn_repos.h subversion/include/svn_sorts.h subversion/include/svn_string.h subversion/include/svn_subst.h subversion/include/svn_time.h subversion/include/svn_types.h subversion/include/svn_version.h subversion/include/svn_xml.h subversion/mod_dav_svn/dav_svn.h if $(INSTALL_APACHE_MODS) ; then $(COMPILE_APACHE_MOD) $(canonicalized_srcdir)subversion/mod_dav_svn/repos.c ; else echo "fake" > subversion/mod_dav_svn/repos.lo ; fi -subversion/mod_dav_svn/status.lo: subversion/mod_dav_svn/status.c subversion/include/mod_authz_svn.h subversion/include/private/svn_cache.h subversion/include/private/svn_dav_protocol.h subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_skel.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_xml.h subversion/mod_dav_svn/dav_svn.h +subversion/mod_dav_svn/status.lo: subversion/mod_dav_svn/status.c subversion/include/mod_authz_svn.h subversion/include/private/svn_cache.h subversion/include/private/svn_dav_protocol.h subversion/include/private/svn_debug.h subversion/include/private/svn_editor.h subversion/include/private/svn_fs_private.h subversion/include/private/svn_skel.h subversion/include/svn_checksum.h subversion/include/svn_config.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_iter.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_xml.h subversion/mod_dav_svn/dav_svn.h subversion/svn_private_config.h if $(INSTALL_APACHE_MODS) ; then $(COMPILE_APACHE_MOD) $(canonicalized_srcdir)subversion/mod_dav_svn/status.c ; else echo "fake" > subversion/mod_dav_svn/status.lo ; fi subversion/mod_dav_svn/util.lo: subversion/mod_dav_svn/util.c subversion/include/mod_authz_svn.h subversion/include/private/svn_dav_protocol.h subversion/include/private/svn_debug.h subversion/include/private/svn_fspath.h subversion/include/private/svn_skel.h subversion/include/svn_base64.h subversion/include/svn_checksum.h subversion/include/svn_dav.h subversion/include/svn_delta.h subversion/include/svn_dirent_uri.h subversion/include/svn_error.h subversion/include/svn_error_codes.h subversion/include/svn_fs.h subversion/include/svn_io.h subversion/include/svn_mergeinfo.h subversion/include/svn_path.h subversion/include/svn_repos.h subversion/include/svn_string.h subversion/include/svn_types.h subversion/include/svn_xml.h subversion/mod_dav_svn/dav_svn.h Modified: vendor/subversion/dist/configure ============================================================================== --- vendor/subversion/dist/configure Fri Apr 29 19:10:22 2016 (r298793) +++ vendor/subversion/dist/configure Fri Apr 29 19:16:59 2016 (r298794) @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for subversion 1.9.2. +# Generated by GNU Autoconf 2.69 for subversion 1.9.4. # # Report bugs to . # @@ -590,8 +590,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='subversion' PACKAGE_TARNAME='subversion' -PACKAGE_VERSION='1.9.2' -PACKAGE_STRING='subversion 1.9.2' +PACKAGE_VERSION='1.9.4' +PACKAGE_STRING='subversion 1.9.4' PACKAGE_BUGREPORT='http://subversion.apache.org/' PACKAGE_URL='' @@ -1471,7 +1471,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures subversion 1.9.2 to adapt to many kinds of systems. +\`configure' configures subversion 1.9.4 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1537,7 +1537,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of subversion 1.9.2:";; + short | recursive ) echo "Configuration of subversion 1.9.4:";; esac cat <<\_ACEOF @@ -1751,7 +1751,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -subversion configure 1.9.2 +subversion configure 1.9.4 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2295,7 +2295,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by subversion $as_me 1.9.2, which was +It was created by subversion $as_me 1.9.4, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2675,8 +2675,8 @@ ac_configure="$SHELL $ac_aux_dir/configu -{ $as_echo "$as_me:${as_lineno-$LINENO}: Configuring Subversion 1.9.2" >&5 -$as_echo "$as_me: Configuring Subversion 1.9.2" >&6;} +{ $as_echo "$as_me:${as_lineno-$LINENO}: Configuring Subversion 1.9.4" >&5 +$as_echo "$as_me: Configuring Subversion 1.9.4" >&6;} abs_srcdir="`cd $srcdir && pwd`" @@ -20314,16 +20314,16 @@ $as_echo_n "checking for KWallet... " >& fi done qt_include_dirs="`$PKG_CONFIG --cflags-only-I QtCore QtDBus QtGui`" - kde_dir="`$KDE4_CONFIG --prefix`" - SVN_KWALLET_INCLUDES="$DBUS_CPPFLAGS $qt_include_dirs -I$kde_dir/include" + kde_incdir="`$KDE4_CONFIG --install include`" + SVN_KWALLET_INCLUDES="$DBUS_CPPFLAGS $qt_include_dirs -I$kde_incdir" qt_libs_other_options="`$PKG_CONFIG --libs-only-other QtCore QtDBus QtGui`" SVN_KWALLET_LIBS="$DBUS_LIBS -lQtCore -lQtDBus -lQtGui -lkdecore -lkdeui $qt_libs_other_options" CXXFLAGS="$CXXFLAGS $SVN_KWALLET_INCLUDES" LIBS="$LIBS $SVN_KWALLET_LIBS" qt_lib_dirs="`$PKG_CONFIG --libs-only-L QtCore QtDBus QtGui`" - kde_lib_suffix="`$KDE4_CONFIG --libsuffix`" + kde_libdir="`$KDE4_CONFIG --install lib`" LDFLAGS="$old_LDFLAGS ` - input_flags="$qt_lib_dirs -L$kde_dir/lib$kde_lib_suffix" + input_flags="$qt_lib_dirs -L$kde_libdir" output_flags="" filtered_dirs="/lib /lib64 /usr/lib /usr/lib64" for flag in $input_flags; do @@ -26750,7 +26750,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by subversion $as_me 1.9.2, which was +This file was extended by subversion $as_me 1.9.4, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -26816,7 +26816,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -subversion config.status 1.9.2 +subversion config.status 1.9.4 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" Modified: vendor/subversion/dist/subversion/include/svn_client.h ============================================================================== --- vendor/subversion/dist/subversion/include/svn_client.h Fri Apr 29 19:10:22 2016 (r298793) +++ vendor/subversion/dist/subversion/include/svn_client.h Fri Apr 29 19:16:59 2016 (r298794) @@ -4098,16 +4098,16 @@ svn_client_mergeinfo_log_eligible(const * @{ */ -/** Recursively vacuum a working copy directory @a dir, removing unnecessary - * data. +/** Recursively vacuum a working copy directory @a dir_abspath, + * removing unnecessary data. * * If @a include_externals is @c TRUE, recurse into externals and vacuum them * as well. * * If @a remove_unversioned_items is @c TRUE, remove unversioned items - * in @a dir after successful working copy cleanup. + * in @a dir_abspath after successful working copy cleanup. * If @a remove_ignored_items is @c TRUE, remove ignored unversioned items - * in @a dir after successful working copy cleanup. + * in @a dir_abspath after successful working copy cleanup. * * If @a fix_recorded_timestamps is @c TRUE, this function fixes recorded * timestamps for unmodified files in the working copy, reducing comparision Modified: vendor/subversion/dist/subversion/include/svn_config.h ============================================================================== --- vendor/subversion/dist/subversion/include/svn_config.h Fri Apr 29 19:10:22 2016 (r298793) +++ vendor/subversion/dist/subversion/include/svn_config.h Fri Apr 29 19:16:59 2016 (r298794) @@ -76,18 +76,27 @@ typedef struct svn_config_t svn_config_t #define SVN_CONFIG_OPTION_HTTP_PROXY_EXCEPTIONS "http-proxy-exceptions" #define SVN_CONFIG_OPTION_HTTP_TIMEOUT "http-timeout" #define SVN_CONFIG_OPTION_HTTP_COMPRESSION "http-compression" +/** @deprecated Not used since 1.8. */ #define SVN_CONFIG_OPTION_NEON_DEBUG_MASK "neon-debug-mask" +/** @since New in 1.5. */ #define SVN_CONFIG_OPTION_HTTP_AUTH_TYPES "http-auth-types" #define SVN_CONFIG_OPTION_SSL_AUTHORITY_FILES "ssl-authority-files" #define SVN_CONFIG_OPTION_SSL_TRUST_DEFAULT_CA "ssl-trust-default-ca" #define SVN_CONFIG_OPTION_SSL_CLIENT_CERT_FILE "ssl-client-cert-file" #define SVN_CONFIG_OPTION_SSL_CLIENT_CERT_PASSWORD "ssl-client-cert-password" +/** @deprecated Not used since 1.8. + * @since New in 1.5. */ #define SVN_CONFIG_OPTION_SSL_PKCS11_PROVIDER "ssl-pkcs11-provider" +/** @since New in 1.5. */ #define SVN_CONFIG_OPTION_HTTP_LIBRARY "http-library" +/** @since New in 1.1. */ #define SVN_CONFIG_OPTION_STORE_PASSWORDS "store-passwords" +/** @since New in 1.6. */ #define SVN_CONFIG_OPTION_STORE_PLAINTEXT_PASSWORDS "store-plaintext-passwords" #define SVN_CONFIG_OPTION_STORE_AUTH_CREDS "store-auth-creds" +/** @since New in 1.6. */ #define SVN_CONFIG_OPTION_STORE_SSL_CLIENT_CERT_PP "store-ssl-client-cert-pp" +/** @since New in 1.6. */ #define SVN_CONFIG_OPTION_STORE_SSL_CLIENT_CERT_PP_PLAINTEXT \ "store-ssl-client-cert-pp-plaintext" #define SVN_CONFIG_OPTION_USERNAME "username" @@ -123,6 +132,7 @@ typedef struct svn_config_t svn_config_t #define SVN_CONFIG_OPTION_DIFF_EXTENSIONS "diff-extensions" #define SVN_CONFIG_OPTION_DIFF3_CMD "diff3-cmd" #define SVN_CONFIG_OPTION_DIFF3_HAS_PROGRAM_ARG "diff3-has-program-arg" +/** @since New in 1.5. */ #define SVN_CONFIG_OPTION_MERGE_TOOL_CMD "merge-tool-cmd" #define SVN_CONFIG_SECTION_MISCELLANY "miscellany" #define SVN_CONFIG_OPTION_GLOBAL_IGNORES "global-ignores" @@ -133,8 +143,11 @@ typedef struct svn_config_t svn_config_t #define SVN_CONFIG_OPTION_ENABLE_AUTO_PROPS "enable-auto-props" /** @since New in 1.9. */ #define SVN_CONFIG_OPTION_ENABLE_MAGIC_FILE "enable-magic-file" +/** @since New in 1.2. */ #define SVN_CONFIG_OPTION_NO_UNLOCK "no-unlock" +/** @since New in 1.5. */ #define SVN_CONFIG_OPTION_MIMETYPES_FILE "mime-types-file" +/** @since New in 1.5. */ #define SVN_CONFIG_OPTION_PRESERVED_CF_EXTS "preserved-conflict-file-exts" /** @since New in 1.7. */ #define SVN_CONFIG_OPTION_INTERACTIVE_CONFLICTS "interactive-conflicts" @@ -172,9 +185,13 @@ typedef struct svn_config_t svn_config_t #define SVN_CONFIG_OPTION_FORCE_USERNAME_CASE "force-username-case" /** @since New in 1.8. */ #define SVN_CONFIG_OPTION_HOOKS_ENV "hooks-env" +/** @since New in 1.5. */ #define SVN_CONFIG_SECTION_SASL "sasl" +/** @since New in 1.5. */ #define SVN_CONFIG_OPTION_USE_SASL "use-sasl" +/** @since New in 1.5. */ #define SVN_CONFIG_OPTION_MIN_SSF "min-encryption" +/** @since New in 1.5. */ #define SVN_CONFIG_OPTION_MAX_SSF "max-encryption" /* For repository password database */ Modified: vendor/subversion/dist/subversion/include/svn_fs.h ============================================================================== --- vendor/subversion/dist/subversion/include/svn_fs.h Fri Apr 29 19:10:22 2016 (r298793) +++ vendor/subversion/dist/subversion/include/svn_fs.h Fri Apr 29 19:16:59 2016 (r298794) @@ -1759,12 +1759,15 @@ svn_fs_node_relation(svn_fs_node_relatio const char *path_b, apr_pool_t *scratch_pool); -/** Set @a *revision to the revision in which @a path under @a root was - * created. Use @a pool for any temporary allocations. @a *revision will +/** Set @a *revision to the revision in which the node-revision identified + * by @a path under @a root was created; that is, to the revision in which + * @a path under @a root was last modified. @a *revision will * be set to #SVN_INVALID_REVNUM for uncommitted nodes (i.e. modified nodes * under a transaction root). Note that the root of an unmodified transaction * is not itself considered to be modified; in that case, return the revision * upon which the transaction was based. + * + * Use @a pool for any temporary allocations. */ svn_error_t * svn_fs_node_created_rev(svn_revnum_t *revision, @@ -1861,6 +1864,15 @@ svn_fs_change_node_prop(svn_fs_root_t *r * both roots must be in the same filesystem. * Do any necessary temporary allocation in @a scratch_pool. * + * @note For the purposes of preserving accurate history, certain bits of + * code (such as the repository dump code) need to care about the distinction + * between situations when the properties are "different" and "have changed + * across two points in history". We have a pair of functions that can + * answer both of these questions, svn_fs_props_different() and + * svn_fs_props_changed(). See issue 4598 for more details. + * + * @see svn_fs_props_changed + * * @since New in 1.9. */ svn_error_t * @@ -1872,9 +1884,7 @@ svn_fs_props_different(svn_boolean_t *di apr_pool_t *scratch_pool); -/** Determine if the properties of two path/root combinations are different. - * In contrast to #svn_fs_props_different, we only perform a quick test and - * allow for false positives. +/** Determine if the properties of two path/root combinations have changed. * * Set @a *changed_p to #TRUE if the properties at @a path1 under @a root1 * differ from those at @a path2 under @a root2, or set it to #FALSE if they @@ -1882,15 +1892,19 @@ svn_fs_props_different(svn_boolean_t *di * both roots must be in the same filesystem. * Do any necessary temporary allocation in @a pool. * - * @note The behavior is implementation dependent in that the false - * positives reported may differ from release to release and backend to - * backend. There is also no guarantee that there will be false positives - * at all. - * - * @note Prior to Subversion 1.9, this function would return false negatives - * for FSFS: If @a root1 and @a root2 were both transaction roots - * and the proplists of both paths had been changed in their respective - * transactions, @a changed_p would be set to #FALSE. + * @note For the purposes of preserving accurate history, certain bits of + * code (such as the repository dump code) need to care about the distinction + * between situations when the properties are "different" and "have changed + * across two points in history". We have a pair of functions that can + * answer both of these questions, svn_fs_props_different() and + * svn_fs_props_changed(). See issue 4598 for more details. + * + * @note This function can currently return false negatives for FSFS: + * If @a root1 and @a root2 were both transaction roots and the proplists + * of both paths had been changed in their respective transactions, + * @a changed_p would be set to #FALSE. + * + * @see svn_fs_props_different */ svn_error_t * svn_fs_props_changed(svn_boolean_t *changed_p, @@ -2410,7 +2424,7 @@ svn_fs_apply_text(svn_stream_t **content apr_pool_t *pool); -/** Check if the contents of two root/path combos have changed. +/** Check if the contents of two root/path combos are different. * * Set @a *different_p to #TRUE if the file contents at @a path1 under * @a root1 differ from those at @a path2 under @a root2, or set it to @@ -2418,6 +2432,16 @@ svn_fs_apply_text(svn_stream_t **content * respective roots, and both roots must be in the same filesystem. * Do any necessary temporary allocation in @a scratch_pool. * + * @note For the purposes of preserving accurate history, certain bits of + * code (such as the repository dump code) need to care about the distinction + * between situations when two files have "different" content and when the + * contents of a given file "have changed" across two points in its history. + * We have a pair of functions that can answer both of these questions, + * svn_fs_contents_different() and svn_fs_contents_changed(). See issue + * 4598 for more details. + * + * @see svn_fs_contents_changed + * * @since New in 1.9. */ svn_error_t * @@ -2428,9 +2452,7 @@ svn_fs_contents_different(svn_boolean_t const char *path2, apr_pool_t *scratch_pool); -/** Check if the contents of two root/path combos have changed. In - * contrast to #svn_fs_contents_different, we only perform a quick test - * and allow for false positives. +/** Check if the contents of two root/path combos have changed. * * Set @a *changed_p to #TRUE if the file contents at @a path1 under * @a root1 differ from those at @a path2 under @a root2, or set it to @@ -2438,10 +2460,18 @@ svn_fs_contents_different(svn_boolean_t * respective roots, and both roots must be in the same filesystem. * Do any necessary temporary allocation in @a pool. * - * @note The behavior is implementation dependent in that the false - * positives reported may differ from release to release and backend to - * backend. There is also no guarantee that there will be false positives - * at all. + * @note svn_fs_contents_changed() was not designed to be used to detect + * when two files have different content, but really to detect when the + * contents of a given file have changed across two points in its history. + * For the purposes of preserving accurate history, certain bits of code + * (such as the repository dump code) need to care about this distinction. + * For example, it's not an error from the FS API point of view to call + * svn_fs_apply_textdelta() and explicitly set a file's contents to exactly + * what they were before the edit was made. We have a pair of functions + * that can answer both of these questions, svn_fs_contents_changed() and + * svn_fs_contents_different(). See issue 4598 for more details. + * + * @see svn_fs_contents_different */ svn_error_t * svn_fs_contents_changed(svn_boolean_t *changed_p, Modified: vendor/subversion/dist/subversion/include/svn_version.h ============================================================================== --- vendor/subversion/dist/subversion/include/svn_version.h Fri Apr 29 19:10:22 2016 (r298793) +++ vendor/subversion/dist/subversion/include/svn_version.h Fri Apr 29 19:16:59 2016 (r298794) @@ -70,7 +70,7 @@ extern "C" { * * @since New in 1.1. */ -#define SVN_VER_PATCH 2 +#define SVN_VER_PATCH 4 /** @deprecated Provided for backward compatibility with the 1.0 API. */ @@ -93,7 +93,7 @@ extern "C" { * * Always change this at the same time as SVN_VER_NUMTAG. */ -#define SVN_VER_TAG " (r1703836)" +#define SVN_VER_TAG " (r1740329)" /** Number tag: a string describing the version. @@ -117,7 +117,7 @@ extern "C" { * file version. Its value remains 0 in the repository except in release * tags where it is the revision from which the tag was created. */ -#define SVN_VER_REVISION 1703836 +#define SVN_VER_REVISION 1740329 /* Version strings composed from the above definitions. */ Modified: vendor/subversion/dist/subversion/libsvn_client/externals.c ============================================================================== --- vendor/subversion/dist/subversion/libsvn_client/externals.c Fri Apr 29 19:10:22 2016 (r298793) +++ vendor/subversion/dist/subversion/libsvn_client/externals.c Fri Apr 29 19:16:59 2016 (r298794) @@ -231,6 +231,42 @@ switch_dir_external(const char *local_ab if (node_url) { + svn_boolean_t is_wcroot; + + SVN_ERR(svn_wc__is_wcroot(&is_wcroot, ctx->wc_ctx, local_abspath, + pool)); + + if (! is_wcroot) + { + /* This can't be a directory external! */ + + err = svn_wc__external_remove(ctx->wc_ctx, defining_abspath, + local_abspath, + TRUE /* declaration_only */, + ctx->cancel_func, ctx->cancel_baton, + pool); + + if (err && err->apr_err == SVN_ERR_WC_PATH_NOT_FOUND) + { + /* New external... No problem that we can't remove it */ + svn_error_clear(err); + err = NULL; + } + else if (err) + return svn_error_trace(err); + + return svn_error_createf(SVN_ERR_WC_PATH_UNEXPECTED_STATUS, NULL, + _("The external '%s' defined in %s at '%s' " + "cannot be checked out because '%s' is " + "already a versioned path."), + url_from_externals_definition, + SVN_PROP_EXTERNALS, + svn_dirent_local_style(defining_abspath, + pool), + svn_dirent_local_style(local_abspath, + pool)); + } + /* If we have what appears to be a version controlled subdir, and its top-level URL matches that of our externals definition, perform an update. */ Modified: vendor/subversion/dist/subversion/libsvn_client/merge.c ============================================================================== --- vendor/subversion/dist/subversion/libsvn_client/merge.c Fri Apr 29 19:10:22 2016 (r298793) +++ vendor/subversion/dist/subversion/libsvn_client/merge.c Fri Apr 29 19:16:59 2016 (r298794) @@ -2349,17 +2349,47 @@ files_same_p(svn_boolean_t *same, { svn_stream_t *mine_stream; svn_stream_t *older_stream; - svn_opt_revision_t working_rev = { svn_opt_revision_working, { 0 } }; + svn_string_t *special = svn_hash_gets(working_props, SVN_PROP_SPECIAL); + svn_string_t *eol_style = svn_hash_gets(working_props, SVN_PROP_EOL_STYLE); + svn_string_t *keywords = svn_hash_gets(working_props, SVN_PROP_KEYWORDS); /* Compare the file content, translating 'mine' to 'normal' form. */ - if (svn_prop_get_value(working_props, SVN_PROP_SPECIAL) != NULL) + if (special != NULL) SVN_ERR(svn_subst_read_specialfile(&mine_stream, mine_abspath, scratch_pool, scratch_pool)); else - SVN_ERR(svn_client__get_normalized_stream(&mine_stream, wc_ctx, - mine_abspath, &working_rev, - FALSE, TRUE, NULL, NULL, - scratch_pool, scratch_pool)); + SVN_ERR(svn_stream_open_readonly(&mine_stream, mine_abspath, + scratch_pool, scratch_pool)); + + if (!special && (eol_style || keywords)) + { + apr_hash_t *kw = NULL; + const char *eol = NULL; + svn_subst_eol_style_t style; + + /* We used to use svn_client__get_normalized_stream() here, but + that doesn't work in 100% of the cases because it doesn't + convert EOLs to the repository form; just to '\n'. + */ + + if (eol_style) + { + svn_subst_eol_style_from_value(&style, &eol, eol_style->data); + + if (style == svn_subst_eol_style_native) + eol = SVN_SUBST_NATIVE_EOL_STR; + else if (style != svn_subst_eol_style_fixed + && style != svn_subst_eol_style_none) + return svn_error_create(SVN_ERR_IO_UNKNOWN_EOL, NULL, NULL); + } + + if (keywords) + SVN_ERR(svn_subst_build_keywords3(&kw, keywords->data, "", "", + "", 0, "", scratch_pool)); + + mine_stream = svn_subst_stream_translated( + mine_stream, eol, FALSE, kw, FALSE, scratch_pool); + } SVN_ERR(svn_stream_open_readonly(&older_stream, older_abspath, scratch_pool, scratch_pool)); Modified: vendor/subversion/dist/subversion/libsvn_client/patch.c ============================================================================== --- vendor/subversion/dist/subversion/libsvn_client/patch.c Fri Apr 29 19:10:22 2016 (r298793) +++ vendor/subversion/dist/subversion/libsvn_client/patch.c Fri Apr 29 19:16:59 2016 (r298794) @@ -209,9 +209,6 @@ typedef struct patch_target_t { /* True if the target had to be skipped for some reason. */ svn_boolean_t skipped; - /* True if the target has been filtered by the patch callback. */ - svn_boolean_t filtered; - /* True if at least one hunk was rejected. */ svn_boolean_t had_rejects; @@ -489,6 +486,8 @@ resolve_target_path(patch_target_t *targ SVN_ERR(svn_wc__node_was_moved_away(&moved_to_abspath, NULL, wc_ctx, target->local_abspath, result_pool, scratch_pool)); + /* ### BUG: moved_to_abspath contains the target where the op-root was + ### moved to... not the target itself! */ if (moved_to_abspath) { target->local_abspath = moved_to_abspath; @@ -2264,8 +2263,6 @@ apply_one_patch(patch_target_t **patch_t int strip_count, svn_boolean_t ignore_whitespace, svn_boolean_t remove_tempfiles, - svn_client_patch_func_t patch_func, - void *patch_baton, svn_cancel_func_t cancel_func, void *cancel_baton, apr_pool_t *result_pool, apr_pool_t *scratch_pool) @@ -2285,19 +2282,6 @@ apply_one_patch(patch_target_t **patch_t return SVN_NO_ERROR; } - if (patch_func) - { - SVN_ERR(patch_func(patch_baton, &target->filtered, - target->canon_path_from_patchfile, - target->patched_path, target->reject_path, - scratch_pool)); - if (target->filtered) - { - *patch_target = target; - return SVN_NO_ERROR; - } - } - iterpool = svn_pool_create(scratch_pool); /* Match hunks. */ for (i = 0; i < patch->hunks->nelts; i++) @@ -3164,14 +3148,23 @@ apply_patches(/* The path to the patch f if (patch) { patch_target_t *target; + svn_boolean_t filtered = FALSE; SVN_ERR(apply_one_patch(&target, patch, abs_wc_path, ctx->wc_ctx, strip_count, ignore_whitespace, remove_tempfiles, - patch_func, patch_baton, ctx->cancel_func, ctx->cancel_baton, iterpool, iterpool)); - if (! target->filtered) + + if (!target->skipped && patch_func) + { + SVN_ERR(patch_func(patch_baton, &filtered, + target->canon_path_from_patchfile, + target->patched_path, target->reject_path, + iterpool)); + } + + if (! filtered) { /* Save info we'll still need when we're done patching. */ patch_target_info_t *target_info = Modified: vendor/subversion/dist/subversion/libsvn_diff/binary_diff.c ============================================================================== --- vendor/subversion/dist/subversion/libsvn_diff/binary_diff.c Fri Apr 29 19:10:22 2016 (r298793) +++ vendor/subversion/dist/subversion/libsvn_diff/binary_diff.c Fri Apr 29 19:16:59 2016 (r298794) @@ -194,22 +194,22 @@ svn_diff_output_binary(svn_stream_t *out SVN_ERR(svn_stream_puts(output_stream, "GIT binary patch" APR_EOL_STR)); - /* ### git would first calculate if a git-delta original->latest would be + /* ### git would first calculate if a git-delta latest->original would be shorter than the zipped data. For now lets assume that it is not and just dump the literal data */ - SVN_ERR(write_literal(original_full, - svn_stream_from_aprfile2(original_apr, FALSE, subpool), + SVN_ERR(write_literal(latest_full, + svn_stream_from_aprfile2(latest_apr, FALSE, subpool), output_stream, cancel_func, cancel_baton, scratch_pool)); svn_pool_clear(subpool); SVN_ERR(svn_stream_puts(output_stream, APR_EOL_STR)); - /* ### git would first calculate if a git-delta latest->original would be + /* ### git would first calculate if a git-delta original->latest would be shorter than the zipped data. For now lets assume that it is not and just dump the literal data */ - SVN_ERR(write_literal(latest_full, - svn_stream_from_aprfile2(latest_apr, FALSE, subpool), + SVN_ERR(write_literal(original_full, + svn_stream_from_aprfile2(original_apr, FALSE, subpool), output_stream, cancel_func, cancel_baton, scratch_pool)); Modified: vendor/subversion/dist/subversion/libsvn_fs_base/dag.c ============================================================================== --- vendor/subversion/dist/subversion/libsvn_fs_base/dag.c Fri Apr 29 19:10:22 2016 (r298793) +++ vendor/subversion/dist/subversion/libsvn_fs_base/dag.c Fri Apr 29 19:16:59 2016 (r298794) @@ -1657,8 +1657,14 @@ svn_fs_base__things_different(svn_boolea /* Compare contents keys and their (optional) uniquifiers. */ if (contents_changed != NULL) - *contents_changed = (! svn_fs_base__same_keys(noderev1->data_key, - noderev2->data_key)); + *contents_changed = + (! (svn_fs_base__same_keys(noderev1->data_key, + noderev2->data_key) + /* Technically, these uniquifiers aren't used and "keys", + but keys are base-36 stringified numbers, so we'll take + this liberty. */ + && (svn_fs_base__same_keys(noderev1->data_key_uniquifier, + noderev2->data_key_uniquifier)))); return SVN_NO_ERROR; } Modified: vendor/subversion/dist/subversion/libsvn_fs_base/fs.h ============================================================================== --- vendor/subversion/dist/subversion/libsvn_fs_base/fs.h Fri Apr 29 19:10:22 2016 (r298793) +++ vendor/subversion/dist/subversion/libsvn_fs_base/fs.h Fri Apr 29 19:16:59 2016 (r298794) @@ -195,11 +195,7 @@ typedef struct node_revision_t only because one or both of us decided to pick up a shared representation after-the-fact." May be NULL (if this node revision isn't using a shared rep, or isn't the original - "assignee" of a shared rep). - - This is no longer used by the 1.9 code but we have to keep - reading and writing it to remain compatible with 1.8, and - earlier, that require it. */ + "assignee" of a shared rep). */ const char *data_key_uniquifier; /* representation key for this node's text-data-in-progess (files Modified: vendor/subversion/dist/subversion/libsvn_fs_fs/cached_data.c ============================================================================== --- vendor/subversion/dist/subversion/libsvn_fs_fs/cached_data.c Fri Apr 29 19:10:22 2016 (r298793) +++ vendor/subversion/dist/subversion/libsvn_fs_fs/cached_data.c Fri Apr 29 19:16:59 2016 (r298794) @@ -2558,8 +2558,12 @@ svn_fs_fs__rep_contents_dir(apr_array_he SVN_ERR(get_dir_contents(entries_p, fs, noderev, result_pool, scratch_pool)); - /* Update the cache, if we are to use one. */ - if (cache) + /* Update the cache, if we are to use one. + * + * Don't even attempt to serialize very large directories; it would cause + * an unnecessary memory allocation peak. 150 bytes/entry is about right. + */ + if (cache && svn_cache__is_cachable(cache, 150 * (*entries_p)->nelts)) *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-vendor@freebsd.org Fri Apr 29 19:17:32 2016 Return-Path: Delivered-To: svn-src-vendor@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B9015B216EA; Fri, 29 Apr 2016 19:17:32 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 701C017EB; Fri, 29 Apr 2016 19:17:32 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u3TJHV1c088612; Fri, 29 Apr 2016 19:17:31 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u3TJHVDx088611; Fri, 29 Apr 2016 19:17:31 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201604291917.u3TJHVDx088611@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Fri, 29 Apr 2016 19:17:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org Subject: svn commit: r298795 - vendor/subversion/subversion-1.9.4 X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: SVN commit messages for the vendor work area tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 29 Apr 2016 19:17:32 -0000 Author: dim Date: Fri Apr 29 19:17:31 2016 New Revision: 298795 URL: https://svnweb.freebsd.org/changeset/base/298795 Log: Tag subversion-1.9.4 import. Added: vendor/subversion/subversion-1.9.4/ - copied from r298794, vendor/subversion/dist/