70 return m_ca_file.get() && m_crl_file.get()
71 && (!m_build_store || m_ca_store.get());}
112 static std::unique_ptr<TempCAGuard>
create(
XrdSysError &,
const std::string &ca_tmp_dir);
130 TempCAGuard(
int ca_fd,
int crl_fd,
const std::string &ca_tmp_dir,
const std::string &ca_fname,
const std::string &crl_fname);
134 std::string m_ca_tmp_dir;
135 std::string m_ca_fname;
136 std::string m_crl_fname;
158 std::shared_ptr<X509_STORE> BuildCAStore(
const std::string &ca_fname,
159 const std::string &crl_fname,
165 static void *MaintenanceThread(
void *myself_raw);
171 int m_maintenance_pipe_r{-1};
172 int m_maintenance_pipe_w{-1};
173 int m_maintenance_thread_pipe_r{-1};
174 int m_maintenance_thread_pipe_w{-1};
176 const std::string m_ca_dir;
177 const bool m_build_store;
180 mutable XrdSysMutex m_mutex;
181 std::shared_ptr<std::string> m_ca_file;
182 std::shared_ptr<std::string> m_crl_file;
183 std::shared_ptr<X509_STORE> m_ca_store;
184 bool m_atLeastOneCRLFound =
false;
187 static constexpr unsigned m_update_interval = 900;
189 static constexpr unsigned m_update_interval_failure = 10;