From f5e6bdba6c91ab9a0e741d439aa51313140c8bd2 Mon Sep 17 00:00:00 2001 From: zsien Date: Mon, 9 Sep 2024 14:36:40 +0800 Subject: [PATCH 1/2] chore: systemd hardening MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 加固 dbus 进程 Task: https://pms.uniontech.com/task-view-361181.html --- .../org.deepin.dde.Accounts1.service | 1 + .../org.deepin.dde.AirplaneMode1.service | 2 +- .../org.deepin.dde.Apps1.service | 2 +- .../org.deepin.dde.Authority1.service | 2 +- .../org.deepin.dde.BacklightHelper1.service | 3 +- .../org.deepin.dde.Bluetooth1.service | 2 +- .../org.deepin.dde.Daemon1.service | 2 +- .../org.deepin.dde.Display1.service | 2 +- .../org.deepin.dde.Fprintd1.service | 2 +- .../org.deepin.dde.Gesture1.service | 2 +- .../org.deepin.dde.Greeter1.service | 3 +- .../org.deepin.dde.ImageEffect1.service | 2 +- .../org.deepin.dde.LockService1.service | 3 +- .../org.deepin.dde.Network1.service | 2 +- .../org.deepin.dde.Power1.service | 2 +- .../org.deepin.dde.SwapSchedHelper1.service | 2 +- .../org.deepin.dde.Timedate1.service | 2 +- .../org.deepin.dde.Uadp1.service | 2 +- ...uthority.service => dde-authority.service} | 4 + ...t.service => dde-backlight-helper.service} | 6 +- ...ter.service => dde-greeter-setter.service} | 4 + ...-lock.service => dde-lock-service.service} | 9 +- .../services/system/dde-system-daemon.service | 115 ++++++++++++++++++ .../system/deepin-accounts1-daemon.service | 27 ---- .../services/system/deepin-grub2.service | 4 + 25 files changed, 157 insertions(+), 50 deletions(-) rename misc/systemd/services/system/{deepin-authority.service => dde-authority.service} (91%) rename misc/systemd/services/system/{deepin-helper-backlight.service => dde-backlight-helper.service} (86%) rename misc/systemd/services/system/{deepin-greeter-setter.service => dde-greeter-setter.service} (92%) rename misc/systemd/services/system/{deepin-user-lock.service => dde-lock-service.service} (84%) create mode 100644 misc/systemd/services/system/dde-system-daemon.service delete mode 100644 misc/systemd/services/system/deepin-accounts1-daemon.service diff --git a/misc/system-services/org.deepin.dde.Accounts1.service b/misc/system-services/org.deepin.dde.Accounts1.service index 5ca7e331b..b86f9cd7a 100644 --- a/misc/system-services/org.deepin.dde.Accounts1.service +++ b/misc/system-services/org.deepin.dde.Accounts1.service @@ -1,4 +1,5 @@ [D-BUS Service] Name=org.deepin.dde.Accounts1 Exec=/bin/false +SystemdService=dde-system-daemon.service SystemdService=deepin-accounts1-daemon.service diff --git a/misc/system-services/org.deepin.dde.AirplaneMode1.service b/misc/system-services/org.deepin.dde.AirplaneMode1.service index e87b44e30..cb0cb37f4 100644 --- a/misc/system-services/org.deepin.dde.AirplaneMode1.service +++ b/misc/system-services/org.deepin.dde.AirplaneMode1.service @@ -1,4 +1,4 @@ [D-BUS Service] Name=org.deepin.dde.AirplaneMode1 Exec=/bin/false -SystemdService=deepin-accounts1-daemon.service +SystemdService=dde-system-daemon.service diff --git a/misc/system-services/org.deepin.dde.Apps1.service b/misc/system-services/org.deepin.dde.Apps1.service index 2727600a9..b4929918b 100644 --- a/misc/system-services/org.deepin.dde.Apps1.service +++ b/misc/system-services/org.deepin.dde.Apps1.service @@ -1,4 +1,4 @@ [D-BUS Service] Name=org.deepin.dde.Apps1 Exec=/bin/false -SystemdService=deepin-accounts1-daemon.service \ No newline at end of file +SystemdService=dde-system-daemon.service diff --git a/misc/system-services/org.deepin.dde.Authority1.service b/misc/system-services/org.deepin.dde.Authority1.service index b2ed5d592..9c4088b0e 100644 --- a/misc/system-services/org.deepin.dde.Authority1.service +++ b/misc/system-services/org.deepin.dde.Authority1.service @@ -1,4 +1,4 @@ [D-BUS Service] Name=org.deepin.dde.Authority1 Exec=/bin/false -SystemdService=deepin-authority.service +SystemdService=dde-authority.service diff --git a/misc/system-services/org.deepin.dde.BacklightHelper1.service b/misc/system-services/org.deepin.dde.BacklightHelper1.service index d007e6b73..508cd1521 100644 --- a/misc/system-services/org.deepin.dde.BacklightHelper1.service +++ b/misc/system-services/org.deepin.dde.BacklightHelper1.service @@ -1,5 +1,4 @@ [D-BUS Service] Name=org.deepin.dde.BacklightHelper1 Exec=/bin/false -User=root -SystemdService=deepin-helper-backlight.service +SystemdService=dde-backlight-helper.service diff --git a/misc/system-services/org.deepin.dde.Bluetooth1.service b/misc/system-services/org.deepin.dde.Bluetooth1.service index 5e5ddef25..978a587c0 100644 --- a/misc/system-services/org.deepin.dde.Bluetooth1.service +++ b/misc/system-services/org.deepin.dde.Bluetooth1.service @@ -1,4 +1,4 @@ [D-BUS Service] Name=org.deepin.dde.Bluetooth1 Exec=/bin/false -SystemdService=deepin-accounts1-daemon.service \ No newline at end of file +SystemdService=dde-system-daemon.service diff --git a/misc/system-services/org.deepin.dde.Daemon1.service b/misc/system-services/org.deepin.dde.Daemon1.service index 6c0b6e986..770ab9c8d 100644 --- a/misc/system-services/org.deepin.dde.Daemon1.service +++ b/misc/system-services/org.deepin.dde.Daemon1.service @@ -1,4 +1,4 @@ [D-BUS Service] Name=org.deepin.dde.Daemon1 Exec=/bin/false -SystemdService=deepin-accounts1-daemon.service +SystemdService=dde-system-daemon.service diff --git a/misc/system-services/org.deepin.dde.Display1.service b/misc/system-services/org.deepin.dde.Display1.service index 1e97450df..8153dc33e 100644 --- a/misc/system-services/org.deepin.dde.Display1.service +++ b/misc/system-services/org.deepin.dde.Display1.service @@ -1,4 +1,4 @@ [D-BUS Service] Name=org.deepin.dde.Display1 Exec=/bin/false -SystemdService=deepin-accounts1-daemon.service \ No newline at end of file +SystemdService=dde-system-daemon.service diff --git a/misc/system-services/org.deepin.dde.Fprintd1.service b/misc/system-services/org.deepin.dde.Fprintd1.service index f5b164f05..0294bb274 100644 --- a/misc/system-services/org.deepin.dde.Fprintd1.service +++ b/misc/system-services/org.deepin.dde.Fprintd1.service @@ -1,4 +1,4 @@ [D-BUS Service] Name=org.deepin.dde.Fprintd1 Exec=/bin/false -SystemdService=deepin-accounts1-daemon.service +SystemdService=dde-system-daemon.service diff --git a/misc/system-services/org.deepin.dde.Gesture1.service b/misc/system-services/org.deepin.dde.Gesture1.service index a5157d360..ff85a4806 100644 --- a/misc/system-services/org.deepin.dde.Gesture1.service +++ b/misc/system-services/org.deepin.dde.Gesture1.service @@ -1,4 +1,4 @@ [D-BUS Service] Name=org.deepin.dde.Gesture1 Exec=/bin/false -SystemdService=deepin-accounts1-daemon.service +SystemdService=dde-system-daemon.service diff --git a/misc/system-services/org.deepin.dde.Greeter1.service b/misc/system-services/org.deepin.dde.Greeter1.service index 238358c63..09702a06e 100644 --- a/misc/system-services/org.deepin.dde.Greeter1.service +++ b/misc/system-services/org.deepin.dde.Greeter1.service @@ -1,4 +1,5 @@ [D-BUS Service] Name=org.deepin.dde.Greeter1 Exec=/bin/false -SystemdService=deepin-greeter-setter.service +User=root +SystemdService=dde-greeter-setter.service diff --git a/misc/system-services/org.deepin.dde.ImageEffect1.service b/misc/system-services/org.deepin.dde.ImageEffect1.service index 638f7f436..318f139d3 100644 --- a/misc/system-services/org.deepin.dde.ImageEffect1.service +++ b/misc/system-services/org.deepin.dde.ImageEffect1.service @@ -1,4 +1,4 @@ [D-BUS Service] Name=org.deepin.dde.ImageEffect1 Exec=/bin/false -SystemdService=deepin-accounts1-daemon.service +SystemdService=dde-system-daemon.service diff --git a/misc/system-services/org.deepin.dde.LockService1.service b/misc/system-services/org.deepin.dde.LockService1.service index 321b336eb..d307e1c9f 100644 --- a/misc/system-services/org.deepin.dde.LockService1.service +++ b/misc/system-services/org.deepin.dde.LockService1.service @@ -1,5 +1,4 @@ [D-BUS Service] Name=org.deepin.dde.LockService1 Exec=/bin/false -User=deepin-daemon -SystemdService=deepin-user-lock.service +SystemdService=dde-lock-service.service diff --git a/misc/system-services/org.deepin.dde.Network1.service b/misc/system-services/org.deepin.dde.Network1.service index 4a9111a6d..8c0263b44 100644 --- a/misc/system-services/org.deepin.dde.Network1.service +++ b/misc/system-services/org.deepin.dde.Network1.service @@ -1,4 +1,4 @@ [D-BUS Service] Name=org.deepin.dde.Network1 Exec=/bin/false -SystemdService=deepin-accounts1-daemon.service +SystemdService=dde-system-daemon.service diff --git a/misc/system-services/org.deepin.dde.Power1.service b/misc/system-services/org.deepin.dde.Power1.service index d01c22e6a..f80b4d4d0 100644 --- a/misc/system-services/org.deepin.dde.Power1.service +++ b/misc/system-services/org.deepin.dde.Power1.service @@ -1,4 +1,4 @@ [D-BUS Service] Name=org.deepin.dde.Power1 Exec=/bin/false -SystemdService=deepin-accounts1-daemon.service +SystemdService=dde-system-daemon.service diff --git a/misc/system-services/org.deepin.dde.SwapSchedHelper1.service b/misc/system-services/org.deepin.dde.SwapSchedHelper1.service index 779110c71..37f5f8975 100644 --- a/misc/system-services/org.deepin.dde.SwapSchedHelper1.service +++ b/misc/system-services/org.deepin.dde.SwapSchedHelper1.service @@ -1,4 +1,4 @@ [D-BUS Service] Name=org.deepin.dde.SwapSchedHelper1 Exec=/bin/false -SystemdService=deepin-accounts1-daemon.service +SystemdService=dde-system-daemon.service diff --git a/misc/system-services/org.deepin.dde.Timedate1.service b/misc/system-services/org.deepin.dde.Timedate1.service index 16c7fc1a0..014f1d68a 100644 --- a/misc/system-services/org.deepin.dde.Timedate1.service +++ b/misc/system-services/org.deepin.dde.Timedate1.service @@ -1,4 +1,4 @@ [D-BUS Service] Name=org.deepin.dde.Timedate1 Exec=/bin/false -SystemdService=deepin-accounts1-daemon.service +SystemdService=dde-system-daemon.service diff --git a/misc/system-services/org.deepin.dde.Uadp1.service b/misc/system-services/org.deepin.dde.Uadp1.service index 384fe950c..fb157beb9 100644 --- a/misc/system-services/org.deepin.dde.Uadp1.service +++ b/misc/system-services/org.deepin.dde.Uadp1.service @@ -1,4 +1,4 @@ [D-BUS Service] Name=org.deepin.dde.Uadp1 Exec=/bin/false -SystemdService=deepin-accounts1-daemon.service \ No newline at end of file +SystemdService=dde-system-daemon.service \ No newline at end of file diff --git a/misc/systemd/services/system/deepin-authority.service b/misc/systemd/services/system/dde-authority.service similarity index 91% rename from misc/systemd/services/system/deepin-authority.service rename to misc/systemd/services/system/dde-authority.service index a94305014..cfd372f81 100644 --- a/misc/systemd/services/system/deepin-authority.service +++ b/misc/systemd/services/system/dde-authority.service @@ -34,3 +34,7 @@ RestrictRealtime=yes RemoveIPC=yes # 和golang -pie参数冲突,导致进程无法启动 #MemoryDenyWriteExecute=yes +MemoryLimit=100M + +[Install] +Alias=dbus-org.deepin.dde.Authority1.service diff --git a/misc/systemd/services/system/deepin-helper-backlight.service b/misc/systemd/services/system/dde-backlight-helper.service similarity index 86% rename from misc/systemd/services/system/deepin-helper-backlight.service rename to misc/systemd/services/system/dde-backlight-helper.service index 3ebab4ebf..06280fd68 100644 --- a/misc/systemd/services/system/deepin-helper-backlight.service +++ b/misc/systemd/services/system/dde-backlight-helper.service @@ -1,5 +1,5 @@ [Unit] -Description=deepin backlight helper service +Description=dde backlight helper service [Service] Type=dbus @@ -35,3 +35,7 @@ LockPersonality=yes RestrictRealtime=yes RemoveIPC=yes #MemoryDenyWriteExecute=yes +MemoryLimit=100M + +[Install] +Alias=dbus-org.deepin.dde.BacklightHelper1.service diff --git a/misc/systemd/services/system/deepin-greeter-setter.service b/misc/systemd/services/system/dde-greeter-setter.service similarity index 92% rename from misc/systemd/services/system/deepin-greeter-setter.service rename to misc/systemd/services/system/dde-greeter-setter.service index e5cd22545..4a3dac178 100644 --- a/misc/systemd/services/system/deepin-greeter-setter.service +++ b/misc/systemd/services/system/dde-greeter-setter.service @@ -34,3 +34,7 @@ RestrictRealtime=yes RemoveIPC=yes # 和golang -pie参数冲突,导致进程无法启动 #MemoryDenyWriteExecute=yes +MemoryLimit=100M + +[Install] +Alias=dbus-org.deepin.dde.Greeter1.service diff --git a/misc/systemd/services/system/deepin-user-lock.service b/misc/systemd/services/system/dde-lock-service.service similarity index 84% rename from misc/systemd/services/system/deepin-user-lock.service rename to misc/systemd/services/system/dde-lock-service.service index cdca4c32b..4246e425d 100644 --- a/misc/systemd/services/system/deepin-user-lock.service +++ b/misc/systemd/services/system/dde-lock-service.service @@ -3,10 +3,9 @@ Description=deepin user lock service [Service] Type=dbus -BusName=org.deepin.dde.LockService1 +BusName=org.deepin.dde.LockService ExecStart=/usr/lib/deepin-daemon/dde-lockservice # display和lockservice都会读写/var/lib/lightdm/lightdm-deepin-greeter/state_user文件,因此无法将lockservice单独改为非root -#User=deepin-daemon User=root StandardOutput=journal StandardError=journal @@ -17,7 +16,7 @@ InaccessiblePaths=-/etc/NetworkManager/system-connections InaccessiblePaths=-/etc/pam.d InaccessiblePaths=-/usr/share/uadp/ -ReadWritePaths=-/var/lib/lightdm +ReadWritePaths=-/var/lib/lightdm/lightdm-deepin-greeter NoNewPrivileges=true PrivateMounts=yes @@ -37,3 +36,7 @@ RestrictRealtime=yes RemoveIPC=yes # 和golang -pie参数冲突,导致进程无法启动 #MemoryDenyWriteExecute=yes +MemoryLimit=100M + +[Install] +Alias=dbus-org.deepin.dde.LockService.service diff --git a/misc/systemd/services/system/dde-system-daemon.service b/misc/systemd/services/system/dde-system-daemon.service new file mode 100644 index 000000000..c825eae64 --- /dev/null +++ b/misc/systemd/services/system/dde-system-daemon.service @@ -0,0 +1,115 @@ +[Unit] +Description=Accounts1 Service + +# In order to avoid races with identity-providing services like SSSD or +# winbind, we need to ensure that Accounts Service starts after +# nss-user-lookup.target +After=nss-user-lookup.target lightdm.service +Wants=nss-user-lookup.target fprintd.service + +[Service] +Type=simple +ExecStart=/usr/lib/deepin-daemon/dde-system-daemon +StandardOutput=journal +Environment=GVFS_DISABLE_FUSE=1 +Environment=GIO_USE_VFS=local +Environment=GVFS_REMOTE_VOLUME_MONITOR_IGNORE=1 + +ReadWritePaths=/usr/share/dde-daemon/ +ReadWritePaths=/var/lib/dde-daemon/ +ReadWritePaths=/var/cache/deepin/dde-daemon/ +ReadWritePaths=-/etc/dde-daemon/ +ReadOnlyPaths=/proc/ + +DevicePolicy=closed + +# clear tty +DeviceAllow=char-pts + +# bluetooth +ReadOnlyPaths=/var/lib/bluetooth + +# network +ReadOnlyPaths=/etc/NetworkManager/system-connections + +# plymouth +ReadOnlyPaths=/etc/os-version +ExecPaths=/usr/bin/uname +ExecPaths=/usr/sbin/plymouth-set-default-theme +ExecPaths=/usr/sbin/update-initramfs + +# wallpapers +ReadWritePaths=/usr/share/wallpapers/custom-wallpapers/ + +# Accounts +ReadOnlyPaths=/etc/deepin-version +ExecPaths=/usr/lib/dde-control-center/reset-password-dialog +ReadOnlyPaths=/etc/passwd +ReadOnlyPaths=/etc/group +ReadOnlyPaths=/etc/shadow +ReadOnlyPaths=/etc/sudoers +ReadOnlyPaths=/etc/lightdm/lightdm.conf +ReadOnlyPaths=-/usr/share/config/kdm/kdmrc +ReadOnlyPaths=-/etc/gdm/custom.conf +ReadOnlyPaths=/var/cache/image-blur/ +ReadWritePaths=/var/lib/AccountsService/ +ReadOnlyPaths=/home/ +ReadOnlyPaths=/var/log/btmp +ReadOnlyPaths=/var/log/wtmp + +# AirplaneMode +DeviceAllow=/dev/rfkill + +# Bluetooth +ReadOnlyPaths=/var/lib/bluetooth + +# Gesture +DeviceAllow=char-input + +# InputDevices、KeyEvent +ReadOnlyPaths=/sys/bus/usb/devices/ + +# Power +ReadOnlyPaths=-/usr/share/uos-hw-config +BindPaths=/sys/class/drm/ +ReadWritePaths=/sys/devices/system/cpu/ + +# PowerManager +ReadOnlyPaths=-/sys/power/mem_sleep + +# Scheduler +ReadOnlyPaths=/etc/deepin/scheduler/config.json +ReadOnlyPaths=/usr/share/deepin/scheduler/config.json + +# Timezone +ReadWritePaths=/etc/timezone +ReadWritePaths=/etc/systemd/timesyncd.conf.d/deepin.conf + +# UADP +DeviceAllow=char-tpm +ReadWritePaths=/usr/share/uadp/ + +ProtectSystem=full +#ProtectHome=yes +PrivateTmp=yes +#PrivateDevices=yes +PrivateNetwork=yes +ProtectHostname=yes +ProtectClock=yes +#ProtectKernelTunables=yes +ProtectKernelModules=yes +ProtectKernelLogs=yes +ProtectControlGroups=yes +RestrictAddressFamilies=AF_UNIX +RestrictNamespaces=yes +LockPersonality=yes +RestrictRealtime=yes +RestrictSUIDSGID=yes +RemoveIPC=yes + +[Install] +# We pull this in by graphical.target instead of waiting for the bus +# activation, to speed things up a little: gdm uses this anyway so it is nice +# if it is already around when gdm wants to use it and doesn't have to wait for +# it. +WantedBy=graphical.target diff --git a/misc/systemd/services/system/deepin-accounts1-daemon.service b/misc/systemd/services/system/deepin-accounts1-daemon.service deleted file mode 100644 index b82fbcdc5..000000000 --- a/misc/systemd/services/system/deepin-accounts1-daemon.service +++ /dev/null @@ -1,27 +0,0 @@ -[Unit] -Description=Accounts Service - -# In order to avoid races with identity-providing services like SSSD or -# winbind, we need to ensure that Accounts Service starts after -# nss-user-lookup.target -After=nss-user-lookup.target lightdm.service -Wants=nss-user-lookup.target fprintd.service - -[Service] -Type=dbus -BusName=org.deepin.dde.Accounts1 -ExecStart=/usr/lib/deepin-daemon/dde-system-daemon -StandardOutput=null -StandardError=journal -Environment=GVFS_DISABLE_FUSE=1 -Environment=GIO_USE_VFS=local -Environment=GVFS_REMOTE_VOLUME_MONITOR_IGNORE=1 -CapabilityBoundingSet=~CAP_AUDIT_CONTROL -NoNewPrivileges=true - -[Install] -# We pull this in by graphical.target instead of waiting for the bus -# activation, to speed things up a little: gdm uses this anyway so it is nice -# if it is already around when gdm wants to use it and doesn't have to wait for -# it. -WantedBy=graphical.target diff --git a/misc/systemd/services/system/deepin-grub2.service b/misc/systemd/services/system/deepin-grub2.service index 4aaa991ef..bd8d3e78f 100644 --- a/misc/systemd/services/system/deepin-grub2.service +++ b/misc/systemd/services/system/deepin-grub2.service @@ -42,3 +42,7 @@ RestrictRealtime=yes RemoveIPC=yes # 和golang -pie参数冲突,导致进程无法启动 #MemoryDenyWriteExecute=yes +MemoryLimit=100M + +[Install] +Alias=dbus-org.deepin.dde.Grub2.service From dc5af3bc6f233fd237bfe93d568b046569948359 Mon Sep 17 00:00:00 2001 From: zsien Date: Mon, 9 Sep 2024 14:51:34 +0800 Subject: [PATCH 2/2] chore: remove deprecated ioutil remove deprecated ioutil --- accounts1/checkers/username.go | 4 ++-- accounts1/manager.go | 7 +++---- accounts1/user.go | 5 ++--- accounts1/user_chpwd_union_id.go | 3 +-- accounts1/user_ifc.go | 3 +-- accounts1/users/display_manager.go | 7 +++---- accounts1/users/list.go | 3 +-- accounts1/users/prop.go | 3 +-- accounts1/utils.go | 3 +-- appinfo/rate.go | 3 +-- apps1/subrecorder.go | 6 +++--- audio1/bluez_audio.go | 6 +++--- audio1/config.go | 5 ++--- audio1/config_keeper.go | 10 +++++----- audio1/config_keeper_test.go | 3 +-- audio1/priority_manager.go | 6 +++--- audio1/priority_old.go | 6 +++--- audio1/util.go | 4 ++-- bin/dde-lockservice/livecd.go | 4 ++-- bin/dde-session-daemon/main.go | 3 +-- bin/dde-system-daemon/network.go | 4 ++-- bin/dde-system-daemon/plymouth.go | 4 ++-- bin/dde-system-daemon/wallpaper.go | 21 ++++++++++++++++----- bin/search/data_rw.go | 3 +-- bluetooth1/utils.go | 4 ++-- calltrace/cpu.go | 5 ++--- clipboard1/clipboard_test.go | 7 +++---- clipboard1/manager_debug.go | 5 ++--- clipboard1/util.go | 3 +-- common/cpuinfo/cpuinfo.go | 4 ++-- common/dsync/network.go | 5 ++--- fprintd1/common/common.go | 3 +-- fprintd1/huawei_device.go | 5 ++--- gesture1/config.go | 4 ++-- gesture1/manager.go | 3 +-- gesture1/utils.go | 4 ++-- grub2/edit_auth.go | 7 +++---- grub2/grub2.go | 9 ++++----- grub2/grub2_ifc.go | 4 ++-- grub2/grub_params.go | 4 ++-- grub2/log.go | 3 +-- grub2/main.go | 5 ++--- grub2/utils.go | 5 ++--- grub2/utils_test.go | 9 ++++----- grub_common/common.go | 3 +-- inputdevices1/layout_list.go | 4 ++-- inputdevices1/touchpad.go | 5 ++--- iw/iw.go | 4 ++-- keybinding1/config.go | 3 +-- keybinding1/shortcuts/shortcut_manager.go | 3 +-- keybinding1/shortcuts/system_shortcut.go | 4 ++-- keybinding1/special_keycode.go | 4 ++-- keybinding1/utils.go | 5 ++--- launcher/manager_uninstall.go | 3 +-- mime/config_data.go | 4 ++-- mime/custom.go | 5 ++--- network1/nm_generator/utils.go | 5 ++--- network1/proxychains/config.go | 6 +++--- service_trigger/manager.go | 4 ++-- service_trigger/service.go | 4 ++-- session/eventlog/app_event_test.go | 5 ++--- session/eventlog/event_collector.go | 13 ++++++------- session/power1/power_save_plan.go | 5 ++--- session/power1/utils.go | 4 ++-- system/airplane_mode1/config.go | 5 ++--- system/airplane_mode1/utils.go | 4 ++-- system/display1/displaycfg.go | 11 +++++------ system/gesture1/config.go | 4 ++-- system/hostname/hostname.go | 5 ++--- system/inputdevices1/inputdevices.go | 12 ++++++------ system/inputdevices1/touchpad.go | 7 +++---- system/keyevent1/manager.go | 9 ++++----- system/network1/config.go | 5 ++--- system/power1/lid_switch_sw.go | 3 +-- system/power1/manager.go | 3 +-- system/power_manager1/utils.go | 4 ++-- system/resource_ctl/cgroup.go | 5 ++--- system/scheduler/config.go | 4 ++-- system/uadp1/crypto.go | 5 ++--- system/uadp1/data_manager.go | 9 ++++----- systeminfo1/utils.go | 4 ++-- timedate1/zoneinfo/zone.go | 4 ++-- 82 files changed, 191 insertions(+), 229 deletions(-) diff --git a/accounts1/checkers/username.go b/accounts1/checkers/username.go index 4e025942a..e6d87b6a3 100644 --- a/accounts1/checkers/username.go +++ b/accounts1/checkers/username.go @@ -6,7 +6,7 @@ package checkers import ( "errors" - "io/ioutil" + "os" "os/user" "regexp" "strconv" @@ -159,7 +159,7 @@ func (name Username) getUid() (int64, error) { } func getAllUsername(file string) (UsernameList, error) { - content, err := ioutil.ReadFile(file) + content, err := os.ReadFile(file) if err != nil { return nil, err } diff --git a/accounts1/manager.go b/accounts1/manager.go index 3b0f696af..e13b04f2b 100644 --- a/accounts1/manager.go +++ b/accounts1/manager.go @@ -8,7 +8,6 @@ import ( "encoding/json" "errors" "fmt" - "io/ioutil" "os" "os/exec" "path/filepath" @@ -252,7 +251,7 @@ func (m *Manager) initUsers(list []string) { func (m *Manager) initUdcpCache() error { // 解析json文件 新建udcp-cache对象 var ifcCfg InterfaceConfig - content, err := ioutil.ReadFile(interfacesFile) + content, err := os.ReadFile(interfacesFile) if err != nil { return err } @@ -592,7 +591,7 @@ func (m *Manager) loadDomainUserConfig() error { return err } } else { - data, err := ioutil.ReadFile(configFile) + data, err := os.ReadFile(configFile) if err != nil { return err } @@ -622,7 +621,7 @@ func (m *Manager) saveDomainUserConfig(config DefaultDomainUserConfig) error { return err } - err = ioutil.WriteFile(configFile, data, 0644) + err = os.WriteFile(configFile, data, 0644) return err } diff --git a/accounts1/user.go b/accounts1/user.go index 673073978..5adb344c7 100644 --- a/accounts1/user.go +++ b/accounts1/user.go @@ -8,7 +8,6 @@ import ( "encoding/base64" "errors" "fmt" - "io/ioutil" "os" "path" "path/filepath" @@ -707,7 +706,7 @@ func scaleUserIcon(file string) (string, bool, error) { // return temp file path and error func getTempFile() (string, error) { - tmpfile, err := ioutil.TempFile("", "dde-daemon-accounts") + tmpfile, err := os.CreateTemp("", "dde-daemon-accounts") if err != nil { return "", err } @@ -739,7 +738,7 @@ func getUserSession(homeDir string) string { } func getSessionList() []string { - fileInfoList, err := ioutil.ReadDir("/usr/share/xsessions") + fileInfoList, err := os.ReadDir("/usr/share/xsessions") if err != nil { return nil } diff --git a/accounts1/user_chpwd_union_id.go b/accounts1/user_chpwd_union_id.go index 3eab230a3..3ffae321a 100644 --- a/accounts1/user_chpwd_union_id.go +++ b/accounts1/user_chpwd_union_id.go @@ -10,7 +10,6 @@ import ( "errors" "fmt" "io" - "io/ioutil" "os" "os/exec" "os/user" @@ -692,7 +691,7 @@ func removeLoginKeyring(user *User) (err error) { isUseWhiteboxFunc := func() bool { statusFile := fmt.Sprintf("%s/status", dir) if dutils.IsFileExist(dir) && dutils.IsFileExist(statusFile) { - content, err := ioutil.ReadFile(statusFile) + content, err := os.ReadFile(statusFile) if err != nil { return false } diff --git a/accounts1/user_ifc.go b/accounts1/user_ifc.go index 610923139..61da21dd3 100644 --- a/accounts1/user_ifc.go +++ b/accounts1/user_ifc.go @@ -22,7 +22,6 @@ import ( "errors" "fmt" "io" - "io/ioutil" "os" "path" "path/filepath" @@ -1249,7 +1248,7 @@ func (u *User) SetSecretQuestions(sender dbus.Sender, list map[int][]byte) *dbus content.WriteRune('\n') } - err = ioutil.WriteFile(path, content.Bytes(), 0600) + err = os.WriteFile(path, content.Bytes(), 0600) return dbusutil.ToError(err) } diff --git a/accounts1/users/display_manager.go b/accounts1/users/display_manager.go index fd3d5015b..bbaf3e3ce 100644 --- a/accounts1/users/display_manager.go +++ b/accounts1/users/display_manager.go @@ -6,7 +6,6 @@ package users import ( "fmt" - "io/ioutil" "os" "path" "path/filepath" @@ -438,7 +437,7 @@ func getDefaultDM(file string) (string, error) { return "", fmt.Errorf("Not found this file: %s", file) } - content, err := ioutil.ReadFile(file) + content, err := os.ReadFile(file) if err != nil { return "", err } @@ -478,7 +477,7 @@ func getDMFromSystemService(service string) (string, error) { // enable autologin: set 'auto_login' to 'yes', and 'default_user' to 'username' func parseSlimConfig(filename, username string, isWirte bool) (string, error) { - content, err := ioutil.ReadFile(filename) + content, err := os.ReadFile(filename) if err != nil { return "", err } @@ -547,5 +546,5 @@ func parseSlimConfig(filename, username string, isWirte bool) (string, error) { } data := strings.Join(lines, "\n") - return "", ioutil.WriteFile(filename, []byte(data), 0644) + return "", os.WriteFile(filename, []byte(data), 0644) } diff --git a/accounts1/users/list.go b/accounts1/users/list.go index afc5579e2..2468b3184 100644 --- a/accounts1/users/list.go +++ b/accounts1/users/list.go @@ -8,7 +8,6 @@ import ( "bufio" "errors" "fmt" - "io/ioutil" "os" "strconv" "strings" @@ -131,7 +130,7 @@ func getUserInfo(condition UserInfo, file string) (UserInfo, error) { } func getUserInfosFromFile(file string) (UserInfos, error) { - content, err := ioutil.ReadFile(file) + content, err := os.ReadFile(file) if err != nil { return nil, err } diff --git a/accounts1/users/prop.go b/accounts1/users/prop.go index c0415186a..a870d5500 100644 --- a/accounts1/users/prop.go +++ b/accounts1/users/prop.go @@ -9,7 +9,6 @@ import ( "bytes" "errors" "fmt" - "io/ioutil" "os" "os/exec" "sort" @@ -417,7 +416,7 @@ func getGroupInfoWithCache(file string) (map[string]GroupInfo, error) { return groupFileInfo, nil } - content, err := ioutil.ReadFile(file) + content, err := os.ReadFile(file) if err != nil { return nil, err } diff --git a/accounts1/utils.go b/accounts1/utils.go index 5bae16fd0..74822746b 100644 --- a/accounts1/utils.go +++ b/accounts1/utils.go @@ -9,7 +9,6 @@ import ( "errors" "fmt" "io" - "io/ioutil" "math/rand" "os" "path/filepath" @@ -328,7 +327,7 @@ func getValueFromLine(line, delim string) string { // Get available shells from '/etc/shells' func getAvailableShells(file string) []string { - contents, err := ioutil.ReadFile(file) + contents, err := os.ReadFile(file) if err != nil || len(contents) == 0 { return nil } diff --git a/appinfo/rate.go b/appinfo/rate.go index 945a7daad..5cea2870f 100644 --- a/appinfo/rate.go +++ b/appinfo/rate.go @@ -5,7 +5,6 @@ package appinfo import ( - "io/ioutil" "os" "github.com/linuxdeepin/go-gir/glib-2.0" @@ -43,7 +42,7 @@ func saveKeyFile(file *glib.KeyFile, path string) error { return err } - err = ioutil.WriteFile(path, []byte(content), stat.Mode()) + err = os.WriteFile(path, []byte(content), stat.Mode()) if err != nil { return err } diff --git a/apps1/subrecorder.go b/apps1/subrecorder.go index 680c599da..874e34dd1 100644 --- a/apps1/subrecorder.go +++ b/apps1/subrecorder.go @@ -9,9 +9,7 @@ import ( "crypto/md5" "encoding/csv" "fmt" - "github.com/linuxdeepin/go-lib/utils" "io" - "io/ioutil" "os" "os/exec" "os/user" @@ -19,6 +17,8 @@ import ( "strings" "sync" "time" + + "github.com/linuxdeepin/go-lib/utils" ) const ( @@ -216,7 +216,7 @@ func (sr *SubRecorder) writeStatus(w io.Writer) error { func (sr *SubRecorder) save() error { logger.Debug("SubRecorder.save", sr.root, sr.statusFile) file := sr.statusFile - f, err := ioutil.TempFile("", fmt.Sprintf("%s.new%x-", filepath.Base(file), time.Now().UnixNano())) + f, err := os.CreateTemp("", fmt.Sprintf("%s.new%x-", filepath.Base(file), time.Now().UnixNano())) if err != nil { return err } diff --git a/audio1/bluez_audio.go b/audio1/bluez_audio.go index 4e1e7fa76..6e1bdb9f9 100644 --- a/audio1/bluez_audio.go +++ b/audio1/bluez_audio.go @@ -6,7 +6,7 @@ package audio import ( "encoding/json" - "io/ioutil" + "os" "path/filepath" "strings" @@ -67,7 +67,7 @@ func (m *BluezAudioManager) Save() { return } - err = ioutil.WriteFile(m.file, data, 0644) + err = os.WriteFile(m.file, data, 0644) if err != nil { logger.Warning(err) return @@ -76,7 +76,7 @@ func (m *BluezAudioManager) Save() { /* 加载配置 */ func (m *BluezAudioManager) Load() { - data, err := ioutil.ReadFile(m.file) + data, err := os.ReadFile(m.file) if err != nil { logger.Warning(err) return diff --git a/audio1/config.go b/audio1/config.go index 0429bdb2a..16edc665a 100644 --- a/audio1/config.go +++ b/audio1/config.go @@ -6,7 +6,6 @@ package audio import ( "encoding/json" - "io/ioutil" "os" "path/filepath" "sync" @@ -61,7 +60,7 @@ func readConfig() (*config, error) { } var info config - content, err := ioutil.ReadFile(configFile) + content, err := os.ReadFile(configFile) if err != nil { return nil, err } @@ -93,7 +92,7 @@ func saveConfig(info *config) error { if err != nil { return err } - err = ioutil.WriteFile(configFile, content, 0644) + err = os.WriteFile(configFile, content, 0644) if err != nil { return err } diff --git a/audio1/config_keeper.go b/audio1/config_keeper.go index d203e0f22..fef4d8915 100644 --- a/audio1/config_keeper.go +++ b/audio1/config_keeper.go @@ -6,7 +6,7 @@ package audio import ( "encoding/json" - "io/ioutil" + "os" "path/filepath" "strings" "sync" @@ -113,7 +113,7 @@ func (ck *ConfigKeeper) Save() error { return err } - err = ioutil.WriteFile(ck.file, data, 0644) + err = os.WriteFile(ck.file, data, 0644) if err != nil { logger.Warning(err) // 这里不返回,因为可能可以写另一个配置 @@ -125,7 +125,7 @@ func (ck *ConfigKeeper) Save() error { return err } - err = ioutil.WriteFile(ck.muteFile, data, 0644) + err = os.WriteFile(ck.muteFile, data, 0644) if err != nil { logger.Warning(err) return err @@ -135,7 +135,7 @@ func (ck *ConfigKeeper) Save() error { } func (ck *ConfigKeeper) Load() error { - data, err := ioutil.ReadFile(ck.file) + data, err := os.ReadFile(ck.file) if err != nil { logger.Warning(err) return err @@ -146,7 +146,7 @@ func (ck *ConfigKeeper) Load() error { logger.Warning(err) } - data, err = ioutil.ReadFile(ck.muteFile) + data, err = os.ReadFile(ck.muteFile) if err != nil { logger.Warning(err) return err diff --git a/audio1/config_keeper_test.go b/audio1/config_keeper_test.go index 1985f68b2..72b9e0c65 100644 --- a/audio1/config_keeper_test.go +++ b/audio1/config_keeper_test.go @@ -4,7 +4,6 @@ package audio import ( - "io/ioutil" "os" "testing" @@ -74,7 +73,7 @@ func TestConfigKeeper_Save(t *testing.T) { require.NoError(t, err) assert.Equal(t, 0644, int(s.Mode())&0777) - content, err := ioutil.ReadFile(tt.fields.file) + content, err := os.ReadFile(tt.fields.file) require.NoError(t, err) assert.Equal(t, tt.fileContent, string(content)) diff --git a/audio1/priority_manager.go b/audio1/priority_manager.go index 8a900ed48..44330b9e7 100644 --- a/audio1/priority_manager.go +++ b/audio1/priority_manager.go @@ -6,7 +6,7 @@ package audio import ( "encoding/json" - "io/ioutil" + "os" "path/filepath" "github.com/linuxdeepin/go-lib/pulse" @@ -71,7 +71,7 @@ func (pm *PriorityManager) Save() { return } - err = ioutil.WriteFile(pm.file, data, 0644) + err = os.WriteFile(pm.file, data, 0644) if err != nil { logger.Warning(err) return @@ -80,7 +80,7 @@ func (pm *PriorityManager) Save() { // 读取配置文件 func (pm *PriorityManager) Load() bool { - data, err := ioutil.ReadFile(pm.file) + data, err := os.ReadFile(pm.file) if err != nil { logger.Warningf("failed to read file '%s': %v", pm.file, err) return false diff --git a/audio1/priority_old.go b/audio1/priority_old.go index 3989ab8e8..e410de2fb 100644 --- a/audio1/priority_old.go +++ b/audio1/priority_old.go @@ -6,7 +6,7 @@ package audio import ( "encoding/json" - "io/ioutil" + "os" "strings" "github.com/linuxdeepin/go-lib/pulse" @@ -143,7 +143,7 @@ func (pr *Priorities) Save(file string) error { return err } - return ioutil.WriteFile(file, data, 0644) + return os.WriteFile(file, data, 0644) } func (pr *Priorities) Print() { @@ -156,7 +156,7 @@ func (pr *Priorities) Print() { } func (pr *Priorities) Load(file string, cards CardList) { - data, err := ioutil.ReadFile(file) + data, err := os.ReadFile(file) if err != nil { logger.Warning(err) pr.defaultInit(cards) diff --git a/audio1/util.go b/audio1/util.go index f128b8ae5..e010ecda7 100644 --- a/audio1/util.go +++ b/audio1/util.go @@ -8,8 +8,8 @@ import ( "bufio" "bytes" "encoding/json" - "io/ioutil" "math" + "os" "strings" "unicode" @@ -100,7 +100,7 @@ func floatPrecision(f float64) float64 { const defaultPaFile = "/etc/pulse/default.pa" func loadDefaultPaConfig(filename string) (cfg defaultPaConfig) { - content, err := ioutil.ReadFile(filename) + content, err := os.ReadFile(filename) if err != nil { logger.Warning(err) return diff --git a/bin/dde-lockservice/livecd.go b/bin/dde-lockservice/livecd.go index cf0a44ab9..725bf6533 100644 --- a/bin/dde-lockservice/livecd.go +++ b/bin/dde-lockservice/livecd.go @@ -6,12 +6,12 @@ package main import ( "fmt" - "io/ioutil" + "os" "strings" ) func isInLiveCD(username string) bool { - cmdline, err := ioutil.ReadFile("/proc/cmdline") + cmdline, err := os.ReadFile("/proc/cmdline") if err != nil { fmt.Println("failed to read /proc/cmdline") return false diff --git a/bin/dde-session-daemon/main.go b/bin/dde-session-daemon/main.go index 70f45d759..952501cc1 100755 --- a/bin/dde-session-daemon/main.go +++ b/bin/dde-session-daemon/main.go @@ -14,7 +14,6 @@ import ( "bufio" "flag" "fmt" - "io/ioutil" "math/rand" "os" "os/user" @@ -323,7 +322,7 @@ type pamEnvKeyValue struct { } func loadPamEnv(filename string) ([]pamEnvKeyValue, error) { - content, err := ioutil.ReadFile(filename) + content, err := os.ReadFile(filename) if err != nil { return nil, err } diff --git a/bin/dde-system-daemon/network.go b/bin/dde-system-daemon/network.go index 9f8a56fe9..8d6ee10df 100644 --- a/bin/dde-system-daemon/network.go +++ b/bin/dde-system-daemon/network.go @@ -6,7 +6,7 @@ package main import ( "encoding/json" - "io/ioutil" + "os" "path/filepath" "sort" @@ -146,7 +146,7 @@ func loadConnectionFile(filename string) (*Connection, error) { } func getConnectionFiles(dir string) ([]string, error) { - finfos, err := ioutil.ReadDir(dir) + finfos, err := os.ReadDir(dir) if err != nil { return nil, err } diff --git a/bin/dde-system-daemon/plymouth.go b/bin/dde-system-daemon/plymouth.go index 4226d9717..0e28e7d85 100644 --- a/bin/dde-system-daemon/plymouth.go +++ b/bin/dde-system-daemon/plymouth.go @@ -7,7 +7,7 @@ package main import ( "bytes" "fmt" - "io/ioutil" + "os" "os/exec" "strings" "sync" @@ -154,7 +154,7 @@ func getEditionName() (string, error) { } func parseInfoFile(file, delim string) (map[string]string, error) { - content, err := ioutil.ReadFile(file) + content, err := os.ReadFile(file) if err != nil { return nil, err } diff --git a/bin/dde-system-daemon/wallpaper.go b/bin/dde-system-daemon/wallpaper.go index 4e4acb450..6637c6956 100644 --- a/bin/dde-system-daemon/wallpaper.go +++ b/bin/dde-system-daemon/wallpaper.go @@ -7,7 +7,6 @@ package main import ( "errors" "fmt" - "io/ioutil" "os" "os/exec" "os/user" @@ -79,7 +78,7 @@ func RemoveOverflowWallPapers(username string, max int) error { return err } for _, dir := range dirs { - fileinfos, err := ioutil.ReadDir(dir) + fileinfos, err := os.ReadDir(dir) if err != nil { logger.Warning(err) continue @@ -90,7 +89,19 @@ func RemoveOverflowWallPapers(username string, max int) error { continue } - sort.Slice(fileinfos, func(i, j int) bool { return fileinfos[i].ModTime().Before(fileinfos[j].ModTime()) }) + sort.Slice(fileinfos, func(i, j int) bool { + infoI, err := fileinfos[i].Info() + if err != nil { + logger.Warning(err) + return false + } + infoJ, err := fileinfos[j].Info() + if err != nil { + logger.Warning(err) + return false + } + return infoI.ModTime().Before(infoJ.ModTime()) + }) for i := 0; i < len(fileinfos)-max; i++ { err = os.Remove(filepath.Join(dir, fileinfos[i].Name())) if err != nil { @@ -272,7 +283,7 @@ func (d *Daemon) SaveCustomWallPaper(sender dbus.Sender, username string, file s return "", dbusutil.ToError(err) } - err = ioutil.WriteFile(destFile, src, 0644) + err = os.WriteFile(destFile, src, 0644) if err != nil { logger.Warning(err) return "", dbusutil.ToError(err) @@ -312,7 +323,7 @@ func (*Daemon) GetCustomWallPapers(username string) ([]string, *dbus.Error) { for _, dir := range dirs { - fileinfos, err := ioutil.ReadDir(dir) + fileinfos, err := os.ReadDir(dir) if err != nil { logger.Warning(err) return []string{}, dbusutil.ToError(err) diff --git a/bin/search/data_rw.go b/bin/search/data_rw.go index d26b72635..8decf7b6c 100644 --- a/bin/search/data_rw.go +++ b/bin/search/data_rw.go @@ -7,7 +7,6 @@ package main import ( "bytes" "encoding/gob" - "io/ioutil" "os" dutils "github.com/linuxdeepin/go-lib/utils" @@ -43,7 +42,7 @@ func readDatasFromFile(datas interface{}, filename string) bool { return false } - contents, err := ioutil.ReadFile(filename) + contents, err := os.ReadFile(filename) if err != nil { logger.Warningf("failed to read file %q: %v", filename, err) return false diff --git a/bluetooth1/utils.go b/bluetooth1/utils.go index acd258bed..39417340d 100644 --- a/bluetooth1/utils.go +++ b/bluetooth1/utils.go @@ -6,7 +6,7 @@ package bluetooth import ( "encoding/json" - "io/ioutil" + "os" "strconv" "github.com/linuxdeepin/go-lib/procfs" @@ -33,7 +33,7 @@ func marshalJSON(v interface{}) (strJSON string) { // find process func checkProcessExists(processName string) bool { - files, err := ioutil.ReadDir("/proc") + files, err := os.ReadDir("/proc") if err != nil { logger.Warningf("read proc failed,err:%v", err) } diff --git a/calltrace/cpu.go b/calltrace/cpu.go index 5518be3e3..b7a530cb6 100644 --- a/calltrace/cpu.go +++ b/calltrace/cpu.go @@ -6,7 +6,6 @@ package calltrace import ( "fmt" - "io/ioutil" "os" "os/exec" "strconv" @@ -25,7 +24,7 @@ type cpuTimeInfo struct { func getCPUPercentage() (float64, error) { statFile := fmt.Sprintf("/proc/%d/stat", os.Getpid()) - contents, err := ioutil.ReadFile(statFile) + contents, err := os.ReadFile(statFile) if err != nil { logger.Warning("Failed to read contents:", err) return 0, err @@ -57,7 +56,7 @@ func (info *cpuTimeInfo) Percentage() float64 { } func getUptime() float64 { - contents, err := ioutil.ReadFile("/proc/uptime") + contents, err := os.ReadFile("/proc/uptime") if err != nil { logger.Warning("Failed to read uptime:", err) return 0 diff --git a/clipboard1/clipboard_test.go b/clipboard1/clipboard_test.go index c06f288e2..7d476b794 100644 --- a/clipboard1/clipboard_test.go +++ b/clipboard1/clipboard_test.go @@ -5,7 +5,6 @@ package clipboard import ( - "io/ioutil" "os" "path/filepath" "testing" @@ -95,18 +94,18 @@ func Test_getBytesMd5sum(t *testing.T) { } func Test_emptyDir(t *testing.T) { - dir, err := ioutil.TempDir("", "dde-daemon-clipboard-test") + dir, err := os.MkdirTemp("", "dde-daemon-clipboard-test") if err != nil { assert.FailNow(t, "failed to create temp dir: %v", err) } t.Log("dir:", dir) - err = ioutil.WriteFile(filepath.Join(dir, "1"), []byte("abc"), 0644) + err = os.WriteFile(filepath.Join(dir, "1"), []byte("abc"), 0644) assert.NoError(t, err) err = os.Mkdir(filepath.Join(dir, "d1"), 0755) assert.NoError(t, err) - err = ioutil.WriteFile(filepath.Join(dir, "d1/1"), []byte("abc"), 0644) + err = os.WriteFile(filepath.Join(dir, "d1/1"), []byte("abc"), 0644) assert.NoError(t, err) err = emptyDir(dir) diff --git a/clipboard1/manager_debug.go b/clipboard1/manager_debug.go index 78ea4b176..1d59d0606 100644 --- a/clipboard1/manager_debug.go +++ b/clipboard1/manager_debug.go @@ -7,7 +7,6 @@ package clipboard import ( "bytes" "fmt" - "io/ioutil" "os" "path/filepath" "strconv" @@ -84,14 +83,14 @@ func (m *Manager) writeContent() error { return err } - err = ioutil.WriteFile(filepath.Join(dir, strconv.Itoa(int(target))), targetData.Data, 0644) + err = os.WriteFile(filepath.Join(dir, strconv.Itoa(int(target))), targetData.Data, 0644) if err != nil { m.contentMu.Unlock() return err } } m.contentMu.Unlock() - err = ioutil.WriteFile(filepath.Join(dir, "index.txt"), buf.Bytes(), 0600) + err = os.WriteFile(filepath.Join(dir, "index.txt"), buf.Bytes(), 0600) if err != nil { return err } diff --git a/clipboard1/util.go b/clipboard1/util.go index 8f53af004..f8036c4b1 100644 --- a/clipboard1/util.go +++ b/clipboard1/util.go @@ -8,7 +8,6 @@ import ( "crypto/md5" "errors" "fmt" - "io/ioutil" "os" "path/filepath" "strconv" @@ -177,7 +176,7 @@ func getBytesMd5sum(data []byte) string { } func emptyDir(dir string) error { - fileInfoList, err := ioutil.ReadDir(dir) + fileInfoList, err := os.ReadDir(dir) if err != nil { return err } diff --git a/common/cpuinfo/cpuinfo.go b/common/cpuinfo/cpuinfo.go index 2d107c933..2db5ffc1f 100644 --- a/common/cpuinfo/cpuinfo.go +++ b/common/cpuinfo/cpuinfo.go @@ -1,7 +1,7 @@ package cpuinfo import ( - "io/ioutil" + "os" "regexp" "strconv" "strings" @@ -73,7 +73,7 @@ type Processor struct { var cpuinfoRegExp = regexp.MustCompile(`([^:]*?)\s*:\s*(.*)$`) func ReadCPUInfo(path string) (*CPUInfo, error) { - b, err := ioutil.ReadFile(path) + b, err := os.ReadFile(path) if err != nil { return nil, err } diff --git a/common/dsync/network.go b/common/dsync/network.go index b10fa5021..5365ea5ee 100644 --- a/common/dsync/network.go +++ b/common/dsync/network.go @@ -6,10 +6,9 @@ package dsync import ( "errors" - "io/ioutil" + "fmt" "os" "path/filepath" - "fmt" "strings" ) @@ -119,7 +118,7 @@ func (data *Connection) WriteFile(dir string) error { if !strings.HasPrefix(absPath, dir) { return fmt.Errorf("%s is not in %s", absPath, dir) } - return ioutil.WriteFile(absPath, data.Contents, 0600) + return os.WriteFile(absPath, data.Contents, 0600) } func (data *Connection) RemoveFile(dir string) error { diff --git a/fprintd1/common/common.go b/fprintd1/common/common.go index 3f81184a2..eac9d041c 100644 --- a/fprintd1/common/common.go +++ b/fprintd1/common/common.go @@ -6,7 +6,6 @@ package common import ( "errors" - "io/ioutil" "os" "path/filepath" @@ -32,7 +31,7 @@ func DeleteEnrolledFingers(username, userUuid string) error { // remove huawei fingers huaweiFprintUserDir := filepath.Join(HuaweiFprintDir, userUuid) - fileInfoList, err := ioutil.ReadDir(huaweiFprintUserDir) + fileInfoList, err := os.ReadDir(huaweiFprintUserDir) if err != nil { if os.IsNotExist(err) { return nil diff --git a/fprintd1/huawei_device.go b/fprintd1/huawei_device.go index a06641208..f66abb8ab 100644 --- a/fprintd1/huawei_device.go +++ b/fprintd1/huawei_device.go @@ -6,7 +6,6 @@ package fprintd1 import ( "errors" - "io/ioutil" "os" "path/filepath" "sync" @@ -362,7 +361,7 @@ func (dev *HuaweiDevice) deleteEnrolledFingers(sender dbus.Sender, username stri return err } - fileInfoList, err := ioutil.ReadDir(dir) + fileInfoList, err := os.ReadDir(dir) if err != nil { return err } @@ -450,7 +449,7 @@ func (dev *HuaweiDevice) listEnrolledFingers(username string) ([]string, error) return nil, err } - fileInfoList, err := ioutil.ReadDir(dir) + fileInfoList, err := os.ReadDir(dir) if err != nil { return nil, err } diff --git a/gesture1/config.go b/gesture1/config.go index 42fe43b58..190ad4b5f 100644 --- a/gesture1/config.go +++ b/gesture1/config.go @@ -7,7 +7,7 @@ package gesture1 import ( "encoding/json" "fmt" - "io/ioutil" + "os" "path/filepath" "github.com/adrg/xdg" @@ -77,7 +77,7 @@ func (infos gestureInfos) Set(evInfo EventInfo, action ActionInfo) error { } func newGestureInfosFromFile(filename string) (gestureInfos, error) { - content, err := ioutil.ReadFile(filepath.Clean(filename)) + content, err := os.ReadFile(filepath.Clean(filename)) if err != nil { return nil, err } diff --git a/gesture1/manager.go b/gesture1/manager.go index 7471adfa0..e15a5482c 100644 --- a/gesture1/manager.go +++ b/gesture1/manager.go @@ -8,7 +8,6 @@ import ( "encoding/json" "fmt" - "io/ioutil" "math" "os" "os/exec" @@ -466,7 +465,7 @@ func (m *Manager) Write() error { return err } // #nosec G306 - return ioutil.WriteFile(m.userFile, data, 0644) + return os.WriteFile(m.userFile, data, 0644) } func (m *Manager) listenGSettingsChanged() { diff --git a/gesture1/utils.go b/gesture1/utils.go index 50d2813cc..0f8deda7c 100644 --- a/gesture1/utils.go +++ b/gesture1/utils.go @@ -6,7 +6,7 @@ package gesture1 import ( "fmt" - "io/ioutil" + "os" "strings" "github.com/godbus/dbus/v5" @@ -72,7 +72,7 @@ func getCurrentActionWindowCmd() string { logger.Warning("Failed to get current window pid:", err) return "" } - data, err := ioutil.ReadFile(fmt.Sprintf("/proc/%d/cmdline", pid)) + data, err := os.ReadFile(fmt.Sprintf("/proc/%d/cmdline", pid)) if err != nil { logger.Warning("Failed to read cmdline:", err) return "" diff --git a/grub2/edit_auth.go b/grub2/edit_auth.go index 28266ac9b..33a03d501 100644 --- a/grub2/edit_auth.go +++ b/grub2/edit_auth.go @@ -8,7 +8,6 @@ import ( "bytes" "fmt" "io" - "io/ioutil" "os" "regexp" "sync" @@ -59,7 +58,7 @@ func (e *EditAuth) init() { } logger.Debugf("load data from %s", e.configFile) - data, err := ioutil.ReadFile(e.configFile) + data, err := os.ReadFile(e.configFile) if err != nil { logger.Warning(err) } @@ -80,7 +79,7 @@ func (e *EditAuth) loadUserAuthInfo() error { } logger.Debugf("load data from %s", e.configFile) - data, err := ioutil.ReadFile(e.configFile) + data, err := os.ReadFile(e.configFile) if err != nil { return err } @@ -107,7 +106,7 @@ exec tail -n +3 $0 b.Write(v) } - return ioutil.WriteFile(e.configFile, b.Bytes(), 0755) + return os.WriteFile(e.configFile, b.Bytes(), 0755) } func (e *EditAuth) load() { diff --git a/grub2/grub2.go b/grub2/grub2.go index fdeee4e0b..c977b9de7 100644 --- a/grub2/grub2.go +++ b/grub2/grub2.go @@ -9,7 +9,6 @@ import ( "bytes" "errors" "fmt" - "io/ioutil" "os" "regexp" "strconv" @@ -372,7 +371,7 @@ func NewGrub2(service *dbusutil.Service) *Grub2 { } func (grub *Grub2) readEntries() (err error) { - fileContent, err := ioutil.ReadFile(grubScriptFile) + fileContent, err := os.ReadFile(grubScriptFile) if err != nil { logger.Error(err) return @@ -655,7 +654,7 @@ func getFstartState() (bool, int) { if !dutils.IsFileExist(deepinFstartFile) { return false, -1 } - content, err := ioutil.ReadFile(deepinFstartFile) + content, err := os.ReadFile(deepinFstartFile) if err != nil { return false, -1 } @@ -689,7 +688,7 @@ func setFstartState(state bool) error { logger.Debug("current state is same : ", state) return nil } - content, err := ioutil.ReadFile(deepinFstartFile) + content, err := os.ReadFile(deepinFstartFile) if err != nil { return err } @@ -704,7 +703,7 @@ func setFstartState(state bool) error { } if strings.Trim(strings.TrimSpace(line[strings.Index(line, "=")+1:]), "\"") != arg { lines[lineNum] = "export " + deepinFstart + "=\"" + arg + "\"" - err := ioutil.WriteFile(deepinFstartFile, []byte(strings.Join(lines, "\n")), 0644) + err := os.WriteFile(deepinFstartFile, []byte(strings.Join(lines, "\n")), 0644) if err != nil { return dbusutil.ToError(err) } diff --git a/grub2/grub2_ifc.go b/grub2/grub2_ifc.go index 812a36bc8..d557453f7 100644 --- a/grub2/grub2_ifc.go +++ b/grub2/grub2_ifc.go @@ -6,7 +6,7 @@ package grub2 import ( "errors" - "io/ioutil" + "os" "strings" dbus "github.com/godbus/dbus/v5" @@ -328,7 +328,7 @@ func (g *Grub2) PrepareGfxmodeDetect(sender dbus.Sender) *dbus.Error { g.addModifyTask(getModifyTaskPrepareGfxmodeDetect(gfxmodesStr)) - err = ioutil.WriteFile(grub_common.GfxmodeDetectReadyPath, nil, 0644) + err = os.WriteFile(grub_common.GfxmodeDetectReadyPath, nil, 0644) if err != nil { return dbusutil.ToError(err) } diff --git a/grub2/grub_params.go b/grub2/grub_params.go index dfc6d0c09..dd6fc786b 100644 --- a/grub2/grub_params.go +++ b/grub2/grub_params.go @@ -6,7 +6,7 @@ package grub2 import ( "bytes" - "io/ioutil" + "os" "os/exec" "sort" "strconv" @@ -98,7 +98,7 @@ func writeGrubParams(params map[string]string) error { logger.Debug("write grub params") content := getGrubParamsContent(params) - err := ioutil.WriteFile(grubParamsFile, content, 0644) + err := os.WriteFile(grubParamsFile, content, 0644) if err != nil { return err } diff --git a/grub2/log.go b/grub2/log.go index fbb85e369..4dd8782e4 100644 --- a/grub2/log.go +++ b/grub2/log.go @@ -6,7 +6,6 @@ package grub2 import ( "fmt" - "io/ioutil" "os" "time" @@ -24,7 +23,7 @@ const ( func logStart() { content := fmt.Sprintf("start=%s\n", time.Now()) - err := ioutil.WriteFile(logFile, []byte(content), logFileMode) + err := os.WriteFile(logFile, []byte(content), logFileMode) if err != nil { logger.Warning("logStart write failed:", err) } diff --git a/grub2/main.go b/grub2/main.go index cf8367b0f..73961236b 100644 --- a/grub2/main.go +++ b/grub2/main.go @@ -5,7 +5,6 @@ package grub2 import ( - "io/ioutil" "os" "os/exec" "time" @@ -85,7 +84,7 @@ func PrepareGfxmodeDetect() error { gfxmodesStr := joinGfxmodesForDetect(gfxmodes) getModifyFuncPrepareGfxmodeDetect(gfxmodesStr)(params) - err = ioutil.WriteFile(grub_common.GfxmodeDetectReadyPath, nil, 0644) + err = os.WriteFile(grub_common.GfxmodeDetectReadyPath, nil, 0644) if err != nil { return err } @@ -107,7 +106,7 @@ func PrepareGfxmodeDetect() error { } func GetOSNum() (uint32, error) { - fileContent, err := ioutil.ReadFile(grubScriptFile) + fileContent, err := os.ReadFile(grubScriptFile) if err != nil { logger.Error(err) return 0, err diff --git a/grub2/utils.go b/grub2/utils.go index 4f5a770d6..d7da99bea 100644 --- a/grub2/utils.go +++ b/grub2/utils.go @@ -8,7 +8,6 @@ import ( "errors" "fmt" "io" - "io/ioutil" "os" "path/filepath" "strconv" @@ -116,7 +115,7 @@ type envInfo struct { type envInfos []envInfo func readEnvFile(file string) (envInfos, error) { - content, err := ioutil.ReadFile(file) + content, err := os.ReadFile(file) if err != nil { return nil, err } @@ -141,7 +140,7 @@ func readEnvFile(file string) (envInfos, error) { } func getTempDir() (string, error) { - return ioutil.TempDir("", "grub2_theme_*") + return os.MkdirTemp("", "grub2_theme_*") } func copyBgSource(src, dst string) error { diff --git a/grub2/utils_test.go b/grub2/utils_test.go index 118dca1b3..e2eeb43b1 100644 --- a/grub2/utils_test.go +++ b/grub2/utils_test.go @@ -5,7 +5,6 @@ package grub2 import ( - "io/ioutil" "os" "path/filepath" "testing" @@ -20,24 +19,24 @@ func Test_replaceAndbackupDir(t *testing.T) { testFile := filepath.Join(tmpDirA, "test") dataA := []byte{'a'} dataB := []byte{'b'} - err = ioutil.WriteFile(testFile, dataA, 0755) + err = os.WriteFile(testFile, dataA, 0755) require.NoError(t, err) tmpDirB, err := getTempDir() require.NoError(t, err) - err = ioutil.WriteFile(filepath.Join(tmpDirB, "test"), dataB, 0755) + err = os.WriteFile(filepath.Join(tmpDirB, "test"), dataB, 0755) require.NoError(t, err) err = replaceAndBackupDir(tmpDirA, tmpDirB) require.NoError(t, err) - get, err := ioutil.ReadFile(testFile) + get, err := os.ReadFile(testFile) require.NoError(t, err) require.Equal(t, dataB, get) bakDir := tmpDirA + ".bak" - get, err = ioutil.ReadFile(filepath.Join(bakDir, "test")) + get, err = os.ReadFile(filepath.Join(bakDir, "test")) require.NoError(t, err) require.Equal(t, dataA, get) diff --git a/grub_common/common.go b/grub_common/common.go index 36f5874e4..242057602 100644 --- a/grub_common/common.go +++ b/grub_common/common.go @@ -8,7 +8,6 @@ import ( "bytes" "errors" "fmt" - "io/ioutil" "os" "os/exec" "path/filepath" @@ -82,7 +81,7 @@ func (v Gfxmode) String() string { func getBootArgDeepinGfxmode() (string, error) { filename := "/proc/cmdline" - content, err := ioutil.ReadFile(filename) + content, err := os.ReadFile(filename) if err != nil { return "", err } diff --git a/inputdevices1/layout_list.go b/inputdevices1/layout_list.go index 275b0ca66..3e2e011da 100644 --- a/inputdevices1/layout_list.go +++ b/inputdevices1/layout_list.go @@ -6,7 +6,7 @@ package inputdevices import ( "encoding/xml" - "io/ioutil" + "os" "github.com/linuxdeepin/dde-daemon/inputdevices1/iso639" "github.com/linuxdeepin/go-lib/gettext" @@ -36,7 +36,7 @@ type XConfigItem struct { func parseXML(filename string) (XKBConfigRegister, error) { var v XKBConfigRegister - xmlByte, err := ioutil.ReadFile(filename) + xmlByte, err := os.ReadFile(filename) if err != nil { return v, err } diff --git a/inputdevices1/touchpad.go b/inputdevices1/touchpad.go index c8799f33e..eea934bc1 100644 --- a/inputdevices1/touchpad.go +++ b/inputdevices1/touchpad.go @@ -6,7 +6,6 @@ package inputdevices import ( "fmt" - "io/ioutil" "os" "os/exec" "strconv" @@ -475,7 +474,7 @@ func isSyndaemonExist(pidFile string) bool { return true } - context, err := ioutil.ReadFile(pidFile) + context, err := os.ReadFile(pidFile) if err != nil { return false } @@ -489,7 +488,7 @@ func isSyndaemonExist(pidFile string) bool { } func isProcessExist(file, name string) bool { - context, err := ioutil.ReadFile(file) + context, err := os.ReadFile(file) if err != nil { return false } diff --git a/iw/iw.go b/iw/iw.go index c7b7ec205..18de0e852 100644 --- a/iw/iw.go +++ b/iw/iw.go @@ -12,7 +12,7 @@ import "C" import ( "fmt" - "io/ioutil" + "os" "strings" "unsafe" @@ -109,7 +109,7 @@ func hwAddressFile(name string) string { } func getHwAddressByFile(file string) string { - contents, err := ioutil.ReadFile(file) + contents, err := os.ReadFile(file) if err != nil { return "" } diff --git a/keybinding1/config.go b/keybinding1/config.go index b5a3779c5..e3ade5f16 100644 --- a/keybinding1/config.go +++ b/keybinding1/config.go @@ -6,7 +6,6 @@ package keybinding import ( "encoding/json" - "io/ioutil" "os" ) @@ -17,7 +16,7 @@ type Config struct { var globalConfig Config func loadConfig() { - data, err := ioutil.ReadFile("/var/lib/dde-daemon/keybinding/config.json") + data, err := os.ReadFile("/var/lib/dde-daemon/keybinding/config.json") if err != nil { if !os.IsNotExist(err) { logger.Warning(err) diff --git a/keybinding1/shortcuts/shortcut_manager.go b/keybinding1/shortcuts/shortcut_manager.go index fe1f8e70b..3a9fc2e50 100644 --- a/keybinding1/shortcuts/shortcut_manager.go +++ b/keybinding1/shortcuts/shortcut_manager.go @@ -6,7 +6,6 @@ package shortcuts import ( "fmt" - "io/ioutil" "os" "os/exec" "strings" @@ -752,7 +751,7 @@ func (sm *ShortcutManager) getActiveWindowCmd() string { logger.Warning("Failed to get current window pid:", err) return "" } - data, err := ioutil.ReadFile(fmt.Sprintf("/proc/%d/cmdline", pid)) + data, err := os.ReadFile(fmt.Sprintf("/proc/%d/cmdline", pid)) if err != nil { logger.Warning("Failed to read cmdline:", err) return "" diff --git a/keybinding1/shortcuts/system_shortcut.go b/keybinding1/shortcuts/system_shortcut.go index 2f9b4b02d..97d60bfef 100644 --- a/keybinding1/shortcuts/system_shortcut.go +++ b/keybinding1/shortcuts/system_shortcut.go @@ -6,7 +6,7 @@ package shortcuts import ( "encoding/json" - "io/ioutil" + "os" "path" "sync" @@ -135,7 +135,7 @@ func loadSystemActionsFile(file string) (*actionHandler, error) { logger.Debug("load system action file:", file) // #nosec G304 - content, err := ioutil.ReadFile(file) + content, err := os.ReadFile(file) if err != nil { return nil, err } diff --git a/keybinding1/special_keycode.go b/keybinding1/special_keycode.go index af2dfc992..9949f694e 100644 --- a/keybinding1/special_keycode.go +++ b/keybinding1/special_keycode.go @@ -5,7 +5,7 @@ package keybinding import ( - "io/ioutil" + "os" "os/exec" "strings" "time" @@ -378,7 +378,7 @@ func (m *Manager) handlePower() { // 响应键盘背光模式切换 func (m *Manager) handleKbdLight() { - data, err := ioutil.ReadFile("/sys/class/backlight/n70z/n70z_kbbacklight") + data, err := os.ReadFile("/sys/class/backlight/n70z/n70z_kbbacklight") if err != nil { logger.Warning(err) return diff --git a/keybinding1/utils.go b/keybinding1/utils.go index 8d7f8af53..4c382289f 100644 --- a/keybinding1/utils.go +++ b/keybinding1/utils.go @@ -7,7 +7,6 @@ package keybinding import ( "bytes" "errors" - "io/ioutil" "os" "os/exec" "path/filepath" @@ -305,7 +304,7 @@ func (m *Manager) systemTurnOffScreen() { m.setWmBlackScreenActive(false) } undoPrepareSuspend() - ioutil.WriteFile("/tmp/dpms-state", []byte("1"), 0644) + os.WriteFile("/tmp/dpms-state", []byte("1"), 0644) } func (m *Manager) systemLogout() { @@ -346,7 +345,7 @@ func queryCommandByMime(mime string) string { func getRfkillWlanState() (int, error) { dir := "/sys/class/rfkill" - fileInfoList, err := ioutil.ReadDir(dir) + fileInfoList, err := os.ReadDir(dir) if err != nil { return 0, err } diff --git a/launcher/manager_uninstall.go b/launcher/manager_uninstall.go index 2f4380c82..60ef5f288 100644 --- a/launcher/manager_uninstall.go +++ b/launcher/manager_uninstall.go @@ -8,7 +8,6 @@ import ( "bytes" "errors" "fmt" - "io/ioutil" "os" "os/exec" "path/filepath" @@ -160,7 +159,7 @@ func (m *Manager) uninstallFlatpakApp(item *Item, fpAppInfo *flatpakAppInfo) err pkgFile := filepath.Join("/usr/share/deepin-flatpak/app/", fpAppInfo.name, fpAppInfo.arch, fpAppInfo.branch, "pkg") logger.Debug("pkg file:", pkgFile) - content, err := ioutil.ReadFile(pkgFile) + content, err := os.ReadFile(pkgFile) if err == nil { pkgName := string(bytes.TrimSpace(content)) return m.uninstallSystemPackage(item.Name, pkgName) diff --git a/mime/config_data.go b/mime/config_data.go index a69caf4fb..8105cd21a 100644 --- a/mime/config_data.go +++ b/mime/config_data.go @@ -6,7 +6,7 @@ package mime import ( "encoding/json" - "io/ioutil" + "os" ) type defaultAppTable struct { @@ -21,7 +21,7 @@ type defaultAppInfo struct { type defaultAppInfos []*defaultAppInfo func unmarshal(file string) (*defaultAppTable, error) { - content, err := ioutil.ReadFile(file) + content, err := os.ReadFile(file) if err != nil { return nil, err } diff --git a/mime/custom.go b/mime/custom.go index 3c5ac7c0e..00916e001 100644 --- a/mime/custom.go +++ b/mime/custom.go @@ -7,7 +7,6 @@ package mime import ( "encoding/json" "fmt" - "io/ioutil" "os" "path" "sync" @@ -117,7 +116,7 @@ func (m *userAppManager) Write() error { return err } logger.Debug("userAppManager.Write write file") - return ioutil.WriteFile(m.filename, []byte(content), 0644) + return os.WriteFile(m.filename, []byte(content), 0644) } func (infos userAppInfos) String() string { @@ -172,7 +171,7 @@ func newUserAppManager(filename string) (*userAppManager, error) { } func readUserAppFile(filename string) (userAppInfos, error) { - content, err := ioutil.ReadFile(filename) + content, err := os.ReadFile(filename) if err != nil { return nil, err } diff --git a/network1/nm_generator/utils.go b/network1/nm_generator/utils.go index 73a9b90eb..a34fed57f 100644 --- a/network1/nm_generator/utils.go +++ b/network1/nm_generator/utils.go @@ -7,7 +7,6 @@ package main import ( "bufio" "fmt" - "io/ioutil" "os" "strings" @@ -18,7 +17,7 @@ import ( var logger = log.NewLogger("daemon/network/nm_generator") func yamlUnmarshalFile(file string, value interface{}) { - yamlContent, err := ioutil.ReadFile(file) + yamlContent, err := os.ReadFile(file) if err != nil { fmt.Println(err) os.Exit(1) @@ -32,7 +31,7 @@ func yamlUnmarshalFile(file string, value interface{}) { func writeOutputFile(file, content string) { // write to .go file and execute gofmt - err := ioutil.WriteFile(file, []byte(content), 0644) + err := os.WriteFile(file, []byte(content), 0644) if err != nil { fmt.Println("error, write file failed:", err) return diff --git a/network1/proxychains/config.go b/network1/proxychains/config.go index 8060a808a..6575223ae 100644 --- a/network1/proxychains/config.go +++ b/network1/proxychains/config.go @@ -6,7 +6,7 @@ package proxychains import ( "encoding/json" - "io/ioutil" + "os" ) type Config struct { @@ -19,7 +19,7 @@ type Config struct { } func loadConfig(file string) (*Config, error) { - data, err := ioutil.ReadFile(file) + data, err := os.ReadFile(file) if err != nil { return nil, err } @@ -38,5 +38,5 @@ func (cfg *Config) save(file string) error { if err != nil { return err } - return ioutil.WriteFile(file, data, 0600) + return os.WriteFile(file, data, 0600) } diff --git a/service_trigger/manager.go b/service_trigger/manager.go index 79b4df42a..3878ec853 100644 --- a/service_trigger/manager.go +++ b/service_trigger/manager.go @@ -7,7 +7,7 @@ package service_trigger import ( "encoding/json" "fmt" - "io/ioutil" + "os" "os/exec" "path/filepath" "strings" @@ -207,7 +207,7 @@ const ( ) func (m *Manager) loadServicesFromDir(dirname string) { - fileInfoList, _ := ioutil.ReadDir(dirname) + fileInfoList, _ := os.ReadDir(dirname) for _, fileInfo := range fileInfoList { if fileInfo.IsDir() { continue diff --git a/service_trigger/service.go b/service_trigger/service.go index dee9a4158..4a0b4be4c 100644 --- a/service_trigger/service.go +++ b/service_trigger/service.go @@ -8,7 +8,7 @@ import ( "encoding/json" "errors" "fmt" - "io/ioutil" + "os" "path/filepath" "strings" @@ -108,7 +108,7 @@ func (service *Service) checkDBus() error { } func loadService(filename string) (*Service, error) { - data, err := ioutil.ReadFile(filename) + data, err := os.ReadFile(filename) if err != nil { return nil, err } diff --git a/session/eventlog/app_event_test.go b/session/eventlog/app_event_test.go index e6b978fb2..98e051e76 100644 --- a/session/eventlog/app_event_test.go +++ b/session/eventlog/app_event_test.go @@ -5,7 +5,6 @@ package eventlog import ( - "io/ioutil" "os" "path/filepath" "testing" @@ -72,10 +71,10 @@ func Test_removeEntry(t *testing.T) { func Test_isSymlink(t *testing.T) { t.Run("Test isSymlink", func(t *testing.T) { - dir, err := ioutil.TempDir("", "eventlog") + dir, err := os.MkdirTemp("", "eventlog") assert.NoError(t, err) defer os.RemoveAll(dir) - _, err = ioutil.TempFile(dir, "filepath1") + _, err = os.CreateTemp(dir, "filepath1") assert.NoError(t, err) assert.True(t, !isSymlink(filepath.Join(dir, "filepath1"))) }) diff --git a/session/eventlog/event_collector.go b/session/eventlog/event_collector.go index 610fb6515..688a275db 100644 --- a/session/eventlog/event_collector.go +++ b/session/eventlog/event_collector.go @@ -7,7 +7,6 @@ package eventlog import ( "errors" "fmt" - "io/ioutil" "os" "path" "path/filepath" @@ -118,13 +117,13 @@ func (e *EventLog) syncUserExpState() { // 从1054标准路径获取 state = e.getUserExpStateFromVarTmpExpPath() } else if dutils.IsFileExist("/var/tmp/deepin/deepin-user-experience/state") { // 非当前用户创建的state/uid/info 时 - infos, err := ioutil.ReadDir("/var/tmp/deepin/deepin-user-experience/state") + infos, err := os.ReadDir("/var/tmp/deepin/deepin-user-experience/state") if err != nil { logger.Warning(err) } else { for _, info := range infos { // 只会有一个文件 - content, err := ioutil.ReadFile(filepath.Join("/var/tmp/deepin/deepin-user-experience/state", info.Name(), "info")) + content, err := os.ReadFile(filepath.Join("/var/tmp/deepin/deepin-user-experience/state", info.Name(), "info")) if err != nil { logger.Warning(err) } else { @@ -150,7 +149,7 @@ func (e *EventLog) syncUserExpState() { func (e *EventLog) getUserExpStateFromUserExpPath() bool { e.fileMu.Lock() defer e.fileMu.Unlock() - content, err := ioutil.ReadFile(userExpPath) + content, err := os.ReadFile(userExpPath) if err != nil { logger.Warning(err) return false @@ -203,7 +202,7 @@ func (e *EventLog) setUserExpFileState(state bool) error { } else { content = []byte(disableUserExp) } - err := ioutil.WriteFile(expPathV0, content, 0666) + err := os.WriteFile(expPathV0, content, 0666) if err != nil { return err } @@ -212,7 +211,7 @@ func (e *EventLog) setUserExpFileState(state bool) error { } func (e *EventLog) getV0ExpState() bool { - content, err := ioutil.ReadFile(expPathV0) + content, err := os.ReadFile(expPathV0) if err != nil { logger.Warning(err) return false @@ -223,7 +222,7 @@ func (e *EventLog) getV0ExpState() bool { func (e *EventLog) getUserExpStateFromVarTmpExpPath() bool { e.fileMu.Lock() defer e.fileMu.Unlock() - content, err := ioutil.ReadFile(e.currentUserVarTmpExpPath) + content, err := os.ReadFile(e.currentUserVarTmpExpPath) if err != nil { logger.Warning(err) return false diff --git a/session/power1/power_save_plan.go b/session/power1/power_save_plan.go index b1013d54b..ebfe58c16 100644 --- a/session/power1/power_save_plan.go +++ b/session/power1/power_save_plan.go @@ -7,7 +7,6 @@ package power import ( "encoding/json" "errors" - "io/ioutil" "math" "os" "strings" @@ -710,13 +709,13 @@ func (psp *powerSavePlan) HandleIdleOn() { } func (ps *powerSavePlan) restoreDpmsStateFile() { - v, err := ioutil.ReadFile("/tmp/dpms-state") + v, err := os.ReadFile("/tmp/dpms-state") if err != nil { return } if string(v) == "1" { - err = ioutil.WriteFile("/tmp/dpms-state", []byte("0"), 0644) + err = os.WriteFile("/tmp/dpms-state", []byte("0"), 0644) if err != nil { logger.Warning("WriteFile /tmp/dpms-state:", err) } diff --git a/session/power1/utils.go b/session/power1/utils.go index 7b998b94b..ad4c2c17c 100644 --- a/session/power1/utils.go +++ b/session/power1/utils.go @@ -5,8 +5,8 @@ package power import ( - "io/ioutil" "math" + "os" "os/exec" "strings" "time" @@ -207,7 +207,7 @@ func (m *Manager) setDPMSModeOff() { if err != nil { logger.Warning("set DPMS off error:", err) } - ioutil.WriteFile("/tmp/dpms-state", []byte("1"), 0644) + os.WriteFile("/tmp/dpms-state", []byte("1"), 0644) } const ( diff --git a/system/airplane_mode1/config.go b/system/airplane_mode1/config.go index d95f6838e..76e950c71 100644 --- a/system/airplane_mode1/config.go +++ b/system/airplane_mode1/config.go @@ -6,7 +6,6 @@ package airplane_mode import ( "encoding/json" - "io/ioutil" "os" "path/filepath" "sync" @@ -36,7 +35,7 @@ func NewConfig() *Config { // LoadConfig load config from file func (cfg *Config) LoadConfig() error { // read file - buf, err := ioutil.ReadFile(configFile) + buf, err := os.ReadFile(configFile) if err != nil { return err } @@ -61,7 +60,7 @@ func (cfg *Config) SaveConfig() error { return err } // write config to file - err = ioutil.WriteFile(configFile, buf, 0644) + err = os.WriteFile(configFile, buf, 0644) if err != nil { return err } diff --git a/system/airplane_mode1/utils.go b/system/airplane_mode1/utils.go index 3df109b3d..802033b3a 100644 --- a/system/airplane_mode1/utils.go +++ b/system/airplane_mode1/utils.go @@ -7,12 +7,12 @@ package airplane_mode import ( "bytes" "encoding/binary" - "io/ioutil" + "os" "unsafe" ) func readFile(filename string) (string, error) { - content, err := ioutil.ReadFile(filename) + content, err := os.ReadFile(filename) if err != nil { return "", err } diff --git a/system/display1/displaycfg.go b/system/display1/displaycfg.go index eb606b111..3b0a85956 100644 --- a/system/display1/displaycfg.go +++ b/system/display1/displaycfg.go @@ -10,7 +10,6 @@ import ( "encoding/json" "fmt" "io" - "io/ioutil" "os" "os/exec" "path/filepath" @@ -87,7 +86,7 @@ func newDisplay(service *dbusutil.Service) *Display { d.rendererWaylandBlackList = rendererConfig.BlackList } - content, err := ioutil.ReadFile(supportLabcFilePath) + content, err := os.ReadFile(supportLabcFilePath) if err != nil { logger.Warning(err) } else if strings.Contains(string(content), "enable") { @@ -166,7 +165,7 @@ type Config struct { } func loadConfig(filename string) (*Config, error) { - content, err := ioutil.ReadFile(filename) + content, err := os.ReadFile(filename) if err != nil { return nil, err } @@ -190,7 +189,7 @@ func saveConfig(cfg *Config, filename string) error { } tmpFile := filename + ".tmp" - err = ioutil.WriteFile(tmpFile, content, 0644) + err = os.WriteFile(tmpFile, content, 0644) if err != nil { return err } @@ -208,7 +207,7 @@ type RendererConfig struct { } func loadRendererConfig(filename string) (*RendererConfig, error) { - content, err := ioutil.ReadFile(filename) + content, err := os.ReadFile(filename) if err != nil { return nil, err } @@ -232,7 +231,7 @@ func genRendererConfig(cfg *RendererConfig, filename string) error { } tmpFile := filename + ".tmp" - err = ioutil.WriteFile(tmpFile, content, 0644) + err = os.WriteFile(tmpFile, content, 0644) if err != nil { return err } diff --git a/system/gesture1/config.go b/system/gesture1/config.go index a88abf644..10edd1bb7 100644 --- a/system/gesture1/config.go +++ b/system/gesture1/config.go @@ -6,7 +6,7 @@ package gesture1 import ( "encoding/json" - "io/ioutil" + "os" "github.com/adrg/xdg" "github.com/linuxdeepin/go-lib/utils" @@ -18,7 +18,7 @@ type Config struct { } func loadConfig(filename string) (*Config, error) { - contents, err := ioutil.ReadFile(filename) + contents, err := os.ReadFile(filename) if err != nil { return nil, err } diff --git a/system/hostname/hostname.go b/system/hostname/hostname.go index 59da69336..83b9d1b3f 100644 --- a/system/hostname/hostname.go +++ b/system/hostname/hostname.go @@ -5,7 +5,6 @@ package hostname import ( - "io/ioutil" "os" "os/exec" "path" @@ -113,7 +112,7 @@ func (h *HostName) listenHostNameChangeSignals() error { } logger.Debug("xorgCmdContent:", xorgCmdContent) if xorgCmdContent != "" { - dirList, err := ioutil.ReadDir("/proc/") + dirList, err := os.ReadDir("/proc/") if err != nil { logger.Debug("read dir /proc error:", err) return @@ -133,7 +132,7 @@ func (h *HostName) listenHostNameChangeSignals() error { continue } cmdline := filepath.Join(procPath, "cmdline") - content, err := ioutil.ReadFile(cmdline) // #nosec G304 + content, err := os.ReadFile(cmdline) // #nosec G304 if err != nil { logger.Debug("ReadFile error:", err) continue diff --git a/system/inputdevices1/inputdevices.go b/system/inputdevices1/inputdevices.go index 38bf3e439..90dec6587 100644 --- a/system/inputdevices1/inputdevices.go +++ b/system/inputdevices1/inputdevices.go @@ -7,7 +7,7 @@ package inputdevices1 import ( "errors" "fmt" - "io/ioutil" + "os" "os/exec" "regexp" "strconv" @@ -362,7 +362,7 @@ func (m *InputDevices) saveDeviceFile(path, value string, userSet bool) error { logger.Warningf("can't WriteFile, the value is equal. path : %s, value : %s", path, value) return nil } - err := ioutil.WriteFile(path, []byte(value), 0755) + err := os.WriteFile(path, []byte(value), 0755) if err != nil { return dbusutil.ToError(fmt.Errorf("WriteFile err : %s", err)) } @@ -471,7 +471,7 @@ func touchscreenSliceEqual(v1 []dbus.ObjectPath, v2 []dbus.ObjectPath) bool { func getReadFileValidData(path string) string { // "03" : [48 51] // data: [48 51 10] , need delete 10 - data, err := ioutil.ReadFile(path) + data, err := os.ReadFile(path) if err != nil { logger.Warning(err) } @@ -484,7 +484,7 @@ func getReadFileValidData(path string) string { } func getSupportUsbhidDevices() []string { - dirs, err := ioutil.ReadDir(_usbDevicePath) + dirs, err := os.ReadDir(_usbDevicePath) if err != nil { logger.Warning(" [getSupportUsbhidDevices] err : ", err) return nil @@ -555,7 +555,7 @@ func getSupportUsbhidDevices() []string { // 由于/proc/acpi/wakeup下面设备较多,将路径改为/proc/acpi/wakeup:PS2M格式 func getSupportAcpiDevices(device string) (string, error) { - data, err := ioutil.ReadFile(_pciWakeupDevicePath) + data, err := os.ReadFile(_pciWakeupDevicePath) if err != nil { return "", err } @@ -593,7 +593,7 @@ func getSupportAcpiDeviceEnable(devicePath string) string { return "disabled" } - data, err := ioutil.ReadFile(paths[0]) + data, err := os.ReadFile(paths[0]) if err != nil { logger.Warning(err) return "disabled" diff --git a/system/inputdevices1/touchpad.go b/system/inputdevices1/touchpad.go index b4e0b76b5..a4ce77d67 100644 --- a/system/inputdevices1/touchpad.go +++ b/system/inputdevices1/touchpad.go @@ -6,7 +6,6 @@ package inputdevices1 import ( "errors" - "io/ioutil" "os" "strings" @@ -70,9 +69,9 @@ func (t *Touchpad) setTouchpadEnable(enabled bool) error { if !enabled { arg = "disable" } - err = ioutil.WriteFile(touchpadSwitchFile, []byte(arg), 0644) + err = os.WriteFile(touchpadSwitchFile, []byte(arg), 0644) if err != nil { - logger.Warning(" ioutil.WriteFile err : ", err) + logger.Warning(" os.WriteFile err : ", err) return err } t.setPropEnable(enabled) @@ -110,7 +109,7 @@ func TouchpadEnable(filePath string) (bool, error) { if err != nil { return false, err } - content, err := ioutil.ReadFile(touchpadSwitchFile) + content, err := os.ReadFile(touchpadSwitchFile) if err != nil { return false, err } diff --git a/system/keyevent1/manager.go b/system/keyevent1/manager.go index 0b90d47a2..80b03550e 100644 --- a/system/keyevent1/manager.go +++ b/system/keyevent1/manager.go @@ -6,7 +6,6 @@ package keyevent1 import ( "errors" - "io/ioutil" "os" "strings" @@ -158,7 +157,7 @@ func (m *Manager) handleEvent(ev *KeyEvent) { switch ev.Keycode { case KEY_TOUCHPAD_TOGGLE: go func() { - content, err := ioutil.ReadFile(touchpadSwitchFile) + content, err := os.ReadFile(touchpadSwitchFile) if err != nil { logger.Warning(err) return @@ -181,7 +180,7 @@ func (m *Manager) handleEvent(ev *KeyEvent) { } else { arg = "enable" } - err = ioutil.WriteFile(touchpadSwitchFile, []byte(arg), 0644) + err = os.WriteFile(touchpadSwitchFile, []byte(arg), 0644) if err != nil { logger.Warning("write /proc/uos/touchpad_switch err : ", err) } @@ -197,7 +196,7 @@ func (m *Manager) handleEvent(ev *KeyEvent) { if err != nil { logger.Warning("Set TouchPad state err : ", err) - err = ioutil.WriteFile(touchpadSwitchFile, []byte("enable"), 0644) + err = os.WriteFile(touchpadSwitchFile, []byte("enable"), 0644) if err != nil { logger.Warning("write /proc/uos/touchpad_switch err : ", err) } @@ -213,7 +212,7 @@ func (m *Manager) handleEvent(ev *KeyEvent) { if err != nil { logger.Warning("Set TouchPad state err : ", err) - err = ioutil.WriteFile(touchpadSwitchFile, []byte("disable"), 0644) + err = os.WriteFile(touchpadSwitchFile, []byte("disable"), 0644) if err != nil { logger.Warning("write /proc/uos/touchpad_switch err : ", err) } diff --git a/system/network1/config.go b/system/network1/config.go index 8c309039a..b3bba3f2b 100644 --- a/system/network1/config.go +++ b/system/network1/config.go @@ -6,7 +6,6 @@ package network1 import ( "encoding/json" - "io/ioutil" "os" "path/filepath" ) @@ -23,7 +22,7 @@ type DeviceConfig struct { const configFile = "/var/lib/dde-daemon/network/config.json" func loadConfig(filename string, cfg *Config) error { - data, err := ioutil.ReadFile(filename) + data, err := os.ReadFile(filename) if err != nil { return err } @@ -55,7 +54,7 @@ func saveConfig(filename string, cfg *Config) error { return err } - err = ioutil.WriteFile(filename, data, 0644) + err = os.WriteFile(filename, data, 0644) if err != nil { return err } diff --git a/system/power1/lid_switch_sw.go b/system/power1/lid_switch_sw.go index f93c9e1b9..eb6aef0c5 100644 --- a/system/power1/lid_switch_sw.go +++ b/system/power1/lid_switch_sw.go @@ -5,7 +5,6 @@ package power import ( - "io/ioutil" "os" "strings" "time" @@ -53,7 +52,7 @@ func (m *Manager) swLidSwitchCheckLoop() { // lid_state content: '1\n' func getLidStateSW() string { - content, err := ioutil.ReadFile(swLidStateFile) + content, err := os.ReadFile(swLidStateFile) if err != nil { logger.Warning(err) return swLidOpen diff --git a/system/power1/manager.go b/system/power1/manager.go index 3d60b42d1..0ec39a05b 100644 --- a/system/power1/manager.go +++ b/system/power1/manager.go @@ -7,7 +7,6 @@ package power import ( "encoding/json" "errors" - "io/ioutil" "os" "sync" "time" @@ -606,7 +605,7 @@ type Config struct { } func loadConfig() (*Config, error) { - content, err := ioutil.ReadFile(configFile) + content, err := os.ReadFile(configFile) if err != nil { return nil, err } diff --git a/system/power_manager1/utils.go b/system/power_manager1/utils.go index 93f433c2f..10cc5a681 100644 --- a/system/power_manager1/utils.go +++ b/system/power_manager1/utils.go @@ -5,7 +5,7 @@ package power_manager import ( - "io/ioutil" + "os" "os/exec" "strings" ) @@ -19,7 +19,7 @@ func canSuspend() bool { // 等到内核对systemd的login中判断是否能待机的DBus接口(服务名 org.freedesktop.login1, // 对象 /org/freedesktop/login1,接口 org.freedesktop.login1.Manager 方法 CanSuspend) // 支持完善以后就要移除这部分逻辑。 - data, err := ioutil.ReadFile(fileMemSleep) + data, err := os.ReadFile(fileMemSleep) if err != nil { logger.Warningf("read %s failed: %v", fileMemSleep, err) return false diff --git a/system/resource_ctl/cgroup.go b/system/resource_ctl/cgroup.go index 3531fd04c..4b19921a4 100644 --- a/system/resource_ctl/cgroup.go +++ b/system/resource_ctl/cgroup.go @@ -8,7 +8,6 @@ import ( "bytes" "encoding/json" "fmt" - "io/ioutil" "os" "path/filepath" "regexp" @@ -56,7 +55,7 @@ func loadConfig() (cfg config, err error) { var content []byte - content, err = ioutil.ReadFile(configPath) + content, err = os.ReadFile(configPath) if err != nil { return } @@ -83,7 +82,7 @@ func getTasksFromFile(path string) (tasks [][]byte, err error) { var content []byte - content, err = ioutil.ReadAll(tasksFile) + content, err = os.ReadAll(tasksFile) if err != nil { return } diff --git a/system/scheduler/config.go b/system/scheduler/config.go index 2c6f0862a..fd16e44b0 100644 --- a/system/scheduler/config.go +++ b/system/scheduler/config.go @@ -6,7 +6,7 @@ package scheduler import ( "encoding/json" - "io/ioutil" + "os" "path/filepath" ) @@ -33,7 +33,7 @@ func (c *config) getPriority(exe string) *priorityCfg { } func loadConfigAux(filename string) (*config, error) { - content, err := ioutil.ReadFile(filename) + content, err := os.ReadFile(filename) if err != nil { return nil, err } diff --git a/system/uadp1/crypto.go b/system/uadp1/crypto.go index 24fbd06c1..8a3f9852d 100644 --- a/system/uadp1/crypto.go +++ b/system/uadp1/crypto.go @@ -6,7 +6,6 @@ package uadp import ( "encoding/json" - "io/ioutil" "os" "path/filepath" "unsafe" @@ -81,7 +80,7 @@ func (ctx *CryptoContext) Save(file string) bool { } } - err = ioutil.WriteFile(file, data, 0600) + err = os.WriteFile(file, data, 0600) if err != nil { logger.Warning(err) return false @@ -93,7 +92,7 @@ func (ctx *CryptoContext) Save(file string) bool { // 加载密钥 func (ctx *CryptoContext) Load(file string) bool { - data, err := ioutil.ReadFile(file) + data, err := os.ReadFile(file) if err != nil { logger.Debugf("%s not exist, create it", file) return false diff --git a/system/uadp1/data_manager.go b/system/uadp1/data_manager.go index 12b6cc3b4..f21774e4d 100644 --- a/system/uadp1/data_manager.go +++ b/system/uadp1/data_manager.go @@ -8,7 +8,6 @@ import ( "crypto/md5" "encoding/json" "fmt" - "io/ioutil" "os" "path/filepath" ) @@ -59,7 +58,7 @@ func (dm *DataManager) Save(file string) error { } } - err = ioutil.WriteFile(file, data, 0600) + err = os.WriteFile(file, data, 0600) if err != nil { return err } @@ -69,7 +68,7 @@ func (dm *DataManager) Save(file string) error { } func (dm *DataManager) Load(file string) bool { - data, err := ioutil.ReadFile(file) + data, err := os.ReadFile(file) if err != nil { logger.Debugf("%s not exist, create it", file) return false @@ -100,7 +99,7 @@ func (dm *DataManager) SetData(dir string, process string, name string, aesKey [ } file = dir + md5str(data) - err := ioutil.WriteFile(file, data, 0600) + err := os.WriteFile(file, data, 0600) if err != nil { return err } @@ -120,7 +119,7 @@ func (dm *DataManager) GetData(process string, name string) ([]byte, []byte, err return []byte{}, []byte{}, fmt.Errorf("'%s' not exist", name) } - data, err := ioutil.ReadFile(file) + data, err := os.ReadFile(file) return aesKey, data, err } diff --git a/systeminfo1/utils.go b/systeminfo1/utils.go index 01fa584c2..649da60cb 100644 --- a/systeminfo1/utils.go +++ b/systeminfo1/utils.go @@ -6,7 +6,7 @@ package systeminfo import ( "fmt" - "io/ioutil" + "os" "os/exec" "strconv" "strings" @@ -71,7 +71,7 @@ func runLscpu() (map[string]string, error) { } func parseInfoFile(file, delim string) (map[string]string, error) { - content, err := ioutil.ReadFile(file) + content, err := os.ReadFile(file) if err != nil { return nil, err } diff --git a/timedate1/zoneinfo/zone.go b/timedate1/zoneinfo/zone.go index f4bcaa284..9257c751c 100644 --- a/timedate1/zoneinfo/zone.go +++ b/timedate1/zoneinfo/zone.go @@ -6,7 +6,7 @@ package zoneinfo import ( "fmt" - "io/ioutil" + "os" "regexp" "strings" "sync" @@ -117,7 +117,7 @@ func getZoneListFromFile(file string) ([]string, error) { // when error occurs, return nil,error func getUncommentedZoneLines(file string) ([]string, error) { - content, err := ioutil.ReadFile(file) + content, err := os.ReadFile(file) if err != nil { return nil, err }