From owner-svn-src-vendor@FreeBSD.ORG Mon Mar 8 11:19:52 2010 Return-Path: Delivered-To: svn-src-vendor@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 949F8106564A; Mon, 8 Mar 2010 11:19:52 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 7F9EF8FC1E; Mon, 8 Mar 2010 11:19:52 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o28BJqpn076262; Mon, 8 Mar 2010 11:19:52 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o28BJq4F076258; Mon, 8 Mar 2010 11:19:52 GMT (envelope-from des@svn.freebsd.org) Message-Id: <201003081119.o28BJq4F076258@svn.freebsd.org> From: Dag-Erling Smorgrav Date: Mon, 8 Mar 2010 11:19:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor-crypto MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r204861 - in vendor-crypto/openssh/dist: . contrib contrib/caldera contrib/cygwin contrib/redhat contrib/suse openbsd-compat regress X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.5 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, 08 Mar 2010 11:19:52 -0000 Author: des Date: Mon Mar 8 11:19:52 2010 New Revision: 204861 URL: http://svn.freebsd.org/changeset/base/204861 Log: Vendor import of OpenSSH 5.4p1 Added: vendor-crypto/openssh/dist/PROTOCOL.certkeys vendor-crypto/openssh/dist/PROTOCOL.mux vendor-crypto/openssh/dist/openbsd-compat/pwcache.c (contents, props changed) vendor-crypto/openssh/dist/pkcs11.h (contents, props changed) vendor-crypto/openssh/dist/regress/agent-pkcs11.sh (contents, props changed) vendor-crypto/openssh/dist/regress/cert-hostkey.sh (contents, props changed) vendor-crypto/openssh/dist/regress/cert-userkey.sh (contents, props changed) vendor-crypto/openssh/dist/regress/keygen-convert.sh (contents, props changed) vendor-crypto/openssh/dist/regress/portnum.sh (contents, props changed) vendor-crypto/openssh/dist/roaming_client.c (contents, props changed) vendor-crypto/openssh/dist/roaming_serv.c (contents, props changed) vendor-crypto/openssh/dist/ssh-pkcs11-client.c (contents, props changed) vendor-crypto/openssh/dist/ssh-pkcs11-helper.0 (contents, props changed) vendor-crypto/openssh/dist/ssh-pkcs11-helper.8 (contents, props changed) vendor-crypto/openssh/dist/ssh-pkcs11-helper.c (contents, props changed) vendor-crypto/openssh/dist/ssh-pkcs11.c (contents, props changed) vendor-crypto/openssh/dist/ssh-pkcs11.h (contents, props changed) Modified: vendor-crypto/openssh/dist/ChangeLog vendor-crypto/openssh/dist/INSTALL vendor-crypto/openssh/dist/Makefile.in vendor-crypto/openssh/dist/PROTOCOL vendor-crypto/openssh/dist/PROTOCOL.agent vendor-crypto/openssh/dist/README vendor-crypto/openssh/dist/addrmatch.c vendor-crypto/openssh/dist/auth-krb5.c vendor-crypto/openssh/dist/auth-options.c vendor-crypto/openssh/dist/auth-options.h vendor-crypto/openssh/dist/auth-rh-rsa.c vendor-crypto/openssh/dist/auth-rhosts.c vendor-crypto/openssh/dist/auth-rsa.c vendor-crypto/openssh/dist/auth.c vendor-crypto/openssh/dist/auth.h vendor-crypto/openssh/dist/auth2-hostbased.c vendor-crypto/openssh/dist/auth2-pubkey.c vendor-crypto/openssh/dist/authfd.c vendor-crypto/openssh/dist/authfd.h vendor-crypto/openssh/dist/authfile.c vendor-crypto/openssh/dist/authfile.h vendor-crypto/openssh/dist/bufaux.c vendor-crypto/openssh/dist/buffer.c vendor-crypto/openssh/dist/buffer.h vendor-crypto/openssh/dist/canohost.c vendor-crypto/openssh/dist/channels.c vendor-crypto/openssh/dist/channels.h vendor-crypto/openssh/dist/clientloop.c vendor-crypto/openssh/dist/clientloop.h vendor-crypto/openssh/dist/config.guess vendor-crypto/openssh/dist/config.h.in vendor-crypto/openssh/dist/config.sub vendor-crypto/openssh/dist/configure vendor-crypto/openssh/dist/configure.ac vendor-crypto/openssh/dist/contrib/caldera/openssh.spec vendor-crypto/openssh/dist/contrib/cygwin/Makefile vendor-crypto/openssh/dist/contrib/gnome-ssh-askpass2.c vendor-crypto/openssh/dist/contrib/redhat/openssh.spec vendor-crypto/openssh/dist/contrib/suse/openssh.spec vendor-crypto/openssh/dist/defines.h vendor-crypto/openssh/dist/dh.c vendor-crypto/openssh/dist/dns.c vendor-crypto/openssh/dist/dns.h vendor-crypto/openssh/dist/hostfile.c vendor-crypto/openssh/dist/hostfile.h vendor-crypto/openssh/dist/kex.c vendor-crypto/openssh/dist/kex.h vendor-crypto/openssh/dist/kexdhs.c vendor-crypto/openssh/dist/kexgexs.c vendor-crypto/openssh/dist/key.c vendor-crypto/openssh/dist/key.h vendor-crypto/openssh/dist/loginrec.c vendor-crypto/openssh/dist/match.h vendor-crypto/openssh/dist/mdoc2man.awk vendor-crypto/openssh/dist/misc.c vendor-crypto/openssh/dist/misc.h vendor-crypto/openssh/dist/monitor.c vendor-crypto/openssh/dist/monitor_fdpass.c vendor-crypto/openssh/dist/monitor_wrap.c vendor-crypto/openssh/dist/mux.c vendor-crypto/openssh/dist/myproposal.h vendor-crypto/openssh/dist/nchan.c vendor-crypto/openssh/dist/openbsd-compat/Makefile.in vendor-crypto/openssh/dist/openbsd-compat/bsd-cygwin_util.c vendor-crypto/openssh/dist/openbsd-compat/openbsd-compat.h vendor-crypto/openssh/dist/openbsd-compat/openssl-compat.c vendor-crypto/openssh/dist/openbsd-compat/port-aix.c vendor-crypto/openssh/dist/openbsd-compat/port-aix.h vendor-crypto/openssh/dist/openbsd-compat/port-linux.c vendor-crypto/openssh/dist/openbsd-compat/port-linux.h vendor-crypto/openssh/dist/openbsd-compat/readpassphrase.c vendor-crypto/openssh/dist/opensshd.init.in vendor-crypto/openssh/dist/pathnames.h vendor-crypto/openssh/dist/platform.c vendor-crypto/openssh/dist/platform.h vendor-crypto/openssh/dist/readconf.c vendor-crypto/openssh/dist/readconf.h vendor-crypto/openssh/dist/regress/Makefile vendor-crypto/openssh/dist/regress/addrmatch.sh vendor-crypto/openssh/dist/regress/cfgmatch.sh vendor-crypto/openssh/dist/regress/cipher-speed.sh vendor-crypto/openssh/dist/regress/forwarding.sh vendor-crypto/openssh/dist/regress/multiplex.sh vendor-crypto/openssh/dist/regress/sftp-badcmds.sh vendor-crypto/openssh/dist/regress/sftp-batch.sh vendor-crypto/openssh/dist/regress/sftp-cmds.sh vendor-crypto/openssh/dist/regress/sftp-glob.sh vendor-crypto/openssh/dist/regress/sftp.sh vendor-crypto/openssh/dist/regress/ssh-com-sftp.sh vendor-crypto/openssh/dist/regress/ssh2putty.sh vendor-crypto/openssh/dist/regress/test-exec.sh vendor-crypto/openssh/dist/roaming.h vendor-crypto/openssh/dist/roaming_common.c vendor-crypto/openssh/dist/scp.0 vendor-crypto/openssh/dist/scp.1 vendor-crypto/openssh/dist/scp.c vendor-crypto/openssh/dist/servconf.c vendor-crypto/openssh/dist/servconf.h vendor-crypto/openssh/dist/session.c vendor-crypto/openssh/dist/sftp-client.c vendor-crypto/openssh/dist/sftp-client.h vendor-crypto/openssh/dist/sftp-common.c vendor-crypto/openssh/dist/sftp-common.h vendor-crypto/openssh/dist/sftp-server.0 vendor-crypto/openssh/dist/sftp-server.8 vendor-crypto/openssh/dist/sftp-server.c vendor-crypto/openssh/dist/sftp.0 vendor-crypto/openssh/dist/sftp.1 vendor-crypto/openssh/dist/sftp.c vendor-crypto/openssh/dist/ssh-add.0 vendor-crypto/openssh/dist/ssh-add.1 vendor-crypto/openssh/dist/ssh-add.c vendor-crypto/openssh/dist/ssh-agent.0 vendor-crypto/openssh/dist/ssh-agent.1 vendor-crypto/openssh/dist/ssh-agent.c vendor-crypto/openssh/dist/ssh-dss.c vendor-crypto/openssh/dist/ssh-keygen.0 vendor-crypto/openssh/dist/ssh-keygen.1 vendor-crypto/openssh/dist/ssh-keygen.c vendor-crypto/openssh/dist/ssh-keyscan.0 vendor-crypto/openssh/dist/ssh-keyscan.1 vendor-crypto/openssh/dist/ssh-keyscan.c vendor-crypto/openssh/dist/ssh-keysign.c vendor-crypto/openssh/dist/ssh-rand-helper.c vendor-crypto/openssh/dist/ssh-rsa.c vendor-crypto/openssh/dist/ssh.0 vendor-crypto/openssh/dist/ssh.1 vendor-crypto/openssh/dist/ssh.c vendor-crypto/openssh/dist/ssh2.h vendor-crypto/openssh/dist/ssh_config vendor-crypto/openssh/dist/ssh_config.0 vendor-crypto/openssh/dist/ssh_config.5 vendor-crypto/openssh/dist/sshconnect.c vendor-crypto/openssh/dist/sshconnect2.c vendor-crypto/openssh/dist/sshd.0 vendor-crypto/openssh/dist/sshd.8 vendor-crypto/openssh/dist/sshd.c vendor-crypto/openssh/dist/sshd_config vendor-crypto/openssh/dist/sshd_config.0 vendor-crypto/openssh/dist/sshd_config.5 vendor-crypto/openssh/dist/sshpty.h vendor-crypto/openssh/dist/sshtty.c vendor-crypto/openssh/dist/version.h Modified: vendor-crypto/openssh/dist/ChangeLog ============================================================================== --- vendor-crypto/openssh/dist/ChangeLog Mon Mar 8 08:05:02 2010 (r204860) +++ vendor-crypto/openssh/dist/ChangeLog Mon Mar 8 11:19:52 2010 (r204861) @@ -1,3 +1,982 @@ +20100307 + - (djm) OpenBSD CVS Sync + - djm@cvs.openbsd.org 2010/03/07 22:16:01 + [ssh-keygen.c] + make internal strptime string match strftime format; + suggested by vinschen AT redhat.com and markus@ + - djm@cvs.openbsd.org 2010/03/08 00:28:55 + [ssh-keygen.1] + document permit-agent-forwarding certificate constraint; patch from + stevesk@ + - djm@cvs.openbsd.org 2010/03/07 22:01:32 + [version.h] + openssh-5.4 + - (djm) [README contrib/caldera/openssh.spec contrib/redhat/openssh.spec] + crank version numbers + - (djm) Release OpenSSH-5.4p1 + +20100307 + - (dtucker) [auth.c] Bug #1710: call setauthdb on AIX before getpwuid so that + it gets the passwd struct from the LAM that knows about the user which is + not necessarily the default. Patch from Alexandre Letourneau. + - (dtucker) [session.c] Bug #1567: move setpcred call to before chroot and + do not set real uid, since that's needed for the chroot, and will be set + by permanently_set_uid. + - (dtucker) [session.c] Also initialize creds to NULL for handing to + setpcred. + - (dtucker) OpenBSD CVS Sync + - dtucker@cvs.openbsd.org 2010/03/07 11:57:13 + [auth-rhosts.c monitor.c monitor_wrap.c session.c auth-options.c sshd.c] + Hold authentication debug messages until after successful authentication. + Fixes an info leak of environment variables specified in authorized_keys, + reported by Jacob Appelbaum. ok djm@ + +20100305 + - OpenBSD CVS Sync + - jmc@cvs.openbsd.org 2010/03/04 12:51:25 + [ssh.1 sshd_config.5] + tweak previous; + - djm@cvs.openbsd.org 2010/03/04 20:35:08 + [ssh-keygen.1 ssh-keygen.c] + Add a -L flag to print the contents of a certificate; ok markus@ + - jmc@cvs.openbsd.org 2010/03/04 22:52:40 + [ssh-keygen.1] + fix Bk/Ek; + - djm@cvs.openbsd.org 2010/03/04 23:17:25 + [sshd_config.5] + missing word; spotted by jmc@ + - djm@cvs.openbsd.org 2010/03/04 23:19:29 + [ssh.1 sshd.8] + move section on CA and revoked keys from ssh.1 to sshd.8's known hosts + format section and rework it a bit; requested by jmc@ + - djm@cvs.openbsd.org 2010/03/04 23:27:25 + [auth-options.c ssh-keygen.c] + "force-command" is not spelled "forced-command"; spotted by + imorgan AT nas.nasa.gov + - djm@cvs.openbsd.org 2010/03/05 02:58:11 + [auth.c] + make the warning for a revoked key louder and more noticable + - jmc@cvs.openbsd.org 2010/03/05 06:50:35 + [ssh.1 sshd.8] + tweak previous; + - jmc@cvs.openbsd.org 2010/03/05 08:31:20 + [ssh.1] + document certificate authentication; help/ok djm + - djm@cvs.openbsd.org 2010/03/05 10:28:21 + [ssh-add.1 ssh.1 ssh_config.5] + mention loading of certificate files from [private]-cert.pub when + they are present; feedback and ok jmc@ + - (tim) [ssh-pkcs11.c] Fix "non-constant initializer" errors in older + compilers. OK djm@ + - (djm) [ssh-rand-helper.c] declare optind, avoiding compilation failure + on some platforms + - (djm) [configure.ac] set -fno-strict-aliasing for gcc4; ok dtucker@ + +20100304 + - (djm) [ssh-keygen.c] Use correct local variable, instead of + maybe-undefined global "optarg" + - (djm) [contrib/redhat/openssh.spec] Replace obsolete BuildPreReq + on XFree86-devel with neutral /usr/include/X11/Xlib.h; + imorgan AT nas.nasa.gov in bz#1731 + - (djm) [.cvsignore] Ignore ssh-pkcs11-helper + - (djm) [regress/Makefile] Cleanup sshd_proxy_orig + - OpenBSD CVS Sync + - djm@cvs.openbsd.org 2010/03/03 01:44:36 + [auth-options.c key.c] + reject strings with embedded ASCII nul chars in certificate key IDs, + principal names and constraints + - djm@cvs.openbsd.org 2010/03/03 22:49:50 + [sshd.8] + the authorized_keys option for CA keys is "cert-authority", not + "from=cert-authority". spotted by imorgan AT nas.nasa.gov + - djm@cvs.openbsd.org 2010/03/03 22:50:40 + [PROTOCOL.certkeys] + s/similar same/similar/; from imorgan AT nas.nasa.gov + - djm@cvs.openbsd.org 2010/03/04 01:44:57 + [key.c] + use buffer_get_string_ptr_ret() where we are checking the return + value explicitly instead of the fatal()-causing buffer_get_string_ptr() + - djm@cvs.openbsd.org 2010/03/04 10:36:03 + [auth-rh-rsa.c auth-rsa.c auth.c auth.h auth2-hostbased.c auth2-pubkey.c] + [authfile.c authfile.h hostfile.c hostfile.h servconf.c servconf.h] + [ssh-keygen.c ssh.1 sshconnect.c sshd_config.5] + Add a TrustedUserCAKeys option to sshd_config to specify CA keys that + are trusted to authenticate users (in addition than doing it per-user + in authorized_keys). + + Add a RevokedKeys option to sshd_config and a @revoked marker to + known_hosts to allow keys to me revoked and banned for user or host + authentication. + + feedback and ok markus@ + - djm@cvs.openbsd.org 2010/03/03 00:47:23 + [regress/cert-hostkey.sh regress/cert-userkey.sh] + add an extra test to ensure that authentication with the wrong + certificate fails as it should (and it does) + - djm@cvs.openbsd.org 2010/03/04 10:38:23 + [regress/cert-hostkey.sh regress/cert-userkey.sh] + additional regression tests for revoked keys and TrustedUserCAKeys + +20100303 + - (djm) [PROTOCOL.certkeys] Add RCS Ident + - OpenBSD CVS Sync + - jmc@cvs.openbsd.org 2010/02/26 22:09:28 + [ssh-keygen.1 ssh.1 sshd.8] + tweak previous; + - otto@cvs.openbsd.org 2010/03/01 11:07:06 + [ssh-add.c] + zap what seems to be a left-over debug message; ok markus@ + - djm@cvs.openbsd.org 2010/03/02 23:20:57 + [ssh-keygen.c] + POSIX strptime is stricter than OpenBSD's so do a little dance to + appease it. + - (djm) [regress/cert-userkey.sh] s/echo -n/echon/ here too + +20100302 + - (tim) [config.guess config.sub] Bug 1722: Update to latest versions from + http://git.savannah.gnu.org/gitweb/ (2009-12-30 and 2010-01-22 + respectively). + +20100301 + - (dtucker) [regress/{cert-hostkey,cfgmatch,cipher-speed}.sh} Replace + "echo -n" with "echon" for portability. + - (dtucker) [openbsd-compat/port-linux.c] Make failure to write to the OOM + adjust log at verbose only, since according to cjwatson in bug #1470 + some virtualization platforms don't allow writes. + +20100228 + - (djm) [auth.c] On Cygwin, refuse usernames that have differences in + case from that matched in the system password database. On this + platform, passwords are stored case-insensitively, but sshd requires + exact case matching for Match blocks in sshd_config(5). Based on + a patch from vinschen AT redhat.com. + - (tim) [ssh-pkcs11-helper.c] Move declarations before calling functions + to make older compilers (gcc 2.95) happy. + +20100227 + - (djm) [ssh-pkcs11-helper.c ] Ensure RNG is initialised and seeded + - (djm) [openbsd-compat/bsd-cygwin_util.c] Reduce the set of environment + variables copied into sshd child processes. From vinschen AT redhat.com + +20100226 + - OpenBSD CVS Sync + - djm@cvs.openbsd.org 2010/02/26 20:29:54 + [PROTOCOL PROTOCOL.agent PROTOCOL.certkeys addrmatch.c auth-options.c] + [auth-options.h auth.h auth2-pubkey.c authfd.c dns.c dns.h hostfile.c] + [hostfile.h kex.h kexdhs.c kexgexs.c key.c key.h match.h monitor.c] + [myproposal.h servconf.c servconf.h ssh-add.c ssh-agent.c ssh-dss.c] + [ssh-keygen.1 ssh-keygen.c ssh-rsa.c ssh.1 ssh.c ssh2.h sshconnect.c] + [sshconnect2.c sshd.8 sshd.c sshd_config.5] + Add support for certificate key types for users and hosts. + + OpenSSH certificate key types are not X.509 certificates, but a much + simpler format that encodes a public key, identity information and + some validity constraints and signs it with a CA key. CA keys are + regular SSH keys. This certificate style avoids the attack surface + of X.509 certificates and is very easy to deploy. + + Certified host keys allow automatic acceptance of new host keys + when a CA certificate is marked as trusted in ~/.ssh/known_hosts. + see VERIFYING HOST KEYS in ssh(1) for details. + + Certified user keys allow authentication of users when the signing + CA key is marked as trusted in authorized_keys. See "AUTHORIZED_KEYS + FILE FORMAT" in sshd(8) for details. + + Certificates are minted using ssh-keygen(1), documentation is in + the "CERTIFICATES" section of that manpage. + + Documentation on the format of certificates is in the file + PROTOCOL.certkeys + + feedback and ok markus@ + - djm@cvs.openbsd.org 2010/02/26 20:33:21 + [Makefile regress/cert-hostkey.sh regress/cert-userkey.sh] + regression tests for certified keys + +20100224 + - (djm) [pkcs11.h ssh-pkcs11-client.c ssh-pkcs11-helper.c ssh-pkcs11.c] + [ssh-pkcs11.h] Add $OpenBSD$ RCS idents so we can sync portable + - (djm) OpenBSD CVS Sync + - djm@cvs.openbsd.org 2010/02/11 20:37:47 + [pathnames.h] + correct comment + - dtucker@cvs.openbsd.org 2009/11/09 04:20:04 + [regress/Makefile] + add regression test for ssh-keygen pubkey conversions + - dtucker@cvs.openbsd.org 2010/01/11 02:53:44 + [regress/forwarding.sh] + regress test for stdio forwarding + - djm@cvs.openbsd.org 2010/02/09 04:57:36 + [regress/addrmatch.sh] + clean up droppings + - djm@cvs.openbsd.org 2010/02/09 06:29:02 + [regress/Makefile] + turn on all the malloc(3) checking options when running regression + tests. this has caught a few bugs for me in the past; ok dtucker@ + - djm@cvs.openbsd.org 2010/02/24 06:21:56 + [regress/test-exec.sh] + wait for sshd to fully stop in cleanup() function; avoids races in tests + that do multiple start_sshd/cleanup cycles; "I hate pidfiles" deraadt@ + - markus@cvs.openbsd.org 2010/02/08 10:52:47 + [regress/agent-pkcs11.sh] + test for PKCS#11 support (currently disabled) + - (djm) [Makefile.in ssh-pkcs11-helper.8] Add manpage for PKCS#11 helper + - (djm) [contrib/caldera/openssh.spec contrib/redhat/openssh.spec] + [contrib/suse/openssh.spec] Add PKCS#11 helper binary and manpage + +20100212 + - (djm) OpenBSD CVS Sync + - djm@cvs.openbsd.org 2010/02/02 22:49:34 + [bufaux.c] + make buffer_get_string_ret() really non-fatal in all cases (it was + using buffer_get_int(), which could fatal() on buffer empty); + ok markus dtucker + - markus@cvs.openbsd.org 2010/02/08 10:50:20 + [pathnames.h readconf.c readconf.h scp.1 sftp.1 ssh-add.1 ssh-add.c] + [ssh-agent.c ssh-keygen.1 ssh-keygen.c ssh.1 ssh.c ssh_config.5] + replace our obsolete smartcard code with PKCS#11. + ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/pkcs-11v2-20.pdf + ssh(1) and ssh-keygen(1) use dlopen(3) directly to talk to a PKCS#11 + provider (shared library) while ssh-agent(1) delegates PKCS#11 to + a forked a ssh-pkcs11-helper process. + PKCS#11 is currently a compile time option. + feedback and ok djm@; inspired by patches from Alon Bar-Lev + - jmc@cvs.openbsd.org 2010/02/08 22:03:05 + [ssh-add.1 ssh-keygen.1 ssh.1 ssh.c] + tweak previous; ok markus + - djm@cvs.openbsd.org 2010/02/09 00:50:36 + [ssh-agent.c] + fallout from PKCS#11: unbreak -D + - djm@cvs.openbsd.org 2010/02/09 00:50:59 + [ssh-keygen.c] + fix -Wall + - djm@cvs.openbsd.org 2010/02/09 03:56:28 + [buffer.c buffer.h] + constify the arguments to buffer_len, buffer_ptr and buffer_dump + - djm@cvs.openbsd.org 2010/02/09 06:18:46 + [auth.c] + unbreak ChrootDirectory+internal-sftp by skipping check for executable + shell when chrooting; reported by danh AT wzrd.com; ok dtucker@ + - markus@cvs.openbsd.org 2010/02/10 23:20:38 + [ssh-add.1 ssh-keygen.1 ssh.1 ssh_config.5] + pkcs#11 is no longer optional; improve wording; ok jmc@ + - jmc@cvs.openbsd.org 2010/02/11 13:23:29 + [ssh.1] + libarary -> library; + - (djm) [INSTALL Makefile.in README.smartcard configure.ac scard-opensc.c] + [scard.c scard.h pkcs11.h scard/Makefile.in scard/Ssh.bin.uu scard/Ssh.java] + Remove obsolete smartcard support + - (djm) [ssh-pkcs11-client.c ssh-pkcs11-helper.c ssh-pkcs11.c] + Make it compile on OSX + - (djm) [ssh-pkcs11-client.c ssh-pkcs11-helper.c ssh-pkcs11.c] + Use ssh_get_progname to fill __progname + - (djm) [configure.ac] Enable PKCS#11 support only when we find a working + dlopen() + +20100210 + - (djm) add -lselinux to LIBS before calling AC_CHECK_FUNCS for + getseuserbyname; patch from calebcase AT gmail.com via + cjwatson AT debian.org + +20100202 + - (djm) OpenBSD CVS Sync + - djm@cvs.openbsd.org 2010/01/30 21:08:33 + [sshd.8] + debug output goes to stderr, not "the system log"; ok markus dtucker + - djm@cvs.openbsd.org 2010/01/30 21:12:08 + [channels.c] + fake local addr:port when stdio fowarding as some servers (Tectia at + least) validate that they are well-formed; + reported by imorgan AT nas.nasa.gov + ok dtucker + +20100130 + - (djm) OpenBSD CVS Sync + - djm@cvs.openbsd.org 2010/01/28 00:21:18 + [clientloop.c] + downgrade an error() to a debug() - this particular case can be hit in + normal operation for certain sequences of mux slave vs session closure + and is harmless + - djm@cvs.openbsd.org 2010/01/29 00:20:41 + [sshd.c] + set FD_CLOEXEC on sock_in/sock_out; bz#1706 from jchadima AT redhat.com + ok dtucker@ + - djm@cvs.openbsd.org 2010/01/29 20:16:17 + [mux.c] + kill correct channel (was killing already-dead mux channel, not + its session channel) + - djm@cvs.openbsd.org 2010/01/30 02:54:53 + [mux.c] + don't mark channel as read failed if it is already closing; suppresses + harmless error messages when connecting to SSH.COM Tectia server + report by imorgan AT nas.nasa.gov + +20100129 + - (dtucker) [openbsd-compat/openssl-compat.c] Bug #1707: Call OPENSSL_config() + after registering the hardware engines, which causes the openssl.cnf file to + be processed. See OpenSSL's man page for OPENSSL_config(3) for details. + Patch from Solomon Peachy, ok djm@. + +20100128 + - (djm) OpenBSD CVS Sync + - djm@cvs.openbsd.org 2010/01/26 02:15:20 + [mux.c] + -Wuninitialized and remove a // comment; from portable + (Id sync only) + - djm@cvs.openbsd.org 2010/01/27 13:26:17 + [mux.c] + fix bug introduced in mux rewrite: + + In a mux master, when a socket to a mux slave closes before its server + session (as may occur when the slave has been signalled), gracefully + close the server session rather than deleting its channel immediately. + A server may have more messages on that channel to send (e.g. an exit + message) that will fatal() the client if they are sent to a channel that + has been prematurely deleted. + + spotted by imorgan AT nas.nasa.gov + - djm@cvs.openbsd.org 2010/01/27 19:21:39 + [sftp.c] + add missing "p" flag to getopt optstring; + bz#1704 from imorgan AT nas.nasa.gov + +20100126 + - (djm) OpenBSD CVS Sync + - tedu@cvs.openbsd.org 2010/01/17 21:49:09 + [ssh-agent.1] + Correct and clarify ssh-add's password asking behavior. + Improved text dtucker and ok jmc + - dtucker@cvs.openbsd.org 2010/01/18 01:50:27 + [roaming_client.c] + s/long long unsigned/unsigned long long/, from tim via portable + (Id sync only, change already in portable) + - djm@cvs.openbsd.org 2010/01/26 01:28:35 + [channels.c channels.h clientloop.c clientloop.h mux.c nchan.c ssh.c] + rewrite ssh(1) multiplexing code to a more sensible protocol. + + The new multiplexing code uses channels for the listener and + accepted control sockets to make the mux master non-blocking, so + no stalls when processing messages from a slave. + + avoid use of fatal() in mux master protocol parsing so an errant slave + process cannot take down a running master. + + implement requesting of port-forwards over multiplexed sessions. Any + port forwards requested by the slave are added to those the master has + established. + + add support for stdio forwarding ("ssh -W host:port ...") in mux slaves. + + document master/slave mux protocol so that other tools can use it to + control a running ssh(1). Note: there are no guarantees that this + protocol won't be incompatibly changed (though it is versioned). + + feedback Salvador Fandino, dtucker@ + channel changes ok markus@ + +20100122 + - (tim) [configure.ac] Due to constraints in Windows Sockets in terms of + socket inheritance, reduce the default SO_RCVBUF/SO_SNDBUF buffer size + in Cygwin to 65535. Patch from Corinna Vinschen. + +20100117 + - (tim) [configure.ac] OpenServer 5 needs BROKEN_GETADDRINFO too. + - (tim) [configure.ac] On SVR5 systems, use the C99-conforming functions + snprintf() and vsnprintf() named _xsnprintf() and _xvsnprintf(). + +20100116 + - (dtucker) [openbsd-compat/pwcache.c] Pull in includes.h and thus defines.h + so we correctly detect whether or not we have a native user_from_uid. + - (dtucker) [openbsd-compat/openbsd-compat.h] Prototypes for user_from_uid + and group_from_gid. + - (dtucker) [openbsd-compat/openbsd-compat.h] Fix prototypes, spotted by + Tim. + - (dtucker) OpenBSD CVS Sync + - markus@cvs.openbsd.org 2010/01/15 09:24:23 + [sftp-common.c] + unused + - (dtucker) [openbsd-compat/pwcache.c] Shrink ifdef area to prevent unused + variable warnings. + - (dtucker) [openbsd-compat/openbsd-compat.h] Typo. + - (tim) [regress/portnum.sh] Shell portability fix. + - (tim) [configure.ac] Define BROKEN_GETADDRINFO on SVR5 systems. The native + getaddrinfo() is too old and limited for addr_pton() in addrmatch.c. + - (tim) [roaming_client.c] Use of is not really portable so we + use "openbsd-compat/sys-queue.h". s/long long unsigned/unsigned long long/ + to keep USL compilers happy. + +20100115 + - (dtucker) OpenBSD CVS Sync + - jmc@cvs.openbsd.org 2010/01/13 12:48:34 + [sftp.1 sftp.c] + sftp.1: put ls -h in the right place + sftp.c: as above, plus add -p to get/put, and shorten their arg names + to keep the help usage nicely aligned + ok djm + - djm@cvs.openbsd.org 2010/01/13 23:47:26 + [auth.c] + when using ChrootDirectory, make sure we test for the existence of the + user's shell inside the chroot; bz #1679, patch from alex AT rtfs.hu; + ok dtucker + - dtucker@cvs.openbsd.org 2010/01/14 23:41:49 + [sftp-common.c] + use user_from{uid,gid} to lookup up ids since it keeps a small cache. + ok djm + - guenther@cvs.openbsd.org 2010/01/15 00:05:22 + [sftp.c] + Reset SIGTERM to SIG_DFL before executing ssh, so that even if sftp + inherited SIGTERM as ignored it will still be able to kill the ssh it + starts. + ok dtucker@ + - (dtucker) [openbsd-compat/pwcache.c] Pull in pwcache.c from OpenBSD (no + changes yet but there will be some to come). + - (dtucker) [configure.ac openbsd-compat/{Makefile.in,pwcache.c} Portability + for pwcache. Also, added caching of negative hits. + +20100114 + - (djm) [platform.h] Add missing prototype for + platform_krb5_get_principal_name + +20100113 + - (dtucker) [monitor_fdpass.c] Wrap poll.h include in ifdefs. + - (dtucker) [openbsd-compat/readpassphrase.c] Resync against OpenBSD's r1.18: + missing restore of SIGTTOU and some whitespace. + - (dtucker) [openbsd-compat/readpassphrase.c] Update to OpenBSD's r1.21. + - (dtucker) [openbsd-compat/readpassphrase.c] Update to OpenBSD's r1.22. + Fixes bz #1590, where sometimes you could not interrupt a connection while + ssh was prompting for a passphrase or password. + - (dtucker) OpenBSD CVS Sync + - dtucker@cvs.openbsd.org 2010/01/13 00:19:04 + [sshconnect.c auth.c] + Fix a couple of typos/mispellings in comments + - dtucker@cvs.openbsd.org 2010/01/13 01:10:56 + [key.c] + Ignore and log any Protocol 1 keys where the claimed size is not equal to + the actual size. Noted by Derek Martin, ok djm@ + - dtucker@cvs.openbsd.org 2010/01/13 01:20:20 + [canohost.c ssh-keysign.c sshconnect2.c] + Make HostBased authentication work with a ProxyCommand. bz #1569, patch + from imorgan at nas nasa gov, ok djm@ + - djm@cvs.openbsd.org 2010/01/13 01:40:16 + [sftp.c sftp-server.c sftp.1 sftp-common.c sftp-common.h] + support '-h' (human-readable units) for sftp's ls command, just like + ls(1); ok dtucker@ + - djm@cvs.openbsd.org 2010/01/13 03:48:13 + [servconf.c servconf.h sshd.c] + avoid run-time failures when specifying hostkeys via a relative + path by prepending the cwd in these cases; bz#1290; ok dtucker@ + - djm@cvs.openbsd.org 2010/01/13 04:10:50 + [sftp.c] + don't append a space after inserting a completion of a directory (i.e. + a path ending in '/') for a slightly better user experience; ok dtucker@ + - (dtucker) [sftp-common.c] Wrap include of util.h in an ifdef. + - (tim) [defines.h] openbsd-compat/readpassphrase.c now needs _NSIG. + feedback and ok dtucker@ + +20100112 + - (dtucker) OpenBSD CVS Sync + - dtucker@cvs.openbsd.org 2010/01/11 01:39:46 + [ssh_config channels.c ssh.1 channels.h ssh.c] + Add a 'netcat mode' (ssh -W). This connects stdio on the client to a + single port forward on the server. This allows, for example, using ssh as + a ProxyCommand to route connections via intermediate servers. + bz #1618, man page help from jmc@, ok markus@ + - dtucker@cvs.openbsd.org 2010/01/11 04:46:45 + [authfile.c sshconnect2.c] + Do not prompt for a passphrase if we fail to open a keyfile, and log the + reason the open failed to debug. + bz #1693, found by tj AT castaglia org, ok djm@ + - djm@cvs.openbsd.org 2010/01/11 10:51:07 + [ssh-keygen.c] + when converting keys, truncate key comments at 72 chars as per RFC4716; + bz#1630 reported by tj AT castaglia.org; ok markus@ + - dtucker@cvs.openbsd.org 2010/01/12 00:16:47 + [authfile.c] + Fix bug introduced in r1.78 (incorrect brace location) that broke key auth. + Patch from joachim joachimschipper nl. + - djm@cvs.openbsd.org 2010/01/12 00:58:25 + [monitor_fdpass.c] + avoid spinning when fd passing on nonblocking sockets by calling poll() + in the EINTR/EAGAIN path, much like we do in atomicio; ok dtucker@ + - djm@cvs.openbsd.org 2010/01/12 00:59:29 + [roaming_common.c] + delete with extreme prejudice a debug() that fired with every keypress; + ok dtucker deraadt + - dtucker@cvs.openbsd.org 2010/01/12 01:31:05 + [session.c] + Do not allow logins if /etc/nologin exists but is not readable by the user + logging in. Noted by Jan.Pechanec at Sun, ok djm@ deraadt@ + - djm@cvs.openbsd.org 2010/01/12 01:36:08 + [buffer.h bufaux.c] + add a buffer_get_string_ptr_ret() that does the same as + buffer_get_string_ptr() but does not fatal() on error; ok dtucker@ + - dtucker@cvs.openbsd.org 2010/01/12 08:33:17 + [session.c] + Add explicit stat so we reliably detect nologin with bad perms. + ok djm markus + +20100110 + - (dtucker) [configure.ac misc.c readconf.c servconf.c ssh-keyscan.c] + Remove hacks add for RoutingDomain in preparation for its removal. + - (dtucker) OpenBSD CVS Sync + - dtucker@cvs.openbsd.org 2010/01/09 23:04:13 + [channels.c ssh.1 servconf.c sshd_config.5 sshd.c channels.h servconf.h + ssh-keyscan.1 ssh-keyscan.c readconf.c sshconnect.c misc.c ssh.c + readconf.h scp.1 sftp.1 ssh_config.5 misc.h] + Remove RoutingDomain from ssh since it's now not needed. It can be + replaced with "route exec" or "nc -V" as a proxycommand. "route exec" + also ensures that trafic such as DNS lookups stays withing the specified + routingdomain. For example (from reyk): + # route -T 2 exec /usr/sbin/sshd + or inherited from the parent process + $ route -T 2 exec sh + $ ssh 10.1.2.3 + ok deraadt@ markus@ stevesk@ reyk@ + - dtucker@cvs.openbsd.org 2010/01/10 03:51:17 + [servconf.c] + Add ChrootDirectory to sshd.c test-mode output + - dtucker@cvs.openbsd.org 2010/01/10 07:15:56 + [auth.c] + Output a debug if we can't open an existing keyfile. bz#1694, ok djm@ + +20100109 + - (dtucker) Wrap use of IPPROTO_IPV6 in an ifdef for platforms that don't + have it. + - (dtucker) [defines.h] define PRIu64 for platforms that don't have it. + - (dtucker) [roaming_client.c] Wrap inttypes.h in an ifdef. + - (dtucker) [loginrec.c] Use the SUSv3 specified name for the user name + when using utmpx. Patch from Ed Schouten. + - (dtucker) OpenBSD CVS Sync + - djm@cvs.openbsd.org 2010/01/09 00:20:26 + [sftp-server.c sftp-server.8] + add a 'read-only' mode to sftp-server(8) that disables open in write mode + and all other fs-modifying protocol methods. bz#430 ok dtucker@ + - djm@cvs.openbsd.org 2010/01/09 00:57:10 + [PROTOCOL] + tweak language + - jmc@cvs.openbsd.org 2010/01/09 03:36:00 + [sftp-server.8] + bad place to forget a comma... + - djm@cvs.openbsd.org 2010/01/09 05:04:24 + [mux.c sshpty.h clientloop.c sshtty.c] + quell tc[gs]etattr warnings when forcing a tty (ssh -tt), since we + usually don't actually have a tty to read/set; bz#1686 ok dtucker@ + - dtucker@cvs.openbsd.org 2010/01/09 05:17:00 + [roaming_client.c] + Remove a PRIu64 format string that snuck in with roaming. ok djm@ + - dtucker@cvs.openbsd.org 2010/01/09 11:13:02 + [sftp.c] + Prevent sftp from derefing a null pointer when given a "-" without a + command. Also, allow whitespace to follow a "-". bz#1691, path from + Colin Watson via Debian. ok djm@ deraadt@ + - dtucker@cvs.openbsd.org 2010/01/09 11:17:56 + [sshd.c] + Afer sshd receives a SIGHUP, ignore subsequent HUPs while sshd re-execs + itself. Prevents two HUPs in quick succession from resulting in sshd + dying. bz#1692, patch from Colin Watson via Ubuntu. + - (dtucker) [defines.h] Remove now-undeeded PRIu64 define. + +20100108 + - (dtucker) OpenBSD CVS Sync + - andreas@cvs.openbsd.org 2009/10/24 11:11:58 + [roaming.h] + Declarations needed for upcoming changes. + ok markus@ + - andreas@cvs.openbsd.org 2009/10/24 11:13:54 + [sshconnect2.c kex.h kex.c] + Let the client detect if the server supports roaming by looking + for the resume@appgate.com kex algorithm. + ok markus@ + - andreas@cvs.openbsd.org 2009/10/24 11:15:29 + [clientloop.c] + client_loop() must detect if the session has been suspended and resumed, + and take appropriate action in that case. + From Martin Forssen, maf at appgate dot com + - andreas@cvs.openbsd.org 2009/10/24 11:19:17 + [ssh2.h] + Define the KEX messages used when resuming a suspended connection. + ok markus@ + - andreas@cvs.openbsd.org 2009/10/24 11:22:37 + [roaming_common.c] + Do the actual suspend/resume in the client. This won't be useful until + the server side supports roaming. + Most code from Martin Forssen, maf at appgate dot com. Some changes by + me and markus@ + ok markus@ + - andreas@cvs.openbsd.org 2009/10/24 11:23:42 + [ssh.c] + Request roaming to be enabled if UseRoaming is true and the server + supports it. + ok markus@ + - reyk@cvs.openbsd.org 2009/10/28 16:38:18 + [ssh_config.5 sshd.c misc.h ssh-keyscan.1 readconf.h sshconnect.c + channels.c channels.h servconf.h servconf.c ssh.1 ssh-keyscan.c scp.1 + sftp.1 sshd_config.5 readconf.c ssh.c misc.c] + Allow to set the rdomain in ssh/sftp/scp/sshd and ssh-keyscan. + ok markus@ + - jmc@cvs.openbsd.org 2009/10/28 21:45:08 + [sshd_config.5 sftp.1] + tweak previous; + - djm@cvs.openbsd.org 2009/11/10 02:56:22 + [ssh_config.5] + explain the constraints on LocalCommand some more so people don't + try to abuse it. + - djm@cvs.openbsd.org 2009/11/10 02:58:56 + [sshd_config.5] + clarify that StrictModes does not apply to ChrootDirectory. Permissions + and ownership are always checked when chrooting. bz#1532 + - dtucker@cvs.openbsd.org 2009/11/10 04:30:45 + [sshconnect2.c channels.c sshconnect.c] + Set close-on-exec on various descriptors so they don't get leaked to + child processes. bz #1643, patch from jchadima at redhat, ok deraadt. + - markus@cvs.openbsd.org 2009/11/11 21:37:03 + [channels.c channels.h] + fix race condition in x11/agent channel allocation: don't read after + the end of the select read/write fdset and make sure a reused FD + is not touched before the pre-handlers are called. + with and ok djm@ + - djm@cvs.openbsd.org 2009/11/17 05:31:44 + [clientloop.c] + fix incorrect exit status when multiplexing and channel ID 0 is recycled + bz#1570 reported by peter.oliver AT eon-is.co.uk; ok dtucker + - djm@cvs.openbsd.org 2009/11/19 23:39:50 + [session.c] + bz#1606: error when an attempt is made to connect to a server + with ForceCommand=internal-sftp with a shell session (i.e. not a + subsystem session). Avoids stuck client when attempting to ssh to such a + service. ok dtucker@ + - dtucker@cvs.openbsd.org 2009/11/20 00:15:41 + [session.c] + Warn but do not fail if stat()ing the subsystem binary fails. This helps + with chrootdirectory+forcecommand=sftp-server and restricted shells. + bz #1599, ok djm. + - djm@cvs.openbsd.org 2009/11/20 00:54:01 + [sftp.c] + bz#1588 change "Connecting to host..." message to "Connected to host." + and delay it until after the sftp protocol connection has been established. + Avoids confusing sequence of messages when the underlying ssh connection + experiences problems. ok dtucker@ + - dtucker@cvs.openbsd.org 2009/11/20 00:59:36 + [sshconnect2.c] + Use the HostKeyAlias when prompting for passwords. bz#1039, ok djm@ + - djm@cvs.openbsd.org 2009/11/20 03:24:07 + [misc.c] + correct off-by-one in percent_expand(): we would fatal() when trying + to expand EXPAND_MAX_KEYS, allowing only EXPAND_MAX_KEYS-1 to actually + work. Note that nothing in OpenSSH actually uses close to this limit at + present. bz#1607 from Jan.Pechanec AT Sun.COM + - halex@cvs.openbsd.org 2009/11/22 13:18:00 + [sftp.c] + make passing of zero-length arguments to ssh safe by + passing "-" "" rather than "-" + ok dtucker@, guenther@, djm@ + - dtucker@cvs.openbsd.org 2009/12/06 23:41:15 + [sshconnect2.c] + zap unused variable and strlen; from Steve McClellan, ok djm + - djm@cvs.openbsd.org 2009/12/06 23:53:45 + [roaming_common.c] + use socklen_t for getsockopt optlen parameter; reported by + Steve.McClellan AT radisys.com, ok dtucker@ + - dtucker@cvs.openbsd.org 2009/12/06 23:53:54 + [sftp.c] + fix potential divide-by-zero in sftp's "df" output when talking to a server + that reports zero files on the filesystem (Unix filesystems always have at + least the root inode). From Steve McClellan at radisys, ok djm@ + - markus@cvs.openbsd.org 2009/12/11 18:16:33 + [key.c] + switch from 35 to the more common value of RSA_F4 == (2**16)+1 == 65537 + for the RSA public exponent; discussed with provos; ok djm@ + - guenther@cvs.openbsd.org 2009/12/20 07:28:36 + [ssh.c sftp.c scp.c] + When passing user-controlled options with arguments to other programs, + pass the option and option argument as separate argv entries and + not smashed into one (e.g., as -l foo and not -lfoo). Also, always + pass a "--" argument to stop option parsing, so that a positional + argument that starts with a '-' isn't treated as an option. This + fixes some error cases as well as the handling of hostnames and + filenames that start with a '-'. + Based on a diff by halex@ + ok halex@ djm@ deraadt@ + - djm@cvs.openbsd.org 2009/12/20 23:20:40 + [PROTOCOL] + fix an incorrect magic number and typo in PROTOCOL; bz#1688 + report and fix from ueno AT unixuser.org + - stevesk@cvs.openbsd.org 2009/12/25 19:40:21 + [readconf.c servconf.c misc.h ssh-keyscan.c misc.c] + validate routing domain is in range 0-RT_TABLEID_MAX. + 'Looks right' deraadt@ + - stevesk@cvs.openbsd.org 2009/12/29 16:38:41 + [sshd_config.5 readconf.c ssh_config.5 scp.1 servconf.c sftp.1 ssh.1] + Rename RDomain config option to RoutingDomain to be more clear and + consistent with other options. + NOTE: if you currently use RDomain in the ssh client or server config, + or ssh/sshd -o, you must update to use RoutingDomain. + ok markus@ djm@ + - jmc@cvs.openbsd.org 2009/12/29 18:03:32 + [sshd_config.5 ssh_config.5] + sort previous; + - dtucker@cvs.openbsd.org 2010/01/04 01:45:30 + [sshconnect2.c] + Don't escape backslashes in the SSH2 banner. bz#1533, patch from + Michal Gorny via Gentoo. + - djm@cvs.openbsd.org 2010/01/04 02:03:57 + [sftp.c] + Implement tab-completion of commands, local and remote filenames for sftp. + Hacked on and off for some time by myself, mouring, Carlos Silva (via 2009 + Google Summer of Code) and polished to a fine sheen by myself again. + It should deal more-or-less correctly with the ikky corner-cases presented + by quoted filenames, but the UI could still be slightly improved. + In particular, it is quite slow for remote completion on large directories. + bz#200; ok markus@ + - djm@cvs.openbsd.org 2010/01/04 02:25:15 + [sftp-server.c] + bz#1566 don't unnecessarily dup() in and out fds for sftp-server; + ok markus@ + - dtucker@cvs.openbsd.org 2010/01/08 21:50:49 + [sftp.c] + Fix two warnings: possibly used unitialized and use a nul byte instead of + NULL pointer. ok djm@ + - (dtucker) [Makefile.in added roaming_client.c roaming_serv.c] Import new + files for roaming and add to Makefile. + - (dtucker) [Makefile.in] .c files do not belong in the OBJ lines. + - (dtucker) [sftp.c] ifdef out the sftp completion bits for platforms that + don't have libedit. + - (dtucker) [configure.ac misc.c readconf.c servconf.c ssh-keyscan.c] Make + RoutingDomain an unsupported option on platforms that don't have it. + - (dtucker) [sftp.c] Expand ifdef for libedit to cover complete_is_remote + too. + - (dtucker) [misc.c] Move the routingdomain ifdef to allow the socket to + be created. + - (dtucker] [misc.c] Shrink the area covered by USE_ROUTINGDOMAIN more + to eliminate an unused variable warning. + - (dtucker) [roaming_serv.c] Include includes.h for u_intXX_t types. + +20091226 + - (tim) [contrib/cygwin/Makefile] Install ssh-copy-id and ssh-copy-id.1 + Gzip all man pages. Patch from Corinna Vinschen. + +20091221 + - (dtucker) [auth-krb5.c platform.{c,h} openbsd-compat/port-aix.{c,h}] + Bug #1583: Use system's kerberos principal name on AIX if it's available. + Based on a patch from and tested by Miguel Sanders + +20091208 + - (dtucker) Bug #1470: Disable OOM-killing of the listening sshd on Linux, + based on a patch from Vaclav Ovsik and Colin Watson. ok djm. + +20091207 + - (dtucker) Bug #1160: use pkg-config for opensc config if it's available. + Tested by Martin Paljak. + - (dtucker) Bug #1677: add conditionals around the source for ssh-askpass. + +20091121 + - (tim) [opensshd.init.in] If PidFile is set in sshd_config, use it. + Bug 1628. OK dtucker@ + +20091120 + - (djm) [ssh-rand-helper.c] Print error and usage() when passed command- + line arguments as none are supported. Exit when passed unrecognised + commandline flags. bz#1568 from gson AT araneus.fi + +20091118 + - (djm) [channels.c misc.c misc.h sshd.c] add missing setsockopt() to + set IPV6_V6ONLY for local forwarding with GatwayPorts=yes. Unify + setting IPV6_V6ONLY behind a new function misc.c:sock_set_v6only() + bz#1648, report and fix from jan.kratochvil AT redhat.com + - (djm) [contrib/gnome-ssh-askpass2.c] Make askpass dialog desktop-modal. + bz#1645, patch from jchadima AT redhat.com + +20091107 + - (dtucker) [authfile.c] Fall back to 3DES for the encryption of private + keys when built with OpenSSL versions that don't do AES. + +20091105 + - (dtucker) [authfile.c] Add OpenSSL compat header so this still builds with + older versions of OpenSSL. + +20091024 + - (dtucker) OpenBSD CVS Sync + - djm@cvs.openbsd.org 2009/10/11 23:03:15 + [hostfile.c] + mention the host name that we are looking for in check_host_in_hostfile() + - sobrado@cvs.openbsd.org 2009/10/17 12:10:39 + [sftp-server.c] + sort flags. + - sobrado@cvs.openbsd.org 2009/10/22 12:35:53 + [ssh.1 ssh-agent.1 ssh-add.1] + use the UNIX-related macros (.At and .Ux) where appropriate. + ok jmc@ + - sobrado@cvs.openbsd.org 2009/10/22 15:02:12 + [ssh-agent.1 ssh-add.1 ssh.1] + write UNIX-domain in a more consistent way; while here, replace a + few remaining ".Tn UNIX" macros with ".Ux" ones. + pointed out by ratchov@, thanks! + ok jmc@ + - djm@cvs.openbsd.org 2009/10/22 22:26:13 + [authfile.c] + switch from 3DES to AES-128 for encryption of passphrase-protected + SSH protocol 2 private keys; ok several + - djm@cvs.openbsd.org 2009/10/23 01:57:11 + [sshconnect2.c] + disallow a hostile server from checking jpake auth by sending an + out-of-sequence success message. (doesn't affect code enabled by default) + - dtucker@cvs.openbsd.org 2009/10/24 00:48:34 + [ssh-keygen.1] + ssh-keygen now uses AES-128 for private keys + - (dtucker) [mdoc2man.awk] Teach it to understand the .Ux macro. + - (dtucker) [session.c openbsd-compat/port-linux.{c,h}] Bug #1637: if selinux + is enabled set the security context to "sftpd_t" before running the + internal sftp server Based on a patch from jchadima at redhat. + +20091011 + - (dtucker) [configure.ac sftp-client.c] Remove the gyrations required for + dirent d_type and DTTOIF as we've switched OpenBSD to the more portable + lstat. + - (dtucker) OpenBSD CVS Sync + - markus@cvs.openbsd.org 2009/10/08 14:03:41 + [sshd_config readconf.c ssh_config.5 servconf.c sshd_config.5] + disable protocol 1 by default (after a transition period of about 10 years) + ok deraadt + - jmc@cvs.openbsd.org 2009/10/08 20:42:12 + [sshd_config.5 ssh_config.5 sshd.8 ssh.1] + some tweaks now that protocol 1 is not offered by default; ok markus + - dtucker@cvs.openbsd.org 2009/10/11 10:41:26 + [sftp-client.c] + d_type isn't portable so use lstat to get dirent modes. Suggested by and + "looks sane" deraadt@ + - markus@cvs.openbsd.org 2009/10/08 18:04:27 + [regress/test-exec.sh] + re-enable protocol v1 for the tests. + +20091007 + - (dtucker) OpenBSD CVS Sync + - djm@cvs.openbsd.org 2009/08/12 00:13:00 + [sftp.c sftp.1] + support most of scp(1)'s commandline arguments in sftp(1), as a first + step towards making sftp(1) a drop-in replacement for scp(1). + One conflicting option (-P) has not been changed, pending further + discussion. + Patch from carlosvsilvapt@gmail.com as part of his work in the + Google Summer of Code + - jmc@cvs.openbsd.org 2009/08/12 06:31:42 + [sftp.1] + sort options; + - djm@cvs.openbsd.org 2009/08/13 01:11:19 + [sftp.1 sftp.c] + Swizzle options: "-P sftp_server_path" moves to "-D sftp_server_path", + add "-P port" to match scp(1). Fortunately, the -P option is only really + used by our regression scripts. + part of larger patch from carlosvsilvapt@gmail.com for his Google Summer + of Code work; ok deraadt markus + - jmc@cvs.openbsd.org 2009/08/13 13:39:54 + [sftp.1 sftp.c] + sync synopsis and usage(); + - djm@cvs.openbsd.org 2009/08/14 18:17:49 + [sftp-client.c] + make the "get_handle: ..." error messages vaguely useful by allowing + callers to specify their own error message strings. + - fgsch@cvs.openbsd.org 2009/08/15 18:56:34 + [auth.h] + remove unused define. markus@ ok. + (Id sync only, Portable still uses this.) + - dtucker@cvs.openbsd.org 2009/08/16 23:29:26 + [sshd_config.5] + Add PubkeyAuthentication to the list allowed in a Match block (bz #1577) + - djm@cvs.openbsd.org 2009/08/18 18:36:21 + [sftp-client.h sftp.1 sftp-client.c sftp.c] + recursive transfer support for get/put and on the commandline + work mostly by carlosvsilvapt@gmail.com for the Google Summer of Code + with some tweaks by me; "go for it" deraadt@ + - djm@cvs.openbsd.org 2009/08/18 21:15:59 + [sftp.1] + fix "get" command usage, spotted by jmc@ + - jmc@cvs.openbsd.org 2009/08/19 04:56:03 + [sftp.1] + ether -> either; + - dtucker@cvs.openbsd.org 2009/08/20 23:54:28 + [mux.c] + subsystem_flag is defined in ssh.c so it's extern; ok djm + - djm@cvs.openbsd.org 2009/08/27 17:28:52 + [sftp-server.c] + allow setting an explicit umask on the commandline to override whatever + default the user has. bz#1229; ok dtucker@ deraadt@ markus@ + - djm@cvs.openbsd.org 2009/08/27 17:33:49 + [ssh-keygen.c] + force use of correct hash function for random-art signature display + as it was inheriting the wrong one when bubblebabble signatures were + activated; bz#1611 report and patch from fwojcik+openssh AT besh.com; + ok markus@ + - djm@cvs.openbsd.org 2009/08/27 17:43:00 + [sftp-server.8] + allow setting an explicit umask on the commandline to override whatever + default the user has. bz#1229; ok dtucker@ deraadt@ markus@ + - djm@cvs.openbsd.org 2009/08/27 17:44:52 + [authfd.c ssh-add.c authfd.h] + Do not fall back to adding keys without contraints (ssh-add -c / -t ...) + when the agent refuses the constrained add request. This was a useful + migration measure back in 2002 when constraints were new, but just + adds risk now. + bz #1612, report and patch from dkg AT fifthhorseman.net; ok markus@ + - djm@cvs.openbsd.org 2009/08/31 20:56:02 + [sftp-server.c] + check correct variable for error message, spotted by martynas@ + - djm@cvs.openbsd.org 2009/08/31 21:01:29 + [sftp-server.8] + document -e and -h; prodded by jmc@ + - djm@cvs.openbsd.org 2009/09/01 14:43:17 + [ssh-agent.c] + fix a race condition in ssh-agent that could result in a wedged or + spinning agent: don't read off the end of the allocated fd_sets, and + don't issue blocking read/write on agent sockets - just fall back to + select() on retriable read/write errors. bz#1633 reported and tested + by "noodle10000 AT googlemail.com"; ok dtucker@ markus@ + - grunk@cvs.openbsd.org 2009/10/01 11:37:33 + [dh.c] + fix a cast + ok djm@ markus@ + - djm@cvs.openbsd.org 2009/10/06 04:46:40 + [session.c] + bz#1596: fflush(NULL) before exec() to ensure that everying (motd + in particular) has made it out before the streams go away. + - djm@cvs.openbsd.org 2008/12/07 22:17:48 + [regress/addrmatch.sh] + match string "passwordauthentication" only at start of line, not anywhere + in sshd -T output + - dtucker@cvs.openbsd.org 2009/05/05 07:51:36 + [regress/multiplex.sh] + Always specify ssh_config for multiplex tests: prevents breakage caused + by options in ~/.ssh/config. From Dan Peterson. + - djm@cvs.openbsd.org 2009/08/13 00:57:17 + [regress/Makefile] + regression test for port number parsing. written as part of the a2port + change that went into 5.2 but I forgot to commit it at the time... + - djm@cvs.openbsd.org 2009/08/13 01:11:55 + [regress/sftp-batch.sh regress/sftp-badcmds.sh regress/sftp.sh + regress/sftp-cmds.sh regres/sftp-glob.sh] + date: 2009/08/13 01:11:19; author: djm; state: Exp; lines: +10 -7 + Swizzle options: "-P sftp_server_path" moves to "-D sftp_server_path", + add "-P port" to match scp(1). Fortunately, the -P option is only really + used by our regression scripts. + part of larger patch from carlosvsilvapt@gmail.com for his Google Summer + of Code work; ok deraadt markus + - djm@cvs.openbsd.org 2009/08/20 18:43:07 + [regress/ssh-com-sftp.sh] + fix one sftp -D ... => sftp -P ... conversion that I missed; from Carlos + Silva for Google Summer of Code + - dtucker@cvs.openbsd.org 2009/10/06 23:51:49 + [regress/ssh2putty.sh] + Add OpenBSD tag to make syncs easier + - (dtucker) [regress/portnum.sh] Import new test. + - (dtucker) [configure.ac sftp-client.c] DTOTIF is in fs/ffs/dir.h on at + least dragonflybsd. + - (dtucker) d_type is not mandated by POSIX, so add fallback code using + stat(), needed on at least cygwin. + +20091002 + - (djm) [Makefile.in] Mention readconf.o in ssh-keysign's make deps. + spotted by des AT des.no + 20090926 - (djm) [contrib/caldera/openssh.spec contrib/redhat/openssh.spec] [contrib/suse/openssh.spec] Update for release Modified: vendor-crypto/openssh/dist/INSTALL ============================================================================== --- vendor-crypto/openssh/dist/INSTALL Mon Mar 8 08:05:02 2010 (r204860) +++ vendor-crypto/openssh/dist/INSTALL Mon Mar 8 11:19:52 2010 (r204861) @@ -208,10 +208,6 @@ are installed. --with-4in6 Check for IPv4 in IPv6 mapped addresses and convert them to real (AF_INET) IPv4 addresses. Works around some quirks on Linux. ---with-opensc=DIR ---with-sectok=DIR allows for OpenSC or sectok smartcard libraries to -be used with OpenSSH. See 'README.smartcard' for more details. - If you need to pass special options to the compiler or linker, you can specify these as environment variables before running ./configure. For example: @@ -266,4 +262,4 @@ Please refer to the "reporting bugs" sec http://www.openssh.com/ *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-vendor@FreeBSD.ORG Mon Mar 8 11:24:20 2010 Return-Path: Delivered-To: svn-src-vendor@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3545D106575E; Mon, 8 Mar 2010 11:24:20 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 0937E8FC08; Mon, 8 Mar 2010 11:24:20 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o28BOJQg077331; Mon, 8 Mar 2010 11:24:19 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o28BOJQ2077330; Mon, 8 Mar 2010 11:24:19 GMT (envelope-from des@svn.freebsd.org) Message-Id: <201003081124.o28BOJQ2077330@svn.freebsd.org> From: Dag-Erling Smorgrav Date: Mon, 8 Mar 2010 11:24:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor-crypto MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r204863 - in vendor-crypto/openssh/dist: . scard X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.5 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, 08 Mar 2010 11:24:20 -0000 Author: des Date: Mon Mar 8 11:24:19 2010 New Revision: 204863 URL: http://svn.freebsd.org/changeset/base/204863 Log: Forgot to remove dead files Deleted: vendor-crypto/openssh/dist/README.smartcard vendor-crypto/openssh/dist/scard/ vendor-crypto/openssh/dist/scard-opensc.c vendor-crypto/openssh/dist/scard.c vendor-crypto/openssh/dist/scard.h From owner-svn-src-vendor@FreeBSD.ORG Mon Mar 8 11:25:45 2010 Return-Path: Delivered-To: svn-src-vendor@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id DDB0C1065673; Mon, 8 Mar 2010 11:25:45 +0000 (UTC) (envelope-from des@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id C7B1D8FC3F; Mon, 8 Mar 2010 11:25:45 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o28BPj59077665; Mon, 8 Mar 2010 11:25:45 GMT (envelope-from des@svn.freebsd.org) Received: (from des@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o28BPj5o077662; Mon, 8 Mar 2010 11:25:45 GMT (envelope-from des@svn.freebsd.org) Message-Id: <201003081125.o28BPj5o077662@svn.freebsd.org> From: Dag-Erling Smorgrav Date: Mon, 8 Mar 2010 11:25:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor-crypto MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r204864 - in vendor-crypto/openssh/5.4p1: . contrib contrib/caldera contrib/cygwin contrib/redhat contrib/suse openbsd-compat regress scard X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.5 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, 08 Mar 2010 11:25:46 -0000 Author: des Date: Mon Mar 8 11:25:45 2010 New Revision: 204864 URL: http://svn.freebsd.org/changeset/base/204864 Log: Tag OpenSSH 5.4p1 Added: vendor-crypto/openssh/5.4p1/ - copied from r204860, vendor-crypto/openssh/dist/ vendor-crypto/openssh/5.4p1/PROTOCOL.certkeys - copied unchanged from r204861, vendor-crypto/openssh/dist/PROTOCOL.certkeys vendor-crypto/openssh/5.4p1/PROTOCOL.mux - copied unchanged from r204861, vendor-crypto/openssh/dist/PROTOCOL.mux vendor-crypto/openssh/5.4p1/openbsd-compat/pwcache.c - copied unchanged from r204861, vendor-crypto/openssh/dist/openbsd-compat/pwcache.c vendor-crypto/openssh/5.4p1/pkcs11.h - copied unchanged from r204861, vendor-crypto/openssh/dist/pkcs11.h vendor-crypto/openssh/5.4p1/regress/agent-pkcs11.sh - copied unchanged from r204861, vendor-crypto/openssh/dist/regress/agent-pkcs11.sh vendor-crypto/openssh/5.4p1/regress/cert-hostkey.sh - copied unchanged from r204861, vendor-crypto/openssh/dist/regress/cert-hostkey.sh vendor-crypto/openssh/5.4p1/regress/cert-userkey.sh - copied unchanged from r204861, vendor-crypto/openssh/dist/regress/cert-userkey.sh vendor-crypto/openssh/5.4p1/regress/keygen-convert.sh - copied unchanged from r204861, vendor-crypto/openssh/dist/regress/keygen-convert.sh vendor-crypto/openssh/5.4p1/regress/portnum.sh - copied unchanged from r204861, vendor-crypto/openssh/dist/regress/portnum.sh vendor-crypto/openssh/5.4p1/roaming_client.c - copied unchanged from r204861, vendor-crypto/openssh/dist/roaming_client.c vendor-crypto/openssh/5.4p1/roaming_serv.c - copied unchanged from r204861, vendor-crypto/openssh/dist/roaming_serv.c vendor-crypto/openssh/5.4p1/ssh-pkcs11-client.c - copied unchanged from r204861, vendor-crypto/openssh/dist/ssh-pkcs11-client.c vendor-crypto/openssh/5.4p1/ssh-pkcs11-helper.0 - copied unchanged from r204861, vendor-crypto/openssh/dist/ssh-pkcs11-helper.0 vendor-crypto/openssh/5.4p1/ssh-pkcs11-helper.8 - copied unchanged from r204861, vendor-crypto/openssh/dist/ssh-pkcs11-helper.8 vendor-crypto/openssh/5.4p1/ssh-pkcs11-helper.c - copied unchanged from r204861, vendor-crypto/openssh/dist/ssh-pkcs11-helper.c vendor-crypto/openssh/5.4p1/ssh-pkcs11.c - copied unchanged from r204861, vendor-crypto/openssh/dist/ssh-pkcs11.c vendor-crypto/openssh/5.4p1/ssh-pkcs11.h - copied unchanged from r204861, vendor-crypto/openssh/dist/ssh-pkcs11.h Replaced: vendor-crypto/openssh/5.4p1/ChangeLog - copied unchanged from r204861, vendor-crypto/openssh/dist/ChangeLog vendor-crypto/openssh/5.4p1/INSTALL - copied unchanged from r204861, vendor-crypto/openssh/dist/INSTALL vendor-crypto/openssh/5.4p1/Makefile.in - copied unchanged from r204861, vendor-crypto/openssh/dist/Makefile.in vendor-crypto/openssh/5.4p1/PROTOCOL - copied unchanged from r204861, vendor-crypto/openssh/dist/PROTOCOL vendor-crypto/openssh/5.4p1/PROTOCOL.agent - copied unchanged from r204861, vendor-crypto/openssh/dist/PROTOCOL.agent vendor-crypto/openssh/5.4p1/README - copied unchanged from r204861, vendor-crypto/openssh/dist/README vendor-crypto/openssh/5.4p1/addrmatch.c - copied unchanged from r204861, vendor-crypto/openssh/dist/addrmatch.c vendor-crypto/openssh/5.4p1/auth-krb5.c - copied unchanged from r204861, vendor-crypto/openssh/dist/auth-krb5.c vendor-crypto/openssh/5.4p1/auth-options.c - copied unchanged from r204861, vendor-crypto/openssh/dist/auth-options.c vendor-crypto/openssh/5.4p1/auth-options.h - copied unchanged from r204861, vendor-crypto/openssh/dist/auth-options.h vendor-crypto/openssh/5.4p1/auth-rh-rsa.c - copied unchanged from r204861, vendor-crypto/openssh/dist/auth-rh-rsa.c vendor-crypto/openssh/5.4p1/auth-rhosts.c - copied unchanged from r204861, vendor-crypto/openssh/dist/auth-rhosts.c vendor-crypto/openssh/5.4p1/auth-rsa.c - copied unchanged from r204861, vendor-crypto/openssh/dist/auth-rsa.c vendor-crypto/openssh/5.4p1/auth.c - copied unchanged from r204861, vendor-crypto/openssh/dist/auth.c vendor-crypto/openssh/5.4p1/auth.h - copied unchanged from r204861, vendor-crypto/openssh/dist/auth.h vendor-crypto/openssh/5.4p1/auth2-hostbased.c - copied unchanged from r204861, vendor-crypto/openssh/dist/auth2-hostbased.c vendor-crypto/openssh/5.4p1/auth2-pubkey.c - copied unchanged from r204861, vendor-crypto/openssh/dist/auth2-pubkey.c vendor-crypto/openssh/5.4p1/authfd.c - copied unchanged from r204861, vendor-crypto/openssh/dist/authfd.c vendor-crypto/openssh/5.4p1/authfd.h - copied unchanged from r204861, vendor-crypto/openssh/dist/authfd.h vendor-crypto/openssh/5.4p1/authfile.c - copied unchanged from r204861, vendor-crypto/openssh/dist/authfile.c vendor-crypto/openssh/5.4p1/authfile.h - copied unchanged from r204861, vendor-crypto/openssh/dist/authfile.h vendor-crypto/openssh/5.4p1/bufaux.c - copied unchanged from r204861, vendor-crypto/openssh/dist/bufaux.c vendor-crypto/openssh/5.4p1/buffer.c - copied unchanged from r204861, vendor-crypto/openssh/dist/buffer.c vendor-crypto/openssh/5.4p1/buffer.h - copied unchanged from r204861, vendor-crypto/openssh/dist/buffer.h vendor-crypto/openssh/5.4p1/canohost.c - copied unchanged from r204861, vendor-crypto/openssh/dist/canohost.c vendor-crypto/openssh/5.4p1/channels.c - copied unchanged from r204861, vendor-crypto/openssh/dist/channels.c vendor-crypto/openssh/5.4p1/channels.h - copied unchanged from r204861, vendor-crypto/openssh/dist/channels.h vendor-crypto/openssh/5.4p1/clientloop.c - copied unchanged from r204861, vendor-crypto/openssh/dist/clientloop.c vendor-crypto/openssh/5.4p1/clientloop.h - copied unchanged from r204861, vendor-crypto/openssh/dist/clientloop.h vendor-crypto/openssh/5.4p1/config.guess - copied unchanged from r204861, vendor-crypto/openssh/dist/config.guess vendor-crypto/openssh/5.4p1/config.h.in - copied unchanged from r204861, vendor-crypto/openssh/dist/config.h.in vendor-crypto/openssh/5.4p1/config.sub - copied unchanged from r204861, vendor-crypto/openssh/dist/config.sub vendor-crypto/openssh/5.4p1/configure - copied unchanged from r204861, vendor-crypto/openssh/dist/configure vendor-crypto/openssh/5.4p1/configure.ac - copied unchanged from r204861, vendor-crypto/openssh/dist/configure.ac vendor-crypto/openssh/5.4p1/contrib/caldera/openssh.spec - copied unchanged from r204861, vendor-crypto/openssh/dist/contrib/caldera/openssh.spec vendor-crypto/openssh/5.4p1/contrib/cygwin/Makefile - copied unchanged from r204861, vendor-crypto/openssh/dist/contrib/cygwin/Makefile vendor-crypto/openssh/5.4p1/contrib/gnome-ssh-askpass2.c - copied unchanged from r204861, vendor-crypto/openssh/dist/contrib/gnome-ssh-askpass2.c vendor-crypto/openssh/5.4p1/contrib/redhat/openssh.spec - copied unchanged from r204861, vendor-crypto/openssh/dist/contrib/redhat/openssh.spec vendor-crypto/openssh/5.4p1/contrib/suse/openssh.spec - copied unchanged from r204861, vendor-crypto/openssh/dist/contrib/suse/openssh.spec vendor-crypto/openssh/5.4p1/defines.h - copied unchanged from r204861, vendor-crypto/openssh/dist/defines.h vendor-crypto/openssh/5.4p1/dh.c - copied unchanged from r204861, vendor-crypto/openssh/dist/dh.c vendor-crypto/openssh/5.4p1/dns.c - copied unchanged from r204861, vendor-crypto/openssh/dist/dns.c vendor-crypto/openssh/5.4p1/dns.h - copied unchanged from r204861, vendor-crypto/openssh/dist/dns.h vendor-crypto/openssh/5.4p1/hostfile.c - copied unchanged from r204861, vendor-crypto/openssh/dist/hostfile.c vendor-crypto/openssh/5.4p1/hostfile.h - copied unchanged from r204861, vendor-crypto/openssh/dist/hostfile.h vendor-crypto/openssh/5.4p1/kex.c - copied unchanged from r204861, vendor-crypto/openssh/dist/kex.c vendor-crypto/openssh/5.4p1/kex.h - copied unchanged from r204861, vendor-crypto/openssh/dist/kex.h vendor-crypto/openssh/5.4p1/kexdhs.c - copied unchanged from r204861, vendor-crypto/openssh/dist/kexdhs.c vendor-crypto/openssh/5.4p1/kexgexs.c - copied unchanged from r204861, vendor-crypto/openssh/dist/kexgexs.c vendor-crypto/openssh/5.4p1/key.c - copied unchanged from r204861, vendor-crypto/openssh/dist/key.c vendor-crypto/openssh/5.4p1/key.h - copied unchanged from r204861, vendor-crypto/openssh/dist/key.h vendor-crypto/openssh/5.4p1/loginrec.c - copied unchanged from r204861, vendor-crypto/openssh/dist/loginrec.c vendor-crypto/openssh/5.4p1/match.h - copied unchanged from r204861, vendor-crypto/openssh/dist/match.h vendor-crypto/openssh/5.4p1/mdoc2man.awk - copied unchanged from r204861, vendor-crypto/openssh/dist/mdoc2man.awk vendor-crypto/openssh/5.4p1/misc.c - copied unchanged from r204861, vendor-crypto/openssh/dist/misc.c vendor-crypto/openssh/5.4p1/misc.h - copied unchanged from r204861, vendor-crypto/openssh/dist/misc.h vendor-crypto/openssh/5.4p1/monitor.c - copied unchanged from r204861, vendor-crypto/openssh/dist/monitor.c vendor-crypto/openssh/5.4p1/monitor_fdpass.c - copied unchanged from r204861, vendor-crypto/openssh/dist/monitor_fdpass.c vendor-crypto/openssh/5.4p1/monitor_wrap.c - copied unchanged from r204861, vendor-crypto/openssh/dist/monitor_wrap.c vendor-crypto/openssh/5.4p1/mux.c - copied unchanged from r204861, vendor-crypto/openssh/dist/mux.c vendor-crypto/openssh/5.4p1/myproposal.h - copied unchanged from r204861, vendor-crypto/openssh/dist/myproposal.h vendor-crypto/openssh/5.4p1/nchan.c - copied unchanged from r204861, vendor-crypto/openssh/dist/nchan.c vendor-crypto/openssh/5.4p1/openbsd-compat/Makefile.in - copied unchanged from r204861, vendor-crypto/openssh/dist/openbsd-compat/Makefile.in vendor-crypto/openssh/5.4p1/openbsd-compat/bsd-cygwin_util.c - copied unchanged from r204861, vendor-crypto/openssh/dist/openbsd-compat/bsd-cygwin_util.c vendor-crypto/openssh/5.4p1/openbsd-compat/openbsd-compat.h - copied unchanged from r204861, vendor-crypto/openssh/dist/openbsd-compat/openbsd-compat.h vendor-crypto/openssh/5.4p1/openbsd-compat/openssl-compat.c - copied unchanged from r204861, vendor-crypto/openssh/dist/openbsd-compat/openssl-compat.c vendor-crypto/openssh/5.4p1/openbsd-compat/port-aix.c - copied unchanged from r204861, vendor-crypto/openssh/dist/openbsd-compat/port-aix.c vendor-crypto/openssh/5.4p1/openbsd-compat/port-aix.h - copied unchanged from r204861, vendor-crypto/openssh/dist/openbsd-compat/port-aix.h vendor-crypto/openssh/5.4p1/openbsd-compat/port-linux.c - copied unchanged from r204861, vendor-crypto/openssh/dist/openbsd-compat/port-linux.c vendor-crypto/openssh/5.4p1/openbsd-compat/port-linux.h - copied unchanged from r204861, vendor-crypto/openssh/dist/openbsd-compat/port-linux.h vendor-crypto/openssh/5.4p1/openbsd-compat/readpassphrase.c - copied unchanged from r204861, vendor-crypto/openssh/dist/openbsd-compat/readpassphrase.c vendor-crypto/openssh/5.4p1/opensshd.init.in - copied unchanged from r204861, vendor-crypto/openssh/dist/opensshd.init.in vendor-crypto/openssh/5.4p1/pathnames.h - copied unchanged from r204861, vendor-crypto/openssh/dist/pathnames.h vendor-crypto/openssh/5.4p1/platform.c - copied unchanged from r204861, vendor-crypto/openssh/dist/platform.c vendor-crypto/openssh/5.4p1/platform.h - copied unchanged from r204861, vendor-crypto/openssh/dist/platform.h vendor-crypto/openssh/5.4p1/readconf.c - copied unchanged from r204861, vendor-crypto/openssh/dist/readconf.c vendor-crypto/openssh/5.4p1/readconf.h - copied unchanged from r204861, vendor-crypto/openssh/dist/readconf.h vendor-crypto/openssh/5.4p1/regress/Makefile - copied unchanged from r204861, vendor-crypto/openssh/dist/regress/Makefile vendor-crypto/openssh/5.4p1/regress/addrmatch.sh - copied unchanged from r204861, vendor-crypto/openssh/dist/regress/addrmatch.sh vendor-crypto/openssh/5.4p1/regress/cfgmatch.sh - copied unchanged from r204861, vendor-crypto/openssh/dist/regress/cfgmatch.sh vendor-crypto/openssh/5.4p1/regress/cipher-speed.sh - copied unchanged from r204861, vendor-crypto/openssh/dist/regress/cipher-speed.sh vendor-crypto/openssh/5.4p1/regress/forwarding.sh - copied unchanged from r204861, vendor-crypto/openssh/dist/regress/forwarding.sh vendor-crypto/openssh/5.4p1/regress/multiplex.sh - copied unchanged from r204861, vendor-crypto/openssh/dist/regress/multiplex.sh vendor-crypto/openssh/5.4p1/regress/sftp-badcmds.sh - copied unchanged from r204861, vendor-crypto/openssh/dist/regress/sftp-badcmds.sh vendor-crypto/openssh/5.4p1/regress/sftp-batch.sh - copied unchanged from r204861, vendor-crypto/openssh/dist/regress/sftp-batch.sh vendor-crypto/openssh/5.4p1/regress/sftp-cmds.sh - copied unchanged from r204861, vendor-crypto/openssh/dist/regress/sftp-cmds.sh vendor-crypto/openssh/5.4p1/regress/sftp-glob.sh - copied unchanged from r204861, vendor-crypto/openssh/dist/regress/sftp-glob.sh vendor-crypto/openssh/5.4p1/regress/sftp.sh - copied unchanged from r204861, vendor-crypto/openssh/dist/regress/sftp.sh vendor-crypto/openssh/5.4p1/regress/ssh-com-sftp.sh - copied unchanged from r204861, vendor-crypto/openssh/dist/regress/ssh-com-sftp.sh vendor-crypto/openssh/5.4p1/regress/ssh2putty.sh - copied unchanged from r204861, vendor-crypto/openssh/dist/regress/ssh2putty.sh vendor-crypto/openssh/5.4p1/regress/test-exec.sh - copied unchanged from r204861, vendor-crypto/openssh/dist/regress/test-exec.sh vendor-crypto/openssh/5.4p1/roaming.h - copied unchanged from r204861, vendor-crypto/openssh/dist/roaming.h vendor-crypto/openssh/5.4p1/roaming_common.c - copied unchanged from r204861, vendor-crypto/openssh/dist/roaming_common.c vendor-crypto/openssh/5.4p1/scp.0 - copied unchanged from r204861, vendor-crypto/openssh/dist/scp.0 vendor-crypto/openssh/5.4p1/scp.1 - copied unchanged from r204861, vendor-crypto/openssh/dist/scp.1 vendor-crypto/openssh/5.4p1/scp.c - copied unchanged from r204861, vendor-crypto/openssh/dist/scp.c vendor-crypto/openssh/5.4p1/servconf.c - copied unchanged from r204861, vendor-crypto/openssh/dist/servconf.c vendor-crypto/openssh/5.4p1/servconf.h - copied unchanged from r204861, vendor-crypto/openssh/dist/servconf.h vendor-crypto/openssh/5.4p1/session.c - copied unchanged from r204861, vendor-crypto/openssh/dist/session.c vendor-crypto/openssh/5.4p1/sftp-client.c - copied unchanged from r204861, vendor-crypto/openssh/dist/sftp-client.c vendor-crypto/openssh/5.4p1/sftp-client.h - copied unchanged from r204861, vendor-crypto/openssh/dist/sftp-client.h vendor-crypto/openssh/5.4p1/sftp-common.c - copied unchanged from r204861, vendor-crypto/openssh/dist/sftp-common.c vendor-crypto/openssh/5.4p1/sftp-common.h - copied unchanged from r204861, vendor-crypto/openssh/dist/sftp-common.h vendor-crypto/openssh/5.4p1/sftp-server.0 - copied unchanged from r204861, vendor-crypto/openssh/dist/sftp-server.0 vendor-crypto/openssh/5.4p1/sftp-server.8 - copied unchanged from r204861, vendor-crypto/openssh/dist/sftp-server.8 vendor-crypto/openssh/5.4p1/sftp-server.c - copied unchanged from r204861, vendor-crypto/openssh/dist/sftp-server.c vendor-crypto/openssh/5.4p1/sftp.0 - copied unchanged from r204861, vendor-crypto/openssh/dist/sftp.0 vendor-crypto/openssh/5.4p1/sftp.1 - copied unchanged from r204861, vendor-crypto/openssh/dist/sftp.1 vendor-crypto/openssh/5.4p1/sftp.c - copied unchanged from r204861, vendor-crypto/openssh/dist/sftp.c vendor-crypto/openssh/5.4p1/ssh-add.0 - copied unchanged from r204861, vendor-crypto/openssh/dist/ssh-add.0 vendor-crypto/openssh/5.4p1/ssh-add.1 - copied unchanged from r204861, vendor-crypto/openssh/dist/ssh-add.1 vendor-crypto/openssh/5.4p1/ssh-add.c - copied unchanged from r204861, vendor-crypto/openssh/dist/ssh-add.c vendor-crypto/openssh/5.4p1/ssh-agent.0 - copied unchanged from r204861, vendor-crypto/openssh/dist/ssh-agent.0 vendor-crypto/openssh/5.4p1/ssh-agent.1 - copied unchanged from r204861, vendor-crypto/openssh/dist/ssh-agent.1 vendor-crypto/openssh/5.4p1/ssh-agent.c - copied unchanged from r204861, vendor-crypto/openssh/dist/ssh-agent.c vendor-crypto/openssh/5.4p1/ssh-dss.c - copied unchanged from r204861, vendor-crypto/openssh/dist/ssh-dss.c vendor-crypto/openssh/5.4p1/ssh-keygen.0 - copied unchanged from r204861, vendor-crypto/openssh/dist/ssh-keygen.0 vendor-crypto/openssh/5.4p1/ssh-keygen.1 - copied unchanged from r204861, vendor-crypto/openssh/dist/ssh-keygen.1 vendor-crypto/openssh/5.4p1/ssh-keygen.c - copied unchanged from r204861, vendor-crypto/openssh/dist/ssh-keygen.c vendor-crypto/openssh/5.4p1/ssh-keyscan.0 - copied unchanged from r204861, vendor-crypto/openssh/dist/ssh-keyscan.0 vendor-crypto/openssh/5.4p1/ssh-keyscan.1 - copied unchanged from r204861, vendor-crypto/openssh/dist/ssh-keyscan.1 vendor-crypto/openssh/5.4p1/ssh-keyscan.c - copied unchanged from r204861, vendor-crypto/openssh/dist/ssh-keyscan.c vendor-crypto/openssh/5.4p1/ssh-keysign.c - copied unchanged from r204861, vendor-crypto/openssh/dist/ssh-keysign.c vendor-crypto/openssh/5.4p1/ssh-rand-helper.c - copied unchanged from r204861, vendor-crypto/openssh/dist/ssh-rand-helper.c vendor-crypto/openssh/5.4p1/ssh-rsa.c - copied unchanged from r204861, vendor-crypto/openssh/dist/ssh-rsa.c vendor-crypto/openssh/5.4p1/ssh.0 - copied unchanged from r204861, vendor-crypto/openssh/dist/ssh.0 vendor-crypto/openssh/5.4p1/ssh.1 - copied unchanged from r204861, vendor-crypto/openssh/dist/ssh.1 vendor-crypto/openssh/5.4p1/ssh.c - copied unchanged from r204861, vendor-crypto/openssh/dist/ssh.c vendor-crypto/openssh/5.4p1/ssh2.h - copied unchanged from r204861, vendor-crypto/openssh/dist/ssh2.h vendor-crypto/openssh/5.4p1/ssh_config - copied unchanged from r204861, vendor-crypto/openssh/dist/ssh_config vendor-crypto/openssh/5.4p1/ssh_config.0 - copied unchanged from r204861, vendor-crypto/openssh/dist/ssh_config.0 vendor-crypto/openssh/5.4p1/ssh_config.5 - copied unchanged from r204861, vendor-crypto/openssh/dist/ssh_config.5 vendor-crypto/openssh/5.4p1/sshconnect.c - copied unchanged from r204861, vendor-crypto/openssh/dist/sshconnect.c vendor-crypto/openssh/5.4p1/sshconnect2.c - copied unchanged from r204861, vendor-crypto/openssh/dist/sshconnect2.c vendor-crypto/openssh/5.4p1/sshd.0 - copied unchanged from r204861, vendor-crypto/openssh/dist/sshd.0 vendor-crypto/openssh/5.4p1/sshd.8 - copied unchanged from r204861, vendor-crypto/openssh/dist/sshd.8 vendor-crypto/openssh/5.4p1/sshd.c - copied unchanged from r204861, vendor-crypto/openssh/dist/sshd.c vendor-crypto/openssh/5.4p1/sshd_config - copied unchanged from r204861, vendor-crypto/openssh/dist/sshd_config vendor-crypto/openssh/5.4p1/sshd_config.0 - copied unchanged from r204861, vendor-crypto/openssh/dist/sshd_config.0 vendor-crypto/openssh/5.4p1/sshd_config.5 - copied unchanged from r204861, vendor-crypto/openssh/dist/sshd_config.5 vendor-crypto/openssh/5.4p1/sshpty.h - copied unchanged from r204861, vendor-crypto/openssh/dist/sshpty.h vendor-crypto/openssh/5.4p1/sshtty.c - copied unchanged from r204861, vendor-crypto/openssh/dist/sshtty.c vendor-crypto/openssh/5.4p1/version.h - copied unchanged from r204861, vendor-crypto/openssh/dist/version.h Deleted: vendor-crypto/openssh/5.4p1/README.smartcard vendor-crypto/openssh/5.4p1/scard/ vendor-crypto/openssh/5.4p1/scard-opensc.c vendor-crypto/openssh/5.4p1/scard.c vendor-crypto/openssh/5.4p1/scard.h Copied: vendor-crypto/openssh/5.4p1/ChangeLog (from r204861, vendor-crypto/openssh/dist/ChangeLog) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ vendor-crypto/openssh/5.4p1/ChangeLog Mon Mar 8 11:25:45 2010 (r204864, copy of r204861, vendor-crypto/openssh/dist/ChangeLog) @@ -0,0 +1,2627 @@ +20100307 + - (djm) OpenBSD CVS Sync + - djm@cvs.openbsd.org 2010/03/07 22:16:01 + [ssh-keygen.c] + make internal strptime string match strftime format; + suggested by vinschen AT redhat.com and markus@ + - djm@cvs.openbsd.org 2010/03/08 00:28:55 + [ssh-keygen.1] + document permit-agent-forwarding certificate constraint; patch from + stevesk@ + - djm@cvs.openbsd.org 2010/03/07 22:01:32 + [version.h] + openssh-5.4 + - (djm) [README contrib/caldera/openssh.spec contrib/redhat/openssh.spec] + crank version numbers + - (djm) Release OpenSSH-5.4p1 + +20100307 + - (dtucker) [auth.c] Bug #1710: call setauthdb on AIX before getpwuid so that + it gets the passwd struct from the LAM that knows about the user which is + not necessarily the default. Patch from Alexandre Letourneau. + - (dtucker) [session.c] Bug #1567: move setpcred call to before chroot and + do not set real uid, since that's needed for the chroot, and will be set + by permanently_set_uid. + - (dtucker) [session.c] Also initialize creds to NULL for handing to + setpcred. + - (dtucker) OpenBSD CVS Sync + - dtucker@cvs.openbsd.org 2010/03/07 11:57:13 + [auth-rhosts.c monitor.c monitor_wrap.c session.c auth-options.c sshd.c] + Hold authentication debug messages until after successful authentication. + Fixes an info leak of environment variables specified in authorized_keys, + reported by Jacob Appelbaum. ok djm@ + +20100305 + - OpenBSD CVS Sync + - jmc@cvs.openbsd.org 2010/03/04 12:51:25 + [ssh.1 sshd_config.5] + tweak previous; + - djm@cvs.openbsd.org 2010/03/04 20:35:08 + [ssh-keygen.1 ssh-keygen.c] + Add a -L flag to print the contents of a certificate; ok markus@ + - jmc@cvs.openbsd.org 2010/03/04 22:52:40 + [ssh-keygen.1] + fix Bk/Ek; + - djm@cvs.openbsd.org 2010/03/04 23:17:25 + [sshd_config.5] + missing word; spotted by jmc@ + - djm@cvs.openbsd.org 2010/03/04 23:19:29 + [ssh.1 sshd.8] + move section on CA and revoked keys from ssh.1 to sshd.8's known hosts + format section and rework it a bit; requested by jmc@ + - djm@cvs.openbsd.org 2010/03/04 23:27:25 + [auth-options.c ssh-keygen.c] + "force-command" is not spelled "forced-command"; spotted by + imorgan AT nas.nasa.gov + - djm@cvs.openbsd.org 2010/03/05 02:58:11 + [auth.c] + make the warning for a revoked key louder and more noticable + - jmc@cvs.openbsd.org 2010/03/05 06:50:35 + [ssh.1 sshd.8] + tweak previous; + - jmc@cvs.openbsd.org 2010/03/05 08:31:20 + [ssh.1] + document certificate authentication; help/ok djm + - djm@cvs.openbsd.org 2010/03/05 10:28:21 + [ssh-add.1 ssh.1 ssh_config.5] + mention loading of certificate files from [private]-cert.pub when + they are present; feedback and ok jmc@ + - (tim) [ssh-pkcs11.c] Fix "non-constant initializer" errors in older + compilers. OK djm@ + - (djm) [ssh-rand-helper.c] declare optind, avoiding compilation failure + on some platforms + - (djm) [configure.ac] set -fno-strict-aliasing for gcc4; ok dtucker@ + +20100304 + - (djm) [ssh-keygen.c] Use correct local variable, instead of + maybe-undefined global "optarg" + - (djm) [contrib/redhat/openssh.spec] Replace obsolete BuildPreReq + on XFree86-devel with neutral /usr/include/X11/Xlib.h; + imorgan AT nas.nasa.gov in bz#1731 + - (djm) [.cvsignore] Ignore ssh-pkcs11-helper + - (djm) [regress/Makefile] Cleanup sshd_proxy_orig + - OpenBSD CVS Sync + - djm@cvs.openbsd.org 2010/03/03 01:44:36 + [auth-options.c key.c] + reject strings with embedded ASCII nul chars in certificate key IDs, + principal names and constraints + - djm@cvs.openbsd.org 2010/03/03 22:49:50 + [sshd.8] + the authorized_keys option for CA keys is "cert-authority", not + "from=cert-authority". spotted by imorgan AT nas.nasa.gov + - djm@cvs.openbsd.org 2010/03/03 22:50:40 + [PROTOCOL.certkeys] + s/similar same/similar/; from imorgan AT nas.nasa.gov + - djm@cvs.openbsd.org 2010/03/04 01:44:57 + [key.c] + use buffer_get_string_ptr_ret() where we are checking the return + value explicitly instead of the fatal()-causing buffer_get_string_ptr() + - djm@cvs.openbsd.org 2010/03/04 10:36:03 + [auth-rh-rsa.c auth-rsa.c auth.c auth.h auth2-hostbased.c auth2-pubkey.c] + [authfile.c authfile.h hostfile.c hostfile.h servconf.c servconf.h] + [ssh-keygen.c ssh.1 sshconnect.c sshd_config.5] + Add a TrustedUserCAKeys option to sshd_config to specify CA keys that + are trusted to authenticate users (in addition than doing it per-user + in authorized_keys). + + Add a RevokedKeys option to sshd_config and a @revoked marker to + known_hosts to allow keys to me revoked and banned for user or host + authentication. + + feedback and ok markus@ + - djm@cvs.openbsd.org 2010/03/03 00:47:23 + [regress/cert-hostkey.sh regress/cert-userkey.sh] + add an extra test to ensure that authentication with the wrong + certificate fails as it should (and it does) + - djm@cvs.openbsd.org 2010/03/04 10:38:23 + [regress/cert-hostkey.sh regress/cert-userkey.sh] + additional regression tests for revoked keys and TrustedUserCAKeys + +20100303 + - (djm) [PROTOCOL.certkeys] Add RCS Ident + - OpenBSD CVS Sync + - jmc@cvs.openbsd.org 2010/02/26 22:09:28 + [ssh-keygen.1 ssh.1 sshd.8] + tweak previous; + - otto@cvs.openbsd.org 2010/03/01 11:07:06 + [ssh-add.c] + zap what seems to be a left-over debug message; ok markus@ + - djm@cvs.openbsd.org 2010/03/02 23:20:57 + [ssh-keygen.c] + POSIX strptime is stricter than OpenBSD's so do a little dance to + appease it. + - (djm) [regress/cert-userkey.sh] s/echo -n/echon/ here too + +20100302 + - (tim) [config.guess config.sub] Bug 1722: Update to latest versions from + http://git.savannah.gnu.org/gitweb/ (2009-12-30 and 2010-01-22 + respectively). + +20100301 + - (dtucker) [regress/{cert-hostkey,cfgmatch,cipher-speed}.sh} Replace + "echo -n" with "echon" for portability. + - (dtucker) [openbsd-compat/port-linux.c] Make failure to write to the OOM + adjust log at verbose only, since according to cjwatson in bug #1470 + some virtualization platforms don't allow writes. + +20100228 + - (djm) [auth.c] On Cygwin, refuse usernames that have differences in + case from that matched in the system password database. On this + platform, passwords are stored case-insensitively, but sshd requires + exact case matching for Match blocks in sshd_config(5). Based on + a patch from vinschen AT redhat.com. + - (tim) [ssh-pkcs11-helper.c] Move declarations before calling functions + to make older compilers (gcc 2.95) happy. + +20100227 + - (djm) [ssh-pkcs11-helper.c ] Ensure RNG is initialised and seeded + - (djm) [openbsd-compat/bsd-cygwin_util.c] Reduce the set of environment + variables copied into sshd child processes. From vinschen AT redhat.com + +20100226 + - OpenBSD CVS Sync + - djm@cvs.openbsd.org 2010/02/26 20:29:54 + [PROTOCOL PROTOCOL.agent PROTOCOL.certkeys addrmatch.c auth-options.c] + [auth-options.h auth.h auth2-pubkey.c authfd.c dns.c dns.h hostfile.c] + [hostfile.h kex.h kexdhs.c kexgexs.c key.c key.h match.h monitor.c] + [myproposal.h servconf.c servconf.h ssh-add.c ssh-agent.c ssh-dss.c] + [ssh-keygen.1 ssh-keygen.c ssh-rsa.c ssh.1 ssh.c ssh2.h sshconnect.c] + [sshconnect2.c sshd.8 sshd.c sshd_config.5] + Add support for certificate key types for users and hosts. + + OpenSSH certificate key types are not X.509 certificates, but a much + simpler format that encodes a public key, identity information and + some validity constraints and signs it with a CA key. CA keys are + regular SSH keys. This certificate style avoids the attack surface + of X.509 certificates and is very easy to deploy. + + Certified host keys allow automatic acceptance of new host keys + when a CA certificate is marked as trusted in ~/.ssh/known_hosts. + see VERIFYING HOST KEYS in ssh(1) for details. + + Certified user keys allow authentication of users when the signing + CA key is marked as trusted in authorized_keys. See "AUTHORIZED_KEYS + FILE FORMAT" in sshd(8) for details. + + Certificates are minted using ssh-keygen(1), documentation is in + the "CERTIFICATES" section of that manpage. + + Documentation on the format of certificates is in the file + PROTOCOL.certkeys + + feedback and ok markus@ + - djm@cvs.openbsd.org 2010/02/26 20:33:21 + [Makefile regress/cert-hostkey.sh regress/cert-userkey.sh] + regression tests for certified keys + +20100224 + - (djm) [pkcs11.h ssh-pkcs11-client.c ssh-pkcs11-helper.c ssh-pkcs11.c] + [ssh-pkcs11.h] Add $OpenBSD$ RCS idents so we can sync portable + - (djm) OpenBSD CVS Sync + - djm@cvs.openbsd.org 2010/02/11 20:37:47 + [pathnames.h] + correct comment + - dtucker@cvs.openbsd.org 2009/11/09 04:20:04 + [regress/Makefile] + add regression test for ssh-keygen pubkey conversions + - dtucker@cvs.openbsd.org 2010/01/11 02:53:44 + [regress/forwarding.sh] + regress test for stdio forwarding + - djm@cvs.openbsd.org 2010/02/09 04:57:36 + [regress/addrmatch.sh] + clean up droppings + - djm@cvs.openbsd.org 2010/02/09 06:29:02 + [regress/Makefile] + turn on all the malloc(3) checking options when running regression + tests. this has caught a few bugs for me in the past; ok dtucker@ + - djm@cvs.openbsd.org 2010/02/24 06:21:56 + [regress/test-exec.sh] + wait for sshd to fully stop in cleanup() function; avoids races in tests + that do multiple start_sshd/cleanup cycles; "I hate pidfiles" deraadt@ + - markus@cvs.openbsd.org 2010/02/08 10:52:47 + [regress/agent-pkcs11.sh] + test for PKCS#11 support (currently disabled) + - (djm) [Makefile.in ssh-pkcs11-helper.8] Add manpage for PKCS#11 helper + - (djm) [contrib/caldera/openssh.spec contrib/redhat/openssh.spec] + [contrib/suse/openssh.spec] Add PKCS#11 helper binary and manpage + +20100212 + - (djm) OpenBSD CVS Sync + - djm@cvs.openbsd.org 2010/02/02 22:49:34 + [bufaux.c] + make buffer_get_string_ret() really non-fatal in all cases (it was + using buffer_get_int(), which could fatal() on buffer empty); + ok markus dtucker + - markus@cvs.openbsd.org 2010/02/08 10:50:20 + [pathnames.h readconf.c readconf.h scp.1 sftp.1 ssh-add.1 ssh-add.c] + [ssh-agent.c ssh-keygen.1 ssh-keygen.c ssh.1 ssh.c ssh_config.5] + replace our obsolete smartcard code with PKCS#11. + ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/v2-20/pkcs-11v2-20.pdf + ssh(1) and ssh-keygen(1) use dlopen(3) directly to talk to a PKCS#11 + provider (shared library) while ssh-agent(1) delegates PKCS#11 to + a forked a ssh-pkcs11-helper process. + PKCS#11 is currently a compile time option. + feedback and ok djm@; inspired by patches from Alon Bar-Lev + - jmc@cvs.openbsd.org 2010/02/08 22:03:05 + [ssh-add.1 ssh-keygen.1 ssh.1 ssh.c] + tweak previous; ok markus + - djm@cvs.openbsd.org 2010/02/09 00:50:36 + [ssh-agent.c] + fallout from PKCS#11: unbreak -D + - djm@cvs.openbsd.org 2010/02/09 00:50:59 + [ssh-keygen.c] + fix -Wall + - djm@cvs.openbsd.org 2010/02/09 03:56:28 + [buffer.c buffer.h] + constify the arguments to buffer_len, buffer_ptr and buffer_dump + - djm@cvs.openbsd.org 2010/02/09 06:18:46 + [auth.c] + unbreak ChrootDirectory+internal-sftp by skipping check for executable + shell when chrooting; reported by danh AT wzrd.com; ok dtucker@ + - markus@cvs.openbsd.org 2010/02/10 23:20:38 + [ssh-add.1 ssh-keygen.1 ssh.1 ssh_config.5] + pkcs#11 is no longer optional; improve wording; ok jmc@ + - jmc@cvs.openbsd.org 2010/02/11 13:23:29 + [ssh.1] + libarary -> library; + - (djm) [INSTALL Makefile.in README.smartcard configure.ac scard-opensc.c] + [scard.c scard.h pkcs11.h scard/Makefile.in scard/Ssh.bin.uu scard/Ssh.java] + Remove obsolete smartcard support + - (djm) [ssh-pkcs11-client.c ssh-pkcs11-helper.c ssh-pkcs11.c] + Make it compile on OSX + - (djm) [ssh-pkcs11-client.c ssh-pkcs11-helper.c ssh-pkcs11.c] + Use ssh_get_progname to fill __progname + - (djm) [configure.ac] Enable PKCS#11 support only when we find a working + dlopen() + +20100210 + - (djm) add -lselinux to LIBS before calling AC_CHECK_FUNCS for + getseuserbyname; patch from calebcase AT gmail.com via + cjwatson AT debian.org + +20100202 + - (djm) OpenBSD CVS Sync + - djm@cvs.openbsd.org 2010/01/30 21:08:33 + [sshd.8] + debug output goes to stderr, not "the system log"; ok markus dtucker + - djm@cvs.openbsd.org 2010/01/30 21:12:08 + [channels.c] + fake local addr:port when stdio fowarding as some servers (Tectia at + least) validate that they are well-formed; + reported by imorgan AT nas.nasa.gov + ok dtucker + +20100130 + - (djm) OpenBSD CVS Sync + - djm@cvs.openbsd.org 2010/01/28 00:21:18 + [clientloop.c] + downgrade an error() to a debug() - this particular case can be hit in + normal operation for certain sequences of mux slave vs session closure + and is harmless + - djm@cvs.openbsd.org 2010/01/29 00:20:41 + [sshd.c] + set FD_CLOEXEC on sock_in/sock_out; bz#1706 from jchadima AT redhat.com + ok dtucker@ + - djm@cvs.openbsd.org 2010/01/29 20:16:17 + [mux.c] + kill correct channel (was killing already-dead mux channel, not + its session channel) + - djm@cvs.openbsd.org 2010/01/30 02:54:53 + [mux.c] + don't mark channel as read failed if it is already closing; suppresses + harmless error messages when connecting to SSH.COM Tectia server + report by imorgan AT nas.nasa.gov + +20100129 + - (dtucker) [openbsd-compat/openssl-compat.c] Bug #1707: Call OPENSSL_config() + after registering the hardware engines, which causes the openssl.cnf file to + be processed. See OpenSSL's man page for OPENSSL_config(3) for details. + Patch from Solomon Peachy, ok djm@. + +20100128 + - (djm) OpenBSD CVS Sync + - djm@cvs.openbsd.org 2010/01/26 02:15:20 + [mux.c] + -Wuninitialized and remove a // comment; from portable + (Id sync only) + - djm@cvs.openbsd.org 2010/01/27 13:26:17 + [mux.c] + fix bug introduced in mux rewrite: + + In a mux master, when a socket to a mux slave closes before its server + session (as may occur when the slave has been signalled), gracefully + close the server session rather than deleting its channel immediately. + A server may have more messages on that channel to send (e.g. an exit + message) that will fatal() the client if they are sent to a channel that + has been prematurely deleted. + + spotted by imorgan AT nas.nasa.gov + - djm@cvs.openbsd.org 2010/01/27 19:21:39 + [sftp.c] + add missing "p" flag to getopt optstring; + bz#1704 from imorgan AT nas.nasa.gov + +20100126 + - (djm) OpenBSD CVS Sync + - tedu@cvs.openbsd.org 2010/01/17 21:49:09 + [ssh-agent.1] + Correct and clarify ssh-add's password asking behavior. + Improved text dtucker and ok jmc + - dtucker@cvs.openbsd.org 2010/01/18 01:50:27 + [roaming_client.c] + s/long long unsigned/unsigned long long/, from tim via portable + (Id sync only, change already in portable) + - djm@cvs.openbsd.org 2010/01/26 01:28:35 + [channels.c channels.h clientloop.c clientloop.h mux.c nchan.c ssh.c] + rewrite ssh(1) multiplexing code to a more sensible protocol. + + The new multiplexing code uses channels for the listener and + accepted control sockets to make the mux master non-blocking, so + no stalls when processing messages from a slave. + + avoid use of fatal() in mux master protocol parsing so an errant slave + process cannot take down a running master. + + implement requesting of port-forwards over multiplexed sessions. Any + port forwards requested by the slave are added to those the master has + established. + + add support for stdio forwarding ("ssh -W host:port ...") in mux slaves. + + document master/slave mux protocol so that other tools can use it to + control a running ssh(1). Note: there are no guarantees that this + protocol won't be incompatibly changed (though it is versioned). + + feedback Salvador Fandino, dtucker@ + channel changes ok markus@ + +20100122 + - (tim) [configure.ac] Due to constraints in Windows Sockets in terms of + socket inheritance, reduce the default SO_RCVBUF/SO_SNDBUF buffer size + in Cygwin to 65535. Patch from Corinna Vinschen. + +20100117 + - (tim) [configure.ac] OpenServer 5 needs BROKEN_GETADDRINFO too. + - (tim) [configure.ac] On SVR5 systems, use the C99-conforming functions + snprintf() and vsnprintf() named _xsnprintf() and _xvsnprintf(). + +20100116 + - (dtucker) [openbsd-compat/pwcache.c] Pull in includes.h and thus defines.h + so we correctly detect whether or not we have a native user_from_uid. + - (dtucker) [openbsd-compat/openbsd-compat.h] Prototypes for user_from_uid + and group_from_gid. + - (dtucker) [openbsd-compat/openbsd-compat.h] Fix prototypes, spotted by + Tim. + - (dtucker) OpenBSD CVS Sync + - markus@cvs.openbsd.org 2010/01/15 09:24:23 + [sftp-common.c] + unused + - (dtucker) [openbsd-compat/pwcache.c] Shrink ifdef area to prevent unused + variable warnings. + - (dtucker) [openbsd-compat/openbsd-compat.h] Typo. + - (tim) [regress/portnum.sh] Shell portability fix. + - (tim) [configure.ac] Define BROKEN_GETADDRINFO on SVR5 systems. The native + getaddrinfo() is too old and limited for addr_pton() in addrmatch.c. + - (tim) [roaming_client.c] Use of is not really portable so we + use "openbsd-compat/sys-queue.h". s/long long unsigned/unsigned long long/ + to keep USL compilers happy. + +20100115 + - (dtucker) OpenBSD CVS Sync + - jmc@cvs.openbsd.org 2010/01/13 12:48:34 + [sftp.1 sftp.c] + sftp.1: put ls -h in the right place + sftp.c: as above, plus add -p to get/put, and shorten their arg names + to keep the help usage nicely aligned + ok djm + - djm@cvs.openbsd.org 2010/01/13 23:47:26 + [auth.c] + when using ChrootDirectory, make sure we test for the existence of the + user's shell inside the chroot; bz #1679, patch from alex AT rtfs.hu; + ok dtucker + - dtucker@cvs.openbsd.org 2010/01/14 23:41:49 + [sftp-common.c] + use user_from{uid,gid} to lookup up ids since it keeps a small cache. + ok djm + - guenther@cvs.openbsd.org 2010/01/15 00:05:22 + [sftp.c] + Reset SIGTERM to SIG_DFL before executing ssh, so that even if sftp + inherited SIGTERM as ignored it will still be able to kill the ssh it + starts. + ok dtucker@ + - (dtucker) [openbsd-compat/pwcache.c] Pull in pwcache.c from OpenBSD (no + changes yet but there will be some to come). + - (dtucker) [configure.ac openbsd-compat/{Makefile.in,pwcache.c} Portability + for pwcache. Also, added caching of negative hits. + +20100114 + - (djm) [platform.h] Add missing prototype for + platform_krb5_get_principal_name + +20100113 + - (dtucker) [monitor_fdpass.c] Wrap poll.h include in ifdefs. + - (dtucker) [openbsd-compat/readpassphrase.c] Resync against OpenBSD's r1.18: + missing restore of SIGTTOU and some whitespace. + - (dtucker) [openbsd-compat/readpassphrase.c] Update to OpenBSD's r1.21. + - (dtucker) [openbsd-compat/readpassphrase.c] Update to OpenBSD's r1.22. + Fixes bz #1590, where sometimes you could not interrupt a connection while + ssh was prompting for a passphrase or password. + - (dtucker) OpenBSD CVS Sync + - dtucker@cvs.openbsd.org 2010/01/13 00:19:04 + [sshconnect.c auth.c] + Fix a couple of typos/mispellings in comments + - dtucker@cvs.openbsd.org 2010/01/13 01:10:56 + [key.c] + Ignore and log any Protocol 1 keys where the claimed size is not equal to + the actual size. Noted by Derek Martin, ok djm@ + - dtucker@cvs.openbsd.org 2010/01/13 01:20:20 + [canohost.c ssh-keysign.c sshconnect2.c] + Make HostBased authentication work with a ProxyCommand. bz #1569, patch + from imorgan at nas nasa gov, ok djm@ + - djm@cvs.openbsd.org 2010/01/13 01:40:16 + [sftp.c sftp-server.c sftp.1 sftp-common.c sftp-common.h] + support '-h' (human-readable units) for sftp's ls command, just like + ls(1); ok dtucker@ + - djm@cvs.openbsd.org 2010/01/13 03:48:13 + [servconf.c servconf.h sshd.c] + avoid run-time failures when specifying hostkeys via a relative + path by prepending the cwd in these cases; bz#1290; ok dtucker@ + - djm@cvs.openbsd.org 2010/01/13 04:10:50 + [sftp.c] + don't append a space after inserting a completion of a directory (i.e. + a path ending in '/') for a slightly better user experience; ok dtucker@ + - (dtucker) [sftp-common.c] Wrap include of util.h in an ifdef. + - (tim) [defines.h] openbsd-compat/readpassphrase.c now needs _NSIG. + feedback and ok dtucker@ + +20100112 + - (dtucker) OpenBSD CVS Sync + - dtucker@cvs.openbsd.org 2010/01/11 01:39:46 + [ssh_config channels.c ssh.1 channels.h ssh.c] + Add a 'netcat mode' (ssh -W). This connects stdio on the client to a + single port forward on the server. This allows, for example, using ssh as + a ProxyCommand to route connections via intermediate servers. + bz #1618, man page help from jmc@, ok markus@ + - dtucker@cvs.openbsd.org 2010/01/11 04:46:45 + [authfile.c sshconnect2.c] + Do not prompt for a passphrase if we fail to open a keyfile, and log the + reason the open failed to debug. + bz #1693, found by tj AT castaglia org, ok djm@ + - djm@cvs.openbsd.org 2010/01/11 10:51:07 + [ssh-keygen.c] + when converting keys, truncate key comments at 72 chars as per RFC4716; + bz#1630 reported by tj AT castaglia.org; ok markus@ + - dtucker@cvs.openbsd.org 2010/01/12 00:16:47 + [authfile.c] + Fix bug introduced in r1.78 (incorrect brace location) that broke key auth. + Patch from joachim joachimschipper nl. + - djm@cvs.openbsd.org 2010/01/12 00:58:25 + [monitor_fdpass.c] + avoid spinning when fd passing on nonblocking sockets by calling poll() + in the EINTR/EAGAIN path, much like we do in atomicio; ok dtucker@ + - djm@cvs.openbsd.org 2010/01/12 00:59:29 + [roaming_common.c] + delete with extreme prejudice a debug() that fired with every keypress; + ok dtucker deraadt + - dtucker@cvs.openbsd.org 2010/01/12 01:31:05 + [session.c] + Do not allow logins if /etc/nologin exists but is not readable by the user + logging in. Noted by Jan.Pechanec at Sun, ok djm@ deraadt@ + - djm@cvs.openbsd.org 2010/01/12 01:36:08 + [buffer.h bufaux.c] + add a buffer_get_string_ptr_ret() that does the same as + buffer_get_string_ptr() but does not fatal() on error; ok dtucker@ + - dtucker@cvs.openbsd.org 2010/01/12 08:33:17 + [session.c] + Add explicit stat so we reliably detect nologin with bad perms. + ok djm markus + +20100110 + - (dtucker) [configure.ac misc.c readconf.c servconf.c ssh-keyscan.c] + Remove hacks add for RoutingDomain in preparation for its removal. + - (dtucker) OpenBSD CVS Sync + - dtucker@cvs.openbsd.org 2010/01/09 23:04:13 + [channels.c ssh.1 servconf.c sshd_config.5 sshd.c channels.h servconf.h + ssh-keyscan.1 ssh-keyscan.c readconf.c sshconnect.c misc.c ssh.c + readconf.h scp.1 sftp.1 ssh_config.5 misc.h] + Remove RoutingDomain from ssh since it's now not needed. It can be + replaced with "route exec" or "nc -V" as a proxycommand. "route exec" + also ensures that trafic such as DNS lookups stays withing the specified + routingdomain. For example (from reyk): + # route -T 2 exec /usr/sbin/sshd + or inherited from the parent process + $ route -T 2 exec sh + $ ssh 10.1.2.3 + ok deraadt@ markus@ stevesk@ reyk@ + - dtucker@cvs.openbsd.org 2010/01/10 03:51:17 + [servconf.c] + Add ChrootDirectory to sshd.c test-mode output + - dtucker@cvs.openbsd.org 2010/01/10 07:15:56 + [auth.c] + Output a debug if we can't open an existing keyfile. bz#1694, ok djm@ + +20100109 + - (dtucker) Wrap use of IPPROTO_IPV6 in an ifdef for platforms that don't + have it. + - (dtucker) [defines.h] define PRIu64 for platforms that don't have it. + - (dtucker) [roaming_client.c] Wrap inttypes.h in an ifdef. + - (dtucker) [loginrec.c] Use the SUSv3 specified name for the user name + when using utmpx. Patch from Ed Schouten. + - (dtucker) OpenBSD CVS Sync + - djm@cvs.openbsd.org 2010/01/09 00:20:26 + [sftp-server.c sftp-server.8] + add a 'read-only' mode to sftp-server(8) that disables open in write mode + and all other fs-modifying protocol methods. bz#430 ok dtucker@ + - djm@cvs.openbsd.org 2010/01/09 00:57:10 + [PROTOCOL] + tweak language + - jmc@cvs.openbsd.org 2010/01/09 03:36:00 + [sftp-server.8] + bad place to forget a comma... + - djm@cvs.openbsd.org 2010/01/09 05:04:24 + [mux.c sshpty.h clientloop.c sshtty.c] + quell tc[gs]etattr warnings when forcing a tty (ssh -tt), since we + usually don't actually have a tty to read/set; bz#1686 ok dtucker@ + - dtucker@cvs.openbsd.org 2010/01/09 05:17:00 + [roaming_client.c] + Remove a PRIu64 format string that snuck in with roaming. ok djm@ + - dtucker@cvs.openbsd.org 2010/01/09 11:13:02 + [sftp.c] + Prevent sftp from derefing a null pointer when given a "-" without a + command. Also, allow whitespace to follow a "-". bz#1691, path from + Colin Watson via Debian. ok djm@ deraadt@ + - dtucker@cvs.openbsd.org 2010/01/09 11:17:56 + [sshd.c] + Afer sshd receives a SIGHUP, ignore subsequent HUPs while sshd re-execs + itself. Prevents two HUPs in quick succession from resulting in sshd + dying. bz#1692, patch from Colin Watson via Ubuntu. + - (dtucker) [defines.h] Remove now-undeeded PRIu64 define. + +20100108 + - (dtucker) OpenBSD CVS Sync + - andreas@cvs.openbsd.org 2009/10/24 11:11:58 + [roaming.h] + Declarations needed for upcoming changes. + ok markus@ + - andreas@cvs.openbsd.org 2009/10/24 11:13:54 + [sshconnect2.c kex.h kex.c] + Let the client detect if the server supports roaming by looking + for the resume@appgate.com kex algorithm. + ok markus@ + - andreas@cvs.openbsd.org 2009/10/24 11:15:29 + [clientloop.c] + client_loop() must detect if the session has been suspended and resumed, + and take appropriate action in that case. + From Martin Forssen, maf at appgate dot com + - andreas@cvs.openbsd.org 2009/10/24 11:19:17 + [ssh2.h] + Define the KEX messages used when resuming a suspended connection. + ok markus@ + - andreas@cvs.openbsd.org 2009/10/24 11:22:37 + [roaming_common.c] + Do the actual suspend/resume in the client. This won't be useful until + the server side supports roaming. + Most code from Martin Forssen, maf at appgate dot com. Some changes by + me and markus@ + ok markus@ + - andreas@cvs.openbsd.org 2009/10/24 11:23:42 + [ssh.c] + Request roaming to be enabled if UseRoaming is true and the server + supports it. + ok markus@ + - reyk@cvs.openbsd.org 2009/10/28 16:38:18 + [ssh_config.5 sshd.c misc.h ssh-keyscan.1 readconf.h sshconnect.c + channels.c channels.h servconf.h servconf.c ssh.1 ssh-keyscan.c scp.1 + sftp.1 sshd_config.5 readconf.c ssh.c misc.c] + Allow to set the rdomain in ssh/sftp/scp/sshd and ssh-keyscan. + ok markus@ + - jmc@cvs.openbsd.org 2009/10/28 21:45:08 + [sshd_config.5 sftp.1] + tweak previous; + - djm@cvs.openbsd.org 2009/11/10 02:56:22 + [ssh_config.5] + explain the constraints on LocalCommand some more so people don't + try to abuse it. + - djm@cvs.openbsd.org 2009/11/10 02:58:56 + [sshd_config.5] + clarify that StrictModes does not apply to ChrootDirectory. Permissions + and ownership are always checked when chrooting. bz#1532 + - dtucker@cvs.openbsd.org 2009/11/10 04:30:45 + [sshconnect2.c channels.c sshconnect.c] + Set close-on-exec on various descriptors so they don't get leaked to + child processes. bz #1643, patch from jchadima at redhat, ok deraadt. + - markus@cvs.openbsd.org 2009/11/11 21:37:03 + [channels.c channels.h] + fix race condition in x11/agent channel allocation: don't read after + the end of the select read/write fdset and make sure a reused FD + is not touched before the pre-handlers are called. + with and ok djm@ + - djm@cvs.openbsd.org 2009/11/17 05:31:44 + [clientloop.c] + fix incorrect exit status when multiplexing and channel ID 0 is recycled + bz#1570 reported by peter.oliver AT eon-is.co.uk; ok dtucker + - djm@cvs.openbsd.org 2009/11/19 23:39:50 + [session.c] + bz#1606: error when an attempt is made to connect to a server + with ForceCommand=internal-sftp with a shell session (i.e. not a + subsystem session). Avoids stuck client when attempting to ssh to such a + service. ok dtucker@ + - dtucker@cvs.openbsd.org 2009/11/20 00:15:41 + [session.c] + Warn but do not fail if stat()ing the subsystem binary fails. This helps + with chrootdirectory+forcecommand=sftp-server and restricted shells. + bz #1599, ok djm. + - djm@cvs.openbsd.org 2009/11/20 00:54:01 + [sftp.c] + bz#1588 change "Connecting to host..." message to "Connected to host." + and delay it until after the sftp protocol connection has been established. + Avoids confusing sequence of messages when the underlying ssh connection + experiences problems. ok dtucker@ + - dtucker@cvs.openbsd.org 2009/11/20 00:59:36 + [sshconnect2.c] + Use the HostKeyAlias when prompting for passwords. bz#1039, ok djm@ + - djm@cvs.openbsd.org 2009/11/20 03:24:07 + [misc.c] + correct off-by-one in percent_expand(): we would fatal() when trying + to expand EXPAND_MAX_KEYS, allowing only EXPAND_MAX_KEYS-1 to actually + work. Note that nothing in OpenSSH actually uses close to this limit at + present. bz#1607 from Jan.Pechanec AT Sun.COM + - halex@cvs.openbsd.org 2009/11/22 13:18:00 + [sftp.c] + make passing of zero-length arguments to ssh safe by + passing "-" "" rather than "-" + ok dtucker@, guenther@, djm@ + - dtucker@cvs.openbsd.org 2009/12/06 23:41:15 + [sshconnect2.c] + zap unused variable and strlen; from Steve McClellan, ok djm + - djm@cvs.openbsd.org 2009/12/06 23:53:45 + [roaming_common.c] + use socklen_t for getsockopt optlen parameter; reported by + Steve.McClellan AT radisys.com, ok dtucker@ + - dtucker@cvs.openbsd.org 2009/12/06 23:53:54 + [sftp.c] + fix potential divide-by-zero in sftp's "df" output when talking to a server + that reports zero files on the filesystem (Unix filesystems always have at + least the root inode). From Steve McClellan at radisys, ok djm@ + - markus@cvs.openbsd.org 2009/12/11 18:16:33 + [key.c] + switch from 35 to the more common value of RSA_F4 == (2**16)+1 == 65537 + for the RSA public exponent; discussed with provos; ok djm@ + - guenther@cvs.openbsd.org 2009/12/20 07:28:36 + [ssh.c sftp.c scp.c] + When passing user-controlled options with arguments to other programs, + pass the option and option argument as separate argv entries and + not smashed into one (e.g., as -l foo and not -lfoo). Also, always + pass a "--" argument to stop option parsing, so that a positional + argument that starts with a '-' isn't treated as an option. This + fixes some error cases as well as the handling of hostnames and + filenames that start with a '-'. + Based on a diff by halex@ + ok halex@ djm@ deraadt@ + - djm@cvs.openbsd.org 2009/12/20 23:20:40 + [PROTOCOL] + fix an incorrect magic number and typo in PROTOCOL; bz#1688 + report and fix from ueno AT unixuser.org + - stevesk@cvs.openbsd.org 2009/12/25 19:40:21 + [readconf.c servconf.c misc.h ssh-keyscan.c misc.c] + validate routing domain is in range 0-RT_TABLEID_MAX. + 'Looks right' deraadt@ + - stevesk@cvs.openbsd.org 2009/12/29 16:38:41 + [sshd_config.5 readconf.c ssh_config.5 scp.1 servconf.c sftp.1 ssh.1] + Rename RDomain config option to RoutingDomain to be more clear and + consistent with other options. + NOTE: if you currently use RDomain in the ssh client or server config, + or ssh/sshd -o, you must update to use RoutingDomain. + ok markus@ djm@ + - jmc@cvs.openbsd.org 2009/12/29 18:03:32 + [sshd_config.5 ssh_config.5] + sort previous; + - dtucker@cvs.openbsd.org 2010/01/04 01:45:30 + [sshconnect2.c] + Don't escape backslashes in the SSH2 banner. bz#1533, patch from + Michal Gorny via Gentoo. + - djm@cvs.openbsd.org 2010/01/04 02:03:57 + [sftp.c] + Implement tab-completion of commands, local and remote filenames for sftp. + Hacked on and off for some time by myself, mouring, Carlos Silva (via 2009 + Google Summer of Code) and polished to a fine sheen by myself again. + It should deal more-or-less correctly with the ikky corner-cases presented + by quoted filenames, but the UI could still be slightly improved. + In particular, it is quite slow for remote completion on large directories. + bz#200; ok markus@ + - djm@cvs.openbsd.org 2010/01/04 02:25:15 + [sftp-server.c] + bz#1566 don't unnecessarily dup() in and out fds for sftp-server; + ok markus@ + - dtucker@cvs.openbsd.org 2010/01/08 21:50:49 + [sftp.c] + Fix two warnings: possibly used unitialized and use a nul byte instead of + NULL pointer. ok djm@ + - (dtucker) [Makefile.in added roaming_client.c roaming_serv.c] Import new + files for roaming and add to Makefile. + - (dtucker) [Makefile.in] .c files do not belong in the OBJ lines. + - (dtucker) [sftp.c] ifdef out the sftp completion bits for platforms that + don't have libedit. + - (dtucker) [configure.ac misc.c readconf.c servconf.c ssh-keyscan.c] Make + RoutingDomain an unsupported option on platforms that don't have it. + - (dtucker) [sftp.c] Expand ifdef for libedit to cover complete_is_remote + too. + - (dtucker) [misc.c] Move the routingdomain ifdef to allow the socket to + be created. + - (dtucker] [misc.c] Shrink the area covered by USE_ROUTINGDOMAIN more + to eliminate an unused variable warning. + - (dtucker) [roaming_serv.c] Include includes.h for u_intXX_t types. + +20091226 + - (tim) [contrib/cygwin/Makefile] Install ssh-copy-id and ssh-copy-id.1 + Gzip all man pages. Patch from Corinna Vinschen. + +20091221 + - (dtucker) [auth-krb5.c platform.{c,h} openbsd-compat/port-aix.{c,h}] + Bug #1583: Use system's kerberos principal name on AIX if it's available. + Based on a patch from and tested by Miguel Sanders + +20091208 + - (dtucker) Bug #1470: Disable OOM-killing of the listening sshd on Linux, + based on a patch from Vaclav Ovsik and Colin Watson. ok djm. + +20091207 + - (dtucker) Bug #1160: use pkg-config for opensc config if it's available. + Tested by Martin Paljak. + - (dtucker) Bug #1677: add conditionals around the source for ssh-askpass. + +20091121 + - (tim) [opensshd.init.in] If PidFile is set in sshd_config, use it. + Bug 1628. OK dtucker@ + +20091120 + - (djm) [ssh-rand-helper.c] Print error and usage() when passed command- + line arguments as none are supported. Exit when passed unrecognised + commandline flags. bz#1568 from gson AT araneus.fi + +20091118 + - (djm) [channels.c misc.c misc.h sshd.c] add missing setsockopt() to + set IPV6_V6ONLY for local forwarding with GatwayPorts=yes. Unify + setting IPV6_V6ONLY behind a new function misc.c:sock_set_v6only() + bz#1648, report and fix from jan.kratochvil AT redhat.com + - (djm) [contrib/gnome-ssh-askpass2.c] Make askpass dialog desktop-modal. + bz#1645, patch from jchadima AT redhat.com + +20091107 + - (dtucker) [authfile.c] Fall back to 3DES for the encryption of private + keys when built with OpenSSL versions that don't do AES. + +20091105 + - (dtucker) [authfile.c] Add OpenSSL compat header so this still builds with + older versions of OpenSSL. + +20091024 + - (dtucker) OpenBSD CVS Sync + - djm@cvs.openbsd.org 2009/10/11 23:03:15 + [hostfile.c] + mention the host name that we are looking for in check_host_in_hostfile() + - sobrado@cvs.openbsd.org 2009/10/17 12:10:39 + [sftp-server.c] + sort flags. + - sobrado@cvs.openbsd.org 2009/10/22 12:35:53 + [ssh.1 ssh-agent.1 ssh-add.1] + use the UNIX-related macros (.At and .Ux) where appropriate. + ok jmc@ + - sobrado@cvs.openbsd.org 2009/10/22 15:02:12 + [ssh-agent.1 ssh-add.1 ssh.1] + write UNIX-domain in a more consistent way; while here, replace a + few remaining ".Tn UNIX" macros with ".Ux" ones. + pointed out by ratchov@, thanks! + ok jmc@ + - djm@cvs.openbsd.org 2009/10/22 22:26:13 + [authfile.c] + switch from 3DES to AES-128 for encryption of passphrase-protected + SSH protocol 2 private keys; ok several + - djm@cvs.openbsd.org 2009/10/23 01:57:11 + [sshconnect2.c] + disallow a hostile server from checking jpake auth by sending an + out-of-sequence success message. (doesn't affect code enabled by default) + - dtucker@cvs.openbsd.org 2009/10/24 00:48:34 + [ssh-keygen.1] + ssh-keygen now uses AES-128 for private keys + - (dtucker) [mdoc2man.awk] Teach it to understand the .Ux macro. + - (dtucker) [session.c openbsd-compat/port-linux.{c,h}] Bug #1637: if selinux + is enabled set the security context to "sftpd_t" before running the + internal sftp server Based on a patch from jchadima at redhat. + +20091011 + - (dtucker) [configure.ac sftp-client.c] Remove the gyrations required for + dirent d_type and DTTOIF as we've switched OpenBSD to the more portable + lstat. + - (dtucker) OpenBSD CVS Sync + - markus@cvs.openbsd.org 2009/10/08 14:03:41 + [sshd_config readconf.c ssh_config.5 servconf.c sshd_config.5] + disable protocol 1 by default (after a transition period of about 10 years) + ok deraadt + - jmc@cvs.openbsd.org 2009/10/08 20:42:12 + [sshd_config.5 ssh_config.5 sshd.8 ssh.1] + some tweaks now that protocol 1 is not offered by default; ok markus + - dtucker@cvs.openbsd.org 2009/10/11 10:41:26 + [sftp-client.c] + d_type isn't portable so use lstat to get dirent modes. Suggested by and + "looks sane" deraadt@ + - markus@cvs.openbsd.org 2009/10/08 18:04:27 + [regress/test-exec.sh] + re-enable protocol v1 for the tests. + +20091007 + - (dtucker) OpenBSD CVS Sync + - djm@cvs.openbsd.org 2009/08/12 00:13:00 + [sftp.c sftp.1] + support most of scp(1)'s commandline arguments in sftp(1), as a first + step towards making sftp(1) a drop-in replacement for scp(1). + One conflicting option (-P) has not been changed, pending further + discussion. + Patch from carlosvsilvapt@gmail.com as part of his work in the + Google Summer of Code + - jmc@cvs.openbsd.org 2009/08/12 06:31:42 + [sftp.1] + sort options; + - djm@cvs.openbsd.org 2009/08/13 01:11:19 + [sftp.1 sftp.c] + Swizzle options: "-P sftp_server_path" moves to "-D sftp_server_path", + add "-P port" to match scp(1). Fortunately, the -P option is only really + used by our regression scripts. + part of larger patch from carlosvsilvapt@gmail.com for his Google Summer + of Code work; ok deraadt markus + - jmc@cvs.openbsd.org 2009/08/13 13:39:54 + [sftp.1 sftp.c] + sync synopsis and usage(); + - djm@cvs.openbsd.org 2009/08/14 18:17:49 + [sftp-client.c] + make the "get_handle: ..." error messages vaguely useful by allowing + callers to specify their own error message strings. + - fgsch@cvs.openbsd.org 2009/08/15 18:56:34 + [auth.h] + remove unused define. markus@ ok. + (Id sync only, Portable still uses this.) + - dtucker@cvs.openbsd.org 2009/08/16 23:29:26 + [sshd_config.5] + Add PubkeyAuthentication to the list allowed in a Match block (bz #1577) + - djm@cvs.openbsd.org 2009/08/18 18:36:21 + [sftp-client.h sftp.1 sftp-client.c sftp.c] + recursive transfer support for get/put and on the commandline + work mostly by carlosvsilvapt@gmail.com for the Google Summer of Code + with some tweaks by me; "go for it" deraadt@ + - djm@cvs.openbsd.org 2009/08/18 21:15:59 + [sftp.1] + fix "get" command usage, spotted by jmc@ + - jmc@cvs.openbsd.org 2009/08/19 04:56:03 + [sftp.1] + ether -> either; + - dtucker@cvs.openbsd.org 2009/08/20 23:54:28 + [mux.c] + subsystem_flag is defined in ssh.c so it's extern; ok djm + - djm@cvs.openbsd.org 2009/08/27 17:28:52 + [sftp-server.c] + allow setting an explicit umask on the commandline to override whatever + default the user has. bz#1229; ok dtucker@ deraadt@ markus@ + - djm@cvs.openbsd.org 2009/08/27 17:33:49 + [ssh-keygen.c] + force use of correct hash function for random-art signature display + as it was inheriting the wrong one when bubblebabble signatures were + activated; bz#1611 report and patch from fwojcik+openssh AT besh.com; + ok markus@ + - djm@cvs.openbsd.org 2009/08/27 17:43:00 + [sftp-server.8] + allow setting an explicit umask on the commandline to override whatever + default the user has. bz#1229; ok dtucker@ deraadt@ markus@ + - djm@cvs.openbsd.org 2009/08/27 17:44:52 + [authfd.c ssh-add.c authfd.h] + Do not fall back to adding keys without contraints (ssh-add -c / -t ...) + when the agent refuses the constrained add request. This was a useful + migration measure back in 2002 when constraints were new, but just + adds risk now. + bz #1612, report and patch from dkg AT fifthhorseman.net; ok markus@ + - djm@cvs.openbsd.org 2009/08/31 20:56:02 + [sftp-server.c] + check correct variable for error message, spotted by martynas@ + - djm@cvs.openbsd.org 2009/08/31 21:01:29 + [sftp-server.8] + document -e and -h; prodded by jmc@ + - djm@cvs.openbsd.org 2009/09/01 14:43:17 + [ssh-agent.c] + fix a race condition in ssh-agent that could result in a wedged or + spinning agent: don't read off the end of the allocated fd_sets, and + don't issue blocking read/write on agent sockets - just fall back to + select() on retriable read/write errors. bz#1633 reported and tested + by "noodle10000 AT googlemail.com"; ok dtucker@ markus@ + - grunk@cvs.openbsd.org 2009/10/01 11:37:33 + [dh.c] + fix a cast + ok djm@ markus@ + - djm@cvs.openbsd.org 2009/10/06 04:46:40 + [session.c] + bz#1596: fflush(NULL) before exec() to ensure that everying (motd + in particular) has made it out before the streams go away. + - djm@cvs.openbsd.org 2008/12/07 22:17:48 + [regress/addrmatch.sh] + match string "passwordauthentication" only at start of line, not anywhere + in sshd -T output + - dtucker@cvs.openbsd.org 2009/05/05 07:51:36 + [regress/multiplex.sh] + Always specify ssh_config for multiplex tests: prevents breakage caused + by options in ~/.ssh/config. From Dan Peterson. + - djm@cvs.openbsd.org 2009/08/13 00:57:17 + [regress/Makefile] + regression test for port number parsing. written as part of the a2port + change that went into 5.2 but I forgot to commit it at the time... + - djm@cvs.openbsd.org 2009/08/13 01:11:55 + [regress/sftp-batch.sh regress/sftp-badcmds.sh regress/sftp.sh + regress/sftp-cmds.sh regres/sftp-glob.sh] + date: 2009/08/13 01:11:19; author: djm; state: Exp; lines: +10 -7 + Swizzle options: "-P sftp_server_path" moves to "-D sftp_server_path", + add "-P port" to match scp(1). Fortunately, the -P option is only really + used by our regression scripts. + part of larger patch from carlosvsilvapt@gmail.com for his Google Summer + of Code work; ok deraadt markus + - djm@cvs.openbsd.org 2009/08/20 18:43:07 + [regress/ssh-com-sftp.sh] + fix one sftp -D ... => sftp -P ... conversion that I missed; from Carlos + Silva for Google Summer of Code + - dtucker@cvs.openbsd.org 2009/10/06 23:51:49 + [regress/ssh2putty.sh] + Add OpenBSD tag to make syncs easier + - (dtucker) [regress/portnum.sh] Import new test. + - (dtucker) [configure.ac sftp-client.c] DTOTIF is in fs/ffs/dir.h on at + least dragonflybsd. + - (dtucker) d_type is not mandated by POSIX, so add fallback code using + stat(), needed on at least cygwin. + +20091002 + - (djm) [Makefile.in] Mention readconf.o in ssh-keysign's make deps. + spotted by des AT des.no + +20090926 + - (djm) [contrib/caldera/openssh.spec contrib/redhat/openssh.spec] + [contrib/suse/openssh.spec] Update for release + - (djm) [README] update relnotes URL + - (djm) [packet.c] Restore EWOULDBLOCK handling that got lost somewhere + - (djm) Release 5.3p1 + +20090911 + - (dtucker) [configure.ac] Change the -lresolv check so it works on Mac OS X + 10.6 (which doesn't have BIND8_COMPAT and thus uses res_9_query). Patch + from jbasney at ncsa uiuc edu. + +20090908 + - (djm) [serverloop.c] Fix test for server-assigned remote forwarding port + (-R 0:...); bz#1578, spotted and fix by gavin AT emf.net; ok dtucker@ + +20090901 + - (dtucker) [configure.ac] Bug #1639: use AC_PATH_PROG to search the path for *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-vendor@FreeBSD.ORG Mon Mar 8 21:13:29 2010 Return-Path: Delivered-To: svn-src-vendor@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 348D4106566B; Mon, 8 Mar 2010 21:13:29 +0000 (UTC) (envelope-from edwin@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 21B688FC1F; Mon, 8 Mar 2010 21:13:29 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o28LDTQ5009236; Mon, 8 Mar 2010 21:13:29 GMT (envelope-from edwin@svn.freebsd.org) Received: (from edwin@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o28LDSqf009232; Mon, 8 Mar 2010 21:13:28 GMT (envelope-from edwin@svn.freebsd.org) Message-Id: <201003082113.o28LDSqf009232@svn.freebsd.org> From: Edwin Groothuis Date: Mon, 8 Mar 2010 21:13:28 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r204884 - vendor/tzdata/dist X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.5 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, 08 Mar 2010 21:13:29 -0000 Author: edwin Date: Mon Mar 8 21:13:28 2010 New Revision: 204884 URL: http://svn.freebsd.org/changeset/base/204884 Log: Vendor import of tzdata2010e (tzdata2010d was immidaiately superseeded) - Adjust beginning / end of DST in Bangladesh (minimal impact) - Fiji ends DST one month earlier to last Sunday of March - Samoa changes - Chile extends DST until 3 April this year. Modified: vendor/tzdata/dist/asia vendor/tzdata/dist/australasia vendor/tzdata/dist/southamerica Modified: vendor/tzdata/dist/asia ============================================================================== --- vendor/tzdata/dist/asia Mon Mar 8 21:09:47 2010 (r204883) +++ vendor/tzdata/dist/asia Mon Mar 8 21:13:28 2010 (r204884) @@ -1,4 +1,4 @@ -# @(#)asia 8.51 +# @(#)asia 8.55 # This file is in the public domain, so clarified as of # 2009-05-17 by Arthur David Olson. @@ -225,11 +225,31 @@ Zone Asia/Bahrain 3:22:20 - LMT 1920 # # until further notice." I take that last sentence as the # establishment of a rule. +# From Nobutomo Nakano (2010-02-19): +# We received a report from Bangladesh saying that the start/end of +# Bangladesh DST is incorrect. Currently we have only the Bengali version +# of the official mail from BTRC which describes the following: +# +# "From 2010 each year when local standard time is about to reach +# March 31 at 10:59:00 PM clocks are turned forward 1 hour (11:59:00 PM) +# and when local daylight time is about to October 31 at 11:59:00 PM +# clocks are turned backward 1 hour (10:59:00 PM)." +# +# So, DST will start/end 1 minute earlier. + +# From Arthur David Olson (2010-03-03): +# The file +# +# http://www.cabinet.gov/bd/file_upload/news_events/en_169.pdf +# +# is in Bengali; it does contain two "31"s as well as two "11.59"s and a "10.59" +# which is consistent with the information provided by Nobutomo Nakano. + # Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S Rule Dhaka 2009 only - Jun 19 23:00 1:00 S -Rule Dhaka 2010 only - Jan 1 0:00 0 - -Rule Dhaka 2010 max - Mar 31 23:00 1:00 S -Rule Dhaka 2010 max - Nov 1 0:00 0 - +Rule Dhaka 2009 only - Dec 31 23:59 0 - +Rule Dhaka 2010 max - Mar 31 22:59 1:00 S +Rule Dhaka 2010 max - Oct 31 23:59 0 - # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Dhaka 6:01:40 - LMT 1890 Modified: vendor/tzdata/dist/australasia ============================================================================== --- vendor/tzdata/dist/australasia Mon Mar 8 21:09:47 2010 (r204883) +++ vendor/tzdata/dist/australasia Mon Mar 8 21:13:28 2010 (r204884) @@ -1,5 +1,5 @@ #
-# @(#)australasia	8.15
+# @(#)australasia	8.16
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 
@@ -267,11 +267,30 @@ Zone	Indian/Cocos	6:27:40	-	LMT	1900
 # 
 # http://www.fiji.gov.fj/publish/page_16198.shtml
 # 
+
+# From Steffen Thorsen (2010-03-03):
+# The Cabinet in Fiji has decided to end DST about a month early, on
+# 2010-03-28 at 03:00.
+# The plan is to observe DST again, from 2010-10-24 to sometime in March
+# 2011 (last Sunday a good guess?).
+#
+# Official source:
+# 
+# http://www.fiji.gov.fj/index.php?option=com_content&view=article&id=1096:3310-cabinet-approves-change-in-daylight-savings-dates&catid=49:cabinet-releases&Itemid=166
+# 
+#
+# A bit more background info here:
+# 
+# http://www.timeanddate.com/news/time/fiji-dst-ends-march-2010.html
+# 
+
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	Fiji	1998	1999	-	Nov	Sun>=1	2:00	1:00	S
 Rule	Fiji	1999	2000	-	Feb	lastSun	3:00	0	-
 Rule	Fiji	2009	only	-	Nov	29	2:00	1:00	S
-Rule	Fiji	2010	only	-	Apr	25	3:00	0	-
+Rule	Fiji	2010	only	-	Mar	lastSun	3:00	0	-
+Rule	Fiji	2010	only	-	Oct	24	2:00	1:00	S
+Rule	Fiji	2011	only	-	Mar	lastSun 3:00	0	-
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
 Zone	Pacific/Fiji	11:53:40 -	LMT	1915 Oct 26	# Suva
 			12:00	Fiji	FJ%sT	# Fiji Time
@@ -449,70 +468,30 @@ Zone Pacific/Pago_Pago	 12:37:12 -	LMT	1
 
 # Samoa
 
-# From Alexander Krivenyshev (2008-12-06):
-# The Samoa government (Western Samoa) may implement DST on the first Sunday of 
-# October 2009 (October 4, 2009) until the last Sunday of March 2010 (March 28, 
-# 2010). 
-# 
-# "Selected Committee reports to Cabinet on Daylight Saving Time",
-# Government of Samoa:
-# 
-# http://www.govt.ws/pr_article.cfm?pr_id=560
-# 
-# or
-# 
-# http://www.worldtimezone.com/dst_news/dst_news_samoa01.html
-# 
-
-# From Steffen Thorsen (2009-08-27):
-# Samoa's parliament passed the Daylight Saving Bill 2009, and will start 
-# daylight saving time on the first Sunday of October 2009 and end on the 
-# last Sunday of March 2010. We hope that the full text will be published 
-# soon, but we believe that the bill is only valid for 2009-2010. Samoa's 
-# Daylight Saving Act 2009 will be enforced as soon as the Head of State 
-# executes a proclamation publicizing this Act.
+# From Steffen Thorsen (2009-10-16):
+# We have been in contact with the government of Samoa again, and received
+# the following info:
+#
+# "Cabinet has now approved Daylight Saving to be effected next year
+# commencing from the last Sunday of September 2010 and conclude first
+# Sunday of April 2011."
 #
-# Some background information here, which will be updated once we have 
-# more details:
+# Background info:
 # 
 # http://www.timeanddate.com/news/time/samoa-dst-plan-2009.html
 # 
-
-# From Alexander Krivenyshev (2009-10-03):
-# First, my deepest condolences to people of Samoa islands and all families and
-# loved ones around the world who lost their lives in the earthquake and tsunami.
-#
-# Considering the recent devastation on Samoa by earthquake and tsunami and that
-# many government offices/ ministers are closed- not sure if "Daylight Saving
-# Bill 2009" will be implemented in next few days- on October 4, 2009.
-#
-# Here is reply from Consulate-General of Samoa in New Zealand
-# ---------------------------
-# Consul General
-# consulgeneral@samoaconsulate.org.nz
-#
-# Talofa Alexander,
-#
-# Thank you for your sympathy for our country but at this time we have not
-# been informed about the Daylight Savings Time Change.  Most Ministries in
-# Apia are closed or relocating due to weather concerns.
-#
-# When we do find out if they are still proceeding with the time change we
-# will advise you soonest.
-#
-# Kind Regards,
-# Lana
-# for: Consul General
-
-# From Steffen Thorsen (2009-10-05):
-# We have called a hotel in Samoa and asked about local time there - they 
-# are still on standard time.
+#
+# Samoa's Daylight Saving Time Act 2009 is available here, but does not
+# contain any dates:
+# 
+# http://www.parliament.gov.ws/documents/acts/Daylight%20Saving%20Act%20%202009%20%28English%29%20-%20Final%207-7-091.pdf
+# 
 
 Zone Pacific/Apia	 12:33:04 -	LMT	1879 Jul  5
 			-11:26:56 -	LMT	1911
 			-11:30	-	SAMT	1950		# Samoa Time
-			-11:00	-	WST	2009 Oct 4
-			-11:00	1:00	WSDT	2010 Mar 28
+			-11:00	-	WST	2010 Oct 24
+			-11:00	1:00	WSDT	2011 Apr 3
 			-11:00	-	WST
 
 # Solomon Is

Modified: vendor/tzdata/dist/southamerica
==============================================================================
--- vendor/tzdata/dist/southamerica	Mon Mar  8 21:09:47 2010	(r204883)
+++ vendor/tzdata/dist/southamerica	Mon Mar  8 21:13:28 2010	(r204884)
@@ -1,5 +1,5 @@
 # 
-# @(#)southamerica	8.41
+# @(#)southamerica	8.43
 # This file is in the public domain, so clarified as of
 # 2009-05-17 by Arthur David Olson.
 
@@ -1121,6 +1121,18 @@ Zone America/Rio_Branco	-4:31:12 -	LMT	1
 # http://www.shoa.cl/noticias/2008/04hora/hora.htm
 # .
 
+# From Angel Chiang (2010-03-04):
+# Subject: DST in Chile exceptionally extended to 3 April due to earthquake
+# 
+# http://www.gobiernodechile.cl/viewNoticia.aspx?idArticulo=30098
+# 
+# (in Spanish, last paragraph).
+#
+# This is breaking news. There should be more information available later.
+
+# From Arthur Daivd Olson (2010-03-06):
+# Angel Chiang's message confirmed by Julio Pacheco; Julio provided a patch.
+
 # Rule	NAME	FROM	TO	TYPE	IN	ON	AT	SAVE	LETTER/S
 Rule	Chile	1927	1932	-	Sep	 1	0:00	1:00	S
 Rule	Chile	1928	1932	-	Apr	 1	0:00	0	-
@@ -1155,7 +1167,9 @@ Rule	Chile	2000	2007	-	Mar	Sun>=9	3:00u	
 # N.B.: the end of March 29 in Chile is March 30 in Universal time,
 # which is used below in specifying the transition.
 Rule	Chile	2008	only	-	Mar	30	3:00u	0	-
-Rule	Chile	2009	max	-	Mar	Sun>=9	3:00u	0	-
+Rule	Chile	2009	only	-	Mar	Sun>=9	3:00u	0	-
+Rule	Chile	2010	only	-	Apr	 4	3:00u	0	-
+Rule	Chile	2011	max	-	Mar	Sun>=9	3:00u	0	-
 # IATA SSIM anomalies: (1992-02) says 1992-03-14;
 # (1996-09) says 1998-03-08.  Ignore these.
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]
@@ -1380,7 +1394,7 @@ Rule	Para	2005	2009	-	Mar	Sun>=8	0:00	0	
 # and that on the first Sunday of the month of October, it is to be set
 # forward 60 minutes, in all the territory of the Paraguayan Republic.
 # ...
-Rule	Para	2010	max	-	Oct	Sun<=7	0:00	1:00	S
+Rule	Para	2010	max	-	Oct	Sun>=1	0:00	1:00	S
 Rule	Para	2010	max	-	Apr	Sun>=8	0:00	0	-
 
 # Zone	NAME		GMTOFF	RULES	FORMAT	[UNTIL]

From owner-svn-src-vendor@FreeBSD.ORG  Mon Mar  8 21:14:22 2010
Return-Path: 
Delivered-To: svn-src-vendor@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 272AF106564A;
	Mon,  8 Mar 2010 21:14:22 +0000 (UTC)
	(envelope-from edwin@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id F014A8FC20;
	Mon,  8 Mar 2010 21:14:21 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o28LELeY009445;
	Mon, 8 Mar 2010 21:14:21 GMT (envelope-from edwin@svn.freebsd.org)
Received: (from edwin@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id o28LELRq009444;
	Mon, 8 Mar 2010 21:14:21 GMT (envelope-from edwin@svn.freebsd.org)
Message-Id: <201003082114.o28LELRq009444@svn.freebsd.org>
From: Edwin Groothuis 
Date: Mon, 8 Mar 2010 21:14:21 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
	svn-src-vendor@freebsd.org
X-SVN-Group: vendor
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r204885 - vendor/tzdata/tzdata2010e
X-BeenThere: svn-src-vendor@freebsd.org
X-Mailman-Version: 2.1.5
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, 08 Mar 2010 21:14:22 -0000

Author: edwin
Date: Mon Mar  8 21:14:21 2010
New Revision: 204885
URL: http://svn.freebsd.org/changeset/base/204885

Log:
  Tag of tzdata2010e

Added:
  vendor/tzdata/tzdata2010e/
     - copied from r204884, vendor/tzdata/dist/

From owner-svn-src-vendor@FreeBSD.ORG  Tue Mar  9 22:40:05 2010
Return-Path: 
Delivered-To: svn-src-vendor@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id AE75D106564A;
	Tue,  9 Mar 2010 22:40:05 +0000 (UTC)
	(envelope-from delphij@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 9B2178FC12;
	Tue,  9 Mar 2010 22:40:05 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o29Me5Jt050998;
	Tue, 9 Mar 2010 22:40:05 GMT (envelope-from delphij@svn.freebsd.org)
Received: (from delphij@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id o29Me5VO050996;
	Tue, 9 Mar 2010 22:40:05 GMT (envelope-from delphij@svn.freebsd.org)
Message-Id: <201003092240.o29Me5VO050996@svn.freebsd.org>
From: Xin LI 
Date: Tue, 9 Mar 2010 22:40:05 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
	svn-src-vendor@freebsd.org
X-SVN-Group: vendor-sys
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r204933 - vendor-sys/x86emu/dist
X-BeenThere: svn-src-vendor@freebsd.org
X-Mailman-Version: 2.1.5
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: Tue, 09 Mar 2010 22:40:05 -0000

Author: delphij
Date: Tue Mar  9 22:40:05 2010
New Revision: 204933
URL: http://svn.freebsd.org/changeset/base/204933

Log:
  Grab revision 1.5 from OpenBSD's x86emu.c.  This is a purely whitespace
  cleanup.
  
  Obtained from:	OpenBSD

Modified:
  vendor-sys/x86emu/dist/x86emu.c

Modified: vendor-sys/x86emu/dist/x86emu.c
==============================================================================
--- vendor-sys/x86emu/dist/x86emu.c	Tue Mar  9 22:34:26 2010	(r204932)
+++ vendor-sys/x86emu/dist/x86emu.c	Tue Mar  9 22:40:05 2010	(r204933)
@@ -1,4 +1,4 @@
-/*	$OpenBSD: x86emu.c,v 1.4 2009/06/18 14:19:21 pirofti Exp $	*/
+/*	$OpenBSD: x86emu.c,v 1.5 2010/02/17 15:09:47 pirofti Exp $	*/
 /*	$NetBSD: x86emu.c,v 1.7 2009/02/03 19:26:29 joerg Exp $	*/
 
 /*
@@ -237,7 +237,8 @@ x86emu_exec(struct x86emu *emu)
 
 	for (;;) {
 		if (emu->x86.intr) {
-			if (((emu->x86.intr & INTR_SYNCH) && (emu->x86.intno == 0 || emu->x86.intno == 2)) ||
+			if (((emu->x86.intr & INTR_SYNCH) &&
+			    (emu->x86.intno == 0 || emu->x86.intno == 2)) ||
 			    !ACCESS_FLAG(F_IF)) {
 				x86emu_intr_handle(emu);
 			}
@@ -802,9 +803,9 @@ decode_rh_seg_register(struct x86emu *em
 		x86emu_halt_sys(emu);
 	}
 }
+
 /*
- *
- * return offset from the SIB Byte
+ * Return offset from the SIB Byte.
  */
 static uint32_t 
 decode_sib_address(struct x86emu *emu, int sib, int mod)
@@ -1113,7 +1114,8 @@ common_dec_word_long(struct x86emu *emu,
 }
 
 static void
-common_binop_byte_rm_r(struct x86emu *emu, uint8_t (*binop)(struct x86emu *, uint8_t, uint8_t))
+common_binop_byte_rm_r(struct x86emu *emu, 
+    uint8_t (*binop)(struct x86emu *, uint8_t, uint8_t))
 {
 	uint32_t destoffset;
 	uint8_t *destreg, srcval;
@@ -1133,7 +1135,8 @@ common_binop_byte_rm_r(struct x86emu *em
 }
 
 static void
-common_binop_ns_byte_rm_r(struct x86emu *emu, void (*binop)(struct x86emu *, uint8_t, uint8_t))
+common_binop_ns_byte_rm_r(struct x86emu *emu, 
+    void (*binop)(struct x86emu *, uint8_t, uint8_t))
 {
 	uint32_t destoffset;
 	uint8_t destval, srcval;
@@ -1150,7 +1153,8 @@ common_binop_ns_byte_rm_r(struct x86emu 
 }
 
 static void
-common_binop_word_rm_r(struct x86emu *emu, uint16_t (*binop)(struct x86emu *, uint16_t, uint16_t))
+common_binop_word_rm_r(struct x86emu *emu,
+    uint16_t (*binop)(struct x86emu *, uint16_t, uint16_t))
 {
 	uint32_t destoffset;
 	uint16_t destval, *destreg, srcval;
@@ -1169,7 +1173,8 @@ common_binop_word_rm_r(struct x86emu *em
 }
 
 static void
-common_binop_byte_r_rm(struct x86emu *emu, uint8_t (*binop)(struct x86emu *, uint8_t, uint8_t))
+common_binop_byte_r_rm(struct x86emu *emu,
+    uint8_t (*binop)(struct x86emu *, uint8_t, uint8_t))
 {
 	uint8_t *destreg, srcval;
 	uint32_t srcoffset;
@@ -1186,7 +1191,8 @@ common_binop_byte_r_rm(struct x86emu *em
 }
 
 static void
-common_binop_long_rm_r(struct x86emu *emu, uint32_t (*binop)(struct x86emu *, uint32_t, uint32_t))
+common_binop_long_rm_r(struct x86emu *emu,
+    uint32_t (*binop)(struct x86emu *, uint32_t, uint32_t))
 {
 	uint32_t destoffset;
 	uint32_t destval, *destreg, srcval;
@@ -1206,7 +1212,8 @@ common_binop_long_rm_r(struct x86emu *em
 
 static void
 common_binop_word_long_rm_r(struct x86emu *emu,
-    uint16_t (*binop16)(struct x86emu *, uint16_t, uint16_t), uint32_t (*binop32)(struct x86emu *, uint32_t, uint32_t))
+    uint16_t (*binop16)(struct x86emu *, uint16_t, uint16_t),
+    uint32_t (*binop32)(struct x86emu *, uint32_t, uint32_t))
 {
 	if (emu->x86.mode & SYSMODE_PREFIX_DATA)
 		common_binop_long_rm_r(emu, binop32);
@@ -1215,7 +1222,8 @@ common_binop_word_long_rm_r(struct x86em
 }
 
 static void
-common_binop_ns_word_rm_r(struct x86emu *emu, void (*binop)(struct x86emu *, uint16_t, uint16_t))
+common_binop_ns_word_rm_r(struct x86emu *emu,
+    void (*binop)(struct x86emu *, uint16_t, uint16_t))
 {
 	uint32_t destoffset;
 	uint16_t destval, srcval;
@@ -1233,7 +1241,8 @@ common_binop_ns_word_rm_r(struct x86emu 
 
 
 static void
-common_binop_ns_long_rm_r(struct x86emu *emu, void (*binop)(struct x86emu *, uint32_t, uint32_t))
+common_binop_ns_long_rm_r(struct x86emu *emu,
+    void (*binop)(struct x86emu *, uint32_t, uint32_t))
 {
 	uint32_t destoffset;
 	uint32_t destval, srcval;
@@ -1251,7 +1260,8 @@ common_binop_ns_long_rm_r(struct x86emu 
 
 static void
 common_binop_ns_word_long_rm_r(struct x86emu *emu,
-    void (*binop16)(struct x86emu *, uint16_t, uint16_t), void (*binop32)(struct x86emu *, uint32_t, uint32_t))
+    void (*binop16)(struct x86emu *, uint16_t, uint16_t),
+    void (*binop32)(struct x86emu *, uint32_t, uint32_t))
 {
 	if (emu->x86.mode & SYSMODE_PREFIX_DATA)
 		common_binop_ns_long_rm_r(emu, binop32);
@@ -1260,7 +1270,8 @@ common_binop_ns_word_long_rm_r(struct x8
 }
 
 static void
-common_binop_long_r_rm(struct x86emu *emu, uint32_t (*binop)(struct x86emu *, uint32_t, uint32_t))
+common_binop_long_r_rm(struct x86emu *emu,
+    uint32_t (*binop)(struct x86emu *, uint32_t, uint32_t))
 {
 	uint32_t srcoffset;
 	uint32_t *destreg, srcval;
@@ -1277,7 +1288,8 @@ common_binop_long_r_rm(struct x86emu *em
 }
 
 static void
-common_binop_word_r_rm(struct x86emu *emu, uint16_t (*binop)(struct x86emu *, uint16_t, uint16_t))
+common_binop_word_r_rm(struct x86emu *emu,
+    uint16_t (*binop)(struct x86emu *, uint16_t, uint16_t))
 {
 	uint32_t srcoffset;
 	uint16_t *destreg, srcval;
@@ -1295,7 +1307,8 @@ common_binop_word_r_rm(struct x86emu *em
 
 static void
 common_binop_word_long_r_rm(struct x86emu *emu,
-    uint16_t (*binop16)(struct x86emu *, uint16_t, uint16_t), uint32_t (*binop32)(struct x86emu *, uint32_t, uint32_t))
+    uint16_t (*binop16)(struct x86emu *, uint16_t, uint16_t),
+    uint32_t (*binop32)(struct x86emu *, uint32_t, uint32_t))
 {
 	if (emu->x86.mode & SYSMODE_PREFIX_DATA)
 		common_binop_long_r_rm(emu, binop32);
@@ -1304,7 +1317,8 @@ common_binop_word_long_r_rm(struct x86em
 }
 
 static void
-common_binop_byte_imm(struct x86emu *emu, uint8_t (*binop)(struct x86emu *, uint8_t, uint8_t))
+common_binop_byte_imm(struct x86emu *emu,
+    uint8_t (*binop)(struct x86emu *, uint8_t, uint8_t))
 {
 	uint8_t srcval;
 
@@ -1314,7 +1328,8 @@ common_binop_byte_imm(struct x86emu *emu
 
 static void
 common_binop_word_long_imm(struct x86emu *emu,
-    uint16_t (*binop16)(struct x86emu *, uint16_t, uint16_t), uint32_t (*binop32)(struct x86emu *, uint32_t, uint32_t))
+    uint16_t (*binop16)(struct x86emu *, uint16_t, uint16_t),
+    uint32_t (*binop32)(struct x86emu *, uint32_t, uint32_t))
 {
 	if (emu->x86.mode & SYSMODE_PREFIX_DATA) {
 		uint32_t srcval;
@@ -1771,7 +1786,8 @@ x86emuOp_opc80_byte_RM_IMM(struct x86emu
 }
 
 static
-uint16_t(* const opc81_word_operation[]) (struct x86emu *, uint16_t d, uint16_t s) =
+uint16_t(* const opc81_word_operation[])
+    (struct x86emu *, uint16_t d, uint16_t s) =
 {
 	add_word,		/* 00 */
 	or_word,		/* 01 */
@@ -1784,7 +1800,8 @@ uint16_t(* const opc81_word_operation[])
 };
 
 static
-uint32_t(* const opc81_long_operation[]) (struct x86emu *, uint32_t d, uint32_t s) =
+uint32_t(* const opc81_long_operation[])
+    (struct x86emu *, uint32_t d, uint32_t s) =
 {
 	add_long,		/* 00 */
 	or_long,		/* 01 */
@@ -1846,7 +1863,8 @@ x86emuOp_opc81_word_RM_IMM(struct x86emu
 }
 
 static
-uint8_t(* const opc82_byte_operation[]) (struct x86emu *, uint8_t s, uint8_t d) =
+uint8_t(* const opc82_byte_operation[])
+    (struct x86emu *, uint8_t s, uint8_t d) =
 {
 	add_byte,		/* 00 */
 	or_byte,		/* 01 *//* YYY UNUSED ???? */
@@ -1882,7 +1900,8 @@ x86emuOp_opc82_byte_RM_IMM(struct x86emu
 }
 
 static
-uint16_t(* const opc83_word_operation[]) (struct x86emu *, uint16_t s, uint16_t d) =
+uint16_t(* const opc83_word_operation[])
+    (struct x86emu *, uint16_t s, uint16_t d) =
 {
 	add_word,		/* 00 */
 	or_word,		/* 01 *//* YYY UNUSED ???? */
@@ -1895,7 +1914,8 @@ uint16_t(* const opc83_word_operation[])
 };
 
 static
-uint32_t(* const opc83_long_operation[]) (struct x86emu *, uint32_t s, uint32_t d) =
+uint32_t(* const opc83_long_operation[])
+    (struct x86emu *, uint32_t s, uint32_t d) =
 {
 	add_long,		/* 00 */
 	or_long,		/* 01 *//* YYY UNUSED ???? */
@@ -2609,7 +2629,8 @@ x86emuOp_movs_word(struct x86emu *emu)
 			store_long(emu, emu->x86.R_ES, emu->x86.R_DI, val);
 		} else {
 			val = fetch_data_word(emu, emu->x86.R_SI);
-			store_word(emu, emu->x86.R_ES, emu->x86.R_DI, (uint16_t) val);
+			store_word(emu, emu->x86.R_ES, emu->x86.R_DI,
+			    (uint16_t) val);
 		}
 		emu->x86.R_SI += inc;
 		emu->x86.R_DI += inc;
@@ -2695,11 +2716,13 @@ x86emuOp_cmps_word(struct x86emu *emu)
 		while (emu->x86.R_CX != 0) {
 			if (emu->x86.mode & SYSMODE_PREFIX_DATA) {
 				val1 = fetch_data_long(emu, emu->x86.R_SI);
-				val2 = fetch_long(emu, emu->x86.R_ES, emu->x86.R_DI);
+				val2 = fetch_long(emu, emu->x86.R_ES,
+				    emu->x86.R_DI);
 				cmp_long(emu, val1, val2);
 			} else {
 				val1 = fetch_data_word(emu, emu->x86.R_SI);
-				val2 = fetch_word(emu, emu->x86.R_ES, emu->x86.R_DI);
+				val2 = fetch_word(emu, emu->x86.R_ES,
+				    emu->x86.R_DI);
 				cmp_word(emu, (uint16_t) val1, (uint16_t) val2);
 			}
 			emu->x86.R_CX -= 1;
@@ -2715,11 +2738,13 @@ x86emuOp_cmps_word(struct x86emu *emu)
 		while (emu->x86.R_CX != 0) {
 			if (emu->x86.mode & SYSMODE_PREFIX_DATA) {
 				val1 = fetch_data_long(emu, emu->x86.R_SI);
-				val2 = fetch_long(emu, emu->x86.R_ES, emu->x86.R_DI);
+				val2 = fetch_long(emu, emu->x86.R_ES,
+				    emu->x86.R_DI);
 				cmp_long(emu, val1, val2);
 			} else {
 				val1 = fetch_data_word(emu, emu->x86.R_SI);
-				val2 = fetch_word(emu, emu->x86.R_ES, emu->x86.R_DI);
+				val2 = fetch_word(emu, emu->x86.R_ES,
+				    emu->x86.R_DI);
 				cmp_word(emu, (uint16_t) val1, (uint16_t) val2);
 			}
 			emu->x86.R_CX -= 1;
@@ -2775,7 +2800,8 @@ x86emuOp_stos_byte(struct x86emu *emu)
 		/* dont care whether REPE or REPNE */
 		/* move them until CX is ZERO. */
 		while (emu->x86.R_CX != 0) {
-			store_byte(emu, emu->x86.R_ES, emu->x86.R_DI, emu->x86.R_AL);
+			store_byte(emu, emu->x86.R_ES, emu->x86.R_DI,
+			    emu->x86.R_AL);
 			emu->x86.R_CX -= 1;
 			emu->x86.R_DI += inc;
 		}
@@ -2814,9 +2840,11 @@ x86emuOp_stos_word(struct x86emu *emu)
 	}
 	while (count--) {
 		if (emu->x86.mode & SYSMODE_PREFIX_DATA) {
-			store_long(emu, emu->x86.R_ES, emu->x86.R_DI, emu->x86.R_EAX);
+			store_long(emu, emu->x86.R_ES, emu->x86.R_DI,
+			    emu->x86.R_EAX);
 		} else {
-			store_word(emu, emu->x86.R_ES, emu->x86.R_DI, emu->x86.R_AX);
+			store_word(emu, emu->x86.R_ES, emu->x86.R_DI,
+			    emu->x86.R_AX);
 		}
 		emu->x86.R_DI += inc;
 	}
@@ -2954,10 +2982,12 @@ x86emuOp_scas_word(struct x86emu *emu)
 		/* move them until CX is ZERO. */
 		while (emu->x86.R_CX != 0) {
 			if (emu->x86.mode & SYSMODE_PREFIX_DATA) {
-				val = fetch_long(emu, emu->x86.R_ES, emu->x86.R_DI);
+				val = fetch_long(emu, emu->x86.R_ES,
+				    emu->x86.R_DI);
 				cmp_long(emu, emu->x86.R_EAX, val);
 			} else {
-				val = fetch_word(emu, emu->x86.R_ES, emu->x86.R_DI);
+				val = fetch_word(emu, emu->x86.R_ES,
+				    emu->x86.R_DI);
 				cmp_word(emu, emu->x86.R_AX, (uint16_t) val);
 			}
 			emu->x86.R_CX -= 1;
@@ -2971,10 +3001,12 @@ x86emuOp_scas_word(struct x86emu *emu)
 		/* move them until CX is ZERO. */
 		while (emu->x86.R_CX != 0) {
 			if (emu->x86.mode & SYSMODE_PREFIX_DATA) {
-				val = fetch_long(emu, emu->x86.R_ES, emu->x86.R_DI);
+				val = fetch_long(emu, emu->x86.R_ES,
+				    emu->x86.R_DI);
 				cmp_long(emu, emu->x86.R_EAX, val);
 			} else {
-				val = fetch_word(emu, emu->x86.R_ES, emu->x86.R_DI);
+				val = fetch_word(emu, emu->x86.R_ES,
+				    emu->x86.R_DI);
 				cmp_word(emu, emu->x86.R_AX, (uint16_t) val);
 			}
 			emu->x86.R_CX -= 1;
@@ -3100,7 +3132,8 @@ x86emuOp_mov_word_DI_IMM(struct x86emu *
 }
 /* used by opcodes c0, d0, and d2. */
 static
-uint8_t(* const opcD0_byte_operation[]) (struct x86emu *, uint8_t d, uint8_t s) =
+uint8_t(* const opcD0_byte_operation[])
+    (struct x86emu *, uint8_t d, uint8_t s) =
 {
 	rol_byte,
 	ror_byte,
@@ -3134,7 +3167,8 @@ x86emuOp_opcC0_byte_RM_MEM(struct x86emu
 }
 /* used by opcodes c1, d1, and d3. */
 static
-uint16_t(* const opcD1_word_operation[]) (struct x86emu *, uint16_t s, uint8_t d) =
+uint16_t(* const opcD1_word_operation[])
+    (struct x86emu *, uint16_t s, uint8_t d) =
 {
 	rol_word,
 	ror_word,
@@ -3147,7 +3181,8 @@ uint16_t(* const opcD1_word_operation[])
 };
 /* used by opcodes c1, d1, and d3. */
 static
-uint32_t(* const opcD1_long_operation[]) (struct x86emu *, uint32_t s, uint8_t d) =
+uint32_t(* const opcD1_long_operation[])
+    (struct x86emu *, uint32_t s, uint8_t d) =
 {
 	rol_long,
 	ror_long,
@@ -3178,13 +3213,15 @@ x86emuOp_opcC1_word_RM_MEM(struct x86emu
 		uint32_t destval;
 
 		destval = decode_and_fetch_long_imm8(emu, &amt);
-		destval = (*opcD1_long_operation[emu->cur_rh]) (emu, destval, amt);
+		destval = (*opcD1_long_operation[emu->cur_rh])
+		    (emu, destval, amt);
 		write_back_long(emu, destval);
 	} else {
 		uint16_t destval;
 
 		destval = decode_and_fetch_word_imm8(emu, &amt);
-		destval = (*opcD1_word_operation[emu->cur_rh]) (emu, destval, amt);
+		destval = (*opcD1_word_operation[emu->cur_rh])
+		    (emu, destval, amt);
 		write_back_word(emu, destval);
 	}
 }
@@ -3301,7 +3338,8 @@ x86emuOp_enter(struct x86emu *emu)
 	if (nesting > 0) {
 		for (i = 1; i < nesting; i++) {
 			emu->x86.R_BP -= 2;
-			push_word(emu, fetch_word(emu, emu->x86.R_SS, emu->x86.R_BP));
+			push_word(emu, fetch_word(emu, emu->x86.R_SS,
+			    emu->x86.R_BP));
 		}
 		push_word(emu, frame_pointer);
 	}
@@ -3419,14 +3457,14 @@ x86emuOp_opcD1_word_RM_1(struct x86emu *
 
 		fetch_decode_modrm(emu);
 		destval = decode_and_fetch_long(emu);
-		destval = (*opcD1_long_operation[emu->cur_rh]) (emu, destval, 1);
+		destval = (*opcD1_long_operation[emu->cur_rh])(emu, destval, 1);
 		write_back_long(emu, destval);
 	} else {
 		uint16_t destval;
 
 		fetch_decode_modrm(emu);
 		destval = decode_and_fetch_word(emu);
-		destval = (*opcD1_word_operation[emu->cur_rh]) (emu, destval, 1);
+		destval = (*opcD1_word_operation[emu->cur_rh])(emu, destval, 1);
 		write_back_word(emu, destval);
 	}
 }
@@ -3442,7 +3480,8 @@ x86emuOp_opcD2_byte_RM_CL(struct x86emu 
 
 	fetch_decode_modrm(emu);
 	destval = decode_and_fetch_byte(emu);
-	destval = (*opcD0_byte_operation[emu->cur_rh]) (emu, destval, emu->x86.R_CL);
+	destval = (*opcD0_byte_operation[emu->cur_rh])
+	    (emu, destval, emu->x86.R_CL);
 	write_back_byte(emu, destval);
 }
 
@@ -3458,14 +3497,16 @@ x86emuOp_opcD3_word_RM_CL(struct x86emu 
 
 		fetch_decode_modrm(emu);
 		destval = decode_and_fetch_long(emu);
-		destval = (*opcD1_long_operation[emu->cur_rh]) (emu, destval, emu->x86.R_CL);
+		destval = (*opcD1_long_operation[emu->cur_rh])
+		    (emu, destval, emu->x86.R_CL);
 		write_back_long(emu, destval);
 	} else {
 		uint16_t destval;
 
 		fetch_decode_modrm(emu);
 		destval = decode_and_fetch_word(emu);
-		destval = (*opcD1_word_operation[emu->cur_rh]) (emu, destval, emu->x86.R_CL);
+		destval = (*opcD1_word_operation[emu->cur_rh])
+		    (emu, destval, emu->x86.R_CL);
 		write_back_word(emu, destval);
 	}
 }
@@ -4124,7 +4165,8 @@ x86emuOp_opcFF_word_RM(struct x86emu *em
 
 	/* Yet another special case instruction. */
 	fetch_decode_modrm(emu);
-	if ((emu->cur_mod == 3 && (emu->cur_rh == 3 || emu->cur_rh == 5)) || emu->cur_rh == 7)
+	if ((emu->cur_mod == 3 && (emu->cur_rh == 3 || emu->cur_rh == 5)) ||
+	    emu->cur_rh == 7)
 		x86emu_halt_sys(emu);
 	if (emu->cur_rh == 0 || emu->cur_rh == 1 || emu->cur_rh == 6) {
 		if (emu->x86.mode & SYSMODE_PREFIX_DATA)
@@ -5159,7 +5201,9 @@ common_shift(struct x86emu *emu, int shi
 		common_shift16(emu, shift_left, use_cl);
 }
 
-/*----------------------------- Implementation ----------------------------*/
+/*
+ * Implementation
+ */
 #define xorl(a,b)   ((a) && !(b)) || (!(a) && (b))
 
 
@@ -5675,18 +5719,21 @@ x86emu_exec_two_byte(struct x86emu * emu
 		common_jmp_long(emu, !ACCESS_FLAG(F_PF));
 		break;
 	case 0x8c:
-		common_jmp_long(emu, xorl(ACCESS_FLAG(F_SF), ACCESS_FLAG(F_OF)));
+		common_jmp_long(emu, xorl(ACCESS_FLAG(F_SF),
+		    ACCESS_FLAG(F_OF)));
 		break;
 	case 0x8d:
-		common_jmp_long(emu, !(xorl(ACCESS_FLAG(F_SF), ACCESS_FLAG(F_OF))));
+		common_jmp_long(emu, !(xorl(ACCESS_FLAG(F_SF),
+		    ACCESS_FLAG(F_OF))));
 		break;
 	case 0x8e:
-		common_jmp_long(emu,
-		    (xorl(ACCESS_FLAG(F_SF), ACCESS_FLAG(F_OF)) || ACCESS_FLAG(F_ZF)));
+		common_jmp_long(emu, (xorl(ACCESS_FLAG(F_SF), ACCESS_FLAG(F_OF))
+		    || ACCESS_FLAG(F_ZF)));
 		break;
 	case 0x8f:
-		common_jmp_long(emu,
-		    !(xorl(ACCESS_FLAG(F_SF), ACCESS_FLAG(F_OF)) || ACCESS_FLAG(F_ZF)));
+		common_jmp_long(emu, 
+		    !(xorl(ACCESS_FLAG(F_SF), ACCESS_FLAG(F_OF)) ||
+		    ACCESS_FLAG(F_ZF)));
 		break;
 
 	case 0x90:
@@ -5726,10 +5773,12 @@ x86emu_exec_two_byte(struct x86emu * emu
 		common_set_byte(emu, !ACCESS_FLAG(F_PF));
 		break;
 	case 0x9c:
-		common_set_byte(emu, xorl(ACCESS_FLAG(F_SF), ACCESS_FLAG(F_OF)));
+		common_set_byte(emu, xorl(ACCESS_FLAG(F_SF),
+		    ACCESS_FLAG(F_OF)));
 		break;
 	case 0x9d:
-		common_set_byte(emu, xorl(ACCESS_FLAG(F_SF), ACCESS_FLAG(F_OF)));
+		common_set_byte(emu, xorl(ACCESS_FLAG(F_SF),
+		    ACCESS_FLAG(F_OF)));
 		break;
 	case 0x9e:
 		common_set_byte(emu,
@@ -5836,69 +5885,71 @@ x86emu_exec_two_byte(struct x86emu * emu
 }
 
 /*
-* Carry Chain Calculation
-*
-* This represents a somewhat expensive calculation which is
-* apparently required to emulate the setting of the OF and AF flag.
-* The latter is not so important, but the former is.  The overflow
-* flag is the XOR of the top two bits of the carry chain for an
-* addition (similar for subtraction).  Since we do not want to
-* simulate the addition in a bitwise manner, we try to calculate the
-* carry chain given the two operands and the result.
-*
-* So, given the following table, which represents the addition of two
-* bits, we can derive a formula for the carry chain.
-*
-* a   b   cin   r     cout
-* 0   0   0     0     0
-* 0   0   1     1     0
-* 0   1   0     1     0
-* 0   1   1     0     1
-* 1   0   0     1     0
-* 1   0   1     0     1
-* 1   1   0     0     1
-* 1   1   1     1     1
-*
-* Construction of table for cout:
-*
-* ab
-* r  \  00   01   11  10
-* |------------------
-* 0  |   0    1    1   1
-* 1  |   0    0    1   0
-*
-* By inspection, one gets:  cc = ab +  r'(a + b)
-*
-* That represents alot of operations, but NO CHOICE....
-*
-* Borrow Chain Calculation.
-*
-* The following table represents the subtraction of two bits, from
-* which we can derive a formula for the borrow chain.
-*
-* a   b   bin   r     bout
-* 0   0   0     0     0
-* 0   0   1     1     1
-* 0   1   0     1     1
-* 0   1   1     0     1
-* 1   0   0     1     0
-* 1   0   1     0     0
-* 1   1   0     0     0
-* 1   1   1     1     1
-*
-* Construction of table for cout:
-*
-* ab
-* r  \  00   01   11  10
-* |------------------
-* 0  |   0    1    0   0
-* 1  |   1    1    1   0
-*
-* By inspection, one gets:  bc = a'b +  r(a' + b)
-*
+ * Carry Chain Calculation
+ *
+ * This represents a somewhat expensive calculation which is
+ * apparently required to emulate the setting of the OF and AF flag.
+ * The latter is not so important, but the former is.  The overflow
+ * flag is the XOR of the top two bits of the carry chain for an
+ * addition (similar for subtraction).  Since we do not want to
+ * simulate the addition in a bitwise manner, we try to calculate the
+ * carry chain given the two operands and the result.
+ *
+ * So, given the following table, which represents the addition of two
+ * bits, we can derive a formula for the carry chain.
+ *
+ * a   b   cin   r     cout
+ * 0   0   0     0     0
+ * 0   0   1     1     0
+ * 0   1   0     1     0
+ * 0   1   1     0     1
+ * 1   0   0     1     0
+ * 1   0   1     0     1
+ * 1   1   0     0     1
+ * 1   1   1     1     1
+ *
+ * Construction of table for cout:
+ *
+ * ab
+ * r  \  00   01   11  10
+ * |------------------
+ * 0  |   0    1    1   1
+ * 1  |   0    0    1   0
+ *
+ * By inspection, one gets:  cc = ab +  r'(a + b)
+ *
+ * That represents alot of operations, but NO CHOICE....
+ *
+ * Borrow Chain Calculation.
+ *
+ * The following table represents the subtraction of two bits, from
+ * which we can derive a formula for the borrow chain.
+ *
+ * a   b   bin   r     bout
+ * 0   0   0     0     0
+ * 0   0   1     1     1
+ * 0   1   0     1     1
+ * 0   1   1     0     1
+ * 1   0   0     1     0
+ * 1   0   1     0     0
+ * 1   1   0     0     0
+ * 1   1   1     1     1
+ *
+ * Construction of table for cout:
+ *
+ * ab
+ * r  \  00   01   11  10
+ * |------------------
+ * 0  |   0    1    0   0
+ * 1  |   1    1    1   0
+ *
+ * By inspection, one gets:  bc = a'b +  r(a' + b)
+ *
  */
 
-/*------------------------- Global Variables ------------------------------*/
+/*
+ * Global Variables
+ */
 
 static uint32_t x86emu_parity_tab[8] =
 {
@@ -6660,33 +6711,38 @@ rcl_byte(struct x86emu *emu, uint8_t d, 
 	 * that's inefficient.  So the width is 9, and we split into three
 	 * parts:
 	 * 
-	 * The new carry flag   (was B_n) the stuff in B_n-1 .. B_0 the stuff in
-	 * B_7 .. B_n+1
+	 * The new carry flag   (was B_n) the stuff in B_n-1 .. B_0 the stuff
+	 * in B_7 .. B_n+1
 	 * 
-	 * The new rotate is done mod 9, and given this, for a rotation of n bits
-	 * (mod 9) the new carry flag is then located n bits from the MSB.
+	 * The new rotate is done mod 9, and given this, for a rotation of n
+	 * bits (mod 9) the new carry flag is then located n bits from the MSB.
 	 * The low part is then shifted up cnt bits, and the high part is or'd
 	 * in.  Using CAPS for new values, and lowercase for the original
 	 * values, this can be expressed as:
 	 * 
 	 * IF n > 0 1) CF <-  b_(8-n) 2) B_(7) .. B_(n)  <-  b_(8-(n+1)) .. b_0
-	 * 3) B_(n-1) <- cf 4) B_(n-2) .. B_0 <-  b_7 .. b_(8-(n-1)) */
+	 * 3) B_(n-1) <- cf 4) B_(n-2) .. B_0 <-  b_7 .. b_(8-(n-1))
+	 */
 	res = d;
 	if ((cnt = s % 9) != 0) {
 		/* extract the new CARRY FLAG. */
 		/* CF <-  b_(8-n)             */
 		cf = (d >> (8 - cnt)) & 0x1;
 
-		/* get the low stuff which rotated into the range B_7 .. B_cnt */
-		/* B_(7) .. B_(n)  <-  b_(8-(n+1)) .. b_0  */
-		/* note that the right hand side done by the mask */
+		/* 
+		 * Get the low stuff which rotated into the range B_7 .. B_cnt
+		 * B_(7) .. B_(n)  <-  b_(8-(n+1)) .. b_0
+		 * note that the right hand side done by the mask.
+		 */
 		res = (d << cnt) & 0xff;
 
-		/* now the high stuff which rotated around into the positions
-		 * B_cnt-2 .. B_0 */
-		/* B_(n-2) .. B_0 <-  b_7 .. b_(8-(n-1)) */
-		/* shift it downward, 7-(n-2) = 9-n positions. and mask off
-		 * the result before or'ing in. */
+		/* 
+		 * now the high stuff which rotated around into the positions
+		 * B_cnt-2 .. B_0
+		 * B_(n-2) .. B_0 <-  b_7 .. b_(8-(n-1))
+		 * shift it downward, 7-(n-2) = 9-n positions. and mask off
+		 * the result before or'ing in.
+		 */
 		mask = (1 << (cnt - 1)) - 1;
 		res |= (d >> (9 - cnt)) & mask;
 
@@ -6776,14 +6832,17 @@ rcr_byte(struct x86emu *emu, uint8_t d, 
 	 * 
 	 * CF  B_7 B_6 B_5 B_4 B_3 B_2 B_1 B_0
 	 * 
-	 * The new rotate is done mod 9, and given this, for a rotation of n bits
-	 * (mod 9) the new carry flag is then located n bits from the LSB.
+	 * The new rotate is done mod 9, and given this, for a rotation of n
+	 * bits (mod 9) the new carry flag is then located n bits from the LSB.
 	 * The low part is then shifted up cnt bits, and the high part is or'd
 	 * in.  Using CAPS for new values, and lowercase for the original
 	 * values, this can be expressed as:
 	 * 
-	 * IF n > 0 1) CF <-  b_(n-1) 2) B_(8-(n+1)) .. B_(0)  <-  b_(7) .. b_(n)
-	 * 3) B_(8-n) <- cf 4) B_(7) .. B_(8-(n-1)) <-  b_(n-2) .. b_(0) */
+	 * IF n > 0 
+	 *	1) CF <-  b_(n-1) 
+	 *	2) B_(8-(n+1)) .. B_(0)  <-  b_(7) .. b_(n)
+	 * 	3) B_(8-n) <- cf 4) B_(7) .. B_(8-(n-1)) <-  b_(n-2) .. b_(0)
+	 */
 	res = d;
 	if ((cnt = s % 9) != 0) {
 		/* extract the new CARRY FLAG. */
@@ -7199,8 +7258,8 @@ shl_long(struct x86emu *emu, uint32_t d,
 			res = d;
 		}
 		if (cnt == 1) {
-			CONDITIONAL_SET_FLAG((((res & 0x80000000) == 0x80000000) ^
-				(ACCESS_FLAG(F_CF) != 0)), F_OF);
+			CONDITIONAL_SET_FLAG((((res & 0x80000000) == 0x80000000)
+			    ^ (ACCESS_FLAG(F_CF) != 0)), F_OF);
 		} else {
 			CLEAR_FLAG(F_OF);
 		}
@@ -7511,8 +7570,8 @@ shld_long(struct x86emu *emu, uint32_t d
 			res = d;
 		}
 		if (cnt == 1) {
-			CONDITIONAL_SET_FLAG((((res & 0x80000000) == 0x80000000) ^
-				(ACCESS_FLAG(F_CF) != 0)), F_OF);
+			CONDITIONAL_SET_FLAG((((res & 0x80000000) == 0x80000000)
+			    ^ (ACCESS_FLAG(F_CF) != 0)), F_OF);
 		} else {
 			CLEAR_FLAG(F_OF);
 		}
@@ -8238,7 +8297,8 @@ outs(struct x86emu *emu, int size)
 		case 1:
 			while (count--) {
 				(*emu->emu_outb) (emu, emu->x86.R_DX,
-				    fetch_byte(emu, emu->x86.R_ES, emu->x86.R_SI));
+				    fetch_byte(emu, emu->x86.R_ES,
+				    emu->x86.R_SI));
 				emu->x86.R_SI += inc;
 			}
 			break;
@@ -8246,14 +8306,16 @@ outs(struct x86emu *emu, int size)
 		case 2:
 			while (count--) {
 				(*emu->emu_outw) (emu, emu->x86.R_DX,
-				    fetch_word(emu, emu->x86.R_ES, emu->x86.R_SI));
+				    fetch_word(emu, emu->x86.R_ES,
+				    emu->x86.R_SI));
 				emu->x86.R_SI += inc;
 			}
 			break;
 		case 4:
 			while (count--) {
 				(*emu->emu_outl) (emu, emu->x86.R_DX,
-				    fetch_long(emu, emu->x86.R_ES, emu->x86.R_SI));
+				    fetch_long(emu, emu->x86.R_ES,
+				    emu->x86.R_SI));
 				emu->x86.R_SI += inc;
 				break;
 			}

From owner-svn-src-vendor@FreeBSD.ORG  Wed Mar 10 17:45:16 2010
Return-Path: 
Delivered-To: svn-src-vendor@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 4682B1065676;
	Wed, 10 Mar 2010 17:45:16 +0000 (UTC)
	(envelope-from rdivacky@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 315198FC19;
	Wed, 10 Mar 2010 17:45:16 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o2AHjGkL011017;
	Wed, 10 Mar 2010 17:45:16 GMT
	(envelope-from rdivacky@svn.freebsd.org)
Received: (from rdivacky@localhost)
	by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2AHjFck011007;
	Wed, 10 Mar 2010 17:45:15 GMT
	(envelope-from rdivacky@svn.freebsd.org)
Message-Id: <201003101745.o2AHjFck011007@svn.freebsd.org>
From: Roman Divacky 
Date: Wed, 10 Mar 2010 17:45:15 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-all@freebsd.org,
	svn-src-vendor@freebsd.org
X-SVN-Group: vendor
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r204961 - in vendor/llvm/dist: bindings/ocaml docs
	docs/tutorial examples include/llvm include/llvm/ADT
	include/llvm/Analysis include/llvm/CodeGen include/llvm/MC
	include/llvm/Support i...
X-BeenThere: svn-src-vendor@freebsd.org
X-Mailman-Version: 2.1.5
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, 10 Mar 2010 17:45:16 -0000

Author: rdivacky
Date: Wed Mar 10 17:45:15 2010
New Revision: 204961
URL: http://svn.freebsd.org/changeset/base/204961

Log:
  Update LLVM to r98164.

Added:
  vendor/llvm/dist/lib/Target/ARM/ARMTargetObjectFile.cpp
  vendor/llvm/dist/test/Analysis/ScalarEvolution/unreachable-code.ll
  vendor/llvm/dist/test/CodeGen/ARM/armv4.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/2010-03-09-indirect-call.ll
  vendor/llvm/dist/test/CodeGen/Thumb2/2010-03-08-addi12-ccout.ll
  vendor/llvm/dist/test/CodeGen/X86/machine-cse.ll
  vendor/llvm/dist/test/CodeGen/X86/sibcall.ll
  vendor/llvm/dist/test/CodeGen/XCore/ladd_lsub_combine.ll
  vendor/llvm/dist/test/CodeGen/XCore/mul64.ll
  vendor/llvm/dist/test/MC/MachO/reloc-diff.s
  vendor/llvm/dist/test/MC/MachO/reloc-pcrel.s
  vendor/llvm/dist/test/MC/MachO/zerofill-4.s
  vendor/llvm/dist/test/MC/MachO/zerofill-sect-align.s
  vendor/llvm/dist/test/Transforms/InstCombine/memset_chk.ll
  vendor/llvm/dist/test/Transforms/InstCombine/strcpy_chk.ll
  vendor/llvm/dist/test/Transforms/LCSSA/unreachable-use.ll
Deleted:
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfLabel.cpp
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfLabel.h
  vendor/llvm/dist/test/CodeGen/X86/2007-10-16-IllegalAsm.ll
  vendor/llvm/dist/test/CodeGen/X86/tailcall2.ll
  vendor/llvm/dist/test/Transforms/SimplifyLibCalls/memset_chk.ll
  vendor/llvm/dist/test/Transforms/SimplifyLibCalls/strcpy_chk.ll
Modified:
  vendor/llvm/dist/bindings/ocaml/Makefile.ocaml
  vendor/llvm/dist/docs/CodeGenerator.html
  vendor/llvm/dist/docs/LangRef.html
  vendor/llvm/dist/docs/SourceLevelDebugging.html
  vendor/llvm/dist/docs/WritingAnLLVMPass.html
  vendor/llvm/dist/docs/tutorial/OCamlLangImpl3.html
  vendor/llvm/dist/docs/tutorial/OCamlLangImpl4.html
  vendor/llvm/dist/docs/tutorial/OCamlLangImpl5.html
  vendor/llvm/dist/docs/tutorial/OCamlLangImpl6.html
  vendor/llvm/dist/docs/tutorial/OCamlLangImpl7.html
  vendor/llvm/dist/examples/Makefile
  vendor/llvm/dist/include/llvm/ADT/APFloat.h
  vendor/llvm/dist/include/llvm/ADT/DenseMap.h
  vendor/llvm/dist/include/llvm/ADT/DenseSet.h
  vendor/llvm/dist/include/llvm/Analysis/DebugInfo.h
  vendor/llvm/dist/include/llvm/Analysis/InlineCost.h
  vendor/llvm/dist/include/llvm/Analysis/PostDominators.h
  vendor/llvm/dist/include/llvm/CodeGen/AsmPrinter.h
  vendor/llvm/dist/include/llvm/CodeGen/DwarfWriter.h
  vendor/llvm/dist/include/llvm/CodeGen/MachineModuleInfo.h
  vendor/llvm/dist/include/llvm/MC/MCAsmInfo.h
  vendor/llvm/dist/include/llvm/MC/MCContext.h
  vendor/llvm/dist/include/llvm/MC/MCExpr.h
  vendor/llvm/dist/include/llvm/MC/MCStreamer.h
  vendor/llvm/dist/include/llvm/Metadata.h
  vendor/llvm/dist/include/llvm/Support/Dwarf.h
  vendor/llvm/dist/include/llvm/Target/TargetLowering.h
  vendor/llvm/dist/include/llvm/Target/TargetLoweringObjectFile.h
  vendor/llvm/dist/include/llvm/Target/TargetRegisterInfo.h
  vendor/llvm/dist/include/llvm/Transforms/IPO/InlinerPass.h
  vendor/llvm/dist/lib/Analysis/DebugInfo.cpp
  vendor/llvm/dist/lib/Analysis/InlineCost.cpp
  vendor/llvm/dist/lib/Analysis/LoopInfo.cpp
  vendor/llvm/dist/lib/Analysis/ScalarEvolution.cpp
  vendor/llvm/dist/lib/Analysis/ScalarEvolutionExpander.cpp
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/CMakeLists.txt
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/DIE.cpp
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/DIE.h
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfDebug.h
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfException.cpp
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfPrinter.cpp
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfPrinter.h
  vendor/llvm/dist/lib/CodeGen/AsmPrinter/DwarfWriter.cpp
  vendor/llvm/dist/lib/CodeGen/BranchFolding.cpp
  vendor/llvm/dist/lib/CodeGen/LLVMTargetMachine.cpp
  vendor/llvm/dist/lib/CodeGen/LiveIntervalAnalysis.cpp
  vendor/llvm/dist/lib/CodeGen/MachineBasicBlock.cpp
  vendor/llvm/dist/lib/CodeGen/MachineCSE.cpp
  vendor/llvm/dist/lib/CodeGen/MachineFunction.cpp
  vendor/llvm/dist/lib/CodeGen/MachineInstr.cpp
  vendor/llvm/dist/lib/CodeGen/MachineModuleInfo.cpp
  vendor/llvm/dist/lib/CodeGen/PrologEpilogInserter.cpp
  vendor/llvm/dist/lib/CodeGen/PrologEpilogInserter.h
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/SDDbgValue.h
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
  vendor/llvm/dist/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
  vendor/llvm/dist/lib/CodeGen/SimpleRegisterCoalescing.cpp
  vendor/llvm/dist/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
  vendor/llvm/dist/lib/ExecutionEngine/JIT/JITDwarfEmitter.cpp
  vendor/llvm/dist/lib/MC/MCAsmInfo.cpp
  vendor/llvm/dist/lib/MC/MCAsmInfoDarwin.cpp
  vendor/llvm/dist/lib/MC/MCAssembler.cpp
  vendor/llvm/dist/lib/MC/MCContext.cpp
  vendor/llvm/dist/lib/MC/MCExpr.cpp
  vendor/llvm/dist/lib/MC/MCNullStreamer.cpp
  vendor/llvm/dist/lib/MC/MCParser/AsmParser.cpp
  vendor/llvm/dist/lib/MC/MCStreamer.cpp
  vendor/llvm/dist/lib/Support/APFloat.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMBaseInstrInfo.h
  vendor/llvm/dist/lib/Target/ARM/ARMBaseRegisterInfo.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMBaseRegisterInfo.h
  vendor/llvm/dist/lib/Target/ARM/ARMCodeEmitter.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMISelLowering.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMInstrInfo.td
  vendor/llvm/dist/lib/Target/ARM/ARMInstrNEON.td
  vendor/llvm/dist/lib/Target/ARM/ARMInstrThumb2.td
  vendor/llvm/dist/lib/Target/ARM/ARMInstrVFP.td
  vendor/llvm/dist/lib/Target/ARM/ARMMCAsmInfo.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMSubtarget.cpp
  vendor/llvm/dist/lib/Target/ARM/ARMSubtarget.h
  vendor/llvm/dist/lib/Target/ARM/ARMTargetObjectFile.h
  vendor/llvm/dist/lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp
  vendor/llvm/dist/lib/Target/ARM/AsmPrinter/ARMMCInstLower.cpp
  vendor/llvm/dist/lib/Target/ARM/CMakeLists.txt
  vendor/llvm/dist/lib/Target/ARM/Thumb1RegisterInfo.cpp
  vendor/llvm/dist/lib/Target/ARM/Thumb1RegisterInfo.h
  vendor/llvm/dist/lib/Target/ARM/Thumb2InstrInfo.cpp
  vendor/llvm/dist/lib/Target/Alpha/AlphaInstrInfo.td
  vendor/llvm/dist/lib/Target/Alpha/AlphaRegisterInfo.cpp
  vendor/llvm/dist/lib/Target/Alpha/AlphaRegisterInfo.h
  vendor/llvm/dist/lib/Target/Blackfin/BlackfinRegisterInfo.cpp
  vendor/llvm/dist/lib/Target/Blackfin/BlackfinRegisterInfo.h
  vendor/llvm/dist/lib/Target/CellSPU/CellSDKIntrinsics.td
  vendor/llvm/dist/lib/Target/CellSPU/SPUInstrInfo.td
  vendor/llvm/dist/lib/Target/CellSPU/SPUMathInstr.td
  vendor/llvm/dist/lib/Target/CellSPU/SPUNodes.td
  vendor/llvm/dist/lib/Target/CellSPU/SPURegisterInfo.cpp
  vendor/llvm/dist/lib/Target/CellSPU/SPURegisterInfo.h
  vendor/llvm/dist/lib/Target/MBlaze/MBlazeCallingConv.td
  vendor/llvm/dist/lib/Target/MBlaze/MBlazeISelDAGToDAG.cpp
  vendor/llvm/dist/lib/Target/MBlaze/MBlazeISelLowering.cpp
  vendor/llvm/dist/lib/Target/MBlaze/MBlazeISelLowering.h
  vendor/llvm/dist/lib/Target/MBlaze/MBlazeRegisterInfo.cpp
  vendor/llvm/dist/lib/Target/MBlaze/MBlazeRegisterInfo.h
  vendor/llvm/dist/lib/Target/MSP430/AsmPrinter/MSP430AsmPrinter.cpp
  vendor/llvm/dist/lib/Target/MSP430/AsmPrinter/MSP430InstPrinter.cpp
  vendor/llvm/dist/lib/Target/MSP430/AsmPrinter/MSP430MCInstLower.cpp
  vendor/llvm/dist/lib/Target/MSP430/MSP430RegisterInfo.cpp
  vendor/llvm/dist/lib/Target/MSP430/MSP430RegisterInfo.h
  vendor/llvm/dist/lib/Target/Mips/MipsRegisterInfo.cpp
  vendor/llvm/dist/lib/Target/Mips/MipsRegisterInfo.h
  vendor/llvm/dist/lib/Target/PIC16/PIC16DebugInfo.cpp
  vendor/llvm/dist/lib/Target/PIC16/PIC16RegisterInfo.cpp
  vendor/llvm/dist/lib/Target/PIC16/PIC16RegisterInfo.h
  vendor/llvm/dist/lib/Target/PowerPC/AsmPrinter/PPCAsmPrinter.cpp
  vendor/llvm/dist/lib/Target/PowerPC/PPCISelLowering.cpp
  vendor/llvm/dist/lib/Target/PowerPC/PPCInstrAltivec.td
  vendor/llvm/dist/lib/Target/PowerPC/PPCRegisterInfo.cpp
  vendor/llvm/dist/lib/Target/PowerPC/PPCRegisterInfo.h
  vendor/llvm/dist/lib/Target/Sparc/SparcRegisterInfo.cpp
  vendor/llvm/dist/lib/Target/Sparc/SparcRegisterInfo.h
  vendor/llvm/dist/lib/Target/SystemZ/SystemZInstrInfo.td
  vendor/llvm/dist/lib/Target/SystemZ/SystemZOperands.td
  vendor/llvm/dist/lib/Target/SystemZ/SystemZRegisterInfo.cpp
  vendor/llvm/dist/lib/Target/SystemZ/SystemZRegisterInfo.h
  vendor/llvm/dist/lib/Target/TargetLoweringObjectFile.cpp
  vendor/llvm/dist/lib/Target/X86/AsmPrinter/X86AsmPrinter.cpp
  vendor/llvm/dist/lib/Target/X86/AsmPrinter/X86MCInstLower.cpp
  vendor/llvm/dist/lib/Target/X86/X86ISelLowering.cpp
  vendor/llvm/dist/lib/Target/X86/X86ISelLowering.h
  vendor/llvm/dist/lib/Target/X86/X86Instr64bit.td
  vendor/llvm/dist/lib/Target/X86/X86InstrInfo.cpp
  vendor/llvm/dist/lib/Target/X86/X86InstrInfo.td
  vendor/llvm/dist/lib/Target/X86/X86InstrMMX.td
  vendor/llvm/dist/lib/Target/X86/X86InstrSSE.td
  vendor/llvm/dist/lib/Target/X86/X86MCAsmInfo.cpp
  vendor/llvm/dist/lib/Target/X86/X86RegisterInfo.cpp
  vendor/llvm/dist/lib/Target/X86/X86RegisterInfo.h
  vendor/llvm/dist/lib/Target/X86/X86TargetObjectFile.cpp
  vendor/llvm/dist/lib/Target/XCore/XCoreISelDAGToDAG.cpp
  vendor/llvm/dist/lib/Target/XCore/XCoreISelLowering.cpp
  vendor/llvm/dist/lib/Target/XCore/XCoreISelLowering.h
  vendor/llvm/dist/lib/Target/XCore/XCoreRegisterInfo.cpp
  vendor/llvm/dist/lib/Target/XCore/XCoreRegisterInfo.h
  vendor/llvm/dist/lib/Transforms/IPO/InlineAlways.cpp
  vendor/llvm/dist/lib/Transforms/IPO/InlineSimple.cpp
  vendor/llvm/dist/lib/Transforms/IPO/Inliner.cpp
  vendor/llvm/dist/lib/Transforms/InstCombine/InstCombine.h
  vendor/llvm/dist/lib/Transforms/InstCombine/InstCombineCalls.cpp
  vendor/llvm/dist/lib/Transforms/Scalar/SimplifyLibCalls.cpp
  vendor/llvm/dist/lib/Transforms/Utils/CloneFunction.cpp
  vendor/llvm/dist/lib/Transforms/Utils/LoopSimplify.cpp
  vendor/llvm/dist/lib/VMCore/Metadata.cpp
  vendor/llvm/dist/lib/VMCore/Verifier.cpp
  vendor/llvm/dist/runtime/Makefile
  vendor/llvm/dist/test/CodeGen/ARM/indirectbr.ll
  vendor/llvm/dist/test/CodeGen/MBlaze/cc.ll
  vendor/llvm/dist/test/CodeGen/MSP430/AddrMode-bis-rx.ll
  vendor/llvm/dist/test/CodeGen/MSP430/AddrMode-bis-xr.ll
  vendor/llvm/dist/test/CodeGen/MSP430/AddrMode-mov-rx.ll
  vendor/llvm/dist/test/CodeGen/MSP430/AddrMode-mov-xr.ll
  vendor/llvm/dist/test/CodeGen/PowerPC/indirectbr.ll
  vendor/llvm/dist/test/CodeGen/Thumb/2009-08-20-ISelBug.ll
  vendor/llvm/dist/test/CodeGen/Thumb2/machine-licm.ll
  vendor/llvm/dist/test/CodeGen/X86/2009-08-06-inlineasm.ll
  vendor/llvm/dist/test/CodeGen/X86/aliases.ll
  vendor/llvm/dist/test/CodeGen/X86/pre-split6.ll
  vendor/llvm/dist/test/CodeGen/X86/stack-color-with-reg.ll
  vendor/llvm/dist/test/CodeGen/XCore/addsub64.ll
  vendor/llvm/dist/test/FrontendC++/2010-02-17-DbgArtificialArg.cpp
  vendor/llvm/dist/test/MC/AsmParser/X86/x86_32-new-encoder.s
  vendor/llvm/dist/test/MC/Disassembler/simple-tests.txt
  vendor/llvm/dist/test/Transforms/InstCombine/objsize.ll
  vendor/llvm/dist/test/lit.cfg
  vendor/llvm/dist/tools/Makefile
  vendor/llvm/dist/unittests/Makefile.unittest
  vendor/llvm/dist/utils/TableGen/CodeGenDAGPatterns.cpp
  vendor/llvm/dist/utils/TableGen/DAGISelMatcher.cpp
  vendor/llvm/dist/utils/TableGen/DAGISelMatcher.h
  vendor/llvm/dist/utils/TableGen/DAGISelMatcherGen.cpp
  vendor/llvm/dist/utils/TableGen/DAGISelMatcherOpt.cpp
  vendor/llvm/dist/utils/lit/lit/TestRunner.py
  vendor/llvm/dist/utils/lit/lit/TestingConfig.py
  vendor/llvm/dist/utils/unittest/UnitTestMain/Makefile
  vendor/llvm/dist/utils/unittest/googletest/Makefile

Modified: vendor/llvm/dist/bindings/ocaml/Makefile.ocaml
==============================================================================
--- vendor/llvm/dist/bindings/ocaml/Makefile.ocaml	Wed Mar 10 17:27:09 2010	(r204960)
+++ vendor/llvm/dist/bindings/ocaml/Makefile.ocaml	Wed Mar 10 17:45:15 2010	(r204961)
@@ -66,35 +66,64 @@ Archive.CMA  := $(strip $(OCAMLC) -a -cu
 Compile.CMX  := $(strip $(OCAMLOPT) -c $(OCAMLCFLAGS) $(OCAMLDEBUGFLAG) -o)
 Archive.CMXA := $(strip $(OCAMLOPT) -a $(OCAMLAFLAGS) $(OCAMLDEBUGFLAG) -o)
 
+ifdef OCAMLOPT
+Archive.EXE := $(strip $(OCAMLOPT) -cc $(CXX) $(OCAMLCFLAGS) $(UsedOcamLibs:%=%.cmxa) $(OCAMLDEBUGFLAG) -o)
+else
+Archive.EXE := $(strip $(OCAMLC) -cc $(CXX) $(OCAMLCFLAGS) $(OCAMLDEBUGFLAG:%=%.cma) -o)
+endif
+
 # Source files
 OcamlSources1 := $(sort $(wildcard $(PROJ_SRC_DIR)/*.ml))
-OcamlHeaders1 := $(OcamlSources1:.ml=.mli)
+OcamlHeaders1 := $(sort $(wildcard $(PROJ_SRC_DIR)/*.mli))
 
-OcamlSources := $(OcamlSources1:$(PROJ_SRC_DIR)/%=$(ObjDir)/%)
-OcamlHeaders := $(OcamlHeaders1:$(PROJ_SRC_DIR)/%=$(ObjDir)/%)
+OcamlSources2 := $(filter-out $(ExcludeSources),$(OcamlSources1))
+OcamlHeaders2 := $(filter-out $(ExcludeHeaders),$(OcamlHeaders1))
+
+OcamlSources := $(OcamlSources2:$(PROJ_SRC_DIR)/%=$(ObjDir)/%)
+OcamlHeaders := $(OcamlHeaders2:$(PROJ_SRC_DIR)/%=$(ObjDir)/%)
 
 # Intermediate files
-LibraryCMA   := $(ObjDir)/$(LIBRARYNAME).cma
-LibraryCMXA  := $(ObjDir)/$(LIBRARYNAME).cmxa
 ObjectsCMI   := $(OcamlSources:%.ml=%.cmi)
 ObjectsCMO   := $(OcamlSources:%.ml=%.cmo)
 ObjectsCMX   := $(OcamlSources:%.ml=%.cmx)
 
+ifdef LIBRARYNAME
+LibraryCMA   := $(ObjDir)/$(LIBRARYNAME).cma
+LibraryCMXA  := $(ObjDir)/$(LIBRARYNAME).cmxa
+endif
+
+ifdef TOOLNAME
+ToolEXE      := $(ObjDir)/$(TOOLNAME)$(EXEEXT)
+endif
+
 # Output files
 #   The .cmo files are the only intermediates; all others are to be installed.
-LibraryA   := $(OcamlDir)/lib$(LIBRARYNAME).a
-OutputCMA  := $(LibraryCMA:$(ObjDir)/%.cma=$(OcamlDir)/%.cma)
-OutputCMXA := $(LibraryCMXA:$(ObjDir)/%.cmxa=$(OcamlDir)/%.cmxa)
 OutputsCMI := $(ObjectsCMI:$(ObjDir)/%.cmi=$(OcamlDir)/%.cmi)
 OutputsCMX := $(ObjectsCMX:$(ObjDir)/%.cmx=$(OcamlDir)/%.cmx)
 OutputLibs := $(UsedLibNames:%=$(OcamlDir)/%)
 
+ifdef LIBRARYNAME
+LibraryA   := $(OcamlDir)/lib$(LIBRARYNAME).a
+OutputCMA  := $(LibraryCMA:$(ObjDir)/%.cma=$(OcamlDir)/%.cma)
+OutputCMXA := $(LibraryCMXA:$(ObjDir)/%.cmxa=$(OcamlDir)/%.cmxa)
+endif
+
+ifdef TOOLNAME
+ifdef EXAMPLE_TOOL
+OutputEXE := $(ExmplDir)/$(strip $(TOOLNAME))$(EXEEXT)
+else
+OutputEXE := $(ToolDir)/$(strip $(TOOLNAME))$(EXEEXT)
+endif
+endif
+
 # Installation targets
+DestLibs := $(UsedLibNames:%=$(PROJ_libocamldir)/%)
+
+ifdef LIBRARYNAME
 DestA    := $(PROJ_libocamldir)/lib$(LIBRARYNAME).a
 DestCMA  := $(PROJ_libocamldir)/$(LIBRARYNAME).cma
 DestCMXA := $(PROJ_libocamldir)/$(LIBRARYNAME).cmxa
-DestLibs := $(UsedLibNames:%=$(PROJ_libocamldir)/%)
-
+endif
 
 ##===- Dependencies -------------------------------------------------------===##
 # Copy the sources into the intermediate directory because older ocamlc doesn't
@@ -106,18 +135,27 @@ $(ObjDir)/%.mli: $(PROJ_SRC_DIR)/%.mli $
 $(ObjDir)/%.ml: $(PROJ_SRC_DIR)/%.ml $(ObjDir)/.dir
 	$(Verb) $(CP) -f $< $@
 
+$(ObjectsCMI): $(UsedOcamlInterfaces:%=$(OcamlDir)/%.cmi)
+
+ifdef LIBRARYNAME
 $(ObjDir)/$(LIBRARYNAME).ocamldep: $(OcamlSources) $(OcamlHeaders) \
                                    $(OcamlDir)/.dir $(ObjDir)/.dir
 	$(Verb) $(OCAMLDEP) $(OCAMLCFLAGS) $(OcamlSources) $(OcamlHeaders) > $@
 
-$(ObjectsCMI): $(UsedOcamlInterfaces:%=$(OcamlDir)/%.cmi)
-
 -include $(ObjDir)/$(LIBRARYNAME).ocamldep
+endif
+
+ifdef TOOLNAME
+$(ObjDir)/$(TOOLNAME).ocamldep: $(OcamlSources) $(OcamlHeaders) \
+                                $(OcamlDir)/.dir $(ObjDir)/.dir
+	$(Verb) $(OCAMLDEP) $(OCAMLCFLAGS) $(OcamlSources) $(OcamlHeaders) > $@
 
+-include $(ObjDir)/$(TOOLNAME).ocamldep
+endif
 
 ##===- Build static library from C sources --------------------------------===##
 
-ifneq ($(ObjectsO),)
+ifdef LibraryA
 all-local:: $(LibraryA)
 clean-local:: clean-a
 install-local:: install-a
@@ -160,7 +198,7 @@ $(OcamlDir)/%.o: $(LibDir)/%.o
 	$(Verb) ln -sf $< $@
 
 clean-deplibs:
-	$(Verb) rm -f $(OutputLibs)
+	$(Verb) $(RM) -f $(OutputLibs)
 
 install-deplibs:
 	$(Verb) $(MKDIR) $(PROJ_libocamldir)
@@ -169,11 +207,12 @@ install-deplibs:
 	done
 
 uninstall-deplibs:
-	$(Verb) rm -f $(DestLibs)
+	$(Verb) $(RM) -f $(DestLibs)
 
 
 ##===- Build ocaml interfaces (.mli's -> .cmi's) --------------------------===##
 
+ifneq ($(OcamlHeaders),)
 all-local:: build-cmis
 clean-local:: clean-cmis
 install-local:: install-cmis
@@ -212,10 +251,16 @@ uninstall-cmis::
 	  $(EchoCmd) "Uninstalling $(PROJ_libocamldir)/$$i"; \
 	  $(RM) -f "$(PROJ_libocamldir)/$$i"; \
 	done
+endif
 
 
 ##===- Build ocaml bytecode archive (.ml's -> .cmo's -> .cma) -------------===##
 
+$(ObjDir)/%.cmo: $(ObjDir)/%.ml
+	$(Echo) "Compiling $(notdir $<) for $(BuildMode) build"
+	$(Verb) $(Compile.CMO) $@ $<
+
+ifdef LIBRARYNAME
 all-local:: $(OutputCMA)
 clean-local:: clean-cma
 install-local:: install-cma
@@ -228,10 +273,6 @@ $(LibraryCMA): $(ObjectsCMO) $(OcamlDir)
 	$(Echo) "Archiving $(notdir $@) for $(BuildMode) build"
 	$(Verb) $(Archive.CMA) $@ $(ObjectsCMO)
 
-$(ObjDir)/%.cmo: $(ObjDir)/%.ml
-	$(Echo) "Compiling $(notdir $<) for $(BuildMode) build"
-	$(Verb) $(Compile.CMO) $@ $<
-
 clean-cma::
 	$(Verb) $(RM) -f $(OutputCMA) $(UsedLibNames:%=$(OcamlDir)/%)
 
@@ -243,7 +284,7 @@ install-cma:: $(OutputCMA)
 uninstall-cma::
 	$(Echo) "Uninstalling $(DestCMA)"
 	-$(Verb) $(RM) -f $(DestCMA)
-
+endif
 
 ##===- Build optimized ocaml archive (.ml's -> .cmx's -> .cmxa, .a) -------===##
 
@@ -251,6 +292,14 @@ uninstall-cma::
 # If unavailable, 'configure' will not define OCAMLOPT in Makefile.config.
 ifdef OCAMLOPT
 
+$(OcamlDir)/%.cmx: $(ObjDir)/%.cmx
+	$(Verb) $(CP) -f $< $@
+
+$(ObjDir)/%.cmx: $(ObjDir)/%.ml
+	$(Echo) "Compiling optimized $(notdir $<) for $(BuildMode) build"
+	$(Verb) $(Compile.CMX) $@ $<
+
+ifdef LIBRARYNAME
 all-local:: $(OutputCMXA) $(OutputsCMX)
 clean-local:: clean-cmxa
 install-local:: install-cmxa
@@ -260,18 +309,11 @@ $(OutputCMXA): $(LibraryCMXA)
 	$(Verb) $(CP) -f $< $@
 	$(Verb) $(CP) -f $(<:.cmxa=.a) $(@:.cmxa=.a)
 
-$(OcamlDir)/%.cmx: $(ObjDir)/%.cmx
-	$(Verb) $(CP) -f $< $@
-
 $(LibraryCMXA): $(ObjectsCMX)
 	$(Echo) "Archiving $(notdir $@) for $(BuildMode) build"
 	$(Verb) $(Archive.CMXA) $@ $(ObjectsCMX)
 	$(Verb) $(RM) -f $(@:.cmxa=.o)
 
-$(ObjDir)/%.cmx: $(ObjDir)/%.ml
-	$(Echo) "Compiling optimized $(notdir $<) for $(BuildMode) build"
-	$(Verb) $(Compile.CMX) $@ $<
-
 clean-cmxa::
 	$(Verb) $(RM) -f $(OutputCMXA) $(OutputCMXA:.cmxa=.a) $(OutputsCMX)
 
@@ -295,7 +337,27 @@ uninstall-cmxa::
 	  $(EchoCmd) "Uninstalling $(PROJ_libocamldir)/$$i"; \
 	  $(RM) -f $(PROJ_libocamldir)/$$i; \
 	done
+endif
+endif
+
+##===- Build executables --------------------------------------------------===##
+
+ifdef TOOLNAME
+all-local:: $(OutputEXE)
+clean-local:: clean-exe
+
+$(OutputEXE): $(ToolEXE) $(OcamlDir)/.dir
+	$(Verb) $(CP) -f $< $@
 
+ifndef OCAMLOPT
+$(ToolEXE): $(ObjectsCMO) $(OcamlDir)/.dir
+	$(Echo) "Archiving $(notdir $@) for $(BuildMode) build"
+	$(Verb) $(Archive.EXE) $@ $<
+else
+$(ToolEXE): $(ObjectsCMX) $(OcamlDir)/.dir
+	$(Echo) "Archiving $(notdir $@) for $(BuildMode) build"
+	$(Verb) $(Archive.EXE) $@ $<
+endif
 endif
 
 ##===- Generate documentation ---------------------------------------------===##
@@ -325,7 +387,10 @@ printcamlvars::
 	$(Echo) "LibraryCMA   : " '$(LibraryCMA)'
 	$(Echo) "LibraryCMXA  : " '$(LibraryCMXA)'
 	$(Echo) "OcamlSources1: " '$(OcamlSources1)'
+	$(Echo) "OcamlSources2: " '$(OcamlSources2)'
 	$(Echo) "OcamlSources : " '$(OcamlSources)'
+	$(Echo) "OcamlHeaders1: " '$(OcamlHeaders1)'
+	$(Echo) "OcamlHeaders2: " '$(OcamlHeaders2)'
 	$(Echo) "OcamlHeaders : " '$(OcamlHeaders)'
 	$(Echo) "ObjectsCMI   : " '$(ObjectsCMI)'
 	$(Echo) "ObjectsCMO   : " '$(ObjectsCMO)'
@@ -340,4 +405,6 @@ printcamlvars::
 .PHONY: printcamlvars   build-cmis \
             clean-a     clean-cmis     clean-cma     clean-cmxa \
           install-a   install-cmis   install-cma   install-cmxa \
-		uninstall-a uninstall-cmis uninstall-cma uninstall-cmxa
+          install-exe \
+		uninstall-a uninstall-cmis uninstall-cma uninstall-cmxa \
+		uninstall-exe

Modified: vendor/llvm/dist/docs/CodeGenerator.html
==============================================================================
--- vendor/llvm/dist/docs/CodeGenerator.html	Wed Mar 10 17:27:09 2010	(r204960)
+++ vendor/llvm/dist/docs/CodeGenerator.html	Wed Mar 10 17:45:15 2010	(r204961)
@@ -86,6 +86,7 @@
   
  • Target-specific Implementation Notes
    • Tail call optimization
    • +
    • Sibling call optimization
    • The X86 backend
    • The PowerPC backend
        @@ -1734,6 +1735,50 @@ define fastcc i32 @tailcaller(i32 %in1, + +
        + +

        Sibling call optimization is a restricted form of tail call optimization. + Unlike tail call optimization described in the previous section, it can be + performed automatically on any tail calls when -tailcallopt option + is not specified.

        + +

        Sibling call optimization is currently performed on x86/x86-64 when the + following constraints are met:

        + +
          +
        • Caller and callee have the same calling convention. It can be either + c or fastcc. + +
        • The call is a tail call - in tail position (ret immediately follows call + and ret uses value of call or is void).
        • + +
        • Caller and callee have matching return type or the callee result is not + used. + +
        • If any of the callee arguments are being passed in stack, they must be + available in caller's own incoming argument stack and the frame offsets + must be the same. +
        + +

        Example:

        +
        +
        +declare i32 @bar(i32, i32)
        +
        +define i32 @foo(i32 %a, i32 %b, i32 %c) {
        +entry:
        +  %0 = tail call i32 @bar(i32 %a, i32 %b)
        +  ret i32 %0
        +}
        +
        +
        + +
        + + @@ -2116,7 +2161,7 @@ MOVSX32rm16 -> movsx, 32-bit register Chris Lattner
        The LLVM Compiler Infrastructure
        - Last modified: $Date: 2010-03-02 02:11:08 +0100 (Tue, 02 Mar 2010) $ + Last modified: $Date: 2010-03-08 22:05:02 +0100 (Mon, 08 Mar 2010) $ Modified: vendor/llvm/dist/docs/LangRef.html ============================================================================== --- vendor/llvm/dist/docs/LangRef.html Wed Mar 10 17:27:09 2010 (r204960) +++ vendor/llvm/dist/docs/LangRef.html Wed Mar 10 17:45:15 2010 (r204961) @@ -5149,8 +5149,11 @@ Loop: ; Infinite loop that counts a ret instruction. If the "tail" marker is present, the function call is eligible for tail call optimization, but might not in fact be - optimized into a jump. As of this writing, the extra requirements for - a call to actually be optimized are: + optimized into a jump. The code generator may optimize calls marked + "tail" with either 1) automatic + sibling call optimization when the caller and callee have + matching signatures, or 2) forced tail call optimization when the + following extra requirements are met:
        • Caller and callee both have the calling convention fastcc.
        • @@ -7470,7 +7473,7 @@ LLVM.

          Chris Lattner
          The LLVM Compiler Infrastructure
          - Last modified: $Date: 2010-03-05 00:44:48 +0100 (Fri, 05 Mar 2010) $ + Last modified: $Date: 2010-03-08 22:05:02 +0100 (Mon, 08 Mar 2010) $ Modified: vendor/llvm/dist/docs/SourceLevelDebugging.html ============================================================================== --- vendor/llvm/dist/docs/SourceLevelDebugging.html Wed Mar 10 17:27:09 2010 (r204960) +++ vendor/llvm/dist/docs/SourceLevelDebugging.html Wed Mar 10 17:45:15 2010 (r204961) @@ -25,6 +25,7 @@
        • Debug information descriptors
          • Compile unit descriptors
          • +
          • File descriptors
          • Global variable descriptors
          • Subprogram descriptors
          • Block descriptors
          • @@ -255,7 +256,7 @@ height="369">

            To provide basic functionality, the LLVM debugger does have to make some assumptions about the source-level language being debugged, though it keeps these to a minimum. The only common features that the LLVM debugger assumes - exist are source files, + exist are source files, and program objects. These abstract objects are used by a debugger to form stack traces, show information about local variables, etc.

            @@ -307,8 +308,8 @@ height="369"> of tags are loosely bound to the tag values of DWARF information entries. However, that does not restrict the use of the information supplied to DWARF targets. To facilitate versioning of debug information, the tag is augmented - with the current debug version (LLVMDebugVersion = 7 << 16 or 0x70000 or - 458752.)

            + with the current debug version (LLVMDebugVersion = 8 << 16 or 0x80000 or + 524288.)

            The details of the various descriptors follow.

            @@ -346,18 +347,36 @@ height="369"> that produced it.

            Compile unit descriptors provide the root context for objects declared in a - specific source file. Global variables and top level functions would be - defined using this context. Compile unit descriptors also provide context - for source line correspondence.

            - -

            Each input file is encoded as a separate compile unit in LLVM debugging - information output. However, many target specific tool chains prefer to - encode only one compile unit in an object file. In this situation, the LLVM - code generator will include debugging information entities in the compile - unit that is marked as main compile unit. The code generator accepts maximum - one main compile unit per module. If a module does not contain any main - compile unit then the code generator will emit multiple compile units in the - output object file.

            + specific compilation unit. File descriptors are defined using this context.

            + + + + + + +
            + +
            +
            +!0 = metadata !{
            +  i32,       ;; Tag = 41 + LLVMDebugVersion 
            +             ;; (DW_TAG_file_type)
            +  metadata,  ;; Source file name
            +  metadata,  ;; Source file directory (includes trailing slash)
            +  metadata   ;; Reference to compile unit where defined
            +}
            +
            +
            + +

            These descriptors contain informations for a file. Global variables and top + level functions would be defined using this context.k File descriptors also + provide context for source line correspondence.

            + +

            Each input file is encoded as a separate file descriptor in LLVM debugging + information output. Each file descriptor would be defined using a + compile unit.

            @@ -378,7 +397,7 @@ height="369"> metadata, ;; Name metadata, ;; Display name (fully qualified C++ name) metadata, ;; MIPS linkage name (for C++) - metadata, ;; Reference to compile unit where defined + metadata, ;; Reference to file where defined i32, ;; Line number where defined metadata, ;; Reference to type descriptor i1, ;; True if the global is local to compile unit (static) @@ -410,7 +429,7 @@ provide details such as name, type and w metadata, ;; Name metadata, ;; Display name (fully qualified C++ name) metadata, ;; MIPS linkage name (for C++) - metadata, ;; Reference to compile unit where defined + metadata, ;; Reference to file where defined i32, ;; Line number where defined metadata, ;; Reference to type descriptor i1, ;; True if the global is local to compile unit (static) @@ -461,7 +480,7 @@ provide details such as name, type and w ;; (DW_TAG_base_type) metadata, ;; Reference to context (typically a compile unit) metadata, ;; Name (may be "" for anonymous types) - metadata, ;; Reference to compile unit where defined (may be NULL) + metadata, ;; Reference to file where defined (may be NULL) i32, ;; Line number where defined (may be 0) i64, ;; Size in bits i64, ;; Alignment in bits @@ -512,7 +531,7 @@ DW_ATE_unsigned_char = 8 i32, ;; Tag (see below) metadata, ;; Reference to context metadata, ;; Name (may be "" for anonymous types) - metadata, ;; Reference to compile unit where defined (may be NULL) + metadata, ;; Reference to file where defined (may be NULL) i32, ;; Line number where defined (may be 0) i32, ;; Size in bits i32, ;; Alignment in bits @@ -580,7 +599,7 @@ DW_TAG_restrict_type = 55 i32, ;; Tag (see below) metadata, ;; Reference to context metadata, ;; Name (may be "" for anonymous types) - metadata, ;; Reference to compile unit where defined (may be NULL) + metadata, ;; Reference to file where defined (may be NULL) i32, ;; Line number where defined (may be 0) i64, ;; Size in bits i64, ;; Alignment in bits @@ -715,7 +734,7 @@ DW_TAG_inheritance = 28 i32, ;; Tag (see below) metadata, ;; Context metadata, ;; Name - metadata, ;; Reference to compile unit where defined + metadata, ;; Reference to file where defined i32, ;; Line number where defined metadata ;; Type descriptor } @@ -1012,10 +1031,10 @@ int main(int argc, char *argv[]) {
             ...
             ;;
            -;; Define the compile unit for the source file "/Users/mine/sources/MySource.cpp".
            +;; Define the compile unit for the main source file "/Users/mine/sources/MySource.cpp".
             ;;
            -!3 = metadata !{
            -  i32 458769,    ;; Tag
            +!2 = metadata !{
            +  i32 524305,    ;; Tag
               i32 0,         ;; Unused
               i32 4,         ;; Language Id
               metadata !"MySource.cpp", 
            @@ -1027,19 +1046,24 @@ int main(int argc, char *argv[]) {
               i32 0}         ;; Runtime version
             
             ;;
            -;; Define the compile unit for the header file "/Users/mine/sources/MyHeader.h".
            +;; Define the file for the file "/Users/mine/sources/MySource.cpp".
             ;;
             !1 = metadata !{
            -  i32 458769,    ;; Tag
            -  i32 0,         ;; Unused
            -  i32 4,         ;; Language Id
            -  metadata !"MyHeader.h", 
            +  i32 524329,    ;; Tag
            +  metadata !"MySource.cpp", 
               metadata !"/Users/mine/sources", 
            -  metadata !"4.2.1 (Based on Apple Inc. build 5649) (LLVM build 00)", 
            -  i1 false,      ;; Main Compile Unit
            -  i1 false,      ;; Optimized compile unit
            -  metadata !"",  ;; Compiler flags
            -  i32 0}         ;; Runtime version
            +  metadata !3    ;; Compile unit
            +}
            +
            +;;
            +;; Define the file for the file "/Users/mine/sources/Myheader.h"
            +;;
            +!3 = metadata !{
            +  i32 524329,    ;; Tag
            +  metadata !"Myheader.h"
            +  metadata !"/Users/mine/sources", 
            +  metadata !3    ;; Compile unit
            +}
             
             ...
             
            @@ -1081,15 +1105,15 @@ int MyGlobal = 100; ;; variable anchor and the global variable itself. ;; !0 = metadata !{ - i32 458804, ;; Tag + i32 524340, ;; Tag i32 0, ;; Unused metadata !1, ;; Context metadata !"MyGlobal", ;; Name metadata !"MyGlobal", ;; Display Name metadata !"MyGlobal", ;; Linkage Name - metadata !1, ;; Compile Unit + metadata !3, ;; Compile Unit i32 1, ;; Line Number - metadata !2, ;; Type + metadata !4, ;; Type i1 false, ;; Is a local variable i1 true, ;; Is this a definition i32* @MyGlobal ;; The global variable @@ -1099,11 +1123,11 @@ int MyGlobal = 100; ;; Define the basic type of 32 bit signed integer. Note that since int is an ;; intrinsic type the source file is NULL and line 0. ;; -!2 = metadata !{ - i32 458788, ;; Tag +!4 = metadata !{ + i32 524324, ;; Tag metadata !1, ;; Context metadata !"int", ;; Name - metadata !1, ;; Compile Unit + metadata !1, ;; File i32 0, ;; Line number i64 32, ;; Size in Bits i64 32, ;; Align in Bits @@ -1143,16 +1167,16 @@ int main(int argc, char *argv[]) { ;; anchor is 46, which is the same as the tag for subprograms ;; (46 = DW_TAG_subprogram.) ;; -!0 = metadata !{ - i32 458798, ;; Tag +!6 = metadata !{ + i32 524334, ;; Tag i32 0, ;; Unused metadata !1, ;; Context metadata !"main", ;; Name metadata !"main", ;; Display name metadata !"main", ;; Linkage name - metadata !1, ;; Compile unit + metadata !1, ;; File i32 1, ;; Line number - metadata !2, ;; Type + metadata !4, ;; Type i1 false, ;; Is local i1 true ;; Is definition } @@ -1188,10 +1212,10 @@ define i32 @main(i32 %argc, i8** %argv)
             !2 = metadata !{
            -  i32 458788,        ;; Tag
            +  i32 524324,        ;; Tag
               metadata !1,       ;; Context
               metadata !"bool",  ;; Name
            -  metadata !1,       ;; Compile Unit
            +  metadata !1,       ;; File
               i32 0,             ;; Line number
               i64 8,             ;; Size in Bits
               i64 8,             ;; Align in Bits
            @@ -1214,10 +1238,10 @@ define i32 @main(i32 %argc, i8** %argv) 
             
             !2 = metadata !{
            -  i32 458788,        ;; Tag
            +  i32 524324,        ;; Tag
               metadata !1,       ;; Context
               metadata !"char",  ;; Name
            -  metadata !1,       ;; Compile Unit
            +  metadata !1,       ;; File
               i32 0,             ;; Line number
               i64 8,             ;; Size in Bits
               i64 8,             ;; Align in Bits
            @@ -1240,10 +1264,10 @@ define i32 @main(i32 %argc, i8** %argv) 
             
             !2 = metadata !{
            -  i32 458788,        ;; Tag
            +  i32 524324,        ;; Tag
               metadata !1,       ;; Context
               metadata !"unsigned char", 
            -  metadata !1,       ;; Compile Unit
            +  metadata !1,       ;; File
               i32 0,             ;; Line number
               i64 8,             ;; Size in Bits
               i64 8,             ;; Align in Bits
            @@ -1266,10 +1290,10 @@ define i32 @main(i32 %argc, i8** %argv) 
             
             !2 = metadata !{
            -  i32 458788,        ;; Tag
            +  i32 524324,        ;; Tag
               metadata !1,       ;; Context
               metadata !"short int",
            -  metadata !1,       ;; Compile Unit
            +  metadata !1,       ;; File
               i32 0,             ;; Line number
               i64 16,            ;; Size in Bits
               i64 16,            ;; Align in Bits
            @@ -1292,10 +1316,10 @@ define i32 @main(i32 %argc, i8** %argv) 
             
             !2 = metadata !{
            -  i32 458788,        ;; Tag
            +  i32 524324,        ;; Tag
               metadata !1,       ;; Context
               metadata !"short unsigned int",
            -  metadata !1,       ;; Compile Unit
            +  metadata !1,       ;; File
               i32 0,             ;; Line number
               i64 16,            ;; Size in Bits
               i64 16,            ;; Align in Bits
            @@ -1318,10 +1342,10 @@ define i32 @main(i32 %argc, i8** %argv) 
             
             !2 = metadata !{
            -  i32 458788,        ;; Tag
            +  i32 524324,        ;; Tag
               metadata !1,       ;; Context
               metadata !"int",   ;; Name
            -  metadata !1,       ;; Compile Unit
            +  metadata !1,       ;; File
               i32 0,             ;; Line number
               i64 32,            ;; Size in Bits
               i64 32,            ;; Align in Bits
            @@ -1343,10 +1367,10 @@ define i32 @main(i32 %argc, i8** %argv) 
             
             !2 = metadata !{
            -  i32 458788,        ;; Tag
            +  i32 524324,        ;; Tag
               metadata !1,       ;; Context
               metadata !"unsigned int",
            -  metadata !1,       ;; Compile Unit
            +  metadata !1,       ;; File
               i32 0,             ;; Line number
               i64 32,            ;; Size in Bits
               i64 32,            ;; Align in Bits
            @@ -1369,10 +1393,10 @@ define i32 @main(i32 %argc, i8** %argv) 
             
             !2 = metadata !{
            -  i32 458788,        ;; Tag
            +  i32 524324,        ;; Tag
               metadata !1,       ;; Context
               metadata !"long long int",
            -  metadata !1,       ;; Compile Unit
            +  metadata !1,       ;; File
               i32 0,             ;; Line number
               i64 64,            ;; Size in Bits
               i64 64,            ;; Align in Bits
            @@ -1395,10 +1419,10 @@ define i32 @main(i32 %argc, i8** %argv) 
             
             !2 = metadata !{
            -  i32 458788,        ;; Tag
            +  i32 524324,        ;; Tag
               metadata !1,       ;; Context
               metadata !"long long unsigned int",
            -  metadata !1,       ;; Compile Unit
            +  metadata !1,       ;; File
               i32 0,             ;; Line number
               i64 64,            ;; Size in Bits
               i64 64,            ;; Align in Bits
            @@ -1421,10 +1445,10 @@ define i32 @main(i32 %argc, i8** %argv) 
             
             !2 = metadata !{
            -  i32 458788,        ;; Tag
            +  i32 524324,        ;; Tag
               metadata !1,       ;; Context
               metadata !"float",
            -  metadata !1,       ;; Compile Unit
            +  metadata !1,       ;; File
               i32 0,             ;; Line number
               i64 32,            ;; Size in Bits
               i64 32,            ;; Align in Bits
            @@ -1447,10 +1471,10 @@ define i32 @main(i32 %argc, i8** %argv) 
             
             !2 = metadata !{
            -  i32 458788,        ;; Tag
            +  i32 524324,        ;; Tag
               metadata !1,       ;; Context
               metadata !"double",;; Name
            -  metadata !1,       ;; Compile Unit
            +  metadata !1,       ;; File
               i32 0,             ;; Line number
               i64 64,            ;; Size in Bits
               i64 64,            ;; Align in Bits
            @@ -1486,10 +1510,10 @@ typedef const int *IntPtr;
             ;; Define the typedef "IntPtr".
             ;;
             !2 = metadata !{
            -  i32 458774,          ;; Tag
            +  i32 524310,          ;; Tag
               metadata !1,         ;; Context
               metadata !"IntPtr",  ;; Name
            -  metadata !3,         ;; Compile unit
            +  metadata !3,         ;; File
               i32 0,               ;; Line number
               i64 0,               ;; Size in bits
               i64 0,               ;; Align in bits
            @@ -1502,10 +1526,10 @@ typedef const int *IntPtr;
             ;; Define the pointer type.
             ;;
             !4 = metadata !{
            -  i32 458767,          ;; Tag
            +  i32 524303,          ;; Tag
               metadata !1,         ;; Context
               metadata !"",        ;; Name
            -  metadata !1,         ;; Compile unit
            +  metadata !1,         ;; File
               i32 0,               ;; Line number
               i64 64,              ;; Size in bits
               i64 64,              ;; Align in bits
            @@ -1517,10 +1541,10 @@ typedef const int *IntPtr;
             ;; Define the const type.
             ;;
             !5 = metadata !{
            -  i32 458790,          ;; Tag
            +  i32 524326,          ;; Tag
               metadata !1,         ;; Context
               metadata !"",        ;; Name
            -  metadata !1,         ;; Compile unit
            +  metadata !1,         ;; File
               i32 0,               ;; Line number
               i64 32,              ;; Size in bits
               i64 32,              ;; Align in bits
            @@ -1532,10 +1556,10 @@ typedef const int *IntPtr;
             ;; Define the int type.
             ;;
             !6 = metadata !{
            -  i32 458788,          ;; Tag
            +  i32 524324,          ;; Tag
               metadata !1,         ;; Context
               metadata !"int",     ;; Name
            -  metadata !1,         ;; Compile unit
            +  metadata !1,         ;; File
               i32 0,               ;; Line number
               i64 32,              ;; Size in bits
               i64 32,              ;; Align in bits
            @@ -1575,10 +1599,10 @@ struct Color {
             ;; Define basic type for unsigned int.
             ;;
             !5 = metadata !{
            -  i32 458788,        ;; Tag
            +  i32 524324,        ;; Tag
               metadata !1,       ;; Context
               metadata !"unsigned int",
            -  metadata !1,       ;; Compile Unit
            +  metadata !1,       ;; File
               i32 0,             ;; Line number
               i64 32,            ;; Size in Bits
               i64 32,            ;; Align in Bits
            @@ -1590,7 +1614,7 @@ struct Color {
             ;; Define composite type for struct Color.
             ;;
             !2 = metadata !{
            -  i32 458771,        ;; Tag
            +  i32 524307,        ;; Tag
               metadata !1,       ;; Context
               metadata !"Color", ;; Name
               metadata !1,       ;; Compile unit
            @@ -1608,10 +1632,10 @@ struct Color {
             ;; Define the Red field.
             ;;
             !4 = metadata !{
            -  i32 458765,        ;; Tag
            +  i32 524301,        ;; Tag
               metadata !1,       ;; Context
               metadata !"Red",   ;; Name
            -  metadata !1,       ;; Compile Unit
            +  metadata !1,       ;; File
               i32 2,             ;; Line number
               i64 32,            ;; Size in bits
               i64 32,            ;; Align in bits
            @@ -1624,10 +1648,10 @@ struct Color {
             ;; Define the Green field.
             ;;
             !6 = metadata !{
            -  i32 458765,        ;; Tag
            +  i32 524301,        ;; Tag
               metadata !1,       ;; Context
               metadata !"Green", ;; Name
            -  metadata !1,       ;; Compile Unit
            +  metadata !1,       ;; File
               i32 3,             ;; Line number
               i64 32,            ;; Size in bits
               i64 32,            ;; Align in bits
            @@ -1640,10 +1664,10 @@ struct Color {
             ;; Define the Blue field.
             ;;
             !7 = metadata !{
            -  i32 458765,        ;; Tag
            +  i32 524301,        ;; Tag
               metadata !1,       ;; Context
               metadata !"Blue",  ;; Name
            -  metadata !1,       ;; Compile Unit
            +  metadata !1,       ;; File
               i32 4,             ;; Line number
               i64 32,            ;; Size in bits
               i64 32,            ;; Align in bits
            @@ -1688,10 +1712,10 @@ enum Trees {
             ;; Define composite type for enum Trees
             ;;
             !2 = metadata !{
            -  i32 458756,        ;; Tag
            +  i32 524292,        ;; Tag
               metadata !1,       ;; Context
               metadata !"Trees", ;; Name
            -  metadata !1,       ;; Compile unit
            +  metadata !1,       ;; File
               i32 1,             ;; Line number
               i64 32,            ;; Size in bits
               i64 32,            ;; Align in bits
            @@ -1710,17 +1734,17 @@ enum Trees {
             ;;
             ;; Define Spruce enumerator.
             ;;
            -!4 = metadata !{i32 458792, metadata !"Spruce", i64 100}
            +!4 = metadata !{i32 524328, metadata !"Spruce", i64 100}
             
             ;;
             ;; Define Oak enumerator.
             ;;
            -!5 = metadata !{i32 458792, metadata !"Oak", i64 200}
            +!5 = metadata !{i32 524328, metadata !"Oak", i64 200}
             
             ;;
             ;; Define Maple enumerator.
             ;;
            -!6 = metadata !{i32 458792, metadata !"Maple", i64 300}
            +!6 = metadata !{i32 524328, metadata !"Maple", i64 300}
             
             
            @@ -1738,7 +1762,7 @@ enum Trees { Chris Lattner
            LLVM Compiler Infrastructure
            - Last modified: $Date: 2010-01-11 23:53:48 +0100 (Mon, 11 Jan 2010) $ + Last modified: $Date: 2010-03-09 01:44:10 +0100 (Tue, 09 Mar 2010) $ Modified: vendor/llvm/dist/docs/WritingAnLLVMPass.html ============================================================================== --- vendor/llvm/dist/docs/WritingAnLLVMPass.html Wed Mar 10 17:27:09 2010 (r204960) +++ vendor/llvm/dist/docs/WritingAnLLVMPass.html Wed Mar 10 17:45:15 2010 (r204961) @@ -909,16 +909,22 @@ finalization.

            A MachineFunctionPass is a part of the LLVM code generator that executes on the machine-dependent representation of each LLVM function in the -program. A MachineFunctionPass is also a FunctionPass, so all +program.

            + +

            Code generator passes are registered and initialized specially by +TargetMachine::addPassesToEmitFile and similar routines, so they +cannot generally be run from the opt or bugpoint +commands.

            + +

            A MachineFunctionPass is also a FunctionPass, so all the restrictions that apply to a FunctionPass also apply to it. MachineFunctionPasses also have additional restrictions. In particular, MachineFunctionPasses are not allowed to do any of the following:

              -
            1. Modify any LLVM Instructions, BasicBlocks or Functions.
            2. +
            3. Modify or create any LLVM IR Instructions, BasicBlocks, Arguments, + Functions, GlobalVariables, GlobalAliases, or Modules.
            4. Modify a MachineFunction other than the one currently being processed.
            5. -
            6. Add or remove MachineFunctions from the current Module.
            7. -
            8. Add or remove global variables from the current Module.
            9. Maintain state across invocations of runOnMachineFunction (including global data)
            10. @@ -1829,7 +1835,7 @@ Despite that, we have kept the LLVM pass Chris Lattner
              The LLVM Compiler Infrastructure
              - Last modified: $Date: 2010-02-18 15:37:52 +0100 (Thu, 18 Feb 2010) $ + Last modified: $Date: 2010-03-10 02:29:39 +0100 (Wed, 10 Mar 2010) $ Modified: vendor/llvm/dist/docs/tutorial/OCamlLangImpl3.html ============================================================================== --- vendor/llvm/dist/docs/tutorial/OCamlLangImpl3.html Wed Mar 10 17:27:09 2010 (r204960) +++ vendor/llvm/dist/docs/tutorial/OCamlLangImpl3.html Wed Mar 10 17:45:15 2010 (r204961) @@ -98,6 +98,7 @@ exception Error of string let the_module = create_module (global_context ()) "my cool jit" let builder = builder (global_context ()) let named_values:(string, llvalue) Hashtbl.t = Hashtbl.create 10 +let double_type = double_type context
            @@ -389,7 +390,7 @@ that there is an LLVM Function object th
                   (* Create a new basic block to start insertion into. *)
            -      let bb = append_block "entry" the_function in
            +      let bb = append_block context "entry" the_function in
                   position_at_end bb builder;
             
                   try
            @@ -903,6 +904,7 @@ let context = global_context ()
             let the_module = create_module context "my cool jit"
             let builder = builder context
             let named_values:(string, llvalue) Hashtbl.t = Hashtbl.create 10
            +let double_type = double_type context
             
             let rec codegen_expr = function
               | Ast.Number n -> const_float double_type n
            @@ -974,7 +976,7 @@ let codegen_func = function
                   let the_function = codegen_proto proto in
             
                   (* Create a new basic block to start insertion into. *)
            -      let bb = append_block "entry" the_function in
            +      let bb = append_block context "entry" the_function in
                   position_at_end bb builder;
             
                   try
            @@ -1085,7 +1087,7 @@ main ()
               Chris Lattner
            Erick Tryzelaar
            The LLVM Compiler Infrastructure
            - Last modified: $Date: 2010-03-02 02:11:08 +0100 (Tue, 02 Mar 2010) $ + Last modified: $Date: 2010-03-08 20:32:18 +0100 (Mon, 08 Mar 2010) $ Modified: vendor/llvm/dist/docs/tutorial/OCamlLangImpl4.html ============================================================================== --- vendor/llvm/dist/docs/tutorial/OCamlLangImpl4.html Wed Mar 10 17:27:09 2010 (r204960) +++ vendor/llvm/dist/docs/tutorial/OCamlLangImpl4.html Wed Mar 10 17:45:15 2010 (r204961) @@ -186,9 +186,8 @@ add a set of optimizations to run. The
               (* Create the JIT. *)
            -  let the_module_provider = ModuleProvider.create Codegen.the_module in
            -  let the_execution_engine = ExecutionEngine.create the_module_provider in
            -  let the_fpm = PassManager.create_function the_module_provider in
            +  let the_execution_engine = ExecutionEngine.create Codegen.the_module in
            +  let the_fpm = PassManager.create_function Codegen.the_module in
             
               (* Set up the optimizer pipeline.  Start with registering info about how the
                * target lays out data structures. *)
            @@ -213,18 +212,11 @@ add a set of optimizations to run.  The 
             
            -

            This code defines two values, an Llvm.llmoduleprovider and a -Llvm.PassManager.t. The former is basically a wrapper around our -Llvm.llmodule that the Llvm.PassManager.t requires. It -provides certain flexibility that we're not going to take advantage of here, -so I won't dive into any details about it.

            -

            The meat of the matter here, is the definition of "the_fpm". It -requires a pointer to the the_module (through the -the_module_provider) to construct itself. Once it is set up, we use a -series of "add" calls to add a bunch of LLVM passes. The first pass is -basically boilerplate, it adds a pass so that later optimizations know how the -data structures in the program are laid out. The +requires a pointer to the the_module to construct itself. Once it is +set up, we use a series of "add" calls to add a bunch of LLVM passes. The +first pass is basically boilerplate, it adds a pass so that later optimizations +know how the data structures in the program are laid out. The "the_execution_engine" variable is related to the JIT, which we will get to in the next section.

            *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-vendor@FreeBSD.ORG Wed Mar 10 17:45:59 2010 Return-Path: Delivered-To: svn-src-vendor@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7CBC0106566B; Wed, 10 Mar 2010 17:45:59 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 675D28FC1D; Wed, 10 Mar 2010 17:45:59 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o2AHjx7w011295; Wed, 10 Mar 2010 17:45:59 GMT (envelope-from rdivacky@svn.freebsd.org) Received: (from rdivacky@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o2AHjxmK011270; Wed, 10 Mar 2010 17:45:59 GMT (envelope-from rdivacky@svn.freebsd.org) Message-Id: <201003101745.o2AHjxmK011270@svn.freebsd.org> From: Roman Divacky Date: Wed, 10 Mar 2010 17:45:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org X-SVN-Group: vendor MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r204962 - in vendor/clang/dist: bindings/python/clang include/clang-c include/clang/AST include/clang/Basic include/clang/Checker/PathSensitive include/clang/Frontend include/clang/Lex ... X-BeenThere: svn-src-vendor@freebsd.org X-Mailman-Version: 2.1.5 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, 10 Mar 2010 17:45:59 -0000 Author: rdivacky Date: Wed Mar 10 17:45:58 2010 New Revision: 204962 URL: http://svn.freebsd.org/changeset/base/204962 Log: Update clang to r98164. Added: vendor/clang/dist/lib/AST/RecordLayout.cpp vendor/clang/dist/test/CodeGen/2010-03-09-DbgInfo.c vendor/clang/dist/test/CodeGenCXX/2010-03-09-AnonAggregate.cpp vendor/clang/dist/test/CodeGenCXX/PR6474.cpp vendor/clang/dist/test/CodeGenCXX/default-destructor-nested.cpp vendor/clang/dist/test/Driver/clang-g-opts.c vendor/clang/dist/test/Headers/ vendor/clang/dist/test/Headers/typedef_guards.c vendor/clang/dist/test/Index/annotate-tokens.m vendor/clang/dist/test/Sema/warn-missing-braces.c Modified: vendor/clang/dist/bindings/python/clang/cindex.py vendor/clang/dist/include/clang-c/Index.h vendor/clang/dist/include/clang/AST/ASTContext.h vendor/clang/dist/include/clang/AST/Decl.h vendor/clang/dist/include/clang/AST/DeclObjC.h vendor/clang/dist/include/clang/AST/DeclTemplate.h vendor/clang/dist/include/clang/AST/ExprObjC.h vendor/clang/dist/include/clang/AST/PrettyPrinter.h vendor/clang/dist/include/clang/AST/RecordLayout.h vendor/clang/dist/include/clang/AST/Type.h vendor/clang/dist/include/clang/AST/TypeLoc.h vendor/clang/dist/include/clang/AST/TypeNodes.def vendor/clang/dist/include/clang/Basic/BuiltinsX86.def vendor/clang/dist/include/clang/Basic/DiagnosticDriverKinds.td vendor/clang/dist/include/clang/Basic/DiagnosticGroups.td vendor/clang/dist/include/clang/Basic/DiagnosticParseKinds.td vendor/clang/dist/include/clang/Basic/DiagnosticSemaKinds.td vendor/clang/dist/include/clang/Checker/PathSensitive/SVals.h vendor/clang/dist/include/clang/Frontend/CompilerInstance.h vendor/clang/dist/include/clang/Frontend/DeclXML.def vendor/clang/dist/include/clang/Frontend/PCHBitCodes.h vendor/clang/dist/include/clang/Lex/Preprocessor.h vendor/clang/dist/include/clang/Parse/DeclSpec.h vendor/clang/dist/lib/AST/ASTContext.cpp vendor/clang/dist/lib/AST/ASTDiagnostic.cpp vendor/clang/dist/lib/AST/ASTImporter.cpp vendor/clang/dist/lib/AST/CMakeLists.txt vendor/clang/dist/lib/AST/DeclBase.cpp vendor/clang/dist/lib/AST/DeclCXX.cpp vendor/clang/dist/lib/AST/DeclObjC.cpp vendor/clang/dist/lib/AST/DeclTemplate.cpp vendor/clang/dist/lib/AST/Expr.cpp vendor/clang/dist/lib/AST/NestedNameSpecifier.cpp vendor/clang/dist/lib/AST/RecordLayoutBuilder.cpp vendor/clang/dist/lib/AST/Type.cpp vendor/clang/dist/lib/AST/TypePrinter.cpp vendor/clang/dist/lib/Analysis/AnalysisContext.cpp vendor/clang/dist/lib/Basic/Targets.cpp vendor/clang/dist/lib/Checker/BasicStore.cpp vendor/clang/dist/lib/Checker/CFRefCount.cpp vendor/clang/dist/lib/Checker/GRExprEngine.cpp vendor/clang/dist/lib/Checker/MallocChecker.cpp vendor/clang/dist/lib/Checker/RegionStore.cpp vendor/clang/dist/lib/Checker/SVals.cpp vendor/clang/dist/lib/CodeGen/CGDebugInfo.cpp vendor/clang/dist/lib/CodeGen/CGDebugInfo.h vendor/clang/dist/lib/CodeGen/CGExprAgg.cpp vendor/clang/dist/lib/CodeGen/CGObjC.cpp vendor/clang/dist/lib/CodeGen/CGVtable.cpp vendor/clang/dist/lib/CodeGen/CGVtable.h vendor/clang/dist/lib/CodeGen/CodeGenModule.cpp vendor/clang/dist/lib/CodeGen/CodeGenModule.h vendor/clang/dist/lib/CodeGen/Mangle.cpp vendor/clang/dist/lib/Driver/HostInfo.cpp vendor/clang/dist/lib/Driver/Tools.cpp vendor/clang/dist/lib/Frontend/CacheTokens.cpp vendor/clang/dist/lib/Frontend/CompilerInstance.cpp vendor/clang/dist/lib/Frontend/DeclXML.cpp vendor/clang/dist/lib/Frontend/DependencyFile.cpp vendor/clang/dist/lib/Frontend/FrontendAction.cpp vendor/clang/dist/lib/Frontend/InitHeaderSearch.cpp vendor/clang/dist/lib/Frontend/PCHReader.cpp vendor/clang/dist/lib/Frontend/PCHReaderDecl.cpp vendor/clang/dist/lib/Frontend/PCHReaderStmt.cpp vendor/clang/dist/lib/Frontend/PCHWriter.cpp vendor/clang/dist/lib/Frontend/PCHWriterDecl.cpp vendor/clang/dist/lib/Frontend/PCHWriterStmt.cpp vendor/clang/dist/lib/Frontend/PrintPreprocessedOutput.cpp vendor/clang/dist/lib/Headers/smmintrin.h vendor/clang/dist/lib/Headers/stdarg.h vendor/clang/dist/lib/Headers/stddef.h vendor/clang/dist/lib/Index/Analyzer.cpp vendor/clang/dist/lib/Sema/CodeCompleteConsumer.cpp vendor/clang/dist/lib/Sema/JumpDiagnostics.cpp vendor/clang/dist/lib/Sema/SemaCXXCast.cpp vendor/clang/dist/lib/Sema/SemaCXXScopeSpec.cpp vendor/clang/dist/lib/Sema/SemaDecl.cpp vendor/clang/dist/lib/Sema/SemaDeclCXX.cpp vendor/clang/dist/lib/Sema/SemaDeclObjC.cpp vendor/clang/dist/lib/Sema/SemaExpr.cpp vendor/clang/dist/lib/Sema/SemaExprCXX.cpp vendor/clang/dist/lib/Sema/SemaExprObjC.cpp vendor/clang/dist/lib/Sema/SemaInit.cpp vendor/clang/dist/lib/Sema/SemaTemplate.cpp vendor/clang/dist/lib/Sema/SemaTemplateDeduction.cpp vendor/clang/dist/lib/Sema/SemaTemplateInstantiateDecl.cpp vendor/clang/dist/lib/Sema/TreeTransform.h vendor/clang/dist/test/Analysis/dead-stores.c vendor/clang/dist/test/Analysis/malloc.c vendor/clang/dist/test/CMakeLists.txt vendor/clang/dist/test/CXX/basic/basic.lookup/basic.lookup.qual/namespace.qual/p2.cpp vendor/clang/dist/test/CXX/class.access/class.friend/p1.cpp vendor/clang/dist/test/CXX/class/class.friend/p1.cpp vendor/clang/dist/test/CXX/class/class.local/p2.cpp vendor/clang/dist/test/CXX/class/class.union/p1.cpp vendor/clang/dist/test/CXX/conv/conv.mem/p4.cpp vendor/clang/dist/test/CXX/dcl.dcl/dcl.spec/dcl.stc/p9.cpp vendor/clang/dist/test/CXX/dcl.decl/dcl.init/dcl.init.ref/p5-examples.cpp vendor/clang/dist/test/CXX/dcl.decl/dcl.init/dcl.init.ref/p5-var.cpp vendor/clang/dist/test/CXX/dcl.decl/dcl.init/p6.cpp vendor/clang/dist/test/CXX/dcl.decl/dcl.meaning/dcl.mptr/p3.cpp vendor/clang/dist/test/CodeCompletion/call.cpp vendor/clang/dist/test/CodeCompletion/enum-switch-case-qualified.cpp vendor/clang/dist/test/CodeCompletion/enum-switch-case.cpp vendor/clang/dist/test/CodeGen/init.c vendor/clang/dist/test/CodeGenCXX/internal-linkage.cpp vendor/clang/dist/test/CodeGenCXX/mangle-system-header.cpp vendor/clang/dist/test/CodeGenCXX/nullptr.cpp vendor/clang/dist/test/CodeGenCXX/virtual-base-destructor-call.cpp vendor/clang/dist/test/CodeGenCXX/vtable-layout-abi-examples.cpp vendor/clang/dist/test/CodeGenCXX/vtable-layout.cpp vendor/clang/dist/test/CodeGenObjC/id-isa-codegen.m vendor/clang/dist/test/FixIt/typo.cpp vendor/clang/dist/test/Index/c-index-getCursor-test.m vendor/clang/dist/test/Index/code-completion.cpp vendor/clang/dist/test/Parser/altivec.c vendor/clang/dist/test/Parser/cxx-altivec.cpp vendor/clang/dist/test/SemaCXX/access-base-class.cpp vendor/clang/dist/test/SemaCXX/access-control-check.cpp vendor/clang/dist/test/SemaCXX/aggregate-initialization.cpp vendor/clang/dist/test/SemaCXX/ambig-user-defined-conversions.cpp vendor/clang/dist/test/SemaCXX/arrow-operator.cpp vendor/clang/dist/test/SemaCXX/attr-cxx0x.cpp vendor/clang/dist/test/SemaCXX/builtin-ptrtomember-overload-1.cpp vendor/clang/dist/test/SemaCXX/cast-conversion.cpp vendor/clang/dist/test/SemaCXX/class-base-member-init.cpp vendor/clang/dist/test/SemaCXX/conditional-expr.cpp vendor/clang/dist/test/SemaCXX/const-cast.cpp vendor/clang/dist/test/SemaCXX/constructor-initializer.cpp vendor/clang/dist/test/SemaCXX/conversion-delete-expr.cpp vendor/clang/dist/test/SemaCXX/conversion-function.cpp vendor/clang/dist/test/SemaCXX/convert-to-bool.cpp vendor/clang/dist/test/SemaCXX/copy-assignment.cpp vendor/clang/dist/test/SemaCXX/copy-initialization.cpp vendor/clang/dist/test/SemaCXX/cstyle-cast.cpp vendor/clang/dist/test/SemaCXX/dcl_init_aggr.cpp vendor/clang/dist/test/SemaCXX/decl-init-ref.cpp vendor/clang/dist/test/SemaCXX/decltype-overloaded-functions.cpp vendor/clang/dist/test/SemaCXX/default-assignment-operator.cpp vendor/clang/dist/test/SemaCXX/default-constructor-initializers.cpp vendor/clang/dist/test/SemaCXX/default2.cpp vendor/clang/dist/test/SemaCXX/deleted-function.cpp vendor/clang/dist/test/SemaCXX/derived-to-base-ambig.cpp vendor/clang/dist/test/SemaCXX/destructor.cpp vendor/clang/dist/test/SemaCXX/direct-initializer.cpp vendor/clang/dist/test/SemaCXX/dynamic-cast.cpp vendor/clang/dist/test/SemaCXX/elaborated-type-specifier.cpp vendor/clang/dist/test/SemaCXX/exception-spec.cpp vendor/clang/dist/test/SemaCXX/exceptions.cpp vendor/clang/dist/test/SemaCXX/functional-cast.cpp vendor/clang/dist/test/SemaCXX/illegal-member-initialization.cpp vendor/clang/dist/test/SemaCXX/implicit-virtual-member-functions.cpp vendor/clang/dist/test/SemaCXX/incomplete-call.cpp vendor/clang/dist/test/SemaCXX/inherit.cpp vendor/clang/dist/test/SemaCXX/member-name-lookup.cpp vendor/clang/dist/test/SemaCXX/member-pointer.cpp vendor/clang/dist/test/SemaCXX/missing-members.cpp vendor/clang/dist/test/SemaCXX/nested-name-spec.cpp vendor/clang/dist/test/SemaCXX/new-delete.cpp vendor/clang/dist/test/SemaCXX/offsetof.cpp vendor/clang/dist/test/SemaCXX/overload-call.cpp vendor/clang/dist/test/SemaCXX/overload-member-call.cpp vendor/clang/dist/test/SemaCXX/overloaded-operator.cpp vendor/clang/dist/test/SemaCXX/qual-id-test.cpp vendor/clang/dist/test/SemaCXX/qualified-id-lookup.cpp vendor/clang/dist/test/SemaCXX/qualified-names-diag.cpp vendor/clang/dist/test/SemaCXX/ref-init-ambiguous.cpp vendor/clang/dist/test/SemaCXX/references.cpp vendor/clang/dist/test/SemaCXX/reinterpret-cast.cpp vendor/clang/dist/test/SemaCXX/rval-references.cpp vendor/clang/dist/test/SemaCXX/statements.cpp vendor/clang/dist/test/SemaCXX/static-assert.cpp vendor/clang/dist/test/SemaCXX/static-cast-complete-type.cpp vendor/clang/dist/test/SemaCXX/static-cast.cpp vendor/clang/dist/test/SemaCXX/type-traits-incomplete.cpp vendor/clang/dist/test/SemaCXX/typedef-redecl.cpp vendor/clang/dist/test/SemaCXX/typeid.cpp vendor/clang/dist/test/SemaCXX/unknown-type-name.cpp vendor/clang/dist/test/SemaCXX/using-decl-templates.cpp vendor/clang/dist/test/SemaCXX/value-initialization.cpp vendor/clang/dist/test/SemaCXX/vararg-non-pod.cpp vendor/clang/dist/test/SemaCXX/vector-casts.cpp vendor/clang/dist/test/SemaCXX/virtual-member-functions-key-function.cpp vendor/clang/dist/test/SemaCXX/virtual-override.cpp vendor/clang/dist/test/SemaCXX/warn-reorder-ctor-initialization.cpp vendor/clang/dist/test/SemaObjC/blocks.m vendor/clang/dist/test/SemaObjC/exprs.m vendor/clang/dist/test/SemaObjCXX/cstyle-cast.mm vendor/clang/dist/test/SemaObjCXX/vararg-non-pod.mm vendor/clang/dist/test/SemaTemplate/class-template-id-2.cpp vendor/clang/dist/test/SemaTemplate/class-template-spec.cpp vendor/clang/dist/test/SemaTemplate/default-expr-arguments.cpp vendor/clang/dist/test/SemaTemplate/dependent-base-classes.cpp vendor/clang/dist/test/SemaTemplate/ext-vector-type.cpp vendor/clang/dist/test/SemaTemplate/injected-class-name.cpp vendor/clang/dist/test/SemaTemplate/instantiate-cast.cpp vendor/clang/dist/test/SemaTemplate/instantiate-complete.cpp vendor/clang/dist/test/SemaTemplate/instantiate-exception-spec.cpp vendor/clang/dist/test/SemaTemplate/instantiate-expr-1.cpp vendor/clang/dist/test/SemaTemplate/instantiate-expr-4.cpp vendor/clang/dist/test/SemaTemplate/instantiate-field.cpp vendor/clang/dist/test/SemaTemplate/instantiate-function-1.cpp vendor/clang/dist/test/SemaTemplate/instantiate-member-class.cpp vendor/clang/dist/test/SemaTemplate/instantiate-member-expr.cpp vendor/clang/dist/test/SemaTemplate/instantiate-method.cpp vendor/clang/dist/test/SemaTemplate/instantiate-static-var.cpp vendor/clang/dist/test/SemaTemplate/instantiate-typedef.cpp vendor/clang/dist/test/SemaTemplate/instantiation-backtrace.cpp vendor/clang/dist/test/SemaTemplate/metafun-apply.cpp vendor/clang/dist/test/SemaTemplate/temp_arg_nontype.cpp vendor/clang/dist/test/SemaTemplate/temp_arg_type.cpp vendor/clang/dist/test/SemaTemplate/typename-specifier-4.cpp vendor/clang/dist/test/SemaTemplate/typename-specifier.cpp vendor/clang/dist/test/SemaTemplate/virtual-member-functions.cpp vendor/clang/dist/test/lit.cfg vendor/clang/dist/tools/CIndex/CIndex.cpp vendor/clang/dist/tools/CIndex/CIndex.exports vendor/clang/dist/tools/Makefile vendor/clang/dist/tools/driver/driver.cpp vendor/clang/dist/tools/scan-build/ccc-analyzer Modified: vendor/clang/dist/bindings/python/clang/cindex.py ============================================================================== --- vendor/clang/dist/bindings/python/clang/cindex.py Wed Mar 10 17:45:15 2010 (r204961) +++ vendor/clang/dist/bindings/python/clang/cindex.py Wed Mar 10 17:45:58 2010 (r204962) @@ -187,12 +187,56 @@ class Diagnostic(object): Error = 3 Fatal = 4 - def __init__(self, severity, location, spelling, ranges, fixits): - self.severity = severity - self.location = location - self.spelling = spelling - self.ranges = ranges - self.fixits = fixits + def __init__(self, ptr): + self.ptr = ptr + + def __del__(self): + _clang_disposeDiagnostic(self.ptr) + + @property + def severity(self): + return _clang_getDiagnosticSeverity(self.ptr) + + @property + def location(self): + return _clang_getDiagnosticLocation(self.ptr) + + @property + def spelling(self): + return _clang_getDiagnosticSpelling(self.ptr) + + @property + def ranges(self): + class RangeIterator: + def __init__(self, diag): + self.diag = diag + + def __len__(self): + return int(_clang_getDiagnosticNumRanges(self.diag)) + + def __getitem__(self, key): + return _clang_getDiagnosticRange(self.diag, key) + + return RangeIterator(self.ptr) + + @property + def fixits(self): + class FixItIterator: + def __init__(self, diag): + self.diag = diag + + def __len__(self): + return int(_clang_getDiagnosticNumFixIts(self.diag)) + + def __getitem__(self, key): + range = SourceRange() + value = _clang_getDiagnosticFixIt(self.diag, key, byref(range)) + if len(value) == 0: + raise IndexError + + return FixIt(range, value) + + return FixItIterator(self.ptr) def __repr__(self): return "" % ( @@ -539,8 +583,16 @@ class _CXUnsavedFile(Structure): ## Diagnostic Conversion ## -# Diagnostic objects are temporary, we must extract all the information from the -# diagnostic object when it is passed to the callback. +_clang_getNumDiagnostics = lib.clang_getNumDiagnostics +_clang_getNumDiagnostics.argtypes = [c_object_p] +_clang_getNumDiagnostics.restype = c_uint + +_clang_getDiagnostic = lib.clang_getDiagnostic +_clang_getDiagnostic.argtypes = [c_object_p, c_uint] +_clang_getDiagnostic.restype = c_object_p + +_clang_disposeDiagnostic = lib.clang_disposeDiagnostic +_clang_disposeDiagnostic.argtypes = [c_object_p] _clang_getDiagnosticSeverity = lib.clang_getDiagnosticSeverity _clang_getDiagnosticSeverity.argtypes = [c_object_p] @@ -567,67 +619,10 @@ _clang_getDiagnosticNumFixIts = lib.clan _clang_getDiagnosticNumFixIts.argtypes = [c_object_p] _clang_getDiagnosticNumFixIts.restype = c_uint -_clang_getDiagnosticFixItKind = lib.clang_getDiagnosticFixItKind -_clang_getDiagnosticFixItKind.argtypes = [c_object_p, c_uint] -_clang_getDiagnosticFixItKind.restype = c_int - -_clang_getDiagnosticFixItInsertion = lib.clang_getDiagnosticFixItInsertion -_clang_getDiagnosticFixItInsertion.argtypes = [c_object_p, c_uint, - POINTER(SourceLocation)] -_clang_getDiagnosticFixItInsertion.restype = _CXString -_clang_getDiagnosticFixItInsertion.errcheck = _CXString.from_result - -_clang_getDiagnosticFixItRemoval = lib.clang_getDiagnosticFixItRemoval -_clang_getDiagnosticFixItRemoval.argtypes = [c_object_p, c_uint, - POINTER(SourceLocation)] -_clang_getDiagnosticFixItRemoval.restype = _CXString -_clang_getDiagnosticFixItRemoval.errcheck = _CXString.from_result - -_clang_getDiagnosticFixItReplacement = lib.clang_getDiagnosticFixItReplacement -_clang_getDiagnosticFixItReplacement.argtypes = [c_object_p, c_uint, - POINTER(SourceRange)] -_clang_getDiagnosticFixItReplacement.restype = _CXString -_clang_getDiagnosticFixItReplacement.errcheck = _CXString.from_result - -def _convert_fixit(diag_ptr, index): - # We normalize all the fix-its to a single representation, this is more - # convenient. - # - # FIXME: Push this back into API? It isn't exactly clear what the - # SourceRange semantics are, we should make sure we can represent an empty - # range. - kind = _clang_getDiagnosticFixItKind(diag_ptr, index) - range = None - value = None - if kind == 0: # insertion - location = SourceLocation() - value = _clang_getDiagnosticFixItInsertion(diag_ptr, index, - byref(location)) - range = SourceRange.from_locations(location, location) - elif kind == 1: # removal - range = _clang_getDiagnosticFixItRemoval(diag_ptr, index) - value = '' - else: # replacement - assert kind == 2 - range = SourceRange() - value = _clang_getDiagnosticFixItReplacement(diag_ptr, index, - byref(range)) - return FixIt(range, value) - -def _convert_diag(diag_ptr, diag_list): - severity = _clang_getDiagnosticSeverity(diag_ptr) - loc = _clang_getDiagnosticLocation(diag_ptr) - spelling = _clang_getDiagnosticSpelling(diag_ptr) - - # Diagnostic ranges. - num_ranges = _clang_getDiagnosticNumRanges(diag_ptr) - ranges = [_clang_getDiagnosticRange(diag_ptr, i) - for i in range(num_ranges)] - - fixits = [_convert_fixit(diag_ptr, i) - for i in range(_clang_getDiagnosticNumFixIts(diag_ptr))] - - diag_list.append(Diagnostic(severity, loc, spelling, ranges, fixits)) +_clang_getDiagnosticFixIt = lib.clang_getDiagnosticFixIt +_clang_getDiagnosticFixIt.argtypes = [c_object_p, c_uint, POINTER(SourceRange)] +_clang_getDiagnosticFixIt.restype = _CXString +_clang_getDiagnosticFixIt.errcheck = _CXString.from_result ### @@ -645,18 +640,14 @@ class Index(ClangObject): Parameters: excludeDecls -- Exclude local declarations from translation units. """ - return Index(Index_create(excludeDecls)) + return Index(Index_create(excludeDecls, 0)) def __del__(self): Index_dispose(self) def read(self, path): """Load the translation unit from the given AST file.""" - # FIXME: In theory, we could support streaming diagnostics. It's hard to - # integrate this into the API cleanly, however. Resolve. - diags = [] - ptr = TranslationUnit_read(self, path, - Diagnostic_callback(_convert_diag), diags) + ptr = TranslationUnit_read(self, path) return TranslationUnit(ptr) if ptr else None def parse(self, path, args = [], unsaved_files = []): @@ -687,13 +678,9 @@ class Index(ClangObject): unsaved_files_array[i].name = name unsaved_files_array[i].contents = value unsaved_files_array[i].length = len(value) - # FIXME: In theory, we could support streaming diagnostics. It's hard to - # integrate this into the API cleanly, however. Resolve. - diags = [] ptr = TranslationUnit_parse(self, path, len(args), arg_array, - len(unsaved_files), unsaved_files_array, - Diagnostic_callback(_convert_diag), diags) - return TranslationUnit(ptr, diags) if ptr else None + len(unsaved_files), unsaved_files_array) + return TranslationUnit(ptr) if ptr else None class TranslationUnit(ClangObject): @@ -702,9 +689,8 @@ class TranslationUnit(ClangObject): provides read-only access to its top-level declarations. """ - def __init__(self, ptr, diagnostics): + def __init__(self, ptr): ClangObject.__init__(self, ptr) - self.diagnostics = diagnostics def __del__(self): TranslationUnit_dispose(self) @@ -738,6 +724,26 @@ class TranslationUnit(ClangObject): includes) return iter(includes) + @property + def diagnostics(self): + """ + Return an iterable (and indexable) object containing the diagnostics. + """ + class DiagIterator: + def __init__(self, tu): + self.tu = tu + + def __len__(self): + return int(_clang_getNumDiagnostics(self.tu)) + + def __getitem__(self, key): + diag = _clang_getDiagnostic(self.tu, key) + if not diag: + raise IndexError + return Diagnostic(diag) + + return DiagIterator(self) + class File(ClangObject): """ The File class represents a particular source file that is part of a @@ -876,24 +882,20 @@ Cursor_visit.restype = c_uint # Index Functions Index_create = lib.clang_createIndex -Index_create.argtypes = [c_int] +Index_create.argtypes = [c_int, c_int] Index_create.restype = c_object_p Index_dispose = lib.clang_disposeIndex Index_dispose.argtypes = [Index] # Translation Unit Functions -Diagnostic_callback = CFUNCTYPE(None, c_object_p, py_object) - TranslationUnit_read = lib.clang_createTranslationUnit -TranslationUnit_read.argtypes = [Index, c_char_p, - Diagnostic_callback, py_object] +TranslationUnit_read.argtypes = [Index, c_char_p] TranslationUnit_read.restype = c_object_p TranslationUnit_parse = lib.clang_createTranslationUnitFromSourceFile TranslationUnit_parse.argtypes = [Index, c_char_p, c_int, c_void_p, - c_int, c_void_p, - Diagnostic_callback, py_object] + c_int, c_void_p] TranslationUnit_parse.restype = c_object_p TranslationUnit_cursor = lib.clang_getTranslationUnitCursor Modified: vendor/clang/dist/include/clang-c/Index.h ============================================================================== --- vendor/clang/dist/include/clang-c/Index.h Wed Mar 10 17:45:15 2010 (r204961) +++ vendor/clang/dist/include/clang-c/Index.h Wed Mar 10 17:45:58 2010 (r204962) @@ -888,6 +888,12 @@ CINDEX_LINKAGE unsigned clang_isInvalid( */ CINDEX_LINKAGE unsigned clang_isTranslationUnit(enum CXCursorKind); +/*** + * \brief Determine whether the given cursor represents a currently + * unexposed piece of the AST (e.g., CXCursor_UnexposedStmt). + */ +CINDEX_LINKAGE unsigned clang_isUnexposed(enum CXCursorKind); + /** * \brief Describe the linkage of the entity referred to by a cursor. */ Modified: vendor/clang/dist/include/clang/AST/ASTContext.h ============================================================================== --- vendor/clang/dist/include/clang/AST/ASTContext.h Wed Mar 10 17:45:15 2010 (r204961) +++ vendor/clang/dist/include/clang/AST/ASTContext.h Wed Mar 10 17:45:58 2010 (r204962) @@ -405,6 +405,8 @@ private: /// getExtQualType - Return a type with extended qualifiers. QualType getExtQualType(const Type *Base, Qualifiers Quals); + QualType getTypeDeclTypeSlow(const TypeDecl *Decl); + public: /// getAddSpaceQualType - Return the uniqued reference to the type for an /// address space qualified type with the specified type and address space. @@ -580,12 +582,26 @@ public: /// getTypeDeclType - Return the unique reference to the type for /// the specified type declaration. - QualType getTypeDeclType(const TypeDecl *Decl, const TypeDecl* PrevDecl=0); + QualType getTypeDeclType(const TypeDecl *Decl, + const TypeDecl *PrevDecl = 0) { + assert(Decl && "Passed null for Decl param"); + if (Decl->TypeForDecl) return QualType(Decl->TypeForDecl, 0); + + if (PrevDecl) { + assert(PrevDecl->TypeForDecl && "previous decl has no TypeForDecl"); + Decl->TypeForDecl = PrevDecl->TypeForDecl; + return QualType(PrevDecl->TypeForDecl, 0); + } + + return getTypeDeclTypeSlow(Decl); + } /// getTypedefType - Return the unique reference to the type for the /// specified typename decl. QualType getTypedefType(const TypedefDecl *Decl); + QualType getInjectedClassNameType(CXXRecordDecl *Decl, QualType TST); + QualType getSubstTemplateTypeParmType(const TemplateTypeParmType *Replaced, QualType Replacement); @@ -602,6 +618,11 @@ public: const TemplateArgumentListInfo &Args, QualType Canon = QualType()); + TypeSourceInfo * + getTemplateSpecializationTypeInfo(TemplateName T, SourceLocation TLoc, + const TemplateArgumentListInfo &Args, + QualType Canon = QualType()); + QualType getQualifiedNameType(NestedNameSpecifier *NNS, QualType NamedType); QualType getTypenameType(NestedNameSpecifier *NNS, Modified: vendor/clang/dist/include/clang/AST/Decl.h ============================================================================== --- vendor/clang/dist/include/clang/AST/Decl.h Wed Mar 10 17:45:15 2010 (r204961) +++ vendor/clang/dist/include/clang/AST/Decl.h Wed Mar 10 17:45:58 2010 (r204962) @@ -1429,7 +1429,6 @@ class TypeDecl : public NamedDecl { friend class DeclContext; friend class TagDecl; friend class TemplateTypeParmDecl; - friend class ClassTemplateSpecializationDecl; friend class TagType; protected: Modified: vendor/clang/dist/include/clang/AST/DeclObjC.h ============================================================================== --- vendor/clang/dist/include/clang/AST/DeclObjC.h Wed Mar 10 17:45:15 2010 (r204961) +++ vendor/clang/dist/include/clang/AST/DeclObjC.h Wed Mar 10 17:45:58 2010 (r204962) @@ -136,8 +136,12 @@ private: /// in, inout, etc. unsigned objcDeclQualifier : 6; - // Type of this method. + // Result type of this method. QualType MethodDeclType; + + // Type source information for the result type. + TypeSourceInfo *ResultTInfo; + /// ParamInfo - List of pointers to VarDecls for the formal parameters of this /// Method. ObjCList ParamInfo; @@ -158,6 +162,7 @@ private: ObjCMethodDecl(SourceLocation beginLoc, SourceLocation endLoc, Selector SelInfo, QualType T, + TypeSourceInfo *ResultTInfo, DeclContext *contextDecl, bool isInstance = true, bool isVariadic = false, @@ -168,7 +173,7 @@ private: IsInstance(isInstance), IsVariadic(isVariadic), IsSynthesized(isSynthesized), DeclImplementation(impControl), objcDeclQualifier(OBJC_TQ_None), - MethodDeclType(T), + MethodDeclType(T), ResultTInfo(ResultTInfo), EndLoc(endLoc), Body(0), SelfDecl(0), CmdDecl(0) {} virtual ~ObjCMethodDecl() {} @@ -186,7 +191,9 @@ public: static ObjCMethodDecl *Create(ASTContext &C, SourceLocation beginLoc, SourceLocation endLoc, Selector SelInfo, - QualType T, DeclContext *contextDecl, + QualType T, + TypeSourceInfo *ResultTInfo, + DeclContext *contextDecl, bool isInstance = true, bool isVariadic = false, bool isSynthesized = false, @@ -220,6 +227,9 @@ public: QualType getResultType() const { return MethodDeclType; } void setResultType(QualType T) { MethodDeclType = T; } + TypeSourceInfo *getResultTypeSourceInfo() const { return ResultTInfo; } + void setResultTypeSourceInfo(TypeSourceInfo *TInfo) { ResultTInfo = TInfo; } + // Iterator access to formal parameters. unsigned param_size() const { return ParamInfo.size(); } typedef ObjCList::iterator param_iterator; Modified: vendor/clang/dist/include/clang/AST/DeclTemplate.h ============================================================================== --- vendor/clang/dist/include/clang/AST/DeclTemplate.h Wed Mar 10 17:45:15 2010 (r204961) +++ vendor/clang/dist/include/clang/AST/DeclTemplate.h Wed Mar 10 17:45:58 2010 (r204962) @@ -771,6 +771,10 @@ class ClassTemplateSpecializationDecl llvm::PointerUnion SpecializedTemplate; + /// \brief The type-as-written of an explicit template specialization. + /// Does not apply to implicit specializations. + TypeSourceInfo *TypeAsWritten; + /// \brief The template arguments used to describe this specialization. TemplateArgumentList TemplateArgs; @@ -883,8 +887,14 @@ public: /// \brief Sets the type of this specialization as it was written by /// the user. This will be a class template specialization type. - void setTypeAsWritten(QualType T) { - TypeForDecl = T.getTypePtr(); + void setTypeAsWritten(TypeSourceInfo *T) { + TypeAsWritten = T; + } + + /// \brief Gets the type of this specialization as it was written by + /// the user, if it was so written. + TypeSourceInfo *getTypeAsWritten() const { + return TypeAsWritten; } void Profile(llvm::FoldingSetNodeID &ID) const { @@ -921,6 +931,7 @@ class ClassTemplatePartialSpecialization TemplateParameterList* TemplateParams; /// \brief The source info for the template arguments as written. + /// FIXME: redundant with TypeAsWritten? TemplateArgumentLoc *ArgsAsWritten; unsigned NumArgsAsWritten; @@ -954,6 +965,7 @@ public: ClassTemplateDecl *SpecializedTemplate, TemplateArgumentListBuilder &Builder, const TemplateArgumentListInfo &ArgInfos, + QualType CanonInjectedType, ClassTemplatePartialSpecializationDecl *PrevDecl); /// Get the list of template parameters @@ -1139,8 +1151,8 @@ public: /// the type \p T, or NULL if no such partial specialization exists. ClassTemplatePartialSpecializationDecl *findPartialSpecialization(QualType T); - /// \brief Retrieve the type of the injected-class-name for this - /// class template. + /// \brief Retrieve the template specialization type of the + /// injected-class-name for this class template. /// /// The injected-class-name for a class template \c X is \c /// X, where \c template-args is formed from the @@ -1153,7 +1165,7 @@ public: /// typedef array this_type; // "array" is equivalent to "array" /// }; /// \endcode - QualType getInjectedClassNameType(ASTContext &Context); + QualType getInjectedClassNameSpecialization(ASTContext &Context); /// \brief Retrieve the member class template that this class template was /// derived from. Modified: vendor/clang/dist/include/clang/AST/ExprObjC.h ============================================================================== --- vendor/clang/dist/include/clang/AST/ExprObjC.h Wed Mar 10 17:45:15 2010 (r204961) +++ vendor/clang/dist/include/clang/AST/ExprObjC.h Wed Mar 10 17:45:58 2010 (r204962) @@ -347,6 +347,9 @@ class ObjCMessageExpr : public Expr { // message expression. unsigned NumArgs; + /// \brief The location of the class name in a class message. + SourceLocation ClassNameLoc; + // A unigue name for this message. Selector SelName; @@ -367,7 +370,8 @@ class ObjCMessageExpr : public Expr { public: /// This constructor is used to represent class messages where the /// ObjCInterfaceDecl* of the receiver is not known. - ObjCMessageExpr(ASTContext &C, IdentifierInfo *clsName, Selector selInfo, + ObjCMessageExpr(ASTContext &C, IdentifierInfo *clsName, + SourceLocation clsNameLoc, Selector selInfo, QualType retType, ObjCMethodDecl *methDecl, SourceLocation LBrac, SourceLocation RBrac, Expr **ArgExprs, unsigned NumArgs); @@ -375,7 +379,8 @@ public: /// This constructor is used to represent class messages where the /// ObjCInterfaceDecl* of the receiver is known. // FIXME: clsName should be typed to ObjCInterfaceType - ObjCMessageExpr(ASTContext &C, ObjCInterfaceDecl *cls, Selector selInfo, + ObjCMessageExpr(ASTContext &C, ObjCInterfaceDecl *cls, + SourceLocation clsNameLoc, Selector selInfo, QualType retType, ObjCMethodDecl *methDecl, SourceLocation LBrac, SourceLocation RBrac, Expr **ArgExprs, unsigned NumArgs); @@ -411,7 +416,24 @@ public: ObjCMethodDecl *getMethodDecl() { return MethodProto; } void setMethodDecl(ObjCMethodDecl *MD) { MethodProto = MD; } - typedef std::pair ClassInfo; + /// \brief Describes the class receiver of a message send. + struct ClassInfo { + /// \brief The interface declaration for the class that is + /// receiving the message. May be NULL. + ObjCInterfaceDecl *Decl; + + /// \brief The name of the class that is receiving the + /// message. This will never be NULL. + IdentifierInfo *Name; + + /// \brief The source location of the class name. + SourceLocation Loc; + + ClassInfo() : Decl(0), Name(0), Loc() { } + + ClassInfo(ObjCInterfaceDecl *Decl, IdentifierInfo *Name, SourceLocation Loc) + : Decl(Decl), Name(Name), Loc(Loc) { } + }; /// getClassInfo - For class methods, this returns both the ObjCInterfaceDecl* /// and IdentifierInfo* of the invoked class. Both can be NULL if this @@ -423,7 +445,7 @@ public: /// getClassName - For class methods, this returns the invoked class, /// and returns NULL otherwise. For instance methods, use getReceiver. IdentifierInfo *getClassName() const { - return getClassInfo().second; + return getClassInfo().Name; } /// getNumArgs - Return the number of actual arguments to this call. Modified: vendor/clang/dist/include/clang/AST/PrettyPrinter.h ============================================================================== --- vendor/clang/dist/include/clang/AST/PrettyPrinter.h Wed Mar 10 17:45:15 2010 (r204961) +++ vendor/clang/dist/include/clang/AST/PrettyPrinter.h Wed Mar 10 17:45:58 2010 (r204962) @@ -36,7 +36,7 @@ struct PrintingPolicy { /// \brief Create a default printing policy for C. PrintingPolicy(const LangOptions &LO) : Indentation(2), LangOpts(LO), SuppressSpecifiers(false), - SuppressTag(false), SuppressTagKind(false), SuppressScope(false), + SuppressTag(false), SuppressScope(false), Dump(false), ConstantArraySizeAsWritten(false) { } /// \brief The number of spaces to use to indent each line. @@ -71,10 +71,6 @@ struct PrintingPolicy { /// \endcode bool SuppressTag : 1; - /// \brief If we are printing a tag type, suppresses printing of the - /// kind of tag, e.g., "struct", "union", "enum". - bool SuppressTagKind : 1; - /// \brief Suppresses printing of scope specifiers. bool SuppressScope : 1; @@ -101,6 +97,7 @@ struct PrintingPolicy { /// char a[9] = "A string"; /// \endcode bool ConstantArraySizeAsWritten : 1; + }; } // end namespace clang Modified: vendor/clang/dist/include/clang/AST/RecordLayout.h ============================================================================== --- vendor/clang/dist/include/clang/AST/RecordLayout.h Wed Mar 10 17:45:15 2010 (r204961) +++ vendor/clang/dist/include/clang/AST/RecordLayout.h Wed Mar 10 17:45:58 2010 (r204962) @@ -128,47 +128,24 @@ private: friend class ASTContext; friend class ASTRecordLayoutBuilder; - ASTRecordLayout(uint64_t size, unsigned alignment, unsigned datasize, - const uint64_t *fieldoffsets, unsigned fieldcount) - : Size(size), DataSize(datasize), FieldOffsets(0), Alignment(alignment), - FieldCount(fieldcount), CXXInfo(0) { - if (FieldCount > 0) { - FieldOffsets = new uint64_t[FieldCount]; - for (unsigned i = 0; i < FieldCount; ++i) - FieldOffsets[i] = fieldoffsets[i]; - } - } + ASTRecordLayout(ASTContext &Ctx, uint64_t size, unsigned alignment, + unsigned datasize, const uint64_t *fieldoffsets, + unsigned fieldcount); // Constructor for C++ records. - ASTRecordLayout(uint64_t size, unsigned alignment, uint64_t datasize, + ASTRecordLayout(ASTContext &Ctx, + uint64_t size, unsigned alignment, uint64_t datasize, const uint64_t *fieldoffsets, unsigned fieldcount, uint64_t nonvirtualsize, unsigned nonvirtualalign, const PrimaryBaseInfo &PrimaryBase, const std::pair *bases, unsigned numbases, const std::pair *vbases, - unsigned numvbases) - : Size(size), DataSize(datasize), FieldOffsets(0), Alignment(alignment), - FieldCount(fieldcount), CXXInfo(new CXXRecordLayoutInfo) { - if (FieldCount > 0) { - FieldOffsets = new uint64_t[FieldCount]; - for (unsigned i = 0; i < FieldCount; ++i) - FieldOffsets[i] = fieldoffsets[i]; - } - - CXXInfo->PrimaryBase = PrimaryBase; - CXXInfo->NonVirtualSize = nonvirtualsize; - CXXInfo->NonVirtualAlign = nonvirtualalign; - for (unsigned i = 0; i != numbases; ++i) - CXXInfo->BaseOffsets[bases[i].first] = bases[i].second; - for (unsigned i = 0; i != numvbases; ++i) - CXXInfo->VBaseOffsets[vbases[i].first] = vbases[i].second; - } - - ~ASTRecordLayout() { - delete [] FieldOffsets; - delete CXXInfo; - } + unsigned numvbases); + + ~ASTRecordLayout() {} + + void Destroy(ASTContext &Ctx); ASTRecordLayout(const ASTRecordLayout&); // DO NOT IMPLEMENT void operator=(const ASTRecordLayout&); // DO NOT IMPLEMENT Modified: vendor/clang/dist/include/clang/AST/Type.h ============================================================================== --- vendor/clang/dist/include/clang/AST/Type.h Wed Mar 10 17:45:15 2010 (r204961) +++ vendor/clang/dist/include/clang/AST/Type.h Wed Mar 10 17:45:58 2010 (r204962) @@ -2440,6 +2440,47 @@ public: static bool classof(const TemplateSpecializationType *T) { return true; } }; +/// \brief The injected class name of a C++ class template. Used to +/// record that a type was spelled with a bare identifier rather than +/// as a template-id; the equivalent for non-templated classes is just +/// RecordType. +/// +/// For consistency, template instantiation turns these into RecordTypes. +/// +/// The desugared form is always a unqualified TemplateSpecializationType. +/// The canonical form is always either a TemplateSpecializationType +/// (when dependent) or a RecordType (otherwise). +class InjectedClassNameType : public Type { + CXXRecordDecl *Decl; + + QualType UnderlyingType; + + friend class ASTContext; // ASTContext creates these. + InjectedClassNameType(CXXRecordDecl *D, QualType TST, QualType Canon) + : Type(InjectedClassName, Canon, Canon->isDependentType()), + Decl(D), UnderlyingType(TST) { + assert(isa(TST)); + assert(!TST.hasQualifiers()); + assert(TST->getCanonicalTypeInternal() == Canon); + } + +public: + QualType getUnderlyingType() const { return UnderlyingType; } + const TemplateSpecializationType *getUnderlyingTST() const { + return cast(UnderlyingType.getTypePtr()); + } + + CXXRecordDecl *getDecl() const { return Decl; } + + bool isSugared() const { return true; } + QualType desugar() const { return UnderlyingType; } + + static bool classof(const Type *T) { + return T->getTypeClass() == InjectedClassName; + } + static bool classof(const InjectedClassNameType *T) { return true; } +}; + /// \brief Represents a type that was referred to via a qualified /// name, e.g., N::M::type. /// Modified: vendor/clang/dist/include/clang/AST/TypeLoc.h ============================================================================== --- vendor/clang/dist/include/clang/AST/TypeLoc.h Wed Mar 10 17:45:15 2010 (r204961) +++ vendor/clang/dist/include/clang/AST/TypeLoc.h Wed Mar 10 17:45:58 2010 (r204962) @@ -488,6 +488,14 @@ public: } }; +/// \brief Wrapper for source info for injected class names of class +/// templates. +class InjectedClassNameTypeLoc : + public InheritingConcreteTypeLoc { +}; + /// \brief Wrapper for source info for unresolved typename using decls. class UnresolvedUsingTypeLoc : public InheritingConcreteTypeLoc; def warn_drv_treating_input_as_cxx : Warning< - "treating '%0' input as '%1' when in C++ mode, this behavior is deprecated">; + "treating '%0' input as '%1' when in C++ mode, this behavior is deprecated">, + InGroup; } Modified: vendor/clang/dist/include/clang/Basic/DiagnosticGroups.td ============================================================================== --- vendor/clang/dist/include/clang/Basic/DiagnosticGroups.td Wed Mar 10 17:45:15 2010 (r204961) +++ vendor/clang/dist/include/clang/Basic/DiagnosticGroups.td Wed Mar 10 17:45:58 2010 (r204962) @@ -24,7 +24,6 @@ def AddressOfTemporary : DiagGroup<"addr def : DiagGroup<"aggregate-return">; def : DiagGroup<"attributes">; def : DiagGroup<"bad-function-cast">; -def BadLiteral : DiagGroup<"bad-literal">; def : DiagGroup<"c++-compat">; def : DiagGroup<"cast-align">; def : DiagGroup<"cast-qual">; @@ -32,6 +31,7 @@ def : DiagGroup<"char-align">; def Comment : DiagGroup<"comment">; def : DiagGroup<"ctor-dtor-privacy">; def : DiagGroup<"declaration-after-statement">; +def Deprecated : DiagGroup<"deprecated">; def : DiagGroup<"disabled-optimization">; def : DiagGroup<"discard-qual">; def : DiagGroup<"div-by-zero">; @@ -48,7 +48,8 @@ def : DiagGroup<"init-self">; def : DiagGroup<"inline">; def : DiagGroup<"int-to-pointer-cast">; def : DiagGroup<"invalid-pch">; -def : DiagGroup<"missing-braces">; +def LiteralRange : DiagGroup<"literal-range">; +def MissingBraces : DiagGroup<"missing-braces">; def : DiagGroup<"missing-declarations">; def : DiagGroup<"missing-format-attribute">; def : DiagGroup<"missing-include-dirs">; @@ -156,6 +157,7 @@ def Most : DiagGroup<"most", [ Format, Implicit, MismatchedTags, + MissingBraces, MultiChar, ReturnType, Switch, @@ -181,4 +183,4 @@ def : DiagGroup<"comments", [Comment]>; // A warning group for warnings that we want to have on by default in clang, // but which aren't on by default in GCC. def NonGCC : DiagGroup<"non-gcc", - [SignCompare, Conversion, BadLiteral]>; + [SignCompare, Conversion, LiteralRange]>; Modified: vendor/clang/dist/include/clang/Basic/DiagnosticParseKinds.td ============================================================================== --- vendor/clang/dist/include/clang/Basic/DiagnosticParseKinds.td Wed Mar 10 17:45:15 2010 (r204961) +++ vendor/clang/dist/include/clang/Basic/DiagnosticParseKinds.td Wed Mar 10 17:45:58 2010 (r204962) @@ -159,13 +159,13 @@ def err_typename_invalid_functionspec : def err_invalid_decl_spec_combination : Error< "cannot combine with previous '%0' declaration specifier">; def err_invalid_vector_decl_spec_combination : Error< - "cannot combine with previous '%0' declaration specifier. \"__vector\" must be first">; + "cannot combine with previous '%0' declaration specifier. '__vector' must be first">; def err_invalid_pixel_decl_spec_combination : Error< - "\"__pixel\" must be preceded by \"__vector\". '%0' declaration specifier not allowed here">; + "'__pixel' must be preceded by '__vector'. '%0' declaration specifier not allowed here">; def err_invalid_vector_double_decl_spec_combination : Error< - "cannot use \"double\" with \"__vector\"">; + "cannot use 'double' with '__vector'">; def warn_vector_long_decl_spec_combination : Warning< - "Use of \"long\" with \"__vector\" is deprecated">; + "Use of 'long' with '__vector' is deprecated">, InGroup; def err_friend_invalid_in_context : Error< "'friend' used outside of class">; def err_unknown_typename : Error< Modified: vendor/clang/dist/include/clang/Basic/DiagnosticSemaKinds.td ============================================================================== --- vendor/clang/dist/include/clang/Basic/DiagnosticSemaKinds.td Wed Mar 10 17:45:15 2010 (r204961) +++ vendor/clang/dist/include/clang/Basic/DiagnosticSemaKinds.td Wed Mar 10 17:45:58 2010 (r204962) @@ -31,10 +31,10 @@ def ext_predef_outside_function : Warnin "predefined identifier is only valid inside function">; def warn_float_overflow : Warning< "magnitude of floating-point constant too large for type %0; maximum is %1">, - InGroup; + InGroup; def warn_float_underflow : Warning< "magnitude of floating-point constant too small for type %0; minimum is %1">, - InGroup; + InGroup; // C99 Designated Initializers def err_array_designator_negative : Error< @@ -141,7 +141,8 @@ def err_using_decl_conflict_reverse : Er def note_using_decl : Note<"%select{|previous }0using declaration">; def warn_access_decl_deprecated : Warning< - "access declarations are deprecated; use using declarations instead">; + "access declarations are deprecated; use using declarations instead">, + InGroup; def err_invalid_thread : Error< "'__thread' is only allowed on variable declarations">; @@ -1580,6 +1581,9 @@ def err_bitfield_width_exceeds_type_size "size of bit-field %0 exceeds size of its type (%1 bits)">; def err_anon_bitfield_width_exceeds_type_size : Error< "size of anonymous bit-field exceeds size of its type (%0 bits)">; +def warn_missing_braces : Warning< + "suggest braces around initialization of subobject">, + InGroup>, DefaultIgnore; def err_redefinition_of_label : Error<"redefinition of label '%0'">; def err_undeclared_label_use : Error<"use of undeclared label '%0'">; @@ -1785,7 +1789,7 @@ def err_array_init_not_init_list : Error "array initializer must be an initializer " "list%select{| or string literal}0">; def warn_deprecated_string_literal_conversion : Warning< - "conversion from string literal to %0 is deprecated">; + "conversion from string literal to %0 is deprecated">, InGroup; def err_realimag_invalid_type : Error<"invalid type %0 to %1 operator">; def err_typecheck_sclass_fscope : Error< "illegal storage class on file-scoped variable">; @@ -2043,11 +2047,11 @@ def note_delete_member_function_declared "%0 declared here">; def err_decrement_bool : Error<"cannot decrement expression of type bool">; def warn_increment_bool : Warning< - "incrementing expression of type bool is deprecated">; -def err_catch_incomplete_ptr : Error< - "cannot catch pointer to incomplete type %0">; -def err_catch_incomplete_ref : Error< - "cannot catch reference to incomplete type %0">; + "incrementing expression of type bool is deprecated">, InGroup; +def ext_catch_incomplete_ptr : ExtWarn< + "ISO C++ forbids catching a pointer to incomplete type %0">; +def ext_catch_incomplete_ref : ExtWarn< + "ISO C++ forbids catching a reference to incomplete type %0">; def err_catch_incomplete : Error<"cannot catch incomplete type %0">; def err_catch_rvalue_ref : Error<"cannot catch exceptions by rvalue reference">; def err_qualified_catch_declarator : Error< Modified: vendor/clang/dist/include/clang/Checker/PathSensitive/SVals.h ============================================================================== --- vendor/clang/dist/include/clang/Checker/PathSensitive/SVals.h Wed Mar 10 17:45:15 2010 (r204961) +++ vendor/clang/dist/include/clang/Checker/PathSensitive/SVals.h Wed Mar 10 17:45:58 2010 (r204962) @@ -112,6 +112,9 @@ public: /// wraps a symbol, return that SymbolRef. Otherwise return a SymbolData* SymbolRef getAsLocSymbol() const; + /// Get the symbol in the SVal or its base region. + SymbolRef getLocSymbolInBase() const; + /// getAsSymbol - If this Sval wraps a symbol return that SymbolRef. /// Otherwise return a SymbolRef where 'isValid()' returns false. SymbolRef getAsSymbol() const; Modified: vendor/clang/dist/include/clang/Frontend/CompilerInstance.h ============================================================================== --- vendor/clang/dist/include/clang/Frontend/CompilerInstance.h Wed Mar 10 17:45:15 2010 (r204961) +++ vendor/clang/dist/include/clang/Frontend/CompilerInstance.h Wed Mar 10 17:45:58 2010 (r204962) @@ -439,11 +439,11 @@ public: /// \param OS - The output stream, which should be non-null. void addOutputFile(llvm::StringRef Path, llvm::raw_ostream *OS); - /// ClearOutputFiles - Clear the output file list, destroying the contained + /// clearOutputFiles - Clear the output file list, destroying the contained /// output streams. /// /// \param EraseFiles - If true, attempt to erase the files from disk. - void ClearOutputFiles(bool EraseFiles); + void clearOutputFiles(bool EraseFiles); /// } /// @name Construction Utility Methods Modified: vendor/clang/dist/include/clang/Frontend/DeclXML.def ============================================================================== --- vendor/clang/dist/include/clang/Frontend/DeclXML.def Wed Mar 10 17:45:15 2010 (r204961) +++ vendor/clang/dist/include/clang/Frontend/DeclXML.def Wed Mar 10 17:45:58 2010 (r204962) @@ -103,7 +103,7 @@ NODE_XML(FunctionDecl, "Function") //ATTRIBUTE_OPT_XML(isVariadic(), "variadic") // in the type reference ATTRIBUTE_XML(getNumParams(), "num_args") SUB_NODE_SEQUENCE_XML(ParmVarDecl) - //SUB_NODE_OPT_XML("Body") + SUB_NODE_FN_BODY_XML END_NODE_XML NODE_XML(CXXMethodDecl, "CXXMethodDecl") @@ -118,13 +118,9 @@ NODE_XML(CXXMethodDecl, "CXXMethodDecl") ATTRIBUTE_OPT_XML(isVirtual(), "virtual") ATTRIBUTE_XML(getNumParams(), "num_args") SUB_NODE_SEQUENCE_XML(ParmVarDecl) - //SUB_NODE_OPT_XML("Body") + SUB_NODE_FN_BODY_XML END_NODE_XML -//NODE_XML("Body") -// SUB_NODE_XML(Stmt) -//END_NODE_XML - NODE_XML(NamespaceDecl, "Namespace") ID_ATTRIBUTE_XML ATTRIBUTE_FILE_LOCATION_XML @@ -156,6 +152,16 @@ NODE_XML(RecordDecl, "Record") SUB_NODE_SEQUENCE_XML(FieldDecl) END_NODE_XML +NODE_XML(CXXRecordDecl, "CXXRecord") + ID_ATTRIBUTE_XML + ATTRIBUTE_FILE_LOCATION_XML + ATTRIBUTE_XML(getDeclContext(), "context") + ATTRIBUTE_XML(getNameAsString(), "name") + ATTRIBUTE_OPT_XML(isDefinition() == false, "forward") + ATTRIBUTE_XML(getTypeForDecl(), "type") // refers to the type this decl creates + SUB_NODE_SEQUENCE_XML(FieldDecl) +END_NODE_XML + NODE_XML(EnumDecl, "Enum") ID_ATTRIBUTE_XML ATTRIBUTE_FILE_LOCATION_XML @@ -248,3 +254,4 @@ END_NODE_XML #undef SUB_NODE_XML #undef SUB_NODE_SEQUENCE_XML #undef SUB_NODE_OPT_XML +#undef SUB_NODE_FN_BODY_XML Modified: vendor/clang/dist/include/clang/Frontend/PCHBitCodes.h ============================================================================== --- vendor/clang/dist/include/clang/Frontend/PCHBitCodes.h Wed Mar 10 17:45:15 2010 (r204961) +++ vendor/clang/dist/include/clang/Frontend/PCHBitCodes.h Wed Mar 10 17:45:58 2010 (r204962) @@ -408,7 +408,9 @@ namespace clang { /// \brief A SubstTemplateTypeParmType record. TYPE_SUBST_TEMPLATE_TYPE_PARM = 25, /// \brief An UnresolvedUsingType record. - TYPE_UNRESOLVED_USING = 26 + TYPE_UNRESOLVED_USING = 26, + /// \brief An InjectedClassNameType record. + TYPE_INJECTED_CLASS_NAME = 27 }; /// \brief The type IDs for special types constructed by semantic Modified: vendor/clang/dist/include/clang/Lex/Preprocessor.h ============================================================================== --- vendor/clang/dist/include/clang/Lex/Preprocessor.h Wed Mar 10 17:45:15 2010 (r204961) +++ vendor/clang/dist/include/clang/Lex/Preprocessor.h Wed Mar 10 17:45:58 2010 (r204962) @@ -43,7 +43,7 @@ class ScratchBuffer; class TargetInfo; class PPCallbacks; class DirectoryLookup; - + /// Preprocessor - This object engages in a tight little dance with the lexer to /// efficiently preprocess tokens. Lexers know only about tokens within a /// single source file, and don't know anything about preprocessor-level issues @@ -60,7 +60,7 @@ class Preprocessor { /// \brief External source of macros. ExternalPreprocessorSource *ExternalSource; - + /// PTH - An optional PTHManager object used for getting tokens from /// a token cache rather than lexing the original source file. llvm::OwningPtr PTH; @@ -105,7 +105,7 @@ class Preprocessor { /// \brief Whether we have already loaded macros from the external source. mutable bool ReadMacrosFromExternalSource : 1; - + /// Identifiers - This is mapping/lookup information for all identifiers in /// the program, including program keywords. mutable IdentifierTable Identifiers; @@ -186,7 +186,7 @@ class Preprocessor { /// allocation. /// FIXME: why not use a singly linked list? std::vector MICache; - + /// MacroArgCache - This is a "freelist" of MacroArg objects that can be /// reused for quick allocation. MacroArgs *MacroArgCache; @@ -257,11 +257,11 @@ public: void setExternalSource(ExternalPreprocessorSource *Source) { ExternalSource = Source; } - + ExternalPreprocessorSource *getExternalSource() const { return ExternalSource; } - + /// SetCommentRetentionState - Control whether or not the preprocessor retains /// comments in output. void SetCommentRetentionState(bool KeepComments, bool KeepMacroComments) { @@ -287,11 +287,11 @@ public: /// expansions going on at the time. PreprocessorLexer *getCurrentFileLexer() const; - /// getPPCallbacks/setPPCallbacks - Accessors for preprocessor callbacks. + /// getPPCallbacks/addPPCallbacks - Accessors for preprocessor callbacks. /// Note that this class takes ownership of any PPCallbacks object given to /// it. PPCallbacks *getPPCallbacks() const { return Callbacks; } - void setPPCallbacks(PPCallbacks *C) { + void addPPCallbacks(PPCallbacks *C) { if (Callbacks) C = new PPChainedCallbacks(C, Callbacks); Callbacks = C; @@ -313,7 +313,7 @@ public: MacroInfo*>::const_iterator macro_iterator; macro_iterator macro_begin(bool IncludeExternalMacros = true) const; macro_iterator macro_end(bool IncludeExternalMacros = true) const; - + const std::string &getPredefines() const { return Predefines; } /// setPredefines - Set the predefines for this Preprocessor. These /// predefines are automatically injected when parsing the main file. @@ -523,7 +523,7 @@ public: *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***