PERFORCE change 197230 for review
Matt Jacob
mjacob at FreeBSD.org
Fri Aug 5 17:14:37 UTC 2011
http://p4web.freebsd.org/@@197230?ac=10
Change 197230 by mjacob at mjacob-sandbox on 2011/08/05 17:14:17
IFC
Affected files ...
.. //depot/projects/mjacob-dev/cddl/contrib/opensolaris/cmd/ztest/ztest.c#4 integrate
.. //depot/projects/mjacob-dev/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c#4 integrate
.. //depot/projects/mjacob-dev/contrib/bsnmp/snmp_usm/snmp_usm.3#2 integrate
.. //depot/projects/mjacob-dev/contrib/gcc/cp/ChangeLog#3 integrate
.. //depot/projects/mjacob-dev/contrib/gcc/cp/decl.c#3 integrate
.. //depot/projects/mjacob-dev/crypto/openssh/README.hpn#1 branch
.. //depot/projects/mjacob-dev/crypto/openssh/buffer.c#2 integrate
.. //depot/projects/mjacob-dev/crypto/openssh/buffer.h#3 integrate
.. //depot/projects/mjacob-dev/crypto/openssh/channels.c#3 integrate
.. //depot/projects/mjacob-dev/crypto/openssh/channels.h#2 integrate
.. //depot/projects/mjacob-dev/crypto/openssh/cipher.c#2 integrate
.. //depot/projects/mjacob-dev/crypto/openssh/clientloop.c#3 integrate
.. //depot/projects/mjacob-dev/crypto/openssh/compat.c#2 integrate
.. //depot/projects/mjacob-dev/crypto/openssh/compat.h#2 integrate
.. //depot/projects/mjacob-dev/crypto/openssh/kex.c#3 integrate
.. //depot/projects/mjacob-dev/crypto/openssh/kex.h#3 integrate
.. //depot/projects/mjacob-dev/crypto/openssh/misc.c#3 integrate
.. //depot/projects/mjacob-dev/crypto/openssh/misc.h#3 integrate
.. //depot/projects/mjacob-dev/crypto/openssh/myproposal.h#3 integrate
.. //depot/projects/mjacob-dev/crypto/openssh/packet.c#3 integrate
.. //depot/projects/mjacob-dev/crypto/openssh/packet.h#3 integrate
.. //depot/projects/mjacob-dev/crypto/openssh/readconf.c#3 integrate
.. //depot/projects/mjacob-dev/crypto/openssh/readconf.h#3 integrate
.. //depot/projects/mjacob-dev/crypto/openssh/servconf.c#3 integrate
.. //depot/projects/mjacob-dev/crypto/openssh/servconf.h#3 integrate
.. //depot/projects/mjacob-dev/crypto/openssh/serverloop.c#2 integrate
.. //depot/projects/mjacob-dev/crypto/openssh/session.c#3 integrate
.. //depot/projects/mjacob-dev/crypto/openssh/sftp.1#3 integrate
.. //depot/projects/mjacob-dev/crypto/openssh/sftp.c#3 integrate
.. //depot/projects/mjacob-dev/crypto/openssh/ssh.c#3 integrate
.. //depot/projects/mjacob-dev/crypto/openssh/sshconnect.c#3 integrate
.. //depot/projects/mjacob-dev/crypto/openssh/sshconnect2.c#3 integrate
.. //depot/projects/mjacob-dev/crypto/openssh/sshd.c#3 integrate
.. //depot/projects/mjacob-dev/crypto/openssh/sshd_config#3 integrate
.. //depot/projects/mjacob-dev/crypto/openssh/version.c#2 integrate
.. //depot/projects/mjacob-dev/crypto/openssh/version.h#3 integrate
.. //depot/projects/mjacob-dev/etc/rc.d/kld#3 integrate
.. //depot/projects/mjacob-dev/lib/libc/amd64/string/Makefile.inc#2 integrate
.. //depot/projects/mjacob-dev/lib/libc/amd64/string/stpcpy.S#1 branch
.. //depot/projects/mjacob-dev/lib/libc/amd64/string/strcpy.S#3 delete
.. //depot/projects/mjacob-dev/lib/libc/amd64/string/strcpy.c#1 branch
.. //depot/projects/mjacob-dev/lib/libc/net/sctp_sys_calls.c#4 integrate
.. //depot/projects/mjacob-dev/lib/libmemstat/libmemstat.3#2 integrate
.. //depot/projects/mjacob-dev/lib/libmemstat/memstat.c#2 integrate
.. //depot/projects/mjacob-dev/lib/libmemstat/memstat.h#2 integrate
.. //depot/projects/mjacob-dev/lib/libmemstat/memstat_internal.h#2 integrate
.. //depot/projects/mjacob-dev/lib/libmemstat/memstat_malloc.c#2 integrate
.. //depot/projects/mjacob-dev/lib/libmemstat/memstat_uma.c#3 integrate
.. //depot/projects/mjacob-dev/lib/libproc/proc_create.c#3 integrate
.. //depot/projects/mjacob-dev/lib/libusbhid/parse.c#2 integrate
.. //depot/projects/mjacob-dev/libexec/tftpd/tftp-transfer.c#2 integrate
.. //depot/projects/mjacob-dev/libexec/tftpd/tftpd.8#3 integrate
.. //depot/projects/mjacob-dev/release/Makefile.sysinstall#3 integrate
.. //depot/projects/mjacob-dev/release/amd64/make-memstick.sh#2 integrate
.. //depot/projects/mjacob-dev/release/doc/en_US.ISO8859-1/hardware/article.sgml#2 integrate
.. //depot/projects/mjacob-dev/release/i386/make-memstick.sh#2 integrate
.. //depot/projects/mjacob-dev/release/powerpc/make-memstick.sh#2 integrate
.. //depot/projects/mjacob-dev/sbin/mount/mount.c#4 integrate
.. //depot/projects/mjacob-dev/share/man/man4/dc.4#2 integrate
.. //depot/projects/mjacob-dev/share/man/man4/gif.4#2 integrate
.. //depot/projects/mjacob-dev/share/man/man4/hptiop.4#2 integrate
.. //depot/projects/mjacob-dev/share/man/man4/lmc.4#2 integrate
.. //depot/projects/mjacob-dev/share/man/man4/mpt.4#2 integrate
.. //depot/projects/mjacob-dev/share/man/man4/pcm.4#2 integrate
.. //depot/projects/mjacob-dev/share/man/man4/rue.4#2 integrate
.. //depot/projects/mjacob-dev/share/man/man4/smp.4#2 integrate
.. //depot/projects/mjacob-dev/share/man/man4/stf.4#2 integrate
.. //depot/projects/mjacob-dev/share/man/man4/wi.4#3 integrate
.. //depot/projects/mjacob-dev/share/man/man5/reiserfs.5#3 integrate
.. //depot/projects/mjacob-dev/share/man/man8/crash.8#2 integrate
.. //depot/projects/mjacob-dev/share/man/man9/taskqueue.9#3 integrate
.. //depot/projects/mjacob-dev/share/man/man9/vfs_getopt.9#2 integrate
.. //depot/projects/mjacob-dev/sys/amd64/amd64/machdep.c#7 integrate
.. //depot/projects/mjacob-dev/sys/arm/arm/irq_dispatch.S#3 integrate
.. //depot/projects/mjacob-dev/sys/arm/sa11x0/sa11x0_irq.S#3 integrate
.. //depot/projects/mjacob-dev/sys/boot/forth/loader.conf#5 integrate
.. //depot/projects/mjacob-dev/sys/cam/ata/ata_da.c#7 integrate
.. //depot/projects/mjacob-dev/sys/cam/cam_periph.c#6 integrate
.. //depot/projects/mjacob-dev/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_znode.h#4 integrate
.. //depot/projects/mjacob-dev/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c#4 integrate
.. //depot/projects/mjacob-dev/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#7 integrate
.. //depot/projects/mjacob-dev/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#4 integrate
.. //depot/projects/mjacob-dev/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c#3 integrate
.. //depot/projects/mjacob-dev/sys/compat/linprocfs/linprocfs.c#5 integrate
.. //depot/projects/mjacob-dev/sys/conf/NOTES#9 integrate
.. //depot/projects/mjacob-dev/sys/conf/newvers.sh#3 integrate
.. //depot/projects/mjacob-dev/sys/conf/options#9 integrate
.. //depot/projects/mjacob-dev/sys/dev/acpica/acpi_pcib_acpi.c#5 integrate
.. //depot/projects/mjacob-dev/sys/dev/ahci/ahci.c#8 integrate
.. //depot/projects/mjacob-dev/sys/dev/ahci/ahci.h#5 integrate
.. //depot/projects/mjacob-dev/sys/dev/ata/ata-pci.c#2 integrate
.. //depot/projects/mjacob-dev/sys/dev/ata/ata-pci.h#4 integrate
.. //depot/projects/mjacob-dev/sys/dev/ata/chipsets/ata-acard.c#2 integrate
.. //depot/projects/mjacob-dev/sys/dev/ata/chipsets/ata-acerlabs.c#2 integrate
.. //depot/projects/mjacob-dev/sys/dev/ata/chipsets/ata-intel.c#5 integrate
.. //depot/projects/mjacob-dev/sys/dev/ata/chipsets/ata-nvidia.c#2 integrate
.. //depot/projects/mjacob-dev/sys/dev/ata/chipsets/ata-promise.c#3 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/ath_dfs/null/dfs_null.c#2 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/ath_hal/ah.h#8 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/ath_hal/ah_desc.h#4 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/ath_hal/ah_eeprom.h#6 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/ath_hal/ah_eeprom_9287.c#3 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/ath_hal/ah_eeprom_v14.c#6 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/ath_hal/ah_eeprom_v14.h#6 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/ath_hal/ah_eeprom_v4k.c#5 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/ath_hal/ar5212/ar5212_ani.c#3 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/ath_hal/ar5416/ar5416.h#8 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/ath_hal/ar5416/ar5416_ani.c#7 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c#8 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/ath_hal/ar5416/ar5416_cal.c#8 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c#7 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/ath_hal/ar5416/ar5416_recv.c#3 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/ath_hal/ar9002/ar9280.c#4 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c#8 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/ath_hal/ar9002/ar9285_attach.c#9 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/ath_hal/ar9002/ar9287_attach.c#4 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/if_ath.c#11 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/if_ath_sysctl.c#5 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/if_athioctl.h#6 integrate
.. //depot/projects/mjacob-dev/sys/dev/ath/if_athvar.h#7 integrate
.. //depot/projects/mjacob-dev/sys/dev/hptiop/hptiop.c#2 integrate
.. //depot/projects/mjacob-dev/sys/dev/mpt/mpt.c#5 integrate
.. //depot/projects/mjacob-dev/sys/dev/mpt/mpt.h#4 integrate
.. //depot/projects/mjacob-dev/sys/dev/mpt/mpt_cam.c#5 integrate
.. //depot/projects/mjacob-dev/sys/dev/mpt/mpt_debug.c#3 integrate
.. //depot/projects/mjacob-dev/sys/dev/mpt/mpt_pci.c#5 integrate
.. //depot/projects/mjacob-dev/sys/dev/mpt/mpt_raid.c#3 integrate
.. //depot/projects/mjacob-dev/sys/dev/mpt/mpt_raid.h#2 integrate
.. //depot/projects/mjacob-dev/sys/dev/mpt/mpt_user.c#3 integrate
.. //depot/projects/mjacob-dev/sys/dev/pci/pci.c#7 integrate
.. //depot/projects/mjacob-dev/sys/dev/re/if_re.c#5 integrate
.. //depot/projects/mjacob-dev/sys/dev/usb/input/ums.c#6 integrate
.. //depot/projects/mjacob-dev/sys/fs/cd9660/iso.h#2 integrate
.. //depot/projects/mjacob-dev/sys/fs/msdosfs/msdosfsmount.h#2 integrate
.. //depot/projects/mjacob-dev/sys/fs/nfsclient/nfs_clnode.c#4 integrate
.. //depot/projects/mjacob-dev/sys/fs/nfsclient/nfs_clvnops.c#8 integrate
.. //depot/projects/mjacob-dev/sys/fs/nfsclient/nfsnode.h#3 integrate
.. //depot/projects/mjacob-dev/sys/fs/nfsserver/nfs_nfsdserv.c#6 integrate
.. //depot/projects/mjacob-dev/sys/fs/ntfs/ntfs.h#2 integrate
.. //depot/projects/mjacob-dev/sys/fs/smbfs/smbfs.h#2 integrate
.. //depot/projects/mjacob-dev/sys/i386/i386/machdep.c#7 integrate
.. //depot/projects/mjacob-dev/sys/i386/ibcs2/imgact_coff.c#2 integrate
.. //depot/projects/mjacob-dev/sys/kern/kern_conf.c#6 integrate
.. //depot/projects/mjacob-dev/sys/kern/kern_jail.c#7 integrate
.. //depot/projects/mjacob-dev/sys/kern/kern_linker.c#5 integrate
.. //depot/projects/mjacob-dev/sys/kern/kern_lock.c#4 integrate
.. //depot/projects/mjacob-dev/sys/kern/kern_shutdown.c#6 integrate
.. //depot/projects/mjacob-dev/sys/kern/subr_smp.c#7 integrate
.. //depot/projects/mjacob-dev/sys/kern/sys_capability.c#5 integrate
.. //depot/projects/mjacob-dev/sys/kern/vfs_mount.c#6 integrate
.. //depot/projects/mjacob-dev/sys/kern/vfs_subr.c#8 integrate
.. //depot/projects/mjacob-dev/sys/mips/mips/exception.S#4 integrate
.. //depot/projects/mjacob-dev/sys/net/if_lagg.c#5 integrate
.. //depot/projects/mjacob-dev/sys/netgraph/ng_ether.c#4 integrate
.. //depot/projects/mjacob-dev/sys/netgraph/ng_mppc.c#3 integrate
.. //depot/projects/mjacob-dev/sys/netgraph/ng_parse.c#2 integrate
.. //depot/projects/mjacob-dev/sys/netinet/ip_divert.c#6 integrate
.. //depot/projects/mjacob-dev/sys/netinet/sctp.h#7 integrate
.. //depot/projects/mjacob-dev/sys/netinet/sctp_asconf.c#5 integrate
.. //depot/projects/mjacob-dev/sys/netinet/sctp_cc_functions.c#7 integrate
.. //depot/projects/mjacob-dev/sys/netinet/sctp_constants.h#6 integrate
.. //depot/projects/mjacob-dev/sys/netinet/sctp_header.h#3 integrate
.. //depot/projects/mjacob-dev/sys/netinet/sctp_indata.c#8 integrate
.. //depot/projects/mjacob-dev/sys/netinet/sctp_input.c#6 integrate
.. //depot/projects/mjacob-dev/sys/netinet/sctp_output.c#9 integrate
.. //depot/projects/mjacob-dev/sys/netinet/sctp_output.h#5 integrate
.. //depot/projects/mjacob-dev/sys/netinet/sctp_pcb.c#8 integrate
.. //depot/projects/mjacob-dev/sys/netinet/sctp_pcb.h#3 integrate
.. //depot/projects/mjacob-dev/sys/netinet/sctp_structs.h#7 integrate
.. //depot/projects/mjacob-dev/sys/netinet/sctp_sysctl.c#7 integrate
.. //depot/projects/mjacob-dev/sys/netinet/sctp_sysctl.h#7 integrate
.. //depot/projects/mjacob-dev/sys/netinet/sctp_timer.c#6 integrate
.. //depot/projects/mjacob-dev/sys/netinet/sctp_timer.h#3 integrate
.. //depot/projects/mjacob-dev/sys/netinet/sctp_uio.h#6 integrate
.. //depot/projects/mjacob-dev/sys/netinet/sctp_usrreq.c#9 integrate
.. //depot/projects/mjacob-dev/sys/netinet/sctp_var.h#5 integrate
.. //depot/projects/mjacob-dev/sys/netinet/sctputil.c#8 integrate
.. //depot/projects/mjacob-dev/sys/netinet6/sctp6_usrreq.c#5 integrate
.. //depot/projects/mjacob-dev/sys/nfsclient/nfs_node.c#2 integrate
.. //depot/projects/mjacob-dev/sys/nfsclient/nfsnode.h#2 integrate
.. //depot/projects/mjacob-dev/sys/pc98/pc98/machdep.c#6 integrate
.. //depot/projects/mjacob-dev/sys/pci/if_rlreg.h#4 integrate
.. //depot/projects/mjacob-dev/sys/powerpc/aim/locore32.S#5 integrate
.. //depot/projects/mjacob-dev/sys/powerpc/booke/locore.S#4 integrate
.. //depot/projects/mjacob-dev/sys/powerpc/booke/platform_bare.c#5 integrate
.. //depot/projects/mjacob-dev/sys/powerpc/booke/pmap.c#6 integrate
.. //depot/projects/mjacob-dev/sys/powerpc/conf/MPC85XX#3 integrate
.. //depot/projects/mjacob-dev/sys/powerpc/mpc85xx/atpic.c#3 integrate
.. //depot/projects/mjacob-dev/sys/powerpc/powermac/fcu.c#5 integrate
.. //depot/projects/mjacob-dev/sys/sys/capability.h#3 integrate
.. //depot/projects/mjacob-dev/sys/sys/mount.h#4 integrate
.. //depot/projects/mjacob-dev/sys/sys/systm.h#6 integrate
.. //depot/projects/mjacob-dev/sys/ufs/ffs/ffs_alloc.c#9 integrate
.. //depot/projects/mjacob-dev/sys/ufs/ffs/ffs_softdep.c#8 integrate
.. //depot/projects/mjacob-dev/sys/ufs/ffs/ffs_vfsops.c#7 integrate
.. //depot/projects/mjacob-dev/sys/ufs/ffs/ffs_vnops.c#4 integrate
.. //depot/projects/mjacob-dev/sys/ufs/ufs/inode.h#3 integrate
.. //depot/projects/mjacob-dev/sys/vm/device_pager.c#5 integrate
.. //depot/projects/mjacob-dev/sys/vm/swap_pager.c#8 integrate
.. //depot/projects/mjacob-dev/sys/vm/swap_pager.h#2 integrate
.. //depot/projects/mjacob-dev/tools/regression/security/cap_test/Makefile#2 integrate
.. //depot/projects/mjacob-dev/tools/regression/security/cap_test/cap_test.c#2 integrate
.. //depot/projects/mjacob-dev/tools/regression/security/cap_test/cap_test.h#2 integrate
.. //depot/projects/mjacob-dev/tools/regression/security/cap_test/cap_test.t#1 branch
.. //depot/projects/mjacob-dev/tools/regression/security/cap_test/cap_test_capabilities.c#1 branch
.. //depot/projects/mjacob-dev/tools/regression/security/cap_test/cap_test_capmode.c#2 integrate
.. //depot/projects/mjacob-dev/tools/regression/security/cap_test/cap_test_fcntl.c#1 branch
.. //depot/projects/mjacob-dev/tools/regression/security/cap_test/cap_test_sysctl.c#2 integrate
.. //depot/projects/mjacob-dev/tools/tools/ath/Makefile#5 integrate
.. //depot/projects/mjacob-dev/tools/tools/ath/athradar/Makefile#1 branch
.. //depot/projects/mjacob-dev/tools/tools/ath/athradar/athradar.c#1 branch
.. //depot/projects/mjacob-dev/tools/tools/sysdoc/tunables.mdoc#2 integrate
.. //depot/projects/mjacob-dev/usr.bin/ar/write.c#3 integrate
.. //depot/projects/mjacob-dev/usr.bin/catman/catman.c#2 integrate
.. //depot/projects/mjacob-dev/usr.bin/cpio/Makefile#3 integrate
.. //depot/projects/mjacob-dev/usr.bin/man/man.1#3 integrate
.. //depot/projects/mjacob-dev/usr.bin/netstat/sctp.c#3 integrate
.. //depot/projects/mjacob-dev/usr.bin/tar/Makefile#3 integrate
.. //depot/projects/mjacob-dev/usr.bin/unzip/unzip.1#2 integrate
.. //depot/projects/mjacob-dev/usr.bin/usbhidaction/usbhidaction.c#2 integrate
.. //depot/projects/mjacob-dev/usr.bin/usbhidctl/usbhid.c#2 integrate
.. //depot/projects/mjacob-dev/usr.sbin/bsdinstall/scripts/mirrorselect#2 integrate
.. //depot/projects/mjacob-dev/usr.sbin/bsdinstall/scripts/netconfig_ipv4#2 integrate
.. //depot/projects/mjacob-dev/usr.sbin/bsnmpd/tools/bsnmptools/bsnmpget.1#2 integrate
.. //depot/projects/mjacob-dev/usr.sbin/diskinfo/diskinfo.c#4 integrate
.. //depot/projects/mjacob-dev/usr.sbin/faithd/faithd.8#2 integrate
.. //depot/projects/mjacob-dev/usr.sbin/jail/jail.8#3 integrate
.. //depot/projects/mjacob-dev/usr.sbin/mfiutil/mfi_show.c#5 integrate
.. //depot/projects/mjacob-dev/usr.sbin/pw/pw_user.c#5 integrate
Differences ...
==== //depot/projects/mjacob-dev/cddl/contrib/opensolaris/cmd/ztest/ztest.c#4 (text+ko) ====
@@ -205,6 +205,7 @@
*/
typedef struct ztest_ds {
objset_t *zd_os;
+ rwlock_t zd_zilog_lock;
zilog_t *zd_zilog;
uint64_t zd_seq;
ztest_od_t *zd_od; /* debugging aid */
@@ -238,6 +239,7 @@
ztest_func_t ztest_zap;
ztest_func_t ztest_zap_parallel;
ztest_func_t ztest_zil_commit;
+ztest_func_t ztest_zil_remount;
ztest_func_t ztest_dmu_read_write_zcopy;
ztest_func_t ztest_dmu_objset_create_destroy;
ztest_func_t ztest_dmu_prealloc;
@@ -273,6 +275,7 @@
{ ztest_zap_parallel, 100, &zopt_always },
{ ztest_split_pool, 1, &zopt_always },
{ ztest_zil_commit, 1, &zopt_incessant },
+ { ztest_zil_remount, 1, &zopt_sometimes },
{ ztest_dmu_read_write_zcopy, 1, &zopt_often },
{ ztest_dmu_objset_create_destroy, 1, &zopt_often },
{ ztest_dsl_prop_get_set, 1, &zopt_often },
@@ -986,6 +989,7 @@
zd->zd_seq = 0;
dmu_objset_name(os, zd->zd_name);
+ VERIFY(rwlock_init(&zd->zd_zilog_lock, USYNC_THREAD, NULL) == 0);
VERIFY(_mutex_init(&zd->zd_dirobj_lock, USYNC_THREAD, NULL) == 0);
for (int l = 0; l < ZTEST_OBJECT_LOCKS; l++)
@@ -1965,6 +1969,8 @@
if (ztest_random(2) == 0)
io_type = ZTEST_IO_WRITE_TAG;
+ (void) rw_rdlock(&zd->zd_zilog_lock);
+
switch (io_type) {
case ZTEST_IO_WRITE_TAG:
@@ -2000,6 +2006,8 @@
break;
}
+ (void) rw_unlock(&zd->zd_zilog_lock);
+
umem_free(data, blocksize);
}
@@ -2054,6 +2062,8 @@
{
zilog_t *zilog = zd->zd_zilog;
+ (void) rw_rdlock(&zd->zd_zilog_lock);
+
zil_commit(zilog, ztest_random(ZTEST_OBJECTS));
/*
@@ -2065,6 +2075,31 @@
ASSERT(zd->zd_seq <= zilog->zl_commit_lr_seq);
zd->zd_seq = zilog->zl_commit_lr_seq;
mutex_exit(&zilog->zl_lock);
+
+ (void) rw_unlock(&zd->zd_zilog_lock);
+}
+
+/*
+ * This function is designed to simulate the operations that occur during a
+ * mount/unmount operation. We hold the dataset across these operations in an
+ * attempt to expose any implicit assumptions about ZIL management.
+ */
+/* ARGSUSED */
+void
+ztest_zil_remount(ztest_ds_t *zd, uint64_t id)
+{
+ objset_t *os = zd->zd_os;
+
+ (void) rw_wrlock(&zd->zd_zilog_lock);
+
+ /* zfsvfs_teardown() */
+ zil_close(zd->zd_zilog);
+
+ /* zfsvfs_setup() */
+ VERIFY(zil_open(os, ztest_get_data) == zd->zd_zilog);
+ zil_replay(os, zd, ztest_replay_vector);
+
+ (void) rw_unlock(&zd->zd_zilog_lock);
}
/*
==== //depot/projects/mjacob-dev/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c#4 (text+ko) ====
@@ -4289,7 +4289,8 @@
libzfs_handle_t *hdl = zhp->zfs_hdl;
zfs_cmd_t zc = { 0 };
char errbuf[1024];
- int cmd, ret;
+ unsigned long cmd;
+ int ret;
if (attach) {
(void) snprintf(errbuf, sizeof (errbuf),
==== //depot/projects/mjacob-dev/contrib/bsnmp/snmp_usm/snmp_usm.3#2 (text+ko) ====
@@ -26,7 +26,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" $FreeBSD: src/contrib/bsnmp/snmp_usm/snmp_usm.3,v 1.2 2010/12/20 17:13:14 syrinx Exp $
+.\" $FreeBSD: src/contrib/bsnmp/snmp_usm/snmp_usm.3,v 1.3 2011/08/01 22:21:18 uqs Exp $
.\"
.Dd September 9, 2010
.Dt SNMP_USM 3
@@ -115,7 +115,7 @@
This column is used to create new USM user entries or delete existing ones from
the table.
.El
-.EL
+.El
.Sh FILES
.Bl -tag -width "XXXXXXXXX"
.It Pa /usr/share/snmp/defs/usm_tree.def
==== //depot/projects/mjacob-dev/contrib/gcc/cp/ChangeLog#3 (text+ko) ====
@@ -1,3 +1,9 @@
+2007-09-29 Jason Merrill <jason at redhat.com>
+
+ PR c++/33094
+ * decl.c (make_rtl_for_nonlocal_decl): It's ok for a member
+ constant to not have DECL_EXTERNAL if it's file-local.
+
2007-08-24 Jakub Jelinek <jakub at redhat.com>
PR c++/31941
==== //depot/projects/mjacob-dev/contrib/gcc/cp/decl.c#3 (text+ko) ====
@@ -4968,7 +4968,7 @@
/* An in-class declaration of a static data member should be
external; it is only a declaration, and not a definition. */
if (init == NULL_TREE)
- gcc_assert (DECL_EXTERNAL (decl));
+ gcc_assert (DECL_EXTERNAL (decl) || !TREE_PUBLIC (decl));
}
/* We don't create any RTL for local variables. */
==== //depot/projects/mjacob-dev/crypto/openssh/buffer.c#2 (text+ko) ====
@@ -1,4 +1,5 @@
/* $OpenBSD: buffer.c,v 1.32 2010/02/09 03:56:28 djm Exp $ */
+/* $FreeBSD: src/crypto/openssh/buffer.c,v 1.3 2011/08/03 19:14:22 brooks Exp $ */
/*
* Author: Tatu Ylonen <ylo at cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo at cs.hut.fi>, Espoo, Finland
@@ -25,7 +26,7 @@
#include "log.h"
#define BUFFER_MAX_CHUNK 0x100000
-#define BUFFER_MAX_LEN 0xa00000
+#define BUFFER_MAX_LEN 0x4000000 /* 64MB */
#define BUFFER_ALLOCSZ 0x008000
/* Initializes the buffer structure. */
@@ -165,6 +166,13 @@
return buffer->end - buffer->offset;
}
+/* Returns the maximum number of bytes of data that may be in the buffer. */
+u_int
+buffer_get_max_len(void)
+{
+ return (BUFFER_MAX_LEN);
+}
+
/* Gets data from the beginning of the buffer. */
int
==== //depot/projects/mjacob-dev/crypto/openssh/buffer.h#3 (text+ko) ====
@@ -1,4 +1,5 @@
/* $OpenBSD: buffer.h,v 1.21 2010/08/31 11:54:45 djm Exp $ */
+/* $FreeBSD: src/crypto/openssh/buffer.h,v 1.5 2011/08/03 19:14:22 brooks Exp $ */
/*
* Author: Tatu Ylonen <ylo at cs.hut.fi>
@@ -46,6 +47,8 @@
int buffer_consume_ret(Buffer *, u_int);
int buffer_consume_end_ret(Buffer *, u_int);
+u_int buffer_get_max_len(void);
+
#include <openssl/bn.h>
void buffer_put_bignum(Buffer *, const BIGNUM *);
==== //depot/projects/mjacob-dev/crypto/openssh/channels.c#3 (text+ko) ====
@@ -1,4 +1,5 @@
/* $OpenBSD: channels.c,v 1.310 2010/11/24 01:24:14 djm Exp $ */
+/* $FreeBSD: src/crypto/openssh/channels.c,v 1.31 2011/08/03 19:14:22 brooks Exp $ */
/*
* Author: Tatu Ylonen <ylo at cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo at cs.hut.fi>, Espoo, Finland
@@ -170,6 +171,11 @@
static int connect_next(struct channel_connect *);
static void channel_connect_ctx_free(struct channel_connect *);
+/* -- HPN */
+
+static int hpn_disabled = 0;
+static u_int buffer_size = CHAN_HPN_MIN_WINDOW_DEFAULT;
+
/* -- channel core */
Channel *
@@ -309,6 +315,7 @@
c->self = found;
c->type = type;
c->ctype = ctype;
+ c->dynamic_window = 0;
c->local_window = window;
c->local_window_max = window;
c->local_consumed = 0;
@@ -808,11 +815,46 @@
FD_SET(c->sock, writeset);
}
+static u_int
+channel_tcpwinsz(void)
+{
+ u_int32_t tcpwinsz;
+ socklen_t optsz;
+ int ret, sd;
+ u_int maxlen;
+
+ /* If we are not on a socket return 128KB. */
+ if (!packet_connection_is_on_socket())
+ return (128 * 1024);
+
+ tcpwinsz = 0;
+ optsz = sizeof(tcpwinsz);
+ sd = packet_get_connection_in();
+ ret = getsockopt(sd, SOL_SOCKET, SO_RCVBUF, &tcpwinsz, &optsz);
+
+ /* Return no more than the maximum buffer size. */
+ maxlen = buffer_get_max_len();
+ if ((ret == 0) && tcpwinsz > maxlen)
+ tcpwinsz = maxlen;
+ /* In case getsockopt() failed return a minimum. */
+ if (tcpwinsz == 0)
+ tcpwinsz = CHAN_TCP_WINDOW_DEFAULT;
+ debug2("tcpwinsz: %d for connection: %d", tcpwinsz, sd);
+ return (tcpwinsz);
+}
+
static void
channel_pre_open(Channel *c, fd_set *readset, fd_set *writeset)
{
- u_int limit = compat20 ? c->remote_window : packet_get_maxsize();
+ u_int limit;
+
+ /* Check buffer limits. */
+ if (!c->tcpwinsz || c->dynamic_window > 0)
+ c->tcpwinsz = channel_tcpwinsz();
+ limit = MIN(compat20 ? c->remote_window : packet_get_maxsize(),
+ 2 * c->tcpwinsz);
+
if (c->istate == CHAN_INPUT_OPEN &&
limit > 0 &&
buffer_len(&c->input) < limit &&
@@ -1789,14 +1831,25 @@
c->local_maxpacket*3) ||
c->local_window < c->local_window_max/2) &&
c->local_consumed > 0) {
+ u_int addition = 0;
+
+ /* Adjust max window size if we are in a dynamic environment. */
+ if (c->dynamic_window && c->tcpwinsz > c->local_window_max) {
+ /*
+ * Grow the window somewhat aggressively to maintain
+ * pressure.
+ */
+ addition = 1.5 * (c->tcpwinsz - c->local_window_max);
+ c->local_window_max += addition;
+ }
packet_start(SSH2_MSG_CHANNEL_WINDOW_ADJUST);
packet_put_int(c->remote_id);
- packet_put_int(c->local_consumed);
+ packet_put_int(c->local_consumed + addition);
packet_send();
debug2("channel %d: window %d sent adjust %d",
c->self, c->local_window,
c->local_consumed);
- c->local_window += c->local_consumed;
+ c->local_window += c->local_consumed + addition;
c->local_consumed = 0;
}
return 1;
@@ -2634,6 +2687,15 @@
IPv4or6 = af;
}
+void
+channel_set_hpn(int disabled, u_int buf_size)
+{
+ hpn_disabled = disabled;
+ buffer_size = buf_size;
+ debug("HPN Disabled: %d, HPN Buffer Size: %d",
+ hpn_disabled, buffer_size);
+}
+
static int
channel_setup_fwd_listener(int type, const char *listen_addr,
u_short listen_port, int *allocated_listen_port,
@@ -2786,10 +2848,18 @@
*allocated_listen_port);
}
- /* Allocate a channel number for the socket. */
- c = channel_new("port listener", type, sock, sock, -1,
- CHAN_TCP_WINDOW_DEFAULT, CHAN_TCP_PACKET_DEFAULT,
- 0, "port listener", 1);
+ /*
+ * Allocate a channel number for the socket. Explicitly test
+ * for hpn disabled option. If true use smaller window size.
+ */
+ if (hpn_disabled)
+ c = channel_new("port listener", type, sock, sock, -1,
+ CHAN_TCP_WINDOW_DEFAULT, CHAN_TCP_PACKET_DEFAULT,
+ 0, "port listener", 1);
+ else
+ c = channel_new("port listener", type, sock, sock, -1,
+ buffer_size, CHAN_TCP_PACKET_DEFAULT,
+ 0, "port listener", 1);
c->path = xstrdup(host);
c->host_port = port_to_connect;
c->listening_port = listen_port;
@@ -3334,10 +3404,16 @@
*chanids = xcalloc(num_socks + 1, sizeof(**chanids));
for (n = 0; n < num_socks; n++) {
sock = socks[n];
- nc = channel_new("x11 listener",
- SSH_CHANNEL_X11_LISTENER, sock, sock, -1,
- CHAN_X11_WINDOW_DEFAULT, CHAN_X11_PACKET_DEFAULT,
- 0, "X11 inet listener", 1);
+ if (hpn_disabled)
+ nc = channel_new("x11 listener",
+ SSH_CHANNEL_X11_LISTENER, sock, sock, -1,
+ CHAN_X11_WINDOW_DEFAULT, CHAN_X11_PACKET_DEFAULT,
+ 0, "X11 inet listener", 1);
+ else
+ nc = channel_new("x11 listener",
+ SSH_CHANNEL_X11_LISTENER, sock, sock, -1,
+ buffer_size, CHAN_X11_PACKET_DEFAULT,
+ 0, "X11 inet listener", 1);
nc->single_connection = single_connection;
(*chanids)[n] = nc->self;
}
==== //depot/projects/mjacob-dev/crypto/openssh/channels.h#2 (text+ko) ====
@@ -1,4 +1,5 @@
/* $OpenBSD: channels.h,v 1.104 2010/05/14 23:29:23 djm Exp $ */
+/* $FreeBSD: src/crypto/openssh/channels.h,v 1.21 2011/08/03 19:14:22 brooks Exp $ */
/*
* Author: Tatu Ylonen <ylo at cs.hut.fi>
@@ -125,6 +126,8 @@
u_int local_window_max;
u_int local_consumed;
u_int local_maxpacket;
+ u_int tcpwinsz;
+ int dynamic_window;
int extended_usage;
int single_connection;
@@ -162,11 +165,15 @@
/* default window/packet sizes for tcp/x11-fwd-channel */
#define CHAN_SES_PACKET_DEFAULT (32*1024)
#define CHAN_SES_WINDOW_DEFAULT (64*CHAN_SES_PACKET_DEFAULT)
+
#define CHAN_TCP_PACKET_DEFAULT (32*1024)
#define CHAN_TCP_WINDOW_DEFAULT (64*CHAN_TCP_PACKET_DEFAULT)
+
#define CHAN_X11_PACKET_DEFAULT (16*1024)
#define CHAN_X11_WINDOW_DEFAULT (4*CHAN_X11_PACKET_DEFAULT)
+#define CHAN_HPN_MIN_WINDOW_DEFAULT (2*1024*1024)
+
/* possible input states */
#define CHAN_INPUT_OPEN 0
#define CHAN_INPUT_WAIT_DRAIN 1
@@ -294,4 +301,7 @@
void chan_write_failed(Channel *);
void chan_obuf_empty(Channel *);
+/* hpn handler */
+void channel_set_hpn(int, u_int);
+
#endif
==== //depot/projects/mjacob-dev/crypto/openssh/cipher.c#2 (text+ko) ====
@@ -1,4 +1,5 @@
/* $OpenBSD: cipher.c,v 1.82 2009/01/26 09:58:15 markus Exp $ */
+/* $FreeBSD: src/crypto/openssh/cipher.c,v 1.25 2011/08/03 19:14:22 brooks Exp $ */
/*
* Author: Tatu Ylonen <ylo at cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo at cs.hut.fi>, Espoo, Finland
@@ -163,7 +164,12 @@
for ((p = strsep(&cp, CIPHER_SEP)); p && *p != '\0';
(p = strsep(&cp, CIPHER_SEP))) {
c = cipher_by_name(p);
- if (c == NULL || c->number != SSH_CIPHER_SSH2) {
+#ifdef NONE_CIPHER_ENABLED
+ if (c == NULL || (c->number != SSH_CIPHER_SSH2 &&
+ c->number != SSH_CIPHER_NONE)) {
+#else
+ if (c == NULL || (c->number != SSH_CIPHER_SSH2)) {
+#endif
debug("bad cipher %s [%s]", p, names);
xfree(cipher_list);
return 0;
@@ -337,6 +343,9 @@
int evplen;
switch (c->number) {
+#ifdef NONE_CIPHER_ENABLED
+ case SSH_CIPHER_NONE:
+#endif
case SSH_CIPHER_SSH2:
case SSH_CIPHER_DES:
case SSH_CIPHER_BLOWFISH:
@@ -371,6 +380,9 @@
int evplen = 0;
switch (c->number) {
+#ifdef NONE_CIPHER_ENABLED
+ case SSH_CIPHER_NONE:
+#endif
case SSH_CIPHER_SSH2:
case SSH_CIPHER_DES:
case SSH_CIPHER_BLOWFISH:
==== //depot/projects/mjacob-dev/crypto/openssh/clientloop.c#3 (text+ko) ====
@@ -1,4 +1,5 @@
/* $OpenBSD: clientloop.c,v 1.231 2011/01/16 12:05:59 djm Exp $ */
+/* $FreeBSD: src/crypto/openssh/clientloop.c,v 1.9 2011/08/03 19:14:22 brooks Exp $ */
/*
* Author: Tatu Ylonen <ylo at cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo at cs.hut.fi>, Espoo, Finland
@@ -1768,9 +1769,14 @@
sock = x11_connect_display();
if (sock < 0)
return NULL;
- c = channel_new("x11",
- SSH_CHANNEL_X11_OPEN, sock, sock, -1,
- CHAN_TCP_WINDOW_DEFAULT, CHAN_X11_PACKET_DEFAULT, 0, "x11", 1);
+ if (options.hpn_disabled)
+ c = channel_new("x11", SSH_CHANNEL_X11_OPEN, sock, sock, -1,
+ CHAN_TCP_WINDOW_DEFAULT, CHAN_X11_PACKET_DEFAULT,
+ 0, "x11", 1);
+ else
+ c = channel_new("x11", SSH_CHANNEL_X11_OPEN, sock, sock, -1,
+ options.hpn_buffer_size, CHAN_X11_PACKET_DEFAULT,
+ 0, "x11", 1);
c->force_drain = 1;
return c;
}
@@ -1790,10 +1796,16 @@
sock = ssh_get_authentication_socket();
if (sock < 0)
return NULL;
- c = channel_new("authentication agent connection",
- SSH_CHANNEL_OPEN, sock, sock, -1,
- CHAN_X11_WINDOW_DEFAULT, CHAN_TCP_PACKET_DEFAULT, 0,
- "authentication agent connection", 1);
+ if (options.hpn_disabled)
+ c = channel_new("authentication agent connection",
+ SSH_CHANNEL_OPEN, sock, sock, -1,
+ CHAN_X11_WINDOW_DEFAULT, CHAN_TCP_WINDOW_DEFAULT, 0,
+ "authentication agent connection", 1);
+ else
+ c = channel_new("authentication agent connection",
+ SSH_CHANNEL_OPEN, sock, sock, -1,
+ options.hpn_buffer_size, options.hpn_buffer_size, 0,
+ "authentication agent connection", 1);
c->force_drain = 1;
return c;
}
@@ -1820,8 +1832,14 @@
return -1;
}
- c = channel_new("tun", SSH_CHANNEL_OPENING, fd, fd, -1,
- CHAN_TCP_WINDOW_DEFAULT, CHAN_TCP_PACKET_DEFAULT, 0, "tun", 1);
+ if (options.hpn_disabled)
+ c = channel_new("tun", SSH_CHANNEL_OPENING, fd, fd, -1,
+ CHAN_TCP_WINDOW_DEFAULT, CHAN_TCP_PACKET_DEFAULT,
+ 0, "tun", 1);
+ else
+ c = channel_new("tun", SSH_CHANNEL_OPENING, fd, fd, -1,
+ options.hpn_buffer_size, CHAN_TCP_PACKET_DEFAULT,
+ 0, "tun", 1);
c->datagram = 1;
#if defined(SSH_TUN_FILTER)
==== //depot/projects/mjacob-dev/crypto/openssh/compat.c#2 (text+ko) ====
@@ -1,4 +1,5 @@
/* $OpenBSD: compat.c,v 1.78 2008/09/11 14:22:37 markus Exp $ */
+/* $FreeBSD: src/crypto/openssh/compat.c,v 1.18 2011/08/03 19:14:22 brooks Exp $ */
/*
* Copyright (c) 1999, 2000, 2001, 2002 Markus Friedl. All rights reserved.
*
@@ -170,6 +171,16 @@
strlen(check[i].pat), 0) == 1) {
debug("match: %s pat %s", version, check[i].pat);
datafellows = check[i].bugs;
+ /*
+ * Check to see if the remote side is OpenSSH and not
+ * HPN. It is utterly strange to check it from the
+ * version string and expose the option that way.
+ */
+ if (strstr(version,"OpenSSH") != NULL &&
+ strstr(version,"hpn") == NULL) {
+ datafellows |= SSH_BUG_LARGEWINDOW;
+ debug("Remote is not HPN-aware");
+ }
return;
}
}
==== //depot/projects/mjacob-dev/crypto/openssh/compat.h#2 (text+ko) ====
@@ -1,4 +1,5 @@
/* $OpenBSD: compat.h,v 1.42 2008/09/11 14:22:37 markus Exp $ */
+/* $FreeBSD: src/crypto/openssh/compat.h,v 1.18 2011/08/03 20:21:52 brooks Exp $ */
/*
* Copyright (c) 1999, 2000, 2001 Markus Friedl. All rights reserved.
@@ -58,6 +59,7 @@
#define SSH_OLD_FORWARD_ADDR 0x01000000
#define SSH_BUG_RFWD_ADDR 0x02000000
#define SSH_NEW_OPENSSH 0x04000000
+#define SSH_BUG_LARGEWINDOW 0x08000000
void enable_compat13(void);
void enable_compat20(void);
==== //depot/projects/mjacob-dev/crypto/openssh/kex.c#3 (text+ko) ====
@@ -1,4 +1,5 @@
/* $OpenBSD: kex.c,v 1.86 2010/09/22 05:01:29 djm Exp $ */
+/* $FreeBSD: src/crypto/openssh/kex.c,v 1.7 2011/08/03 19:14:22 brooks Exp $ */
/*
* Copyright (c) 2000, 2001 Markus Friedl. All rights reserved.
*
@@ -90,8 +91,13 @@
return 1;
}
-/* put algorithm proposal into buffer */
+/* Put algorithm proposal into buffer. */
+#ifndef NONE_CIPHER_ENABLED
static void
+#else
+/* Also used in sshconnect2.c. */
+void
+#endif
kex_prop2buf(Buffer *b, char *proposal[PROPOSAL_MAX])
{
u_int i;
@@ -407,6 +413,9 @@
int nenc, nmac, ncomp;
u_int mode, ctos, need;
int first_kex_follows, type;
+#ifdef NONE_CIPHER_ENABLED
+ int auth_flag;
+#endif
my = kex_buf2prop(&kex->my, NULL);
peer = kex_buf2prop(&kex->peer, &first_kex_follows);
@@ -430,6 +439,10 @@
}
/* Algorithm Negotiation */
+#ifdef NONE_CIPHER_ENABLED
+ auth_flag = packet_get_authentication_state();
+ debug ("AUTH STATE is %d", auth_flag);
+#endif
for (mode = 0; mode < MODE_MAX; mode++) {
newkeys = xcalloc(1, sizeof(*newkeys));
kex->newkeys[mode] = newkeys;
@@ -441,6 +454,17 @@
choose_enc (&newkeys->enc, cprop[nenc], sprop[nenc]);
choose_mac (&newkeys->mac, cprop[nmac], sprop[nmac]);
choose_comp(&newkeys->comp, cprop[ncomp], sprop[ncomp]);
+#ifdef NONE_CIPHER_ENABLED
+ debug("REQUESTED ENC.NAME is '%s'", newkeys->enc.name);
+ if (strcmp(newkeys->enc.name, "none") == 0) {
+ debug("Requesting NONE. Authflag is %d", auth_flag);
+ if (auth_flag == 1)
+ debug("None requested post authentication.");
+ else
+ fatal("Pre-authentication none cipher requests "
+ "are not allowed.");
+ }
+#endif
debug("kex: %s %s %s %s",
ctos ? "client->server" : "server->client",
newkeys->enc.name,
==== //depot/projects/mjacob-dev/crypto/openssh/kex.h#3 (text+ko) ====
@@ -1,4 +1,5 @@
/* $OpenBSD: kex.h,v 1.52 2010/09/22 05:01:29 djm Exp $ */
+/* $FreeBSD: src/crypto/openssh/kex.h,v 1.6 2011/08/03 19:14:22 brooks Exp $ */
/*
* Copyright (c) 2000, 2001 Markus Friedl. All rights reserved.
@@ -140,6 +141,10 @@
int kex_names_valid(const char *);
+#ifdef NONE_CIPHER_ENABLED
+void kex_prop2buf(Buffer *, char *[PROPOSAL_MAX]);
+#endif
+
Kex *kex_setup(char *[PROPOSAL_MAX]);
void kex_finish(Kex *);
==== //depot/projects/mjacob-dev/crypto/openssh/misc.c#3 (text+ko) ====
@@ -1,4 +1,5 @@
/* $OpenBSD: misc.c,v 1.84 2010/11/21 01:01:13 djm Exp $ */
+/* $FreeBSD: src/crypto/openssh/misc.c,v 1.7 2011/08/03 19:14:22 brooks Exp $ */
/*
* Copyright (c) 2000 Markus Friedl. All rights reserved.
* Copyright (c) 2005,2006 Damien Miller. All rights reserved.
@@ -996,3 +997,34 @@
error("setsockopt IPV6_V6ONLY: %s", strerror(errno));
#endif
}
+
+void
+sock_get_rcvbuf(int *size, int rcvbuf)
+{
+ int sock, socksize;
+ socklen_t socksizelen = sizeof(socksize);
+
+ /*
+ * Create a socket but do not connect it. We use it
+ * only to get the rcv socket size.
+ */
+ sock = socket(AF_INET6, SOCK_STREAM, 0);
+ if (sock < 0)
+ sock = socket(AF_INET, SOCK_STREAM, 0);
+ if (sock < 0)
+ return;
+
+ /*
+ * If the tcp_rcv_buf option is set and passed in, attempt to set the
+ * buffer size to its value.
+ */
+ if (rcvbuf)
+ setsockopt(sock, SOL_SOCKET, SO_RCVBUF, (void *)&rcvbuf,
+ sizeof(rcvbuf));
+
+ if (getsockopt(sock, SOL_SOCKET, SO_RCVBUF,
+ &socksize, &socksizelen) == 0)
+ if (size != NULL)
+ *size = socksize;
+ close(sock);
+}
==== //depot/projects/mjacob-dev/crypto/openssh/misc.h#3 (text+ko) ====
@@ -1,4 +1,5 @@
/* $OpenBSD: misc.h,v 1.47 2010/11/21 01:01:13 djm Exp $ */
+/* $FreeBSD: src/crypto/openssh/misc.h,v 1.6 2011/08/03 19:14:22 brooks Exp $ */
/*
* Author: Tatu Ylonen <ylo at cs.hut.fi>
@@ -36,6 +37,7 @@
void ms_subtract_diff(struct timeval *, int *);
void ms_to_timeval(struct timeval *, int);
void sock_set_v6only(int);
+void sock_get_rcvbuf(int *, int);
struct passwd *pwcopy(struct passwd *);
const char *ssh_gai_strerror(int);
==== //depot/projects/mjacob-dev/crypto/openssh/myproposal.h#3 (text+ko) ====
@@ -1,4 +1,5 @@
/* $OpenBSD: myproposal.h,v 1.27 2010/09/01 22:42:13 djm Exp $ */
+/* $FreeBSD: src/crypto/openssh/myproposal.h,v 1.15 2011/08/03 19:14:22 brooks Exp $ */
/*
* Copyright (c) 2000 Markus Friedl. All rights reserved.
@@ -75,6 +76,10 @@
"arcfour256,arcfour128," \
"aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc," \
"aes192-cbc,aes256-cbc,arcfour,rijndael-cbc at lysator.liu.se"
+#ifdef NONE_CIPHER_ENABLED
+#define KEX_ENCRYPT_INCLUDE_NONE KEX_DEFAULT_ENCRYPT \
+ ",none"
+#endif
#define KEX_DEFAULT_MAC \
"hmac-md5,hmac-sha1,umac-64 at openssh.com,hmac-ripemd160," \
"hmac-ripemd160 at openssh.com," \
==== //depot/projects/mjacob-dev/crypto/openssh/packet.c#3 (text+ko) ====
@@ -1,4 +1,5 @@
/* $OpenBSD: packet.c,v 1.172 2010/11/13 23:27:50 djm Exp $ */
+/* $FreeBSD: src/crypto/openssh/packet.c,v 1.7 2011/08/03 19:14:22 brooks Exp $ */
/*
* Author: Tatu Ylonen <ylo at cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo at cs.hut.fi>, Espoo, Finland
@@ -195,6 +196,9 @@
};
static struct session_state *active_state, *backup_state;
+#ifdef NONE_CIPHER_ENABLED
+static int rekey_requested = 0;
+#endif
static struct session_state *
alloc_session_state(void)
@@ -1861,12 +1865,26 @@
}
}
+#ifdef NONE_CIPHER_ENABLED
+void
+packet_request_rekeying(void)
+{
+ rekey_requested = 1;
+}
+#endif
+
#define MAX_PACKETS (1U<<31)
int
packet_need_rekeying(void)
{
if (datafellows & SSH_BUG_NOREKEY)
return 0;
+#ifdef NONE_CIPHER_ENABLED
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list