def _get_sanitized_and_translated_piggybacked_hostname(self, orig_piggyback_header): # type: (bytes) -> Optional[HostName] piggybacked_hostname = str(orig_piggyback_header[4:-4]) if not piggybacked_hostname: return None piggybacked_hostname = config.translate_piggyback_host(self._hostname, piggybacked_hostname) if piggybacked_hostname == self._hostname or not piggybacked_hostname: return None # unpiggybacked "normal" host # Protect Check_MK against unallowed host names. Normally source scripts # like agent plugins should care about cleaning their provided host names # up, but we need to be sure here to prevent bugs in Check_MK code. # a) Replace spaces by underscores return piggybacked_hostname.replace(" ", "_")
def _get_sanitized_and_translated_piggybacked_hostname( orig_piggyback_header: bytes, hostname: HostName, ) -> Optional[HostName]: piggybacked_hostname = ensure_str(orig_piggyback_header[4:-4]) if not piggybacked_hostname: return None piggybacked_hostname = config.translate_piggyback_host(hostname, piggybacked_hostname) if piggybacked_hostname == hostname or not piggybacked_hostname: return None # unpiggybacked "normal" host # Protect Checkmk against unallowed host names. Normally source scripts # like agent plugins should care about cleaning their provided host names # up, but we need to be sure here to prevent bugs in Checkmk code. return regex("[^%s]" % REGEX_HOST_NAME_CHARS).sub("_", piggybacked_hostname)