Post

Replies

Boosts

Views

Activity

Transparent Proxy tunnel samba connection
Hi, I am implementing a transparent proxy for macOS, while most of the TCP connections are able to tunnel without any issue except for samba connection with port 445 or 135. When the finder trying to connect to samba server, the system will crash and reboot. From the code, system is crashing when calling system extension's handleNewFlow. Below is the part of the source code: override func handleNewFlow(_ flow: NEAppProxyFlow) -> Bool {         if let TCPFlow = flow as? NEAppProxyTCPFlow {             guard let remoteEndpoint = TCPFlow.remoteEndpoint as? NWHostEndpoint else {                 Logger.error("AppProxyProvider.handleNewFlow: Failed to get remote endpoint")                 return false             }             if Int(remoteEndpoint.port) == 445 || Int(remoteEndpoint.port) == 135 {                 return false // system crash after return             } }
11
0
1.4k
Jul ’20
MEComposeSessionHandler alert message not shown
When the mail extension invoke allowMessageSendForSession func, the error prompt did not show the error description. What am I missing? Below is the code:     enum ComposeSessionError: LocalizedError {         case invalidRecipientDomain                  var errorDescription: String? {             switch self {             case .invalidRecipientDomain:                 return "example.com is not a valid recipient domain"             }         }     }          func allowMessageSendForSession(_ session: MEComposeSession) async throws {         // Before Mail sends a message, your extension can validate the         // contents of the compose session. If the message isn't ready to be         // sent, throw an error.         throw ComposeSessionError.invalidRecipientDomain     }
6
0
2.4k
Aug ’21