acmesh-official / acmesh-official/acme.sh

$domain.conf emptied when disk is full

Open
#7,247 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Shell
Stars
47.6k
Forks
5.7k
Avg merge
6d 5h
Merged PRs (30d)
15

Description

When there's no space left on device, $domain.conf is emptied. Leaving not-renewable state even after space is freed.

```
# acme.sh --version
https://github.com/acmesh-official/acme.sh
v3.1.4
# cat /etc/debian_version
11.11
# acme.sh --list
Main_Domain KeyLength SAN_Domains Profile CA Created Renew
"" LetsEncrypt.org
"" LetsEncrypt.org
"" LetsEncrypt.org
"" LetsEncrypt.org
"" LetsEncrypt.org
# ls -al --sort=time $HOME/.acme.sh/$domain
total 40
-rw-r--r-- 1 root root 0 Aug 9 00:20 $domain.conf
-rw-r--r-- 1 root root 1001 Aug 9 00:20 $domain.csr
-rw-r--r-- 1 root root 188 Aug 9 00:20 $domain.csr.conf
drwx------ 11 root root 4096 Jun 22 00:20 ..
-rw-r--r-- 1 root root 3872 Jun 6 00:21 ca.cer
-rw-r--r-- 1 root root 1785 Jun 6 00:21 $domain.cer
-rw-r--r-- 1 root root 5657 Jun 6 00:21 fullchain.cer
drwxr-xr-x 3 root root 4096 Sep 27 2022 .
drwxr-xr-x 2 root root 4096 Sep 27 2022 backup
-rw------- 1 root root 1679 Sep 27 2022 $domain.key
```

Contributor guide

Open the contributing guide

Research direction

Look at the code that writes $domain.conf, likely in the main acme.sh script or a helper. Search for file write operations and error handling when disk is full. The issue is that the file is emptied instead of left intact or failing safely. Test by simulating a full disk (e.g., with dd) and running a renewal to see the behavior. Check if there's a backup or atomic write pattern that could be used.

Written by the indexing model from the issue text.

Assessment

Tech stack
shell
Domain
cli, security
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
65/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.