package Ġcom . github . j async . sql . db . postgresql . parsers Ċ Ċ import Ġcom . github . j async . sql . db . exceptions . Unsupported Authentication Method Exception Ċ import Ġcom . github . j async . sql . db . postgresql . messages . backend . Authentication Cle art ext Password Message Ċ import Ġcom . github . j async . sql . db . postgresql . messages . backend . Authentication MD 5 Password Message Ċ import Ġcom . github . j async . sql . db . postgresql . messages . backend . Authentication Ok Message Ċ import Ġcom . github . j async . sql . db . postgresql . messages . backend . Authentication SAS L Continue Message Ċ import Ġcom . github . j async . sql . db . postgresql . messages . backend . Authentication SAS L Final Message Ċ import Ġcom . github . j async . sql . db . postgresql . messages . backend . Authentication SAS L Message Ċ import Ġcom . github . j async . sql . db . postgresql . messages . backend . Server Message Ċ import Ġio . netty . buffer . Byte Buf Ċ Ċ @ Suppress (" Member Visibility Can Be Private ", Ġ" unused ") Ċ object ĠAuthentication Startup Parser Ġ: ĠMessage Parser Ġ{ ĊĊĠĠĠ Ġconst Ġval ĠAuthentication Ok Ġ= Ġ 0 ĊĠĠĠ Ġconst Ġval ĠAuthentication Ker beros V 5 Ġ= Ġ 2 ĊĠĠĠ Ġconst Ġval ĠAuthentication Cle art ext Password Ġ= Ġ 3 ĊĠĠĠ Ġconst Ġval ĠAuthentication MD 5 Password Ġ= Ġ 5 ĊĠĠĠ Ġconst Ġval ĠAuthentication SC MC redential Ġ= Ġ 6 ĊĠĠĠ Ġconst Ġval ĠAuthentication G SS Ġ= Ġ 7 ĊĠĠĠ Ġconst Ġval ĠAuthentication G SS Continue Ġ= Ġ 8 ĊĠĠĠ Ġconst Ġval ĠAuthentication SS PI Ġ= Ġ 9 ĊĠĠĠ Ġconst Ġval ĠAuthentication SAS L Ġ= Ġ 1 0 ĊĠĠĠ Ġconst Ġval ĠAuthentication SAS L Continue Ġ= Ġ 1 1 ĊĠĠĠ Ġconst Ġval ĠAuthentication SAS L Final Ġ= Ġ 1 2 ĊĊĠĠĠ Ġoverride Ġfun Ġparse Message ( buffer : ĠByte Buf ): ĠServer Message Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġauthentication Type Ġ= Ġbuffer . readInt () ĊĠĠĠĠĠĠĠ Ġval Ġbytes Ġ= ĠByteArray ( buffer . readable Bytes ()). also Ġ{ Ġbuffer . read Bytes ( it ) Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( authentication Type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAuthentication Ok Ġ-> ĠAuthentication Ok Message ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAuthentication Cle art ext Password Ġ-> ĠAuthentication Cle art ext Password Message ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAuthentication MD 5 Password Ġ-> ĠAuthentication MD 5 Password Message ( bytes ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAuthentication SAS L Ġ-> ĠAuthentication SAS L Message ( parse SAS L Me chanism Ids ( bytes )) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAuthentication SAS L Continue Ġ-> ĠAuthentication SAS L Continue Message ( bytes . decode ToString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠAuthentication SAS L Final Ġ-> ĠAuthentication SAS L Final Message ( bytes . decode ToString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠUnsupported Authentication Method Exception ( authentication Type ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġparse SAS L Me chanism Ids ( bytes : ĠByteArray ): ĠList < String > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsupported Me chanism Strings Ġ= Ġmutable ListOf < String >() ĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠStringBuilder () ĊĊĠĠĠĠĠĠĠ Ġbytes . forEach Ġ{ Ġbyte Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( byte Ġ!= Ġ 0 . to Byte ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . append ( byte . to Char ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . take If Ġ{ Ġit . isNotEmpty () Ġ} ?. let Ġ{ Ġsupported Me chanism Strings . add ( it . toString ()) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . clear () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġsupported Me chanism Strings ĊĠĠĠ Ġ} Ċ } Ċ