| 18471 | |
| 18472 | #if defined(__linux__) |
| 18473 | int Client::add_fscrypt_key(const char *key_data, int key_len, |
| 18474 | char* keyid, int user) |
| 18475 | { |
| 18476 | auto& key_store = fscrypt->get_key_store(); |
| 18477 | |
| 18478 | FSCryptKeyHandlerRef kh; |
| 18479 | |
| 18480 | int r = key_store.create((const char *)key_data, key_len, kh, user); |
| 18481 | if (r < 0) { |
| 18482 | ldout(cct, 0) << __func__ << "(): failed to create a new key: r=" << r << dendl; |
| 18483 | return r; |
| 18484 | } |
| 18485 | |
| 18486 | auto& k = kh->get_key(); |
| 18487 | if (keyid) { |
| 18488 | memcpy(keyid, &k->get_identifier().raw, FSCRYPT_KEY_IDENTIFIER_SIZE); |
| 18489 | } |
| 18490 | return 0; |
| 18491 | } |
| 18492 | |
| 18493 | int Client::remove_fscrypt_key(fscrypt_remove_key_arg* kid, int user) |
| 18494 | { |
no test coverage detected