diff --git a/VERSION b/VERSION index a3df0a6..6f4eebd 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.8.0 +0.8.1 diff --git a/lib/webhdfs/client_v1.rb b/lib/webhdfs/client_v1.rb index f3a584a..5899048 100644 --- a/lib/webhdfs/client_v1.rb +++ b/lib/webhdfs/client_v1.rb @@ -26,7 +26,7 @@ class ClientV1 attr_accessor :ssl_cert attr_accessor :ssl_key attr_accessor :ssl_version - attr_accessor :kerberos, :kerberos_keytab + attr_accessor :kerberos, :kerberos_keytab, :kerberos_service_principal attr_accessor :http_headers SSL_VERIFY_MODES = [:none, :peer] @@ -59,6 +59,8 @@ def initialize(host='localhost', port=50070, username=nil, doas=nil, proxy_addre @kerberos = false @kerberos_keytab = nil + @kerberos_service_principal = nil + @http_headers = http_headers end @@ -315,7 +317,10 @@ def request(host, port, method, path, op=nil, params={}, payload=nil, header=nil if @kerberos require 'base64' require 'gssapi' - gsscli = GSSAPI::Simple.new(@host, 'HTTP', @kerberos_keytab) + require 'httpclient' + + gsscli = GSSAPI::Simple.new(@host, @kerberos_service_principal, @kerberos_keytab) + token = nil begin token = gsscli.init_context