@@ -191,6 +191,7 @@ server = doServer(tlsOptions,function(socket) {
191
191
this . irc . realname = null ;
192
192
this . irc . serverpassword = null ;
193
193
this . irc . nickpassword = null ;
194
+ this . irc . accountsasl = null ;
194
195
origin = commands [ 1 ] . trim ( ) . split ( "/" ) ;
195
196
if ( origin [ 0 ] . indexOf ( "||" ) > 0 )
196
197
this . irc . password = origin [ 0 ] . split ( "||" ) [ 1 ] ;
@@ -213,7 +214,7 @@ server = doServer(tlsOptions,function(socket) {
213
214
}
214
215
}
215
216
else {
216
- if ( origin . length != 2 && origin . length != 3 )
217
+ if ( origin . length != 2 && origin . length != 3 && origin . length != 4 )
217
218
this . end ( ) ;
218
219
else {
219
220
_server_pass = origin [ 1 ] . split ( "||" ) ;
@@ -228,6 +229,8 @@ server = doServer(tlsOptions,function(socket) {
228
229
}
229
230
if ( origin [ 2 ] )
230
231
this . clientbuffer = origin [ 2 ] . trim ( ) ;
232
+ if ( origin [ 3 ] )
233
+ this . irc . accountsasl = origin [ 3 ] . trim ( ) ;
231
234
}
232
235
}
233
236
}
@@ -747,7 +750,8 @@ function clientConnect(socket) {
747
750
connection . nick = socket . irc . nick ;
748
751
connection . nick_original = socket . irc . nick ;
749
752
connection . password = socket . irc . password ;
750
- connection . nickpassword = socket . irc . nickpassword ;
753
+ connection . nickpassword = socket . irc . nickpassword ;
754
+ connection . accountsasl = socket . irc . accountsasl ;
751
755
connection . user = socket . irc . user ;
752
756
connection . ircuser = socket . irc . user ;
753
757
connection . server = socket . irc . server ;
@@ -854,8 +858,8 @@ function clientConnect(socket) {
854
858
}
855
859
856
860
if ( this . sasl && data [ 0 ] == "AUTHENTICATE" && data [ 1 ] == "+" ) {
857
- const auth_str = this . nick + '\0' +
858
- this . nick + '\0' +
861
+ const auth_str = ( this . accountsasl ? this . accountsasl : this . nick ) + '\0' +
862
+ ( this . accountsasl ? this . accountsasl : this . nick ) + '\0' +
859
863
this . nickpassword ;
860
864
861
865
const b = Buffer . from ( auth_str , 'utf8' ) ;
0 commit comments