mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-11-03 11:51:11 +00:00
3f4238d771
This patch adds a set of functions used in creating console streams for domains using PTYs and ensures mutually exclusive access to the PTYs. If mutually exclusive access is not used, two clients may open the same console, which results in corruption on both clients as both of them race to read data from the PTY. Two approaches are used to ensure this: 1) Internal data structure holding open PTYs. This is used internally and enables the user to forcibly terminate another console connection eg. when somebody leaves the console open on another host. 2) UUCP style lock files: This uses UUCP lock files according to the FHS ( http://www.pathname.com/fhs/pub/fhs-2.3.html#VARLOCKLOCKFILES ) to check if other programs (like minicom) are not using the pty device of the console. This feature is disabled by default and may be enabled using configure parameter --with-console-lock-files=/path/to/lock/file/directory or --with-console-lock-files=auto (which tries to infer the location from OS used (currently only linux). On usual linux systems, normal users may not write to the /var/lock directory containing the locks. This poses problems while in session mode. If the current user has no access to the lockfile directory, check for presence of the file is still done, but no lock file is created. This does NOT result in an error.
170 lines
4.1 KiB
Plaintext
170 lines
4.1 KiB
Plaintext
daemon/libvirtd.c
|
|
daemon/qemu_dispatch.h
|
|
daemon/remote.c
|
|
daemon/remote_dispatch.h
|
|
daemon/stream.c
|
|
gnulib/lib/gai_strerror.c
|
|
src/conf/cpu_conf.c
|
|
src/conf/domain_conf.c
|
|
src/conf/domain_event.c
|
|
src/conf/interface_conf.c
|
|
src/conf/netdev_bandwidth_conf.c
|
|
src/conf/netdev_vport_profile_conf.c
|
|
src/conf/network_conf.c
|
|
src/conf/node_device_conf.c
|
|
src/conf/nwfilter_conf.c
|
|
src/conf/nwfilter_params.c
|
|
src/conf/secret_conf.c
|
|
src/conf/storage_conf.c
|
|
src/conf/storage_encryption_conf.c
|
|
src/conf/virconsole.c
|
|
src/cpu/cpu.c
|
|
src/cpu/cpu_generic.c
|
|
src/cpu/cpu_map.c
|
|
src/cpu/cpu_x86.c
|
|
src/datatypes.c
|
|
src/driver.c
|
|
src/esx/esx_driver.c
|
|
src/esx/esx_storage_driver.c
|
|
src/esx/esx_util.c
|
|
src/esx/esx_vi.c
|
|
src/esx/esx_vi_methods.c
|
|
src/esx/esx_vi_types.c
|
|
src/fdstream.c
|
|
src/hyperv/hyperv_driver.c
|
|
src/hyperv/hyperv_util.c
|
|
src/hyperv/hyperv_wmi.c
|
|
src/interface/netcf_driver.c
|
|
src/internal.h
|
|
src/libvirt.c
|
|
src/locking/lock_driver_sanlock.c
|
|
src/locking/lock_manager.c
|
|
src/lxc/lxc_container.c
|
|
src/lxc/lxc_conf.c
|
|
src/lxc/lxc_controller.c
|
|
src/lxc/lxc_driver.c
|
|
src/libxl/libxl_driver.c
|
|
src/libxl/libxl_conf.c
|
|
src/network/bridge_driver.c
|
|
src/node_device/node_device_driver.c
|
|
src/node_device/node_device_hal.c
|
|
src/node_device/node_device_linux_sysfs.c
|
|
src/node_device/node_device_udev.c
|
|
src/nodeinfo.c
|
|
src/nwfilter/nwfilter_driver.c
|
|
src/nwfilter/nwfilter_ebiptables_driver.c
|
|
src/nwfilter/nwfilter_gentech_driver.c
|
|
src/nwfilter/nwfilter_learnipaddr.c
|
|
src/openvz/openvz_conf.c
|
|
src/openvz/openvz_driver.c
|
|
src/phyp/phyp_driver.c
|
|
src/qemu/qemu_agent.c
|
|
src/qemu/qemu_bridge_filter.c
|
|
src/qemu/qemu_capabilities.c
|
|
src/qemu/qemu_cgroup.c
|
|
src/qemu/qemu_command.c
|
|
src/qemu/qemu_conf.c
|
|
src/qemu/qemu_domain.c
|
|
src/qemu/qemu_driver.c
|
|
src/qemu/qemu_hostdev.c
|
|
src/qemu/qemu_hotplug.c
|
|
src/qemu/qemu_migration.c
|
|
src/qemu/qemu_monitor.c
|
|
src/qemu/qemu_monitor_json.c
|
|
src/qemu/qemu_monitor_text.c
|
|
src/qemu/qemu_process.c
|
|
src/remote/remote_client_bodies.h
|
|
src/remote/remote_driver.c
|
|
src/rpc/virkeepalive.c
|
|
src/rpc/virnetclient.c
|
|
src/rpc/virnetclientprogram.c
|
|
src/rpc/virnetclientstream.c
|
|
src/rpc/virnetmessage.c
|
|
src/rpc/virnetsaslcontext.c
|
|
src/rpc/virnetsocket.c
|
|
src/rpc/virnetserver.c
|
|
src/rpc/virnetserverclient.c
|
|
src/rpc/virnetservermdns.c
|
|
src/rpc/virnetserverprogram.c
|
|
src/rpc/virnettlscontext.c
|
|
src/secret/secret_driver.c
|
|
src/security/security_apparmor.c
|
|
src/security/security_dac.c
|
|
src/security/security_driver.c
|
|
src/security/security_manager.c
|
|
src/security/security_selinux.c
|
|
src/security/virt-aa-helper.c
|
|
src/storage/parthelper.c
|
|
src/storage/storage_backend.c
|
|
src/storage/storage_backend_disk.c
|
|
src/storage/storage_backend_fs.c
|
|
src/storage/storage_backend_iscsi.c
|
|
src/storage/storage_backend_logical.c
|
|
src/storage/storage_backend_mpath.c
|
|
src/storage/storage_backend_scsi.c
|
|
src/storage/storage_driver.c
|
|
src/test/test_driver.c
|
|
src/uml/uml_conf.c
|
|
src/uml/uml_driver.c
|
|
src/util/authhelper.c
|
|
src/util/cgroup.c
|
|
src/util/command.c
|
|
src/util/conf.c
|
|
src/util/dnsmasq.c
|
|
src/util/event_poll.c
|
|
src/util/hooks.c
|
|
src/util/hostusb.c
|
|
src/util/iohelper.c
|
|
src/util/iptables.c
|
|
src/util/json.c
|
|
src/util/pci.c
|
|
src/util/processinfo.c
|
|
src/util/sexpr.c
|
|
src/util/stats_linux.c
|
|
src/util/storage_file.c
|
|
src/util/sysinfo.c
|
|
src/util/util.c
|
|
src/util/viraudit.c
|
|
src/util/virfile.c
|
|
src/util/virhash.c
|
|
src/util/virnetdev.c
|
|
src/util/virnetdevbridge.c
|
|
src/util/virnetdevmacvlan.c
|
|
src/util/virnetdevopenvswitch.c
|
|
src/util/virnetdevtap.c
|
|
src/util/virnetdevvportprofile.c
|
|
src/util/virnetlink.c
|
|
src/util/virnodesuspend.c
|
|
src/util/virpidfile.c
|
|
src/util/virrandom.c
|
|
src/util/virsocketaddr.c
|
|
src/util/virterror.c
|
|
src/util/virtime.c
|
|
src/util/virtypedparam.c
|
|
src/util/xml.c
|
|
src/vbox/vbox_MSCOMGlue.c
|
|
src/vbox/vbox_XPCOMCGlue.c
|
|
src/vbox/vbox_driver.c
|
|
src/vbox/vbox_tmpl.c
|
|
src/vmware/vmware_conf.c
|
|
src/vmware/vmware_driver.c
|
|
src/vmx/vmx.c
|
|
src/xen/block_stats.c
|
|
src/xen/xen_driver.c
|
|
src/xen/xen_hypervisor.c
|
|
src/xen/xen_inotify.c
|
|
src/xen/xend_internal.c
|
|
src/xen/xm_internal.c
|
|
src/xen/xs_internal.c
|
|
src/xenapi/xenapi_driver.c
|
|
src/xenapi/xenapi_utils.c
|
|
src/xenxs/xen_sxpr.c
|
|
src/xenxs/xen_xm.c
|
|
tools/console.c
|
|
tools/libvirt-guests.init.sh
|
|
tools/virsh.c
|
|
tools/virt-host-validate-common.c
|
|
tools/virt-host-validate-lxc.c
|
|
tools/virt-host-validate-qemu.c
|
|
tools/virt-host-validate.c
|