Terraform
Plugin File Open — !!hot!!
Here are some common plugin file formats:
def host_open_file(filepath): handlers = plugin_mgr.get_matching_handlers(filepath) handlers.sort(key=lambda h: h.priority, reverse=True) for handler in handlers: result = handler.before_open(filepath) if result.action == "HANDLE_FULLY": data = handler.open(filepath) return data elif result.action == "MODIFY_PATH": filepath = result.new_path plugin file open
bool is_safe_path(const char* requested, const char* allowed_root) char real_req[PATH_MAX], real_root[PATH_MAX]; if (!realpath(requested, real_req)) return false; if (!realpath(allowed_root, real_root)) return false; return strncmp(real_req, real_root, strlen(real_root)) == 0; Here are some common plugin file formats: def