diff options
| author | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2005-10-10 20:54:15 +0000 |
|---|---|---|
| committer | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2005-10-10 20:54:15 +0000 |
| commit | 194dab3c7af4d8e993ec8549a30773d68508a9b6 (patch) | |
| tree | a2839d7fcaec754637fffa065b3bed387e2fabec /lib/puppet/server | |
| parent | 55d7bbdcbefd550cee46a628da2292be540401ad (diff) | |
Adding some semantic tagging. It is not exactly full-featured yet, and it is not used at all, but it was sufficient for some proof-of-concept stuff in preparation for the conference
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@716 980ebf18-57e1-0310-9a29-db15c13687c0
Diffstat (limited to 'lib/puppet/server')
| -rw-r--r-- | lib/puppet/server/master.rb | 5 | ||||
| -rw-r--r-- | lib/puppet/server/servlet.rb | 19 |
2 files changed, 21 insertions, 3 deletions
diff --git a/lib/puppet/server/master.rb b/lib/puppet/server/master.rb index 03ff7c6ac..d5dc6bc22 100644 --- a/lib/puppet/server/master.rb +++ b/lib/puppet/server/master.rb @@ -77,6 +77,11 @@ class Server Puppet.debug("Running interpreter") begin retobjects = @interpreter.run(client, facts) + rescue Puppet::Error => detail + Puppet.err detail + raise XMLRPC::FaultException.new( + 1, detail.to_s + ) rescue => detail Puppet.err detail.to_s return "" diff --git a/lib/puppet/server/servlet.rb b/lib/puppet/server/servlet.rb index e35a1d518..ce962b4ea 100644 --- a/lib/puppet/server/servlet.rb +++ b/lib/puppet/server/servlet.rb @@ -116,9 +116,22 @@ class Server ) end - #if request.client_cert - # Puppet.info "client cert is %s" % request.client_cert - #end + # If they have a certificate (which will almost always be true) + # then we get the hostname from the cert, instead of via IP + # info + if cert = request.client_cert + name = cert.subject + #Puppet.info name.inspect + if name.to_s =~ /CN=(\w+)/ + Puppet.info "Overriding %s with cert name %s" % + [@client, $1] + @client = $1 + else + Puppet.warning "Could not match against %s(%s)" % + [name, name.class] + end + #Puppet.info "client cert is %s" % request.client_cert + end #if request.server_cert # Puppet.info "server cert is %s" % @request.server_cert #end |
