Ключ: igate-traverse к staging (/var/lib/bj) — чинит ложное «нет local.pse»
Пересборку справочника crestor запускает igate, а /var/lib/bj был 0750 bj:bj — igate не мог пройти в staging и выдавал ложное «нет local.pse». bj-server при старте даёт /var/lib/bj traverse (0751) — доезжает обновлением. Воркер bj-keymedia-install тоже даёт права и показывает реальную ошибку crestor вместо спама «dropped older CRL» (для новых ISO). Убрана ошибочная подсказка про ГСЧ. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Q7eREaYwUt1i4fNLZcGnjn
This commit is contained in:
@@ -264,8 +264,9 @@ sleep 2
|
||||
# ---- ПЕРЕСОБРАТЬ совместимый справочник на флешке (архивный gdbm malformed) ----
|
||||
REBUILD_RES="skip"
|
||||
if [ -n "$SPRNAME" ] && [ -x "$REBUILD" ] && [ -f "$FLASH_SPR/local.pse" ]; then
|
||||
chmod o+x /var/lib/bj 2>/dev/null; chmod -R a+rX "$FLASH_SPR" 2>/dev/null # igate (crestor) должен читать staging под /var/lib/bj
|
||||
RB=$("$REBUILD" "$FLASH_SPR" 2>&1)
|
||||
if echo "$RB" | grep -q '"ok":true'; then REBUILD_RES="ok"; else REBUILD_RES="fail: $(echo "$RB"|tr -d '\n"'|head -c160)"; fi
|
||||
if echo "$RB" | grep -q '"ok":true'; then REBUILD_RES="ok"; else e=$(echo "$RB" | grep -o '"error":"[^"]*"' | head -1 | sed 's/^"error":"//;s/"$//'); [ -n "$e" ] || e=$(echo "$RB"|tr -d '\n"'|head -c160); REBUILD_RES="fail: $e"; fi
|
||||
sync
|
||||
fi
|
||||
|
||||
|
||||
@@ -255,6 +255,10 @@ func (h *setupHandlers) registerKeyWizard(mux *http.ServeMux) {
|
||||
h.keyWiz = newKeyWizardState()
|
||||
}
|
||||
mux.HandleFunc("/admin/setup/keywizard", h.renderKeyWizard)
|
||||
// igate (пересборка справочника воркером bj-keymedia-install) должен проходить в staging
|
||||
// под /var/lib/bj: даём каталогу traverse (bj — владелец). Без этого пересборка падала
|
||||
// ложным «нет local.pse». Доезжает обновлением bj-server.
|
||||
_ = os.Chmod(filepath.Dir(keymediaReqDir), 0o751)
|
||||
mux.HandleFunc("/admin/setup/keywizard/upload", h.keyWizardUpload)
|
||||
mux.HandleFunc("/admin/setup/keywizard/install", h.keyWizardInstall)
|
||||
mux.HandleFunc("/admin/setup/keywizard/reset", h.keyWizardReset)
|
||||
@@ -659,7 +663,7 @@ func keyInstallProblem(res map[string]any) string {
|
||||
check, _ := res["keycheck"].(string)
|
||||
switch {
|
||||
case rebuild != "ok" && rebuild != "as-is":
|
||||
return "справочник сертификатов не собран — " + rebuildRu(rebuild) + " Если не инициализирован датчик случайных чисел Валидаты (блок «Датчик случайных чисел» выше) — пересборка не подпишется: поводите мышью в поле до заполнения полосы и повторите."
|
||||
return "справочник сертификатов не собран — " + rebuildRu(rebuild)
|
||||
case igate != "connected" && igate != "pending-channel":
|
||||
return "профиль ИШ не сформирован — " + strings.TrimSuffix(igateRu(igate), ":")
|
||||
case strings.HasPrefix(check, "fail"):
|
||||
|
||||
Reference in New Issue
Block a user