1+
12#[ cfg( target_family = "unix" ) ]
23use std:: path:: PathBuf ;
34use std:: time:: Duration ;
@@ -8,6 +9,8 @@ use std::{
89 process:: { Child , Command , Stdio } ,
910} ;
1011
12+ #[ cfg( target_family = "unix" ) ]
13+ use log:: error;
1114use log:: { debug, info} ;
1215use serde:: Serialize ;
1316use tokio:: time:: interval;
@@ -70,8 +73,19 @@ pub fn set_permissions(dir_path: &PathBuf) -> Result<(), WorkerError> {
7073 debug ! ( "GPG temp folder set to {0}" , dir_string) ;
7174 use std:: os:: unix:: prelude:: PermissionsExt ;
7275 let permissions = fs:: Permissions :: from_mode ( 0o700 ) ;
73- fs:: set_permissions ( dir_path, permissions) ?;
74- debug ! ( "Permissions set" ) ;
76+ match fs:: set_permissions ( dir_path, permissions) {
77+ Ok ( _) => {
78+ debug ! ( "Permissions set" ) ;
79+ }
80+ Err ( e) => {
81+ error ! (
82+ "Failed to set permissions for GPG TEMP Home! \
83+ Location: {dir_string} \n \
84+ Error: {0}\n Program will proceed with default permissions.",
85+ e. to_string( )
86+ ) ;
87+ }
88+ }
7589 Ok ( ( ) )
7690}
7791
@@ -83,7 +97,10 @@ pub fn init_gpg(config: &Config) -> Result<(String, Child), WorkerError> {
8397
8498 #[ cfg( target_family = "unix" ) ]
8599 if !config. skip_gpg_permissions {
86- set_permissions ( & temp_path) ?;
100+ // ignore permissions error, just warn the user and proceed. Default permissions still allow for provisioning to work.
101+ if let Err ( e) = set_permissions ( & temp_path) {
102+ error ! ( "Failed to set permissions! \n Error: {}" , e. to_string( ) ) ;
103+ }
87104 }
88105
89106 let temp_path_str = temp_path. to_str ( ) . ok_or ( WorkerError :: Gpg ) ?;
0 commit comments