Compare commits

..

No commits in common. "master" and "1.1.7" have entirely different histories.

1 changed files with 6 additions and 9 deletions

View File

@ -153,13 +153,11 @@ names_done:
}
// alarm logic
if(cert->m_aExpireTS>0){
// 剩余天数: 向下取整 (floor) —— 与 JSON expire_days 保持一致,用于阈值分桶和消息显示
int64_t secsLeft = cert->m_aExpireTS - nowt;
int days = (int)(secsLeft/86400);
int64_t *lastAlarm = NULL; int need=0;
if(days <=7 && days >3){ lastAlarm=&cert->m_aLastAlarm7; }
else if(days <=3 && days >1){ lastAlarm=&cert->m_aLastAlarm3; }
else if(days <=1){ lastAlarm=&cert->m_aLastAlarm1; }
int days = (int)((cert->m_aExpireTS - nowt)/86400);
int64_t *lastAlarm = NULL; int need=0; int target=0;
if(days <=7 && days >3){ lastAlarm=&cert->m_aLastAlarm7; target=7; }
else if(days <=3 && days >1){ lastAlarm=&cert->m_aLastAlarm3; target=3; }
else if(days <=1){ lastAlarm=&cert->m_aLastAlarm1; target=1; }
if(lastAlarm && (*lastAlarm==0 || nowt - *lastAlarm > 20*3600)) need=1; // avoid spam, 20h
if(need && strlen(cert->m_aCallback)>0){
CURL *curl = curl_easy_init();
@ -168,8 +166,7 @@ names_done:
char timebuf[32];
time_t expt = (time_t)cert->m_aExpireTS;
strftime(timebuf,sizeof(timebuf),"%Y-%m-%d %H:%M:%S", gmtime(&expt));
// 使用 floor(days)
snprintf(msg,sizeof(msg),"【SSL证书提醒】%s(%s) 将在 %d 天后(%s UTC) 到期", cert->m_aName, cert->m_aDomain, days, timebuf);
snprintf(msg,sizeof(msg),"【SSL证书提醒】%s(%s) 将在 %d 天后(%s UTC) 到期", cert->m_aName, cert->m_aDomain, target, timebuf);
char *enc = curl_easy_escape(curl,msg,0);
char url[1500]; snprintf(url,sizeof(url),"%s%s", cert->m_aCallback, enc?enc:"");
curl_easy_setopt(curl, CURLOPT_POST, 1L);