]> jfr.im git - solanum.git/blobdiff - authd/provider.h
filter: add #defines for nick,user,host
[solanum.git] / authd / provider.h
index 07b8a794a1508db11070d978f62b5353a01aeb2a..74e1309eda0fbd3b008f5db05116091898416c7c 100644 (file)
@@ -46,6 +46,8 @@ struct auth_client
 {
        uint32_t cid;                           /* Client ID */
 
+       int protocol;                           /* IP protocol (TCP/SCTP) */
+
        char l_ip[HOSTIPLEN + 1];               /* Listener IP address */
        uint16_t l_port;                        /* Listener port */
        struct rb_sockaddr_storage l_addr;      /* Listener address/port */
@@ -191,6 +193,19 @@ is_provider_done(struct auth_client *auth, uint32_t provider)
        return get_provider_status(auth, provider) == PROVIDER_STATUS_DONE;
 }
 
+/* Check if provider doesn't exist or has finished on this client */
+static inline bool
+run_after_provider(struct auth_client *auth, const char *name)
+{
+       uint32_t id;
+
+       if (get_provider_id(name, &id)) {
+               return get_provider_status(auth, id) == PROVIDER_STATUS_DONE;
+       } else {
+               return true;
+       }
+}
+
 /* Get provider auth client data */
 static inline void *
 get_provider_data(struct auth_client *auth, uint32_t id)