diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2016-09-21 18:35:58 -0500 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2016-09-21 18:35:58 -0500 |
commit | 1ccfd00cd4c07513aeccf73c082d7ef4f3c0c35a (patch) | |
tree | b46134d3e55c9aeb103c80c7abcefad360d32c9c | |
parent | e7fe109b399e0350aa592c5300ee6bbd329fd21a (diff) | |
download | libtdeldap-1ccfd00cd4c07513aeccf73c082d7ef4f3c0c35a.tar.gz libtdeldap-1ccfd00cd4c07513aeccf73c082d7ef4f3c0c35a.zip |
Create the PKCS#11 configuration directory if it does not exist before attempting to write the configuration file into it
-rw-r--r-- | src/libtdeldap.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/libtdeldap.cpp b/src/libtdeldap.cpp index 2ba3923..759b341 100644 --- a/src/libtdeldap.cpp +++ b/src/libtdeldap.cpp @@ -5136,6 +5136,14 @@ int LDAPManager::writePAMFiles(LDAPPamConfig pamConfig, TQString *errstr) { } if (pamConfig.enable_pkcs11_login) { + TQDir pkcs11dir(PAMD_PKCS11_CONFIG_DIRECTORY); + if (!pkcs11dir.exists()) { + if (mkdir(PAMD_PKCS11_CONFIG_DIRECTORY, S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH) < 0) { + if (errstr) { + *errstr = i18n("Could not create directoy '%1'").arg(PAMD_PKCS11_CONFIG_DIRECTORY); + } + } + } TQFile file4(PAMD_PKCS11_CONFIG_DIRECTORY PAMD_PKCS11_CONFIG_FILE); if (file4.open(IO_WriteOnly)) { TQTextStream stream( &file4 ); |