vukoye / xmpp_dart

Lightweight XMPP client library written in Dart
Apache License 2.0
83 stars 64 forks source link

Login Error. #58

Open HeartDawnWY opened 3 years ago

HeartDawnWY commented 3 years ago

When do login. I get the fllow error. [log] ---Xmpp Receiving:--- [log] <?xml version='1.0' encoding='UTF-8'?>PLAINSCRAM-SHA-1CRAM-MD5DIGEST-MD5zlib</stream:features>

[log] D/[ConnectionNegotiatorManager]: Negotiating features [log] D/[ConnectionNegotiatorManager]: Found matching negotiator true I/flutter (31622): ‼️ SEVERE 2021-05-17 16:08:28.330594 [caller info not available] RangeError (index): Invalid value: Valid value range is empty: 0 I/flutter (31622): ‼️ SEVERE 2021-05-17 16:08:28.331731 [caller info not available] #0 List._setIndexed (dart:core-patch/growable_array.dart:262:73) I/flutter (31622): #1 List.[]= (dart:core-patch/growable_array.dart:258:5) I/flutter (31622): #2 ScramSaslHandler.generateRandomClientNonce (package:xmpp_stone/src/features/sasl/ScramSaslHandler.dart:65:12) I/flutter (31622): #3 new ScramSaslHandler (package:xmpp_stone/src/features/sasl/ScramSaslHandler.dart:42:5) I/flutter (31622): #4 SaslAuthenticationFeature._process (package:xmpp_stone/src/features/sasl/SaslAuthenticationFeature.dart:51:23) I/flutter (31622): #5 SaslAuthenticationFeature.negotiate (package:xmpp_stone/src/features/sasl/SaslAuthenticationFeature.dart:36:7) I/flutter (31622): #6 ConnectionNegotiatorManager.negotiateNextFeature (package:xmpp_stone/src/features/ConnectionNegotatiorManager.dart:79:25) I/flutter (31622): #7 ConnectionNegotiatorManager.negotiateFeatureList (package:xmpp_stone/src/features/ConnectionNegotatiorManager.dart:61:5) I/flutter (31622): #8 Connection.handleResponse. (package:xmpp_stone/src/Connection.dart:306:43) I/flutter (31622): #9 Ite

HeartDawnWY commented 3 years ago

I get the reason for the error. these have two error In ScramSaslHandler class. 1.Line 62 (Method generateRandomClientNonce)

void generateRandomClientNonce() { var bytes = []; for (var i = 0; i < CLIENT_NONCE_LENGTH; i++) { bytes.add(Random.secure().nextInt(256)); } _clientNonce = base64.encode(bytes); }

2.Line178 (in challengeFirst)

var clientProof = <int>[];
for (var i = 0; i < clientKey.length; i++) {
  clientProof.add(clientKey[i] ^ clientSignature[i]);
}

Please merge this project. (ver. null safety)

zackattack73 commented 3 years ago

I'm having the same issues (version Prerelease: 0.4.0-dev.1). It seems like these issues are due to the null safety migration. @vukoye

olimarmite commented 3 years ago

Hi, I fixed this bug, I am waiting for a merge

https://github.com/vukoye/xmpp_dart/pull/57

(sorry for my bad English) @HeartDawnWY @zackattack73