Actions
Bug #37355
closedCreating a DHCP host can cause an IPv6 address to be looked up
Description
If the TFTP server has the hostname kwik.example.com that only has an IPv6 address the OMAPI code can try to resolve it and then convert it to an IPv4 address:
2024-04-15T14:51:40 244f54fc [I] Next-server option not IPv4, trying to resolve 'kwik.example.com' 2024-04-15T14:51:40 244f54fc [E] invalid value for Integer(): "2001:db8::1" 2024-04-15T14:51:40 244f54fc [W] Error details for invalid value for Integer(): "2001:db8::1": <ArgumentError>: invalid value for Integer(): "2001:db8::1" /usr/share/foreman-proxy/modules/dhcp_common/isc/omapi_provider.rb:218:in `%' /usr/share/foreman-proxy/modules/dhcp_common/isc/omapi_provider.rb:218:in `block in ip2hex' /usr/share/foreman-proxy/modules/dhcp_common/isc/omapi_provider.rb:218:in `map' /usr/share/foreman-proxy/modules/dhcp_common/isc/omapi_provider.rb:218:in `ip2hex' /usr/share/foreman-proxy/modules/dhcp_common/isc/omapi_provider.rb:208:in `rescue in bootServer' /usr/share/foreman-proxy/modules/dhcp_common/isc/omapi_provider.rb:203:in `bootServer' /usr/share/foreman-proxy/modules/dhcp_common/isc/omapi_provider.rb:51:in `om_add_record' /usr/share/foreman-proxy/modules/dhcp_common/isc/omapi_provider.rb:36:in `add_record' /usr/share/foreman-proxy/modules/dhcp/dhcp_api.rb:81:in `block in <class:DhcpApi>' /usr/share/gems/gems/sinatra-2.2.2/lib/sinatra/base.rb:1686:in `call' /usr/share/gems/gems/sinatra-2.2.2/lib/sinatra/base.rb:1686:in `block in compile!' /usr/share/gems/gems/sinatra-2.2.2/lib/sinatra/base.rb:1023:in `block (3 levels) in route!' /usr/share/gems/gems/sinatra-2.2.2/lib/sinatra/base.rb:1042:in `route_eval' /usr/share/gems/gems/sinatra-2.2.2/lib/sinatra/base.rb:1023:in `block (2 levels) in route!' /usr/share/gems/gems/sinatra-2.2.2/lib/sinatra/base.rb:1071:in `block in process_route' /usr/share/gems/gems/sinatra-2.2.2/lib/sinatra/base.rb:1069:in `catch' /usr/share/gems/gems/sinatra-2.2.2/lib/sinatra/base.rb:1069:in `process_route' /usr/share/gems/gems/sinatra-2.2.2/lib/sinatra/base.rb:1021:in `block in route!' /usr/share/gems/gems/sinatra-2.2.2/lib/sinatra/base.rb:1018:in `each' /usr/share/gems/gems/sinatra-2.2.2/lib/sinatra/base.rb:1018:in `route!' /usr/share/gems/gems/sinatra-2.2.2/lib/sinatra/base.rb:1140:in `block in dispatch!' /usr/share/gems/gems/sinatra-2.2.2/lib/sinatra/base.rb:1112:in `block in invoke' /usr/share/gems/gems/sinatra-2.2.2/lib/sinatra/base.rb:1112:in `catch' /usr/share/gems/gems/sinatra-2.2.2/lib/sinatra/base.rb:1112:in `invoke' /usr/share/gems/gems/sinatra-2.2.2/lib/sinatra/base.rb:1135:in `dispatch!' /usr/share/gems/gems/sinatra-2.2.2/lib/sinatra/base.rb:949:in `block in call!' /usr/share/gems/gems/sinatra-2.2.2/lib/sinatra/base.rb:1112:in `block in invoke' /usr/share/gems/gems/sinatra-2.2.2/lib/sinatra/base.rb:1112:in `catch' /usr/share/gems/gems/sinatra-2.2.2/lib/sinatra/base.rb:1112:in `invoke' /usr/share/gems/gems/sinatra-2.2.2/lib/sinatra/base.rb:949:in `call!' /usr/share/gems/gems/sinatra-2.2.2/lib/sinatra/base.rb:938:in `call' /usr/share/gems/gems/rack-2.2.4/lib/rack/method_override.rb:24:in `call' /usr/share/foreman-proxy/lib/proxy/log.rb:101:in `call' /usr/share/foreman-proxy/lib/proxy/request_id_middleware.rb:11:in `call' /usr/share/gems/gems/rack-protection-2.2.2/lib/rack/protection/xss_header.rb:18:in `call' /usr/share/gems/gems/rack-protection-2.2.2/lib/rack/protection/path_traversal.rb:16:in `call' /usr/share/gems/gems/rack-protection-2.2.2/lib/rack/protection/json_csrf.rb:26:in `call' /usr/share/gems/gems/rack-protection-2.2.2/lib/rack/protection/base.rb:50:in `call' /usr/share/gems/gems/rack-protection-2.2.2/lib/rack/protection/base.rb:50:in `call' /usr/share/gems/gems/rack-protection-2.2.2/lib/rack/protection/frame_options.rb:31:in `call' /usr/share/gems/gems/rack-2.2.4/lib/rack/null_logger.rb:11:in `call' /usr/share/gems/gems/rack-2.2.4/lib/rack/head.rb:12:in `call' /usr/share/gems/gems/sinatra-2.2.2/lib/sinatra/show_exceptions.rb:22:in `call' /usr/share/gems/gems/sinatra-2.2.2/lib/sinatra/base.rb:218:in `call' /usr/share/gems/gems/sinatra-2.2.2/lib/sinatra/base.rb:1993:in `call' /usr/share/gems/gems/sinatra-2.2.2/lib/sinatra/base.rb:1553:in `block in call' /usr/share/gems/gems/sinatra-2.2.2/lib/sinatra/base.rb:1769:in `synchronize' /usr/share/gems/gems/sinatra-2.2.2/lib/sinatra/base.rb:1553:in `call' /usr/share/gems/gems/rack-2.2.4/lib/rack/urlmap.rb:74:in `block in call' /usr/share/gems/gems/rack-2.2.4/lib/rack/urlmap.rb:58:in `each' /usr/share/gems/gems/rack-2.2.4/lib/rack/urlmap.rb:58:in `call' /usr/share/gems/gems/rack-2.2.4/lib/rack/builder.rb:244:in `call' /usr/share/gems/gems/rack-2.2.4/lib/rack/handler/webrick.rb:95:in `service' /usr/share/ruby/webrick/httpserver.rb:140:in `service' /usr/share/ruby/webrick/httpserver.rb:96:in `run' /usr/share/ruby/webrick/server.rb:307:in `block in start_thread' /usr/share/gems/gems/logging-2.3.1/lib/logging/diagnostic_context.rb:474:in `block in create_with_logging_context'
Actions