Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions src/adldap/ad_utils.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,15 @@
#include <QCoreApplication>
#include <QDateTime>
#include <QDebug>
#include <QTimeZone>
#include <QLocale>
#include <QString>
#include <QTranslator>

#define GENERALIZED_TIME_FORMAT_STRING "yyyyMMddhhmmss.zZ"
#define UTC_TIME_FORMAT_STRING "yyMMddhhmmss.zZ"

const QDateTime ntfs_epoch = QDateTime(QDate(1601, 1, 1), QTime(), Qt::UTC);
const QDateTime ntfs_epoch = QDateTime(QDate(1601, 1, 1), QTime(), QTimeZone::utc());

QString escape_name_for_dn(const QString &unescaped);

Expand Down Expand Up @@ -119,7 +120,7 @@ QDateTime datetime_string_to_qdatetime(const QString &attribute, const QString &
// All datetimes are UTC by default. Calling
// setTimeSpec() would alter the datetime so we don't
// use that.
const QDateTime utc_datetime = QDateTime(datetime.date(), datetime.time(), Qt::UTC);
const QDateTime utc_datetime = QDateTime(datetime.date(), datetime.time(), QTimeZone::utc());

return utc_datetime;
}
Expand Down
8 changes: 0 additions & 8 deletions src/adldap/adldap_ru.ts
Original file line number Diff line number Diff line change
Expand Up @@ -927,14 +927,6 @@
<oldsource>Failed to unlock user &quot;%1&quot;</oldsource>
<translation>Пользователь %1 был разблокирован.</translation>
</message>
<message>
<source>Search:
filter = &quot;%1&quot;
attributes = %2
scope = &quot;%3&quot;
base = &quot;%4&quot;</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>System policy &quot;</source>
<translation>Системная политика &quot;</translation>
Expand Down
6 changes: 5 additions & 1 deletion src/adldap/krb5client.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,11 @@ static std::vector<std::string> krb_temp_caches;

static void crash_handler(int sig) {
const char* msg = "Crash! Cleaning kerberos temp caches...\n";
write(STDERR_FILENO, msg, strlen(msg));
// Best-effort write to stderr from a signal handler.
// Ignore short/failed writes, but don't trigger warn_unused_result.
const ssize_t written = ::write(STDERR_FILENO, msg, static_cast<size_t>(strlen(msg)));
(void)written;
// 'written' intentionally ignored (best-effort).

for (std::string &ccache_file : krb_temp_caches) {
unlink(ccache_file.c_str());
Expand Down
2 changes: 1 addition & 1 deletion src/admc/attribute_edits/account_option_edit.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ AccountOptionEdit::AccountOptionEdit(QCheckBox *check_arg, const AccountOption o
check = check_arg;

connect(
check, &QCheckBox::stateChanged,
check, &QCheckBox::checkStateChanged,
this, &AttributeEdit::edited);
}

Expand Down
4 changes: 3 additions & 1 deletion src/admc/attribute_edits/expiry_widget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@
#include "globals.h"

#include <QButtonGroup>
#include <QTimeZone>


const QTime END_OF_DAY(23, 59);

Expand Down Expand Up @@ -89,7 +91,7 @@ bool ExpiryWidget::apply(AdInterface &ad, const QString &dn) const {
if (never) {
return ad.attribute_replace_string(dn, ATTRIBUTE_ACCOUNT_EXPIRES, AD_LARGE_INTEGER_DATETIME_NEVER_2);
} else {
const QDateTime datetime = QDateTime(ui->date_edit->date(), END_OF_DAY, Qt::UTC);
const QDateTime datetime = QDateTime(ui->date_edit->date(), END_OF_DAY, QTimeZone::utc());

return ad.attribute_replace_datetime(dn, ATTRIBUTE_ACCOUNT_EXPIRES, datetime);
}
Expand Down
2 changes: 1 addition & 1 deletion src/admc/attribute_edits/gpoptions_edit.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ GpoptionsEdit::GpoptionsEdit(QCheckBox *check_arg, QObject *parent)
check = check_arg;

connect(
check, &QCheckBox::stateChanged,
check, &QCheckBox::checkStateChanged,
this, &AttributeEdit::edited);
}

Expand Down
2 changes: 1 addition & 1 deletion src/admc/attribute_edits/protect_deletion_edit.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ ProtectDeletionEdit::ProtectDeletionEdit(QCheckBox *check_arg, QObject *parent)
check = check_arg;

connect(
check, &QCheckBox::stateChanged,
check, &QCheckBox::checkStateChanged,
this, &AttributeEdit::edited);
}

Expand Down
4 changes: 2 additions & 2 deletions src/admc/attribute_edits/sites_link_edit.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ void SitesLinkEdit::load(AdInterface &ad, const AdObject &object) {
const QIcon item_icon = type == SitesLinkType::Link ? g_icon_manager->item_icon(ItemIcon_Site) :
g_icon_manager->item_icon(ItemIcon_Site_Link);

for (const QString dn : linked_dn_list) {
for (const QString &dn : linked_dn_list) {
QListWidgetItem *item = new QListWidgetItem(item_icon, dn_get_name(dn));
item->setData(Qt::UserRole, dn);
sites_link_common_wget->right_list_wget()->addItem(item);
Expand All @@ -61,7 +61,7 @@ void SitesLinkEdit::load(AdInterface &ad, const AdObject &object) {
const QString filter = filter_CONDITION(Condition_Equals, ATTRIBUTE_OBJECT_CATEGORY, search_category);
auto search_res = ad.search(g_adconfig->sites_container_dn(), SearchScope_Children, filter, {ATTRIBUTE_DN});

for (const QString dn : search_res.keys()) {
for (const QString &dn : search_res.keys()) {
if (!linked_dn_list.contains(dn)) {
QListWidgetItem *item = new QListWidgetItem(item_icon, dn_get_name(dn));
item->setData(Qt::UserRole, dn);
Expand Down
2 changes: 1 addition & 1 deletion src/admc/attribute_edits/unlock_edit.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ UnlockEdit::UnlockEdit(QCheckBox *check_arg, QObject *parent)
check = check_arg;

connect(
check, &QCheckBox::stateChanged,
check, &QCheckBox::checkStateChanged,
this, &AttributeEdit::edited);
}

Expand Down
2 changes: 1 addition & 1 deletion src/admc/console_impls/query_folder_impl.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,7 @@ void QueryFolderImpl::paste(const QList<QModelIndex> &index_list) {
}

const bool parent_is_same = [&]() {
for (const QModelIndex &index : copied_list) {
for (const QPersistentModelIndex &index : copied_list) {
const QModelIndex this_parent = index.parent();

if (this_parent == parent_index) {
Expand Down
2 changes: 1 addition & 1 deletion src/admc/create_dialogs/create_sites_link_dialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ CreateSitesLinkDialog::CreateSitesLinkDialog(AdInterface &ad, SitesLinkType type

const QString filter = filter_CONDITION(Condition_Equals, ATTRIBUTE_OBJECT_CLASS, search_class);
auto search_res = ad.search(g_adconfig->sites_container_dn(), SearchScope_All, filter, {ATTRIBUTE_DN});
for (const QString dn : search_res.keys()) {
for (const QString &dn : search_res.keys()) {
QListWidgetItem *item = new QListWidgetItem(item_icon, dn_get_name(dn));
item->setData(Qt::UserRole, dn);
ui->sites_link_common_wget->left_list_wget()->addItem(item);
Expand Down
2 changes: 1 addition & 1 deletion tests/admc_test_datetime_attribute_dialog.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ void ADMCTestDatetimeAttributeDialog::initTestCase_data() {
QTest::addColumn<QList<QByteArray>>("value_list");
QTest::addColumn<QDateTime>("display_value");

QTest::newRow("non-empty") << QList<QByteArray>({"20210706131457.0Z"}) << QDateTime(QDate(2021, 7, 6), QTime(13, 14, 57), Qt::UTC);
QTest::newRow("non-empty") << QList<QByteArray>({"20210706131457.0Z"}) << QDateTime(QDate(2021, 7, 6), QTime(13, 14, 57), QTimeZone("UTC"));
}

void ADMCTestDatetimeAttributeDialog::init() {
Expand Down