+1

Looking good, guys. I lLike the "Paired with:" annotation as well.

On Tuesday, May 25, 2010, Jesse A Wolfe <[email protected]> wrote:
> +1 as the pair-er
> but I'd be happy to hear suggestions of if there's something we could have 
> written a unit test for in here.
>
> On Tue, May 25, 2010 at 6:02 PM, Matt Robinson <[email protected]> wrote:
> The user method on the provider always returned what the resource should
> be, not what it actually was, so it always seemed to be insync to
> puppet.
>
> Also cleaned up some cruft on the perms that did different things
> depending on whether a user was specified on the resource.  This isn't
> necessary since a user is required on the resource.
>
> Paired with: Jesse Wolfe
> Signed-off-by: Matt Robinson <[email protected]>
> ---
>  lib/puppet/provider/ssh_authorized_key/parsed.rb |   29 
> ++++++----------------
>  1 files changed, 8 insertions(+), 21 deletions(-)
>
> diff --git a/lib/puppet/provider/ssh_authorized_key/parsed.rb 
> b/lib/puppet/provider/ssh_authorized_key/parsed.rb
> index b222e51..cc4e279 100644
> --- a/lib/puppet/provider/ssh_authorized_key/parsed.rb
> +++ b/lib/puppet/provider/ssh_authorized_key/parsed.rb
> @@ -32,48 +32,35 @@ Puppet::Type.type(:ssh_authorized_key).provide(:parsed,
>          :match    => /^(?:(.+) )?(\d+) (\d+) (\d+)(?: (.+))?$/
>
>      def dir_perm
> -        # Determine correct permission for created directory and file
> -        # we can afford more restrictive permissions when the user is known
> -        if target
> -            if user
> -                0700
> -            else
> -                0755
> -            end
> -        end
> +        0700
>      end
>
>      def file_perm
> -        if target
> -            if user
> -                0600
> -            else
> -                0644
> -            end
> -        end
> +        0600
>      end
>
>      def target
>          begin
> -           �[email protected](:target) || 
> File.expand_path("~%s/.ssh/authorized_keys" % user)
> +           �[email protected](:target) || 
> File.expand_path("[email protected](:user)}/.ssh/authorized_keys")
>          rescue
>              raise Puppet::Error, "Target not defined and/or specified user 
> does not exist yet"
>          end
>      end
>
>      def user
> -       �[email protected](:user)
> +        uid = File.stat(target).uid
> +        Etc.getpwuid(uid).name
>      end
>
>      def flush
> -        raise Puppet::Error, "Cannot write SSH authorized keys without user" 
> unless user
> -        raise Puppet::Error, "User '#{user}' does not exist"                 
> unless uid = Puppet::Util.uid(user)
> +        raise Puppet::Error, "Cannot write SSH authorized keys without user" 
>    unless @resource.should(:user)
> +        raise Puppet::Error, "User '#[email protected](:user)}' does not 
> exist" unless uid = Puppet::Util.uid(@resource.should(:user))
>          unless File.exist?(dir = File.dirname(target))
>              Puppet.debug "Creating #{dir}"
>              Dir.mkdir(dir, dir_perm)
>              File.chown(uid, nil, dir)
>          end
> -        Puppet::Util::SUIDManager.asuser(user) { super }
> +        Puppet::Util::SUIDManager.asuser(@resource.should(:user)) { super }
>          File.chown(uid, nil, target)
>          File.chmod(file_perm, target)
>      end
> --
> 1.7.1
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Puppet Developers" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at 
> http://groups.google.com/group/puppet-dev?hl=en.
>
>
>
>
> --
> You received this message because you are subscribed to the Google Groups 
> "Puppet Developers" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to 
> [email protected].
> For more options, visit this group at  
> <http://groups.google.com/group/puppet-dev?hl=en>

-- 
Rein Henrichs
http://puppetlabs.com

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Developers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-dev?hl=en.

Reply via email to