{"push_id":1229437549,"size":5,"distinct_size":5,"ref":"refs/heads/PUP-6843/stable/fix_logon_with_empty_passwd","head":"1a2a6cff42d351cfb7826a5185f7e16ee6c3b8f5","before":"c1011cd969769de9aa4cbb3a7b54f46858d703ac","commits":[{"sha":"60095ab4c3efc68354d8605197f82dcda04ad18a","author":{"name":"Glenn Sarti","email":"900edb71f3a42fb982755727aa85ef464ad14b72@users.noreply.github.com"},"message":"(PUP-6545) Add 2.3 to Appveyor test matrix\n\nPreviously only ruby 2.1.8 was used in the the Appveyor tests.  This commit adds\nRuby 2.3.0 to the test matrix.  The complete and up to date list of installed\nsoftware can be found at;\nhttps://www.appveyor.com/docs/installed-software","distinct":true,"url":"https://api.github.com/repos/MosesMendoza/puppet/commits/60095ab4c3efc68354d8605197f82dcda04ad18a"},{"sha":"6a9538ca98b0c0862c37e46e0ef321f65bd4e187","author":{"name":"Glenn Sarti","email":"900edb71f3a42fb982755727aa85ef464ad14b72@users.noreply.github.com"},"message":"(PUP-6545) Refactor Ruby bug 8822 test for 2.3\n\n - Ruby bug 8822 has been partially resolved in Ruby 2.3.0. By design\n   the existing 8822 test is now failing on Ruby 2.3 as a result.\n\n   The Ruby commit with initial behavioral changes to ENV is at:\n   https://github.com/ruby/ruby/commit/5e3467c4414df815b3b00d2b0372026b069e7f7d\n\n   Update / refactor the 8822 tests so that they still call out the\n   strange workings of the Ruby ENV class with Unicode characters on\n   Windows.\n\n   Unfortunately, due to the issues present still, we cannot yet\n   remove the wrappers introduced as part of PUP-5726 /\n   8d02eb133cb2783d976d270b7f2869140a48f0fc and must continue to rely\n   on the helpers we've put into Puppet.\n\nPaired-with: Ethan Brown <ethan@puppet.com>","distinct":true,"url":"https://api.github.com/repos/MosesMendoza/puppet/commits/6a9538ca98b0c0862c37e46e0ef321f65bd4e187"},{"sha":"603aee2652554c8befb84fdafc5873d8fde7d220","author":{"name":"Ethan J. Brown","email":"c37eab130cb6de1e5c0aca22254f3dca4188c6dc@github"},"message":"Merge branch 'pr/5140' into stable\n\n* pr/5140:\n  (PUP-6545) Refactor Ruby bug 8822 test for 2.3\n  (PUP-6545) Add 2.3 to Appveyor test matrix\n\ncloses #5140","distinct":true,"url":"https://api.github.com/repos/MosesMendoza/puppet/commits/603aee2652554c8befb84fdafc5873d8fde7d220"},{"sha":"2f585e796e0478cc3456b348cb58b3d321784b1c","author":{"name":"Ethan J. Brown","email":"c37eab130cb6de1e5c0aca22254f3dca4188c6dc@github"},"message":"(PUP-6483) Prevent `puppet resource user` logins\n\n - `puppet resource user` will make calls to LogonUserW for each local\n   user that exists when enumerating / populating the user resources.\n\n   Unfortunately, it does so with a nil password (given the values are\n   not derived from a manifest).  The Windows API, even when a user\n   actually has an empty password, will return 1327 for account\n   restrictions when trying to call LogonUser.\n\n   This prevents additional calls to LogonUser with the wrong password\n   (which could cause accounts to be locked out), and it also adds\n   some warnings to Puppet to inform users that when users have blank\n   / empty passwords, that Puppet will always set them, and will\n   always generate spurious change notices as a result.","distinct":true,"url":"https://api.github.com/repos/MosesMendoza/puppet/commits/2f585e796e0478cc3456b348cb58b3d321784b1c"},{"sha":"1a2a6cff42d351cfb7826a5185f7e16ee6c3b8f5","author":{"name":"Moses Mendoza","email":"8f0a9182be9eaa841bfebb6b1d4aa07f41618fc7@puppet.com"},"message":"(PUP-6483) Return false for nil passwords in Windows user provider\n\nThis commit builds on a previous commit by Iristyle for PUP-6483 in which\nrunning `puppet resource user` caused login attempts a Windows sytem for each\nuser.\n\nFor property value retrieval, Puppet calls the getter for each property\nfor each resource. Previously, the password getter would ultimately call\nlogonUserW even with an empty/nil password. Because Windows does not allow\nblank passwords, this would throw, get rescued, and return false, eventually\nsurfacing as a nil return value from the getter, with the side-effect of having\nissued a failed logon attempt. Now the getter will return nil before issuing\nthe logon attempt if asked to validate an empty/nil password - it will\nexplicitly skip calling logonUser for password validation.\n\nSince the password query should no longer issue a logon attempt if the password\nproperty is nil for the resource, we add a test for this. This doesn't actually\ngo into the self.instances block just because self.instances actually doesn't\nresult in any calls to the password getter - that's done separately when\nretrieving values for all properties for each provider instance.\n\nA quick note - the previous implementation of a fix raised an exception if the\npassword_is? function was passed an empty or nil password. This commit modifies\nthis to return false and issue a warning to keep with the previous behavior\nwhich was to return false.","distinct":true,"url":"https://api.github.com/repos/MosesMendoza/puppet/commits/1a2a6cff42d351cfb7826a5185f7e16ee6c3b8f5"}]}
{"actor":{"display_login":"MosesMendoza"}}