ENCRYPT.encrypt_entire_message checks (in sendDown()) whether msg.length == 0 and - if true - passes the message unencrypted down. However, for example a JOIN_REQ in AUTH should get encrypted !
SOLUTION: change (in down() and up()) the check for msg.length == 0 to msg.length == 0 && !encrypt_entire_message