diff --git a/nselib/mssql.lua b/nselib/mssql.lua index 32a029d20..f1be0ecfb 100644 --- a/nselib/mssql.lua +++ b/nselib/mssql.lua @@ -1998,15 +1998,24 @@ LoginPacket = local authLen = 0 self.cli_pid = math.random(100000) + local u_client = unicode.utf8to16(self.client) + local u_app = unicode.utf8to16(self.app) + local u_server = unicode.utf8to16(self.server) + local u_library = unicode.utf8to16(self.library) + local u_locale = unicode.utf8to16(self.locale) + local u_database = unicode.utf8to16(self.database) + local u_username, u_password - self.length = offset + 2 * ( self.client:len() + self.app:len() + self.server:len() + self.library:len() + self.database:len() ) + self.length = offset + #u_client + #u_app + #u_server + #u_library + #u_database if ( ntlmAuth ) then authLen = 32 + #self.domain self.length = self.length + authLen self.options_2 = self.options_2 + 0x80 else - self.length = self.length + 2 * (self.username:len() + self.password:len()) + u_username = unicode.utf8to16(self.username) + u_password = unicode.utf8to16(self.password) + self.length = self.length + #u_username + #u_password end data = { @@ -2015,38 +2024,38 @@ LoginPacket = string.pack("