Module* Hook; /* I/O hooking module that we're attached to for this socket */
std::string ourchallenge; /* Challenge sent for challenge/response */
std::string theirchallenge; /* Challenge recv for challenge/response */
+ std::string OutboundPass; /* Outbound password */
public:
*/
void SetTheirChallenge(const std::string &c);
+ /** Compare two passwords based on authentication scheme
+ */
+ bool ComparePass(const std::string &ours, const std::string &theirs);
+
/** Return the module which we are hooking to for I/O encapsulation
*/
Module* GetHook();
*/
std::string RandString(unsigned int length);
+ /** Construct a password, optionally hashed with the other side's
+ * challenge string
+ */
+ std::string MakePass(const std::string &password, const std::string &challenge);
+
/** When an outbound connection finishes connecting, we receive
* this event, and must send our SERVER string to the other
* side. If the other side is happy, as outlined in the server