Interactive SAM Authentication Interface
This is the Router side of the Interactive SAM Authentication system. It consists of an abstract type which the application embedding SAM(i.e. i2p.android.base) is responsible for implementing, the SAMSecureSessionInterface
, and a "dummy" implementation of that type that does nothing and breaks nothing that exists in default SAM, which is only useful for testing.
If the SAMSecureSessionInterface
is implemented by an application, it interrupts the SAM connection at the HELLO phase and waits for user input before proceeding. The user has the duration of the HELLO_TIMEOUT(60s) to reply with an "Allow(true)" or "Deny(false)" which is gathered in getSAMUserInput().
If it is not implemented by an application or the SAMSecureSessionInterface is null
then the interactive sessions are unused.