| 873 | } |
| 874 | |
| 875 | void CryptoManager::attach(thread_db* tdbb, Attachment* att) |
| 876 | { |
| 877 | if (checkFactory) |
| 878 | { |
| 879 | if (!validateAttachment(tdbb, att, false)) |
| 880 | { |
| 881 | MutexLockGuard g(holdersMutex, FB_FUNCTION); |
| 882 | |
| 883 | if (!keyProviders.hasData()) |
| 884 | Arg::Gds(isc_db_crypt_key).raise(); |
| 885 | keyConsumers.add(att->getStable()); |
| 886 | } |
| 887 | } |
| 888 | |
| 889 | lockAndReadHeader(tdbb, CRYPT_HDR_INIT); |
| 890 | } |
| 891 | |
| 892 | void CryptoManager::detach(thread_db* tdbb, Attachment* att) |
| 893 | { |