static bool kernel_alg_db_add(struct db_context *db_ctx , struct esp_info *esp_info , lset_t policy , bool logit) { int ealg_i, aalg_i; if(policy & POLICY_ENCRYPT) { ealg_i=esp_info->esp_ealg_id; if (!ESP_EALG_PRESENT(ealg_i)) { if(logit) { openswan_loglog(RC_LOG_SERIOUS , "requested kernel enc ealg_id=%d not present" , ealg_i); } else { DBG_log("requested kernel enc ealg_id=%d not present", ealg_i); } return FALSE; } } aalg_i=alg_info_esp_aa2sadb(esp_info->esp_aalg_id); if (!ESP_AALG_PRESENT(aalg_i)) { DBG_log("kernel_alg_db_add() kernel auth " "aalg_id=%d not present", aalg_i); return FALSE; } /* do algo policy */ kernel_alg_policy_algorithms(esp_info); if(policy & POLICY_ENCRYPT) { /* open new transformation */ db_trans_add(db_ctx, ealg_i); /* add ESP auth attr */ db_attr_add_values(db_ctx, AUTH_ALGORITHM, esp_info->esp_aalg_id); /* add keylegth if specified in esp= string */ if (esp_info->esp_ealg_keylen) { db_attr_add_values(db_ctx, KEY_LENGTH, esp_info->esp_ealg_keylen); } } else if(policy & POLICY_AUTHENTICATE) { /* open new transformation */ db_trans_add(db_ctx, aalg_i); /* add ESP auth attr */ db_attr_add_values(db_ctx, AUTH_ALGORITHM, esp_info->esp_aalg_id); } return TRUE; }
void openswan_passert_fail(const char *pred_str, const char *file_str, unsigned long line_no) { /* we will get a possibly unplanned prefix. Hope it works */ openswan_loglog(RC_LOG_SERIOUS, "ASSERTION FAILED at %s:%lu: %s", file_str, line_no, pred_str); abort(); /* exiting correctly doesn't always work */ }
void openswan_log_abort(const char *file_str, int line_no) { openswan_loglog(RC_LOG_SERIOUS, "ABORT at %s:%d", file_str, line_no); abort(); }