diff --git a/plugins/smb/build.gradle.kts b/plugins/smb/build.gradle.kts index 13da9a9..23d271f 100644 --- a/plugins/smb/build.gradle.kts +++ b/plugins/smb/build.gradle.kts @@ -2,7 +2,7 @@ plugins { alias(libs.plugins.kotlin.jvm) } -project.version = "0.0.3" +project.version = "0.0.4" dependencies { testImplementation(kotlin("test")) diff --git a/plugins/smb/src/main/kotlin/app/termora/plugins/smb/SMBHostOptionsPane.kt b/plugins/smb/src/main/kotlin/app/termora/plugins/smb/SMBHostOptionsPane.kt index 649bf51..883d6c0 100644 --- a/plugins/smb/src/main/kotlin/app/termora/plugins/smb/SMBHostOptionsPane.kt +++ b/plugins/smb/src/main/kotlin/app/termora/plugins/smb/SMBHostOptionsPane.kt @@ -42,6 +42,7 @@ class SMBHostOptionsPane : OptionsPane() { sftpDefaultDirectory = sftpOption.defaultDirectoryField.text, extras = mutableMapOf( "smb.share" to generalOption.shareTextField.text, + "smb.domain" to generalOption.domainTextField.text, ) ) @@ -66,6 +67,7 @@ class SMBHostOptionsPane : OptionsPane() { generalOption.remarkTextArea.text = host.remark generalOption.passwordTextField.text = host.authentication.password generalOption.shareTextField.text = host.options.extras["smb.share"] ?: StringUtils.EMPTY + generalOption.domainTextField.text = host.options.extras["smb.domain"] ?: StringUtils.EMPTY sftpOption.defaultDirectoryField.text = host.options.sftpDefaultDirectory } @@ -114,6 +116,7 @@ class SMBHostOptionsPane : OptionsPane() { val nameTextField = OutlineTextField(128) val shareTextField = OutlineTextField(256) val usernameTextField = OutlineComboBox() + val domainTextField = OutlineTextField(128) val hostTextField = OutlineTextField(255) val passwordTextField = OutlinePasswordField(255) val remarkTextArea = FixedLengthTextArea(512) @@ -188,7 +191,9 @@ class SMBHostOptionsPane : OptionsPane() { .add(portTextField).xy(7, rows).apply { rows += step } .add("${I18n.getString("termora.new-host.general.username")}:").xy(1, rows) - .add(usernameTextField).xyw(3, rows, 5).apply { rows += step } + .add(usernameTextField).xy(3, rows) + .add("${SMBI18n.getString("termora.plugins.smb.domain")}:").xy(5, rows) + .add(domainTextField).xy(7, rows).apply { rows += step } .add("${I18n.getString("termora.new-host.general.password")}:").xy(1, rows) .add(passwordTextField).xyw(3, rows, 5).apply { rows += step } diff --git a/plugins/smb/src/main/kotlin/app/termora/plugins/smb/SMBProtocolProvider.kt b/plugins/smb/src/main/kotlin/app/termora/plugins/smb/SMBProtocolProvider.kt index 06f81df..5b3f239 100644 --- a/plugins/smb/src/main/kotlin/app/termora/plugins/smb/SMBProtocolProvider.kt +++ b/plugins/smb/src/main/kotlin/app/termora/plugins/smb/SMBProtocolProvider.kt @@ -30,6 +30,7 @@ class SMBProtocolProvider private constructor() : TransferProtocolProvider { val client = SMBClient() val host = requester.host val connection = client.connect(host.host, host.port) + val domain = host.options.extras["smb.domain"] ?: StringUtils.EMPTY val session = when (host.username) { "Guest" -> connection.authenticate(AuthenticationContext.guest()) "Anonymous" -> connection.authenticate(AuthenticationContext.anonymous()) @@ -37,7 +38,7 @@ class SMBProtocolProvider private constructor() : TransferProtocolProvider { AuthenticationContext( host.username, host.authentication.password.toCharArray(), - null + domain.ifBlank { null } ) ) } diff --git a/plugins/smb/src/main/resources/i18n/messages.properties b/plugins/smb/src/main/resources/i18n/messages.properties index 8e09059..f417a0e 100644 --- a/plugins/smb/src/main/resources/i18n/messages.properties +++ b/plugins/smb/src/main/resources/i18n/messages.properties @@ -1 +1,2 @@ termora.plugins.smb.share=Share name +termora.plugins.smb.domain=Domain diff --git a/plugins/smb/src/main/resources/i18n/messages_zh_CN.properties b/plugins/smb/src/main/resources/i18n/messages_zh_CN.properties index ef750e8..928e7b7 100644 --- a/plugins/smb/src/main/resources/i18n/messages_zh_CN.properties +++ b/plugins/smb/src/main/resources/i18n/messages_zh_CN.properties @@ -1 +1,3 @@ termora.plugins.smb.share=共享名称 +termora.plugins.smb.domain=域名 + diff --git a/plugins/smb/src/main/resources/i18n/messages_zh_TW.properties b/plugins/smb/src/main/resources/i18n/messages_zh_TW.properties index 7d0ca4d..39fa99d 100644 --- a/plugins/smb/src/main/resources/i18n/messages_zh_TW.properties +++ b/plugins/smb/src/main/resources/i18n/messages_zh_TW.properties @@ -1 +1,3 @@ termora.plugins.smb.share=共享名稱 +termora.plugins.smb.domain=網域 +