From b4fbf76a33aa60004ab7dde839685004967bfb6b Mon Sep 17 00:00:00 2001 From: sophia Date: Mon, 25 Apr 2022 16:50:17 -0500 Subject: [PATCH] Plug machine#uid methods into remote go backend --- internal/core/machine.go | 10 ++++++++++ lib/vagrant/machine/remote.rb | 10 +--------- plugins/commands/serve/client/target/machine.rb | 4 +++- 3 files changed, 14 insertions(+), 10 deletions(-) diff --git a/internal/core/machine.go b/internal/core/machine.go index edce91073..5766e9a08 100644 --- a/internal/core/machine.go +++ b/internal/core/machine.go @@ -2,6 +2,7 @@ package core import ( "fmt" + "os/user" "reflect" "sort" @@ -38,6 +39,15 @@ func (m *Machine) ID() (id string, err error) { // SetID implements core.Machine func (m *Machine) SetID(value string) (err error) { m.machine.Id = value + + // Also set uid + user, err := user.Current() + if err != nil { + return err + } + m.machine.Uid = user.Uid + + // Persist changes if value == "" { m.target.Record = nil err = m.Destroy() diff --git a/lib/vagrant/machine/remote.rb b/lib/vagrant/machine/remote.rb index 08d6bfa5a..4dafa2816 100644 --- a/lib/vagrant/machine/remote.rb +++ b/lib/vagrant/machine/remote.rb @@ -237,10 +237,7 @@ module Vagrant end def uid - path = uid_file - return nil if !path - return nil if !path.file? - return uid_file.read.chomp + client.uid end def with_ui(ui) @@ -255,11 +252,6 @@ module Vagrant end end - def uid_file - return nil if !@data_dir - @data_dir.join("creator_uid") - end - def check_cwd desired_encoding = @env.root_path.to_s.encoding vagrant_cwd_filepath = @data_dir.join('vagrant_cwd') diff --git a/plugins/commands/serve/client/target/machine.rb b/plugins/commands/serve/client/target/machine.rb index c4d8ab1af..bef9c90e4 100644 --- a/plugins/commands/serve/client/target/machine.rb +++ b/plugins/commands/serve/client/target/machine.rb @@ -118,7 +118,9 @@ module VagrantPlugins # @return [Integer] user ID that owns machine def uid - client.uid(Empty.new).user_id + user_id = client.uid(Empty.new).user_id + return nil if user_id == "" + return user_id end def _cleaned_folder_hash(folder)