Skip to content

Update index.py#1

Open
booskz wants to merge 1 commit intodevsapp:mainfrom
booskz:main
Open

Update index.py#1
booskz wants to merge 1 commit intodevsapp:mainfrom
booskz:main

Conversation

@booskz
Copy link

@booskz booskz commented Jan 9, 2026

This PR fixes a critical IndexError: list index out of range that occurs when using Certbot to generate certificates for root domains (e.g., example.com).
Problem

In the get_domain_rr() function, the code splits the domain into tokens and removes the last two elements (the TLD and the main domain).

For a subdomain like www.opty.fun, tokens ['www', 'opty', 'fun'] becomes ['www'] after del tokens[-2:].

For a root domain like opty.fun, tokens ['opty', 'fun'] becomes an empty list [].

The original code then attempts to access tokens[0] to check for wildcard symbols without verifying if the list is empty, leading to a runtime crash.
Solution

Added a conditional check if tokens: before accessing tokens[0]. This ensures that if the list is empty (indicating a root domain), it skips the wildcard check and directly inserts the _acme-challenge prefix.
Verification Results

I have tested this fix in an Alibaba Cloud Function Compute (FC) environment: | Domain Input | DEVS_DOMAIN | Resulting RR | Status | | :--- | :--- | :--- | :--- | | Root Domain | opty.fun | _acme-challenge | Fixed | | Subdomain | www.opty.fun | _acme-challenge.www | Works | | Wildcard | *.opty.fun | _acme-challenge | Works |

Fixed the issue of index overflow caused by retrieving the root domain name.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant