]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Replace PMKSA cache inline stubs with wrapper function stubs
authorVinay Gannevaram <quic_vganneva@quicinc.com>
Mon, 5 Feb 2024 16:28:02 +0000 (21:58 +0530)
committerJouni Malinen <j@w1.fi>
Fri, 5 Apr 2024 21:12:52 +0000 (00:12 +0300)
PMKSA cache API is included in libpasn.so used by external modules,
e.g., Wi-Fi Aware. To avoid dependency on IEEE8021X_EAPOL define for the
external modules at compile time, remove PMKSA cache static inline
functions from the header file and add wrapper function stubs.

Signed-off-by: Jouni Malinen <quic_jouni@quicinc.com>
src/rsn_supp/pmksa_cache.c
src/rsn_supp/pmksa_cache.h
tests/fuzzing/pasn-init/Makefile
wpa_supplicant/Android.mk
wpa_supplicant/Makefile

index ed33dbae81b052c15d44e14ea79a5db50ba8347c..f90dcd9b0aeddaba425788600dac410e9d7b5dcf 100644 (file)
@@ -851,4 +851,99 @@ void pmksa_cache_reconfig(struct rsn_pmksa_cache *pmksa)
        }
 }
 
+#else /* IEEE8021X_EAPOL */
+
+struct rsn_pmksa_cache *
+pmksa_cache_init(void (*free_cb)(struct rsn_pmksa_cache_entry *entry,
+                                void *ctx, enum pmksa_free_reason reason),
+                bool (*is_current_cb)(struct rsn_pmksa_cache_entry *entry,
+                                      void *ctx),
+                void (*notify_cb)(struct rsn_pmksa_cache_entry *entry,
+                                  void *ctx),
+                void *ctx, struct wpa_sm *sm)
+{
+       return (void *) -1;
+}
+
+
+void pmksa_cache_deinit(struct rsn_pmksa_cache *pmksa)
+{
+}
+
+
+struct rsn_pmksa_cache_entry *
+pmksa_cache_get(struct rsn_pmksa_cache *pmksa, const u8 *aa, const u8 *spa,
+               const u8 *pmkid, const void *network_ctx, int akmp)
+{
+       return NULL;
+}
+
+
+struct rsn_pmksa_cache_entry *
+pmksa_cache_get_current(struct wpa_sm *sm)
+{
+       return NULL;
+}
+
+
+int pmksa_cache_list(struct rsn_pmksa_cache *pmksa, char *buf, size_t len)
+{
+       return -1;
+}
+
+
+struct rsn_pmksa_cache_entry *
+pmksa_cache_head(struct rsn_pmksa_cache *pmksa)
+{
+       return NULL;
+}
+
+
+struct rsn_pmksa_cache_entry *
+pmksa_cache_add_entry(struct rsn_pmksa_cache *pmksa,
+                     struct rsn_pmksa_cache_entry *entry)
+{
+       return NULL;
+}
+
+
+struct rsn_pmksa_cache_entry *
+pmksa_cache_add(struct rsn_pmksa_cache *pmksa, const u8 *pmk, size_t pmk_len,
+               const u8 *pmkid, const u8 *kck, size_t kck_len,
+               const u8 *aa, const u8 *spa, void *network_ctx, int akmp,
+               const u8 *cache_id)
+{
+       return NULL;
+}
+
+
+void pmksa_cache_clear_current(struct wpa_sm *sm)
+{
+}
+
+
+int pmksa_cache_set_current(struct wpa_sm *sm, const u8 *pmkid, const u8 *bssid,
+                           void *network_ctx, int try_opportunistic,
+                           const u8 *fils_cache_id, int akmp, bool associated)
+{
+       return -1;
+}
+
+
+void pmksa_cache_flush(struct rsn_pmksa_cache *pmksa, void *network_ctx,
+                      const u8 *pmk, size_t pmk_len, bool external_only)
+{
+}
+
+
+void pmksa_cache_remove(struct rsn_pmksa_cache *pmksa,
+                       struct rsn_pmksa_cache_entry *entry)
+{
+}
+
+
+void pmksa_cache_reconfig(struct rsn_pmksa_cache *pmksa)
+{
+}
+
 #endif /* IEEE8021X_EAPOL */
index 6ba48f74699cd8318bf528672e9c979ab8c44e30..b1203ad2f0b38be30ce6fae5e815a7e04c91e0b6 100644 (file)
@@ -64,8 +64,6 @@ enum pmksa_free_reason {
        PMKSA_EXPIRE,
 };
 
-#if defined(IEEE8021X_EAPOL) && !defined(CONFIG_NO_WPA)
-
 struct rsn_pmksa_cache *
 pmksa_cache_init(void (*free_cb)(struct rsn_pmksa_cache_entry *entry,
                                 void *ctx, enum pmksa_free_reason reason),
@@ -105,95 +103,4 @@ void pmksa_cache_remove(struct rsn_pmksa_cache *pmksa,
                        struct rsn_pmksa_cache_entry *entry);
 void pmksa_cache_reconfig(struct rsn_pmksa_cache *pmksa);
 
-#else /* IEEE8021X_EAPOL */
-
-static inline struct rsn_pmksa_cache *
-pmksa_cache_init(void (*free_cb)(struct rsn_pmksa_cache_entry *entry,
-                                void *ctx, enum pmksa_free_reason reason),
-                bool (*is_current_cb)(struct rsn_pmksa_cache_entry *entry,
-                                      void *ctx),
-                void (*notify_cb)(struct rsn_pmksa_cache_entry *entry,
-                                  void *ctx),
-                void *ctx, struct wpa_sm *sm)
-{
-       return (void *) -1;
-}
-
-static inline void pmksa_cache_deinit(struct rsn_pmksa_cache *pmksa)
-{
-}
-
-static inline struct rsn_pmksa_cache_entry *
-pmksa_cache_get(struct rsn_pmksa_cache *pmksa, const u8 *aa, const u8 *spa,
-               const u8 *pmkid, const void *network_ctx, int akmp)
-{
-       return NULL;
-}
-
-static inline struct rsn_pmksa_cache_entry *
-pmksa_cache_get_current(struct wpa_sm *sm)
-{
-       return NULL;
-}
-
-static inline int pmksa_cache_list(struct rsn_pmksa_cache *pmksa, char *buf,
-                                  size_t len)
-{
-       return -1;
-}
-
-static inline struct rsn_pmksa_cache_entry *
-pmksa_cache_head(struct rsn_pmksa_cache *pmksa)
-{
-       return NULL;
-}
-
-static inline struct rsn_pmksa_cache_entry *
-pmksa_cache_add_entry(struct rsn_pmksa_cache *pmksa,
-                     struct rsn_pmksa_cache_entry *entry)
-{
-       return NULL;
-}
-
-static inline struct rsn_pmksa_cache_entry *
-pmksa_cache_add(struct rsn_pmksa_cache *pmksa, const u8 *pmk, size_t pmk_len,
-               const u8 *pmkid, const u8 *kck, size_t kck_len,
-               const u8 *aa, const u8 *spa, void *network_ctx, int akmp,
-               const u8 *cache_id)
-{
-       return NULL;
-}
-
-static inline void pmksa_cache_clear_current(struct wpa_sm *sm)
-{
-}
-
-static inline int pmksa_cache_set_current(struct wpa_sm *sm, const u8 *pmkid,
-                                         const u8 *bssid,
-                                         void *network_ctx,
-                                         int try_opportunistic,
-                                         const u8 *fils_cache_id,
-                                         int akmp, bool associated)
-{
-       return -1;
-}
-
-static inline void pmksa_cache_flush(struct rsn_pmksa_cache *pmksa,
-                                    void *network_ctx,
-                                    const u8 *pmk, size_t pmk_len,
-                                    bool external_only)
-{
-}
-
-static inline void pmksa_cache_remove(struct rsn_pmksa_cache *pmksa,
-                                     struct rsn_pmksa_cache_entry *entry)
-{
-}
-
-static inline void pmksa_cache_reconfig(struct rsn_pmksa_cache *pmksa)
-{
-}
-
-#endif /* IEEE8021X_EAPOL */
-
 #endif /* PMKSA_CACHE_H */
index b848f271edf9f274b9d6ddba66d447a7ab46dc80..d838192a4bb3a27e63ee2708ca947db645a53ecc 100644 (file)
@@ -26,6 +26,7 @@ OBJS += $(SRC)/crypto/sha384-prf.o
 OBJS += $(SRC)/crypto/sha256-kdf.o
 OBJS += $(SRC)/crypto/sha384-kdf.o
 OBJS += $(SRC)/rsn_supp/wpa_ie.o
+OBJS += $(SRC)/rsn_supp/pmksa_cache.o
 OBJS += $(SRC)/pasn/pasn_initiator.o
 
 OBJS += pasn-init.o
index fd03f389c73017169f3661d786004225bdb3393f..15bea394fa8fc79f98c231f2078e59196b50d394 100644 (file)
@@ -101,6 +101,7 @@ OBJS += src/utils/bitfield.c
 OBJS += src/utils/ip_addr.c
 OBJS += src/utils/crc32.c
 OBJS += src/common/ptksa_cache.c
+OBJS += src/rsn_supp/pmksa_cache.c
 OBJS += twt.c
 OBJS_p = wpa_passphrase.c
 OBJS_p += src/utils/common.c
@@ -337,7 +338,6 @@ endif
 ifndef CONFIG_NO_WPA
 OBJS += src/rsn_supp/wpa.c
 OBJS += src/rsn_supp/preauth.c
-OBJS += src/rsn_supp/pmksa_cache.c
 OBJS += src/rsn_supp/wpa_ie.c
 OBJS += src/common/wpa_common.c
 NEED_AES=y
@@ -1802,8 +1802,9 @@ endif
 
 PASNOBJS += src/common/ptksa_cache.c
 
-ifndef CONFIG_NO_WPA
 PASNOBJS += src/rsn_supp/pmksa_cache.c
+
+ifndef CONFIG_NO_WPA
 PASNOBJS += src/rsn_supp/wpa_ie.c
 endif
 
index 9230787a4c64e4c0600a1890e33370826bc4d8ea..0ec08e8cfd7f45c30c1d1904e3c623fc8405cc80 100644 (file)
@@ -113,6 +113,7 @@ OBJS += ../src/utils/bitfield.o
 OBJS += ../src/utils/ip_addr.o
 OBJS += ../src/utils/crc32.o
 OBJS += ../src/common/ptksa_cache.o
+OBJS += ../src/rsn_supp/pmksa_cache.o
 OBJS += twt.o
 OBJS_p = wpa_passphrase.o
 OBJS_p += ../src/utils/common.o
@@ -371,7 +372,6 @@ endif
 ifndef CONFIG_NO_WPA
 OBJS += ../src/rsn_supp/wpa.o
 OBJS += ../src/rsn_supp/preauth.o
-OBJS += ../src/rsn_supp/pmksa_cache.o
 OBJS += ../src/rsn_supp/wpa_ie.o
 OBJS += ../src/common/wpa_common.o
 NEED_AES=y
@@ -2222,9 +2222,9 @@ LIBPASNSO += ../src/common/dragonfly.c
 endif
 
 LIBPASNSO += ../src/common/ptksa_cache.c
+LIBPASNSO += ../src/rsn_supp/pmksa_cache.c
 
 ifndef CONFIG_NO_WPA
-LIBPASNSO += ../src/rsn_supp/pmksa_cache.c
 LIBPASNSO += ../src/rsn_supp/wpa_ie.c
 endif