Skip to content

Commit 188ec65

Browse files
committed
Allow optional username and password for streamlined Windows Authentication (Fixes #7)
1 parent ac582cd commit 188ec65

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

Sources/SQLClientSwift/SQLClient.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ public enum SQLClientEncryption: String, Sendable {
8282

8383
public struct SQLClientConnectionOptions: Sendable {
8484
public var server: String
85-
public var username: String
85+
public var username: String?
8686
public var password: String?
8787
public var database: String?
8888
public var domain: String?
@@ -95,7 +95,7 @@ public struct SQLClientConnectionOptions: Sendable {
9595
public var queryTimeout: Int = 0
9696
public var loginTimeout: Int = 0
9797

98-
public init(server: String, username: String, password: String? = nil, database: String? = nil, domain: String? = nil) {
98+
public init(server: String, username: String? = nil, password: String? = nil, database: String? = nil, domain: String? = nil) {
9999
self.server = server
100100
self.username = username
101101
self.password = password
@@ -191,7 +191,7 @@ public actor SQLClient {
191191
private var connection: OpaquePointer?
192192
private var connected = false
193193

194-
public func connect(server: String, username: String, password: String? = nil, database: String? = nil, domain: String? = nil) async throws {
194+
public func connect(server: String, username: String? = nil, password: String? = nil, database: String? = nil, domain: String? = nil) async throws {
195195
try await connect(options: SQLClientConnectionOptions(server: server, username: username, password: password, database: database, domain: domain))
196196
}
197197

@@ -321,7 +321,7 @@ public actor SQLClient {
321321
guard let lgn = dblogin() else { throw SQLClientError.loginAllocationFailed }
322322

323323
if SQLClient.debugEnabled { print("DEBUG: _connectSync - setting login options") }
324-
dbsetlname(lgn, options.username, 2) // DBSETUSER
324+
dbsetlname(lgn, options.username ?? "", 2) // DBSETUSER (empty for trusted)
325325
if let password = options.password {
326326
dbsetlname(lgn, password, 3) // DBSETPWD
327327
}

0 commit comments

Comments
 (0)