Branch: Tag:

2017-11-03

2017-11-03 11:12:19 by Henrik Grubbström (Grubba) <grubba@grubba.org>

CertDB: Added refresh_all_pem_files().

91:    return format_dn(seq);   }    - protected void low_refresh_pem(int pem_id) + protected void low_refresh_pem(int pem_id, int|void force)   {    Sql.Sql db = DBManager.cached_get("roxen");   
109:       string pem_file = pem_info->path;    +  if (!sizeof(pem_file)) return; +     string raw_pem;    string pem_hash;   
123:    pem_file, strerror(errno()));    } else {    pem_hash = Crypto.SHA256.hash(raw_pem); -  if (pem_info->hash == pem_hash) { +  if ((pem_info->hash == pem_hash) && !force) {    // No change.    return;    }
386:    pem_id);   }    + //! Refresh a single PEM file.   void refresh_pem(int pem_id)   {    object privs = Privs("Reading cert file");
393:    low_refresh_pem(pem_id);   }    + //! Refresh all known PEM files. + void refresh_all_pem_files(int|void force) + { +  Sql.Sql db = DBManager.cached_get("roxen"); +  +  object privs = Privs("Reading cert file"); +  +  foreach(db->typed_query("SELECT id FROM cert_pem_files")->id, int pem_id) { +  low_refresh_pem(pem_id, force); +  } + } +    //! Register a single PEM file (no @[Privs]).   //!   //! @note
475:    object privs = Privs("Reading cert file");       array(int) pem_ids = ({}); -  foreach(map(pem_files, String.trim_whites), string pem_file) { +  foreach(map(pem_files, String.trim_all_whites), string pem_file) {    if (pem_file == "") continue;       pem_ids += ({ low_register_pem_file(pem_file, password) });