XX-net/XX-Net · info

Control Req %s %s %s

Error message

Control Req %s %s %s 

What it means

The web control interface received a GET for a path other than /log or /status; it just warns with client address, command, and path.

Source

Thrown at code/default/smart_router/local/web_control.py:39


class ControlHandler(simple_http_server.HttpServerHandler):
    def __init__(self, client_address, headers, command, path, rfile, wfile):
        self.client_address = client_address
        self.headers = headers
        self.command = command
        self.path = path
        self.rfile = rfile
        self.wfile = wfile

    def do_GET(self):
        path = urlparse(self.path).path
        if path == "/log":
            return self.req_log_handler()
        elif path == "/status":
            return self.req_status()
        else:
            xlog.warn('Control Req %s %s %s ', self.address_string(), self.command, self.path)

    def do_POST(self):
        xlog.debug('Web_control %s %s %s ', self.address_string(), self.command, self.path)

        path = urlparse(self.path).path
        if path == '/rules':
            return self.req_rules_handler()
        elif path == "/cache":
            return self.req_cache_handler()
        elif path == "/config":
            return self.req_config_handler()
        else:
            xlog.info('%s "%s %s HTTP/1.1" 404 -', self.address_string(), self.command, self.path)
            return self.send_not_found()

    def req_log_handler(self):
        req = urlparse(self.path).query
        reqs = self.unpack_reqs(parse_qs(req, keep_blank_values=True))

View on GitHub (pinned to cfa5bc17b6)

Solutions

  1. Ignore — harmless unless frequent; it is only a warning
  2. Restrict access to the control port (bind to 127.0.0.1, firewall)
  3. Add routes for / or /favicon.ico to silence noise
  4. Ensure scanners cannot reach the port
Defensive patterns

Strategy: validation

Validate before calling

if path not in ('/log','/status'): return 404 quietly

Prevention

When it happens

Trigger: GET request to the control port for an unknown path, e.g. /favicon.ico, /, or scanner URLs.

Common situations: Browsers auto-requesting favicon.ico, monitoring tools probing /, port scanners hitting the control port, typos in the URL.

Related errors


AI-assisted analysis of XX-net/XX-Net@cfa5bc17b6 (2026-08-27). Data as JSON: /api/errors/ff84650272ba8e27. Report an issue: GitHub.