1
0

add_source_input_port.patch 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. diff -urN oxidized/lib/oxidized/input/ssh.rb oxidized.patched/lib/oxidized/input/ssh.rb
  2. --- oxidized/lib/oxidized/input/ssh.rb 2023-06-25 13:21:13.549859510 +0300
  3. +++ oxidized.patched/lib/oxidized/input/ssh.rb 2023-06-26 01:05:44.715259384 +0300
  4. @@ -121,6 +121,7 @@
  5. def make_ssh_opts
  6. secure = Oxidized.config.input.ssh.secure?
  7. + node_ssh_port = @node.input_port || vars(:ssh_port)
  8. ssh_opts = {
  9. number_of_password_prompts: 0,
  10. keepalive: vars(:ssh_no_keepalive) ? false : true,
  11. @@ -128,7 +129,7 @@
  12. append_all_supported_algorithms: true,
  13. password: @node.auth[:password],
  14. timeout: Oxidized.config.timeout,
  15. - port: (vars(:ssh_port) || 22).to_i,
  16. + port: (node_ssh_port || 22).to_i,
  17. forward_agent: false
  18. }
  19. diff -urN oxidized/lib/oxidized/input/telnet.rb oxidized.patched/lib/oxidized/input/telnet.rb
  20. --- oxidized/lib/oxidized/input/telnet.rb 2023-06-25 13:21:13.549859510 +0300
  21. +++ oxidized.patched/lib/oxidized/input/telnet.rb 2023-06-26 01:05:51.839271280 +0300
  22. @@ -11,11 +11,11 @@
  23. @timeout = Oxidized.config.timeout
  24. @node.model.cfg['telnet'].each { |cb| instance_exec(&cb) }
  25. @log = File.open(Oxidized::Config::Log + "/#{@node.ip}-telnet", 'w') if Oxidized.config.input.debug?
  26. - port = vars(:telnet_port) || 23
  27. + port = @node.input_port || vars(:telnet_port)
  28. telnet_opts = {
  29. 'Host' => @node.ip,
  30. - 'Port' => port.to_i,
  31. + 'Port' => (port || 23).to_i,
  32. 'Timeout' => @timeout,
  33. 'Model' => @node.model,
  34. 'Log' => @log
  35. diff -urN oxidized/lib/oxidized/node.rb oxidized.patched/lib/oxidized/node.rb
  36. --- oxidized/lib/oxidized/node.rb 2023-06-25 13:21:13.557859532 +0300
  37. +++ oxidized.patched/lib/oxidized/node.rb 2023-06-26 01:25:50.009837507 +0300
  38. @@ -6,7 +6,7 @@
  39. class ModelNotFound < OxidizedError; end
  40. class Node
  41. - attr_reader :name, :ip, :model, :input, :output, :group, :auth, :prompt, :vars, :last, :repo
  42. + attr_reader :name, :ip, :model, :input, :output, :group, :auth, :prompt, :vars, :last, :repo, :input_port
  43. attr_accessor :running, :user, :email, :msg, :from, :stats, :retry, :err_type, :err_reason
  44. alias running? running
  45. @@ -26,6 +26,7 @@
  46. @auth = resolve_auth opt
  47. @prompt = resolve_prompt opt
  48. @vars = opt[:vars]
  49. + @input_port = resolve_input_port opt
  50. @stats = Stats.new
  51. @retry = 0
  52. @repo = resolve_repo opt
  53. @@ -165,6 +166,10 @@
  54. end
  55. end
  56. + def resolve_input_port(opt)
  57. + resolve_key :input_port, opt
  58. + end
  59. +
  60. def resolve_output(opt)
  61. output = resolve_key :output, opt, Oxidized.config.output.default
  62. Oxidized.mgr.add_output(output) || raise(MethodNotFound, "#{output} not found for node #{ip}") unless Oxidized.mgr.output[output]