klaptopdaemon: Fix acpi helper violation check.

1. Dependence on crcresult.h solved correctly.
2. Used macro tde_add_executable to define makecrc target.
3. Fixed command to run makecrc
 - it depends on both makecrc and klaptop_acpi_helper,
 - it must be run in build binary directory, not source,
 - the target name is used as the makecrc command, so there
   is no need to use get_target_property( ... LOCATION ), which
   caused a warning due to CMP0026.
4. The block of code that performs the binary violation verification
   was rolled back because it was removed in commit 2abe1e6f40 for
   an unknown reason, and the check was not actually performed.

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
(cherry picked from commit bf71f730b3)
pull/30/head
Slávek Banko 5 years ago
parent 5fc690d685
commit 6215ca6548
No known key found for this signature in database
GPG Key ID: 608F5293A04BE668

@ -61,13 +61,11 @@ tde_add_kpart( kcm_laptop AUTOMOC
SOURCES battery.cpp main.cpp pcmcia.cpp
power.cpp warning.cpp acpi.cpp sony.cpp
profile.cpp buttons.cpp apm.cpp
${CMAKE_CURRENT_BINARY_DIR}/crcresult.h
LINK tdeio-shared kcmlaptop-shared
DESTINATION ${PLUGIN_INSTALL_DIR}
DEPENDENCIES crcresult-header
)
# crcresult.h header is included here cause it is
# generated during build time. Otherwice the
# dependency on it won't be handeled correctly.
##### kded_klaptopdaemon (kpart) ################
@ -84,18 +82,19 @@ tde_add_kpart( kded_klaptopdaemon AUTOMOC
##### crcresult.h (header) ######################
# FIXME: that should potentialy break the cross
# compilation, If it is possible in
# generall.
add_executable( makecrc makecrc.cpp )
target_link_libraries( makecrc z )
get_target_property( MAKECRC_EXE makecrc LOCATION)
tde_add_executable( makecrc
SOURCES makecrc.cpp
LINK z
)
add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/crcresult.h
COMMAND
${MAKECRC_EXE} >${CMAKE_CURRENT_BINARY_DIR}/crcresult.h
DEPENDS makecrc
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
add_custom_command(
OUTPUT crcresult.h
COMMAND makecrc > crcresult.h
DEPENDS makecrc klaptop_acpi_helper
)
add_custom_target( crcresult-header
DEPENDS
${CMAKE_CURRENT_BINARY_DIR}/crcresult.h
)

@ -165,6 +165,17 @@ void AcpiConfig::setupHelper()
unsigned long len, crc;
TQString helper = TDEStandardDirs::findExe("klaptop_acpi_helper");
checkcrc(TQFile::encodeName(helper), len, crc);
if (len != file_len || crc != file_crc)
{
TQString str(i18n("The %1 application does not seem to have "
"the same size or checksum as when it was compiled we do NOT recommend "
"you proceed with making it setuid-root without further investigation").arg(helper));
int rc = KMessageBox::warningContinueCancel(0, str, i18n("KLaptopDaemon"), i18n("Run Nevertheless"));
if (rc != KMessageBox::Continue)
{
return;
}
}
TQString tdesu = TDEStandardDirs::findExe("tdesu");
if (!tdesu.isEmpty()) {

@ -187,6 +187,17 @@ void ApmConfig::setupHelper2() // we use the acpi helper to do software suspend
unsigned long len, crc;
TQString helper = TDEStandardDirs::findExe("klaptop_acpi_helper");
checkcrc(helper.latin1(), len, crc);
if (len != file_len || crc != file_crc)
{
TQString str(i18n("The %1 application does not seem to have "
"the same size or checksum as when it was compiled we do NOT recommend "
"you proceed with making it setuid-root without further investigation").arg(helper));
int rc = KMessageBox::warningContinueCancel(0, str, i18n("KLaptopDaemon"), i18n("Run Nevertheless"));
if (rc != KMessageBox::Continue)
{
return;
}
}
TQString tdesu = TDEStandardDirs::findExe("tdesu");
if (!tdesu.isEmpty()) {

Loading…
Cancel
Save