From c33557e2a69ff7cbf7edf1a8127dfafa034c30c9 Mon Sep 17 00:00:00 2001 From: Max Goedjen Date: Sat, 11 Dec 2021 23:30:41 -0800 Subject: [PATCH] Cleanup logger usage --- SecretAgentKit/Agent.swift | 21 ++++++++++--------- SecretAgentKit/SocketController.swift | 15 ++++++------- .../Controllers/LaunchAgentController.swift | 10 +++++---- 3 files changed, 25 insertions(+), 21 deletions(-) diff --git a/SecretAgentKit/Agent.swift b/SecretAgentKit/Agent.swift index 3e69037..1080435 100644 --- a/SecretAgentKit/Agent.swift +++ b/SecretAgentKit/Agent.swift @@ -6,15 +6,16 @@ import AppKit public class Agent { + private let logger = Logger() private let storeList: SecretStoreList private let witness: SigningWitness? private let writer = OpenSSHKeyWriter() private let requestTracer = SigningRequestTracer() public init(storeList: SecretStoreList, witness: SigningWitness? = nil) { - Logger().debug("Agent is running") self.storeList = storeList self.witness = witness + logger.debug("Agent is running") } } @@ -22,16 +23,16 @@ public class Agent { extension Agent { public func handle(reader: FileHandleReader, writer: FileHandleWriter) { - Logger().debug("Agent handling new data") + logger.debug("Agent handling new data") let data = reader.availableData guard !data.isEmpty else { return } let requestTypeInt = data[4] guard let requestType = SSHAgent.RequestType(rawValue: requestTypeInt) else { writer.write(OpenSSHKeyWriter().lengthAndData(of: SSHAgent.ResponseType.agentFailure.data)) - Logger().debug("Agent returned \(SSHAgent.ResponseType.agentFailure.debugDescription)") + logger.debug("Agent returned \(SSHAgent.ResponseType.agentFailure.debugDescription)") return } - Logger().debug("Agent handling request of type \(requestType.debugDescription)") + logger.debug("Agent handling request of type \(requestType.debugDescription)") let subData = Data(data[5...]) let response = handle(requestType: requestType, data: subData, reader: reader) writer.write(response) @@ -44,17 +45,17 @@ extension Agent { case .requestIdentities: response.append(SSHAgent.ResponseType.agentIdentitiesAnswer.data) response.append(identities()) - Logger().debug("Agent returned \(SSHAgent.ResponseType.agentIdentitiesAnswer.debugDescription)") + logger.debug("Agent returned \(SSHAgent.ResponseType.agentIdentitiesAnswer.debugDescription)") case .signRequest: let provenance = requestTracer.provenance(from: reader) response.append(SSHAgent.ResponseType.agentSignResponse.data) response.append(try sign(data: data, provenance: provenance)) - Logger().debug("Agent returned \(SSHAgent.ResponseType.agentSignResponse.debugDescription)") + logger.debug("Agent returned \(SSHAgent.ResponseType.agentSignResponse.debugDescription)") } } catch { response.removeAll() response.append(SSHAgent.ResponseType.agentFailure.data) - Logger().debug("Agent returned \(SSHAgent.ResponseType.agentFailure.debugDescription)") + logger.debug("Agent returned \(SSHAgent.ResponseType.agentFailure.debugDescription)") } let full = OpenSSHKeyWriter().lengthAndData(of: response) return full @@ -76,7 +77,7 @@ extension Agent { let curveData = writer.curveType(for: secret.algorithm, length: secret.keySize).data(using: .utf8)! keyData.append(writer.lengthAndData(of: curveData)) } - Logger().debug("Agent enumerated \(secrets.count) identities") + logger.debug("Agent enumerated \(secrets.count) identities") return countData + keyData } @@ -84,7 +85,7 @@ extension Agent { let reader = OpenSSHReader(data: data) let hash = reader.readNextChunk() guard let (store, secret) = secret(matching: hash) else { - Logger().debug("Agent did not have a key matching \(hash as NSData)") + logger.debug("Agent did not have a key matching \(hash as NSData)") throw AgentError.noMatchingKey } @@ -138,7 +139,7 @@ extension Agent { try witness.witness(accessTo: secret, from: store, by: provenance, requiredAuthentication: signed.requiredAuthentication) } - Logger().debug("Agent signed request") + logger.debug("Agent signed request") return signedData } diff --git a/SecretAgentKit/SocketController.swift b/SecretAgentKit/SocketController.swift index 0c916c3..c210bb3 100644 --- a/SecretAgentKit/SocketController.swift +++ b/SecretAgentKit/SocketController.swift @@ -3,21 +3,22 @@ import OSLog public class SocketController { + private let logger = Logger() private var fileHandle: FileHandle? private var port: SocketPort? public var handler: ((FileHandleReader, FileHandleWriter) -> Void)? public init(path: String) { - Logger().debug("Socket controller setting up at \(path)") + logger.debug("Socket controller setting up at \(path)") if let _ = try? FileManager.default.removeItem(atPath: path) { - Logger().debug("Socket controller removed existing socket") + logger.debug("Socket controller removed existing socket") } let exists = FileManager.default.fileExists(atPath: path) assert(!exists) - Logger().debug("Socket controller path is clear") + logger.debug("Socket controller path is clear") port = socketPort(at: path) configureSocket(at: path) - Logger().debug("Socket listening at \(path)") + logger.debug("Socket listening at \(path)") } func configureSocket(at path: String) { @@ -50,7 +51,7 @@ public class SocketController { } @objc func handleConnectionAccept(notification: Notification) { - Logger().debug("Socket controller accepted connection") + logger.debug("Socket controller accepted connection") guard let new = notification.userInfo?[NSFileHandleNotificationFileHandleItem] as? FileHandle else { return } handler?(new, new) new.waitForDataInBackgroundAndNotify() @@ -58,9 +59,9 @@ public class SocketController { } @objc func handleConnectionDataAvailable(notification: Notification) { - Logger().debug("Socket controller has new data available") + logger.debug("Socket controller has new data available") guard let new = notification.object as? FileHandle else { return } - Logger().debug("Socket controller received new file handle") + logger.debug("Socket controller received new file handle") handler?(new, new) } diff --git a/Secretive/Controllers/LaunchAgentController.swift b/Secretive/Controllers/LaunchAgentController.swift index efff338..2246330 100644 --- a/Secretive/Controllers/LaunchAgentController.swift +++ b/Secretive/Controllers/LaunchAgentController.swift @@ -5,9 +5,11 @@ import OSLog import SecretKit struct LaunchAgentController { + + private let logger = Logger() func install() async { - Logger().debug("Installing agent") + logger.debug("Installing agent") _ = setEnabled(false) // This is definitely a bit of a "seems to work better" thing but: // Seems to more reliably hit if these are on separate runloops, otherwise it seems like it sometimes doesn't kill old @@ -17,15 +19,15 @@ struct LaunchAgentController { } func forceLaunch() async throws { - Logger().debug("Agent is not running, attempting to force launch") + logger.debug("Agent is not running, attempting to force launch") let url = Bundle.main.bundleURL.appendingPathComponent("Contents/Library/LoginItems/SecretAgent.app") let config = NSWorkspace.OpenConfiguration() config.activates = false do { try await NSWorkspace.shared.openApplication(at: url, configuration: config) - Logger().debug("Agent force launched") + logger.debug("Agent force launched") } catch { - Logger().error("Error force launching \(error.localizedDescription)") + logger.error("Error force launching \(error.localizedDescription)") throw error } }