mirror of
https://github.com/permissionlesstech/bitchat.git
synced 2026-07-25 01:05:19 +00:00
Remove redundant .noise
This commit is contained in:
@@ -92,7 +92,7 @@ class NoiseSession {
|
|||||||
|
|
||||||
func processHandshakeMessage(_ message: Data) throws -> Data? {
|
func processHandshakeMessage(_ message: Data) throws -> Data? {
|
||||||
return try sessionQueue.sync(flags: .barrier) {
|
return try sessionQueue.sync(flags: .barrier) {
|
||||||
SecureLogger.debug("NoiseSession[\(peerID)]: Processing handshake message, current state: \(state), role: \(role)", category: .noise)
|
SecureLogger.debug("NoiseSession[\(peerID)]: Processing handshake message, current state: \(state), role: \(role)")
|
||||||
|
|
||||||
// Initialize handshake state if needed (for responders)
|
// Initialize handshake state if needed (for responders)
|
||||||
if state == .uninitialized && role == .responder {
|
if state == .uninitialized && role == .responder {
|
||||||
@@ -103,7 +103,7 @@ class NoiseSession {
|
|||||||
remoteStaticKey: nil
|
remoteStaticKey: nil
|
||||||
)
|
)
|
||||||
state = .handshaking
|
state = .handshaking
|
||||||
SecureLogger.debug("NoiseSession[\(peerID)]: Initialized handshake state for responder", category: .noise)
|
SecureLogger.debug("NoiseSession[\(peerID)]: Initialized handshake state for responder")
|
||||||
}
|
}
|
||||||
|
|
||||||
guard case .handshaking = state, let handshake = handshakeState else {
|
guard case .handshaking = state, let handshake = handshakeState else {
|
||||||
@@ -112,7 +112,7 @@ class NoiseSession {
|
|||||||
|
|
||||||
// Process incoming message
|
// Process incoming message
|
||||||
_ = try handshake.readMessage(message)
|
_ = try handshake.readMessage(message)
|
||||||
SecureLogger.debug("NoiseSession[\(peerID)]: Read handshake message, checking if complete", category: .noise)
|
SecureLogger.debug("NoiseSession[\(peerID)]: Read handshake message, checking if complete")
|
||||||
|
|
||||||
// Check if handshake is complete
|
// Check if handshake is complete
|
||||||
if handshake.isHandshakeComplete() {
|
if handshake.isHandshakeComplete() {
|
||||||
@@ -130,7 +130,7 @@ class NoiseSession {
|
|||||||
state = .established
|
state = .established
|
||||||
handshakeState = nil // Clear handshake state
|
handshakeState = nil // Clear handshake state
|
||||||
|
|
||||||
SecureLogger.debug("NoiseSession[\(peerID)]: Handshake complete (no response needed), transitioning to established", category: .noise)
|
SecureLogger.debug("NoiseSession[\(peerID)]: Handshake complete (no response needed), transitioning to established")
|
||||||
SecureLogger.info(.handshakeCompleted(peerID: peerID))
|
SecureLogger.info(.handshakeCompleted(peerID: peerID))
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
@@ -138,7 +138,7 @@ class NoiseSession {
|
|||||||
// Generate response
|
// Generate response
|
||||||
let response = try handshake.writeMessage()
|
let response = try handshake.writeMessage()
|
||||||
sentHandshakeMessages.append(response)
|
sentHandshakeMessages.append(response)
|
||||||
SecureLogger.debug("NoiseSession[\(peerID)]: Generated handshake response of size \(response.count)", category: .noise)
|
SecureLogger.debug("NoiseSession[\(peerID)]: Generated handshake response of size \(response.count)")
|
||||||
|
|
||||||
// Check if handshake is complete after writing
|
// Check if handshake is complete after writing
|
||||||
if handshake.isHandshakeComplete() {
|
if handshake.isHandshakeComplete() {
|
||||||
@@ -156,7 +156,7 @@ class NoiseSession {
|
|||||||
state = .established
|
state = .established
|
||||||
handshakeState = nil // Clear handshake state
|
handshakeState = nil // Clear handshake state
|
||||||
|
|
||||||
SecureLogger.debug("NoiseSession[\(peerID)]: Handshake complete after writing response, transitioning to established", category: .noise)
|
SecureLogger.debug("NoiseSession[\(peerID)]: Handshake complete after writing response, transitioning to established")
|
||||||
SecureLogger.info(.handshakeCompleted(peerID: peerID))
|
SecureLogger.info(.handshakeCompleted(peerID: peerID))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -339,7 +339,7 @@ final class BLEService: NSObject {
|
|||||||
// Set up Noise session establishment callback
|
// Set up Noise session establishment callback
|
||||||
// This ensures we send pending messages only when session is truly established
|
// This ensures we send pending messages only when session is truly established
|
||||||
noiseService.onPeerAuthenticated = { [weak self] peerID, fingerprint in
|
noiseService.onPeerAuthenticated = { [weak self] peerID, fingerprint in
|
||||||
SecureLogger.debug("🔐 Noise session authenticated with \(peerID), fingerprint: \(fingerprint.prefix(16))...", category: .noise)
|
SecureLogger.debug("🔐 Noise session authenticated with \(peerID), fingerprint: \(fingerprint.prefix(16))...")
|
||||||
// Send any messages that were queued during handshake
|
// Send any messages that were queued during handshake
|
||||||
self?.messageQueue.async { [weak self] in
|
self?.messageQueue.async { [weak self] in
|
||||||
self?.sendPendingMessagesAfterHandshake(for: peerID)
|
self?.sendPendingMessagesAfterHandshake(for: peerID)
|
||||||
@@ -623,7 +623,7 @@ final class BLEService: NSObject {
|
|||||||
messageQueue.async { [weak self] in self?.broadcastPacket(packet) }
|
messageQueue.async { [weak self] in self?.broadcastPacket(packet) }
|
||||||
}
|
}
|
||||||
} catch {
|
} catch {
|
||||||
SecureLogger.error("Failed to send read receipt: \(error)", category: .noise)
|
SecureLogger.error("Failed to send read receipt: \(error)")
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Queue for after handshake and initiate if needed
|
// Queue for after handshake and initiate if needed
|
||||||
@@ -674,7 +674,7 @@ final class BLEService: NSObject {
|
|||||||
messageQueue.async { [weak self] in self?.broadcastPacket(packet) }
|
messageQueue.async { [weak self] in self?.broadcastPacket(packet) }
|
||||||
}
|
}
|
||||||
} catch {
|
} catch {
|
||||||
SecureLogger.error("Failed to send verification payload: \(error)", category: .noise)
|
SecureLogger.error("Failed to send verification payload: \(error)")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -790,7 +790,7 @@ final class BLEService: NSObject {
|
|||||||
// Create TLV-encoded private message
|
// Create TLV-encoded private message
|
||||||
let privateMessage = PrivateMessagePacket(messageID: messageID, content: content)
|
let privateMessage = PrivateMessagePacket(messageID: messageID, content: content)
|
||||||
guard let tlvData = privateMessage.encode() else {
|
guard let tlvData = privateMessage.encode() else {
|
||||||
SecureLogger.error("Failed to encode private message with TLV", category: .noise)
|
SecureLogger.error("Failed to encode private message with TLV")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -839,7 +839,7 @@ final class BLEService: NSObject {
|
|||||||
self?.delegate?.didUpdateMessageDeliveryStatus(messageID, status: .sent)
|
self?.delegate?.didUpdateMessageDeliveryStatus(messageID, status: .sent)
|
||||||
}
|
}
|
||||||
} catch {
|
} catch {
|
||||||
SecureLogger.error("Failed to encrypt message: \(error)", category: .noise)
|
SecureLogger.error("Failed to encrypt message: \(error)")
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Queue message for sending after handshake completes
|
// Queue message for sending after handshake completes
|
||||||
@@ -888,7 +888,7 @@ final class BLEService: NSObject {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} catch {
|
} catch {
|
||||||
SecureLogger.error("Failed to initiate handshake: \(error)", category: .noise)
|
SecureLogger.error("Failed to initiate handshake: \(error)")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -910,7 +910,7 @@ final class BLEService: NSObject {
|
|||||||
// Use the same TLV format as normal sends to keep receiver decoding consistent
|
// Use the same TLV format as normal sends to keep receiver decoding consistent
|
||||||
let privateMessage = PrivateMessagePacket(messageID: messageID, content: content)
|
let privateMessage = PrivateMessagePacket(messageID: messageID, content: content)
|
||||||
guard let tlvData = privateMessage.encode() else {
|
guard let tlvData = privateMessage.encode() else {
|
||||||
SecureLogger.error("Failed to encode pending private message TLV", category: .noise)
|
SecureLogger.error("Failed to encode pending private message TLV")
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -939,7 +939,7 @@ final class BLEService: NSObject {
|
|||||||
|
|
||||||
SecureLogger.debug("✅ Sent pending message \(messageID) to \(peerID) after handshake", category: .session)
|
SecureLogger.debug("✅ Sent pending message \(messageID) to \(peerID) after handshake", category: .session)
|
||||||
} catch {
|
} catch {
|
||||||
SecureLogger.error("Failed to send pending message after handshake: \(error)", category: .noise)
|
SecureLogger.error("Failed to send pending message after handshake: \(error)")
|
||||||
|
|
||||||
// Notify delegate of failure
|
// Notify delegate of failure
|
||||||
notifyUI { [weak self] in
|
notifyUI { [weak self] in
|
||||||
@@ -1697,7 +1697,7 @@ final class BLEService: NSObject {
|
|||||||
// Session establishment will trigger onPeerAuthenticated callback
|
// Session establishment will trigger onPeerAuthenticated callback
|
||||||
// which will send any pending messages at the right time
|
// which will send any pending messages at the right time
|
||||||
} catch {
|
} catch {
|
||||||
SecureLogger.error("Failed to process handshake: \(error)", category: .noise)
|
SecureLogger.error("Failed to process handshake: \(error)")
|
||||||
// Try initiating a new handshake
|
// Try initiating a new handshake
|
||||||
if !noiseService.hasSession(with: peerID) {
|
if !noiseService.hasSession(with: peerID) {
|
||||||
initiateNoiseHandshake(with: peerID)
|
initiateNoiseHandshake(with: peerID)
|
||||||
@@ -1707,7 +1707,7 @@ final class BLEService: NSObject {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private func handleNoiseEncrypted(_ packet: BitchatPacket, from peerID: String) {
|
private func handleNoiseEncrypted(_ packet: BitchatPacket, from peerID: String) {
|
||||||
SecureLogger.debug("🔐 handleNoiseEncrypted called for packet from \(peerID)", category: .noise)
|
SecureLogger.debug("🔐 handleNoiseEncrypted called for packet from \(peerID)")
|
||||||
|
|
||||||
guard let recipientID = packet.recipientID else {
|
guard let recipientID = packet.recipientID else {
|
||||||
SecureLogger.warning("⚠️ Encrypted message has no recipient ID", category: .session)
|
SecureLogger.warning("⚠️ Encrypted message has no recipient ID", category: .session)
|
||||||
@@ -1758,17 +1758,17 @@ final class BLEService: NSObject {
|
|||||||
self?.delegate?.didReceiveNoisePayload(from: peerID, type: .verifyResponse, payload: Data(payloadData), timestamp: ts)
|
self?.delegate?.didReceiveNoisePayload(from: peerID, type: .verifyResponse, payload: Data(payloadData), timestamp: ts)
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
SecureLogger.warning("⚠️ Unknown noise payload type: \(payloadType)", category: .noise)
|
SecureLogger.warning("⚠️ Unknown noise payload type: \(payloadType)")
|
||||||
}
|
}
|
||||||
} catch NoiseEncryptionError.sessionNotEstablished {
|
} catch NoiseEncryptionError.sessionNotEstablished {
|
||||||
// We received an encrypted message before establishing a session with this peer.
|
// We received an encrypted message before establishing a session with this peer.
|
||||||
// Trigger a handshake so future messages can be decrypted.
|
// Trigger a handshake so future messages can be decrypted.
|
||||||
SecureLogger.debug("🔑 Encrypted message from \(peerID) without session; initiating handshake", category: .noise)
|
SecureLogger.debug("🔑 Encrypted message from \(peerID) without session; initiating handshake")
|
||||||
if !noiseService.hasSession(with: peerID) {
|
if !noiseService.hasSession(with: peerID) {
|
||||||
initiateNoiseHandshake(with: peerID)
|
initiateNoiseHandshake(with: peerID)
|
||||||
}
|
}
|
||||||
} catch {
|
} catch {
|
||||||
SecureLogger.error("❌ Failed to decrypt message from \(peerID): \(error)", category: .noise)
|
SecureLogger.error("❌ Failed to decrypt message from \(peerID): \(error)")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1879,7 +1879,7 @@ final class BLEService: NSObject {
|
|||||||
)
|
)
|
||||||
broadcastPacket(packet)
|
broadcastPacket(packet)
|
||||||
} catch {
|
} catch {
|
||||||
SecureLogger.error("Failed to send delivery ACK: \(error)", category: .noise)
|
SecureLogger.error("Failed to send delivery ACK: \(error)")
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Queue for after handshake and initiate if needed
|
// Queue for after handshake and initiate if needed
|
||||||
@@ -1914,7 +1914,7 @@ final class BLEService: NSObject {
|
|||||||
)
|
)
|
||||||
broadcastPacket(packet)
|
broadcastPacket(packet)
|
||||||
} catch {
|
} catch {
|
||||||
SecureLogger.error("❌ Failed to send pending noise payload to \(peerID): \(error)", category: .noise)
|
SecureLogger.error("❌ Failed to send pending noise payload to \(peerID): \(error)")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -281,7 +281,7 @@ final class NoiseEncryptionService {
|
|||||||
let signature = try signingKey.signature(for: data)
|
let signature = try signingKey.signature(for: data)
|
||||||
return signature
|
return signature
|
||||||
} catch {
|
} catch {
|
||||||
SecureLogger.error(error, context: "Failed to sign data", category: .noise)
|
SecureLogger.error(error, context: "Failed to sign data")
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -292,7 +292,7 @@ final class NoiseEncryptionService {
|
|||||||
let signingPublicKey = try Curve25519.Signing.PublicKey(rawRepresentation: publicKey)
|
let signingPublicKey = try Curve25519.Signing.PublicKey(rawRepresentation: publicKey)
|
||||||
return signingPublicKey.isValidSignature(signature, for: data)
|
return signingPublicKey.isValidSignature(signature, for: data)
|
||||||
} catch {
|
} catch {
|
||||||
SecureLogger.error(error, context: "Failed to verify signature", category: .noise)
|
SecureLogger.error(error, context: "Failed to verify signature")
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user