diff options
author | Seth Chisamore <schisamo@opscode.com> | 2012-10-29 16:28:42 -0400 |
---|---|---|
committer | Seth Chisamore <schisamo@opscode.com> | 2012-10-30 09:47:38 -0400 |
commit | 76fe50c1cb06898322aee548e4e962d36e864702 (patch) | |
tree | 1218e037d023aec22761df28239ba59bbd39e04e | |
parent | 2069ff491daa18a2bd404e5bde28316215bee695 (diff) | |
download | chef-76fe50c1cb06898322aee548e4e962d36e864702.tar.gz |
[OC-3564] remove Chef::WebUIUser
This class was only used by server webui which has been moved to it's
own separate repository: https://github.com/opscode/chef-server-webui
-rw-r--r-- | chef/lib/chef.rb | 1 | ||||
-rw-r--r-- | chef/lib/chef/webui_user.rb | 155 |
2 files changed, 0 insertions, 156 deletions
diff --git a/chef/lib/chef.rb b/chef/lib/chef.rb index ac0dcc95f4..ef173c4212 100644 --- a/chef/lib/chef.rb +++ b/chef/lib/chef.rb @@ -27,7 +27,6 @@ require 'chef/resources' require 'chef/shell_out' require 'chef/daemon' -require 'chef/webui_user' require 'chef/run_status' require 'chef/handler' diff --git a/chef/lib/chef/webui_user.rb b/chef/lib/chef/webui_user.rb deleted file mode 100644 index 3cb1854c8d..0000000000 --- a/chef/lib/chef/webui_user.rb +++ /dev/null @@ -1,155 +0,0 @@ -# -# Author:: Adam Jacob (<adam@opscode.com>) -# Author:: Nuo Yan (<nuo@opscode.com>) -# Copyright:: Copyright (c) 2008 Opscode, Inc. -# License:: Apache License, Version 2.0 -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -require 'chef/config' -require 'chef/mixin/params_validate' -require 'digest/sha1' -require 'chef/json_compat' - - -class Chef - class WebUIUser - - attr_accessor :name, :validated, :admin, :openid, :couchdb - attr_reader :password, :salt, :couchdb_id, :couchdb_rev - - include Chef::Mixin::ParamsValidate - - # Create a new Chef::WebUIUser object. - def initialize(opts={}) - @name, @salt, @password = opts['name'], opts['salt'], opts['password'] - @openid = opts['openid'] - @admin = false - end - - def name=(n) - @name = n.gsub(/\./, '_') - end - - def admin? - admin - end - - # Set the password for this object. - def set_password(password, confirm_password=password) - raise ArgumentError, "Passwords do not match" unless password == confirm_password - raise ArgumentError, "Password cannot be blank" if (password.nil? || password.length==0) - raise ArgumentError, "Password must be a minimum of 6 characters" if password.length < 6 - generate_salt - @password = encrypt_password(password) - end - - def set_openid(given_openid) - @openid = given_openid - end - - def verify_password(given_password) - encrypt_password(given_password) == @password - end - - # Serialize this object as a hash - def to_json(*a) - attributes = Hash.new - recipes = Array.new - result = { - 'name' => name, - 'json_class' => self.class.name, - 'salt' => salt, - 'password' => password, - 'openid' => openid, - 'admin' => admin, - 'chef_type' => 'webui_user', - } - result["_id"] = @couchdb_id if @couchdb_id - result["_rev"] = @couchdb_rev if @couchdb_rev - result.to_json(*a) - end - - # Create a Chef::WebUIUser from JSON - def self.json_create(o) - me = new(o) - me.admin = o["admin"] - me - end - - def chef_server_rest - Chef::REST.new(Chef::Config[:chef_server_url]) - end - - def self.chef_server_rest - Chef::REST.new(Chef::Config[:chef_server_url]) - end - - def self.list(inflate=false) - if inflate - response = Hash.new - Chef::Search::Query.new.search(:user) do |n| - response[n.name] = n unless n.nil? - end - response - else - chef_server_rest.get_rest("users") - end - end - - # Load a User by name - def self.load(name) - chef_server_rest.get_rest("users/#{name}") - end - - # Remove this WebUIUser via the REST API - def destroy - chef_server_rest.delete_rest("users/#{@name}") - end - - # Save this WebUIUser via the REST API - def save - begin - chef_server_rest.put_rest("users/#{@name}", self) - rescue Net::HTTPServerException => e - if e.response.code == "404" - chef_server_rest.post_rest("users", self) - else - raise e - end - end - self - end - - # Create the WebUIUser via the REST API - def create - chef_server_rest.post_rest("users", self) - self - end - - protected - - def generate_salt - @salt = Time.now.to_s - chars = ("a".."z").to_a + ("A".."Z").to_a + ("0".."9").to_a - 1.upto(30) { |i| @salt << chars[rand(chars.size-1)] } - @salt - end - - def encrypt_password(password) - Digest::SHA1.hexdigest("--#{salt}--#{password}--") - end - - end -end |