oxidized_input_port.patch 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. diff -urN oxidized-0.34.3/lib/oxidized/input/scp.rb oxidized-0.34.3-patched/lib/oxidized/input/scp.rb
  2. --- oxidized-0.34.3/lib/oxidized/input/scp.rb 2025-11-02 14:44:17.000000000 +0300
  3. +++ oxidized-0.34.3-patched/lib/oxidized/input/scp.rb 2025-11-02 15:05:48.936021265 +0300
  4. @@ -29,13 +29,14 @@
  5. def make_ssh_opts
  6. secure = Oxidized.config.input.scp.secure?
  7. + node_ssh_port = @node.input_port || vars(:ssh_port)
  8. ssh_opts = {
  9. number_of_password_prompts: 0,
  10. verify_host_key: secure ? :always : :never,
  11. append_all_supported_algorithms: true,
  12. password: @node.auth[:password],
  13. timeout: Oxidized.config.timeout,
  14. - port: (vars(:ssh_port) || 22).to_i,
  15. + port: (node_ssh_port || 22).to_i,
  16. forward_agent: false
  17. }
  18. diff -urN oxidized-0.34.3/lib/oxidized/input/ssh.rb oxidized-0.34.3-patched/lib/oxidized/input/ssh.rb
  19. --- oxidized-0.34.3/lib/oxidized/input/ssh.rb 2025-11-02 14:44:17.000000000 +0300
  20. +++ oxidized-0.34.3-patched/lib/oxidized/input/ssh.rb 2025-11-02 14:50:20.590731103 +0300
  21. @@ -140,6 +140,7 @@
  22. def make_ssh_opts
  23. secure = Oxidized.config.input.ssh.secure?
  24. + node_ssh_port = @node.input_port || vars(:ssh_port)
  25. ssh_opts = {
  26. number_of_password_prompts: 0,
  27. keepalive: vars(:ssh_no_keepalive) ? false : true,
  28. @@ -147,7 +148,7 @@
  29. append_all_supported_algorithms: true,
  30. password: @node.auth[:password],
  31. timeout: Oxidized.config.timeout,
  32. - port: (vars(:ssh_port) || 22).to_i,
  33. + port: (node_ssh_port || 22).to_i,
  34. forward_agent: false
  35. }
  36. diff -urN oxidized-0.34.3/lib/oxidized/input/telnet.rb oxidized-0.34.3-patched/lib/oxidized/input/telnet.rb
  37. --- oxidized-0.34.3/lib/oxidized/input/telnet.rb 2025-11-02 14:44:17.000000000 +0300
  38. +++ oxidized-0.34.3-patched/lib/oxidized/input/telnet.rb 2025-11-02 14:55:10.438366636 +0300
  39. @@ -12,11 +12,11 @@
  40. @timeout = Oxidized.config.timeout
  41. @node.model.cfg['telnet'].each { |cb| instance_exec(&cb) }
  42. @log = File.open(Oxidized::Config::LOG + "/#{@node.ip}-telnet", 'w') if Oxidized.config.input.debug?
  43. - port = vars(:telnet_port) || 23
  44. + port = @node.input_port || vars(:telnet_port) || 23
  45. telnet_opts = {
  46. 'Host' => @node.ip,
  47. - 'Port' => port.to_i,
  48. + 'Port' => (port || 23).to_i,
  49. 'Timeout' => @timeout,
  50. 'Model' => @node.model,
  51. 'Log' => @log
  52. diff -urN oxidized-0.34.3/lib/oxidized/node.rb oxidized-0.34.3-patched/lib/oxidized/node.rb
  53. --- oxidized-0.34.3/lib/oxidized/node.rb 2025-11-02 14:44:17.000000000 +0300
  54. +++ oxidized-0.34.3-patched/lib/oxidized/node.rb 2025-11-02 14:52:21.127569609 +0300
  55. @@ -7,7 +7,7 @@
  56. class Node
  57. include SemanticLogger::Loggable
  58. - attr_reader :name, :ip, :model, :input, :output, :group, :auth, :prompt, :vars, :last, :repo
  59. + attr_reader :name, :ip, :model, :input, :output, :group, :auth, :prompt, :vars, :last, :repo, :input_port
  60. attr_accessor :running, :user, :email, :msg, :from, :stats, :retry, :err_type, :err_reason
  61. alias running? running
  62. @@ -24,6 +24,7 @@
  63. @group = opt[:group]
  64. @model = resolve_model opt
  65. @input = resolve_input opt
  66. + @input_port = resolve_input_port opt
  67. @output = resolve_output opt
  68. @auth = resolve_auth opt
  69. @prompt = resolve_prompt opt
  70. @@ -176,6 +177,10 @@
  71. end
  72. end
  73. + def resolve_input_port(opt)
  74. + resolve_key :input_port, opt
  75. + end
  76. +
  77. def resolve_output(opt)
  78. output = resolve_key :output, opt, Oxidized.config.output.default
  79. unless Oxidized.mgr.output[output]