Drupal function ip_address no longer exists after D7
There are times where CiviCRM likes to know who it's talking to, i.e. the ip address of the visitor.
This matters especially when it gets passed on to a payment processor.
Here's a utility function that does that: https://github.com/civicrm/civicrm-core/blob/b599743f3daa46ab96c09ebe410fbb833cdd080f/CRM/Utils/System.php#L1293
This code is fairly naive, but makes use of the fact that Drupal 7 (and earlier) that had a function ip_address that would pay attention to the drupal configuration to be able to deal with front end proxies (like Varnish/hitch).
Unfortunately, D8/9 no longer includes this function, as also noted in this issue for iATS payments.
https://github.com/iATSPayments/com.iatspayments.civicrm/issues/370
Should we continue to provide spaghetti/cms-specific support for front end proxy confusion here? Are there better ways of doing this?