Hi James,
On 9/8/21 1:19 PM, James Prestwood wrote:
Since all auth-protos are hidden behind an abstraction they need
to be consisten with the return values as some should be handled
specially.
---
src/auth-proto.h | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/src/auth-proto.h b/src/auth-proto.h
index d3c4686f..f39c361c 100644
--- a/src/auth-proto.h
+++ b/src/auth-proto.h
@@ -25,6 +25,18 @@
struct auth_proto {
bool (*start)(struct auth_proto *ap);
void (*free)(struct auth_proto *ap);
+ /*
+ * Callback to receive an Authenticate frame. auth-protos should
+ * return error codes consistent with one another as some are treated
+ * specially:
+ *
+ * 0 indicates success
Also implies a state transition has happened, right?
+ * -ENOMSG or -EBADMSG indicates the message should be ignored
silently
+ * -EAGAIN indicates to try again (handled by auth-proto internally)
Implies a retry is happening and state hasn't changed?
+ * -EPROTO indicates a fatal error
+ * Any other < 0 return will be treated as a fatal error
+ * > 0 indicates a fatal error with status code.
Might want to mention that this is only applicable for non-station cases.
+ */
int (*rx_authenticate)(struct auth_proto *driver,
const uint8_t *frame, size_t len);
int (*rx_associate)(struct auth_proto *driver,
Regards,
-Denis