Rantanen / node-dtls

JavaScript DTLS implementation for Node.js
ISC License
58 stars 15 forks source link

TypeError: Cannot read property 'length' of null #11

Closed nickdesaulniers closed 8 years ago

nickdesaulniers commented 8 years ago

k, I'm pulling this into my https://github.com/nickdesaulniers/node-rtc-peer-connection, and I get the following error, from a FINE log level:

...
2016/01/05 16:32:31.259 [dtls.ServerHandshakeHandler] : Received handshake fragment; sequence: 1:clientHello
2016/01/05 16:32:31.259 [dtls.HandshakeBuilder] : Received fragment of sequence: 1
2016/01/05 16:32:31.259 [dtls.HandshakeBuilder] : Valid data
2016/01/05 16:32:31.259 [dtls.HandshakeBuilder] : Merged
2016/01/05 16:32:31.259 [dtls.HandshakeBuilder] : Raised decode++ 2
2016/01/05 16:32:31.259 [dtls.ServerHandshakeHandler] : Processing handshake: 1:clientHello
2016/01/05 16:32:31.260 [dtls.ServerHandshakeHandler] : ClientHello received. Client version: 1.2
2016/01/05 16:32:31.260 [dtls.ServerHandshakeHandler] : Client ciphers
2016/01/05 16:32:31.260 [dtls.ServerHandshakeHandler] : [ 49195, 49199, 49162, 49161, 49171, 49172, 51, 57 ]
2016/01/05 16:32:31.263 [dtls.ServerHandshakeHandler] : Server cipher used: 47
2016/01/05 16:32:31.263 [dtls.ServerHandshakeHandler] : Sending ServerHello, Certificate, HelloDone
/Users/Nicholas/code/js/node-ice/node_modules/node-dtls/packets/PacketSpec.js:216
            builder[ 'writeUInt' + length ]( value.length );
                                                  ^

TypeError: Cannot read property 'length' of null
    at null.<anonymous> (/Users/Nicholas/code/js/node-ice/node_modules/node-dtls/packets/PacketSpec.js:216:51)
    at Function.PacketSpec.writeItem (/Users/Nicholas/code/js/node-ice/node_modules/node-dtls/packets/PacketSpec.js:146:28)
    at null.<anonymous> (/Users/Nicholas/code/js/node-ice/node_modules/node-dtls/packets/PacketSpec.js:222:28)
    at Function.PacketSpec.writeItem (/Users/Nicholas/code/js/node-ice/node_modules/node-dtls/packets/PacketSpec.js:146:28)
    at PacketSpec.write (/Users/Nicholas/code/js/node-ice/node_modules/node-dtls/packets/PacketSpec.js:76:20)
    at Packet.getBuffer (/Users/Nicholas/code/js/node-ice/node_modules/node-dtls/packets/Packet.js:21:22)
    at HandshakeBuilder.createHandshakes (/Users/Nicholas/code/js/node-ice/node_modules/node-dtls/HandshakeBuilder.js:31:26)
    at HandshakeBuilder.createHandshakes (/Users/Nicholas/code/js/node-ice/node_modules/node-dtls/HandshakeBuilder.js:27:50)
    at ServerHandshakeHandler.send_serverHello (/Users/Nicholas/code/js/node-ice/node_modules/node-dtls/ServerHandshakeHandler.js:230:44)
    at ServerHandshakeHandler.process (/Users/Nicholas/code/js/node-ice/node_modules/node-dtls/ServerHandshakeHandler.js:96:20)
nickdesaulniers commented 8 years ago

looks like I'm not passing in the certs correctly to the constructor...brb

nickdesaulniers commented 8 years ago

https://github.com/Rantanen/node-dtls/blob/master/certificateUtilities.js#L19 should be:

var line = lines[l].trim();

My ephemeral certs have \r\ns.

Rantanen commented 8 years ago

That was a blind fix so could you say if it fixed/broke anything? :)

nickdesaulniers commented 8 years ago

great! :rocket: thanks! :chart_with_upwards_trend: