From fb92f4e262a6e19d910ef157b679695b0b71b5c2 Mon Sep 17 00:00:00 2001 From: Marcello Rinaldo Martina <39562568+marcellorinaldo@users.noreply.github.com> Date: Tue, 15 Mar 2022 09:11:47 +0100 Subject: [PATCH] Removed /etc/network/interfaces.tmp after it has been consumed (#3872) * Removed /etc/network/interfaces.tmp after it has been consumed Signed-off-by: Marcello Martina * Applied same changes to linux.redhat.provider Signed-off-by: Marcello Martina --- .../NetInterfaceConfigSerializationServiceImpl.java | 12 +++++++----- .../NetInterfaceConfigSerializationServiceImpl.java | 12 +++++++----- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/kura/org.eclipse.kura.linux.debian.provider/src/main/java/org/eclipse/kura/internal/linux/net/config/NetInterfaceConfigSerializationServiceImpl.java b/kura/org.eclipse.kura.linux.debian.provider/src/main/java/org/eclipse/kura/internal/linux/net/config/NetInterfaceConfigSerializationServiceImpl.java index 379b6f4f973..2121a1fce70 100644 --- a/kura/org.eclipse.kura.linux.debian.provider/src/main/java/org/eclipse/kura/internal/linux/net/config/NetInterfaceConfigSerializationServiceImpl.java +++ b/kura/org.eclipse.kura.linux.debian.provider/src/main/java/org/eclipse/kura/internal/linux/net/config/NetInterfaceConfigSerializationServiceImpl.java @@ -430,21 +430,23 @@ private void writeConfigFile(String tmpFileName, String dstFileName, StringBuild } // move tmp configuration file into its final destination - copyConfigFile(srcFile, dstFile); + copyAndDeleteTmpConfigFile(srcFile, dstFile); } - private void copyConfigFile(File srcFile, File dstFile) throws KuraException { + private void copyAndDeleteTmpConfigFile(File tmpSrcFile, File dstFile) throws KuraException { try { - if (!FileUtils.contentEquals(srcFile, dstFile)) { + if (!FileUtils.contentEquals(tmpSrcFile, dstFile)) { // File.renameTo performs rather badly on Windows, if the file already exists - Files.move(Paths.get(srcFile.getAbsolutePath()), Paths.get(dstFile.getAbsolutePath()), + Files.move(Paths.get(tmpSrcFile.getAbsolutePath()), Paths.get(dstFile.getAbsolutePath()), StandardCopyOption.REPLACE_EXISTING); } else { logger.info("Not rewriting network interfaces file because it is the same"); } + + Files.deleteIfExists(Paths.get(tmpSrcFile.getAbsolutePath())); } catch (IOException e) { throw new KuraIOException(e, - "Failed to rename tmp config file " + srcFile.getName() + " to " + dstFile.getName()); + "Failed to rename tmp config file " + tmpSrcFile.getName() + " to " + dstFile.getName()); } } diff --git a/kura/org.eclipse.kura.linux.redhat.provider/src/main/java/org/eclipse/kura/internal/linux/net/config/NetInterfaceConfigSerializationServiceImpl.java b/kura/org.eclipse.kura.linux.redhat.provider/src/main/java/org/eclipse/kura/internal/linux/net/config/NetInterfaceConfigSerializationServiceImpl.java index 68cf5051dff..597e354cb83 100644 --- a/kura/org.eclipse.kura.linux.redhat.provider/src/main/java/org/eclipse/kura/internal/linux/net/config/NetInterfaceConfigSerializationServiceImpl.java +++ b/kura/org.eclipse.kura.linux.redhat.provider/src/main/java/org/eclipse/kura/internal/linux/net/config/NetInterfaceConfigSerializationServiceImpl.java @@ -236,21 +236,23 @@ private void writeConfigFile(String tmpFileName, String dstFileName, StringBuild } // move tmp configuration file into its final destination - copyConfigFile(srcFile, dstFile); + copyAndDeleteTmpConfigFile(srcFile, dstFile); } - private void copyConfigFile(File srcFile, File dstFile) throws KuraException { + private void copyAndDeleteTmpConfigFile(File tmpSrcFile, File dstFile) throws KuraException { try { - if (!FileUtils.contentEquals(srcFile, dstFile)) { + if (!FileUtils.contentEquals(tmpSrcFile, dstFile)) { // File.renameTo performs rather badly on Windows, if the file already exists - Files.move(Paths.get(srcFile.getAbsolutePath()), Paths.get(dstFile.getAbsolutePath()), + Files.move(Paths.get(tmpSrcFile.getAbsolutePath()), Paths.get(dstFile.getAbsolutePath()), StandardCopyOption.REPLACE_EXISTING); } else { logger.info("Not rewriting network interfaces file because it is the same"); } + + Files.deleteIfExists(Paths.get(tmpSrcFile.getAbsolutePath())); } catch (IOException e) { throw new KuraIOException(e, - "Failed to rename tmp config file " + srcFile.getName() + " to " + dstFile.getName()); + "Failed to rename tmp config file " + tmpSrcFile.getName() + " to " + dstFile.getName()); } } }