hostapd: replace "argument list too long" fix with a simpler version
[openwrt/openwrt.git] / package / network / services / hostapd / patches / 420-indicate-features.patch
index 2b529ca3e605cc726665dadd83c0a9a04c9714b8..006a567c338c9d58f30ad6abce81c515a3e0205d 100644 (file)
@@ -1,23 +1,30 @@
+From: Jo-Philipp Wich <jow@openwrt.org>
+Date: Mon, 12 Dec 2011 17:26:13 +0000
+Subject: [PATCH] hostapd: support optional argument for the -v switch of
+ hostapd and wpa_supplicant to query build features, e.g. hostapd -veap to
+ test whether 802.11i support is compiled in
+
 --- a/hostapd/main.c
 +++ b/hostapd/main.c
-@@ -15,6 +15,7 @@
- #include "utils/common.h"
- #include "utils/eloop.h"
- #include "utils/uuid.h"
-+#include "utils/build_features.h"
- #include "crypto/random.h"
- #include "crypto/tls.h"
- #include "common/version.h"
-@@ -678,7 +679,7 @@ int main(int argc, char *argv[])
+@@ -31,7 +31,7 @@
+ #include "config_file.h"
+ #include "eap_register.h"
+ #include "ctrl_iface.h"
+-
++#include "build_features.h"
+ struct hapd_global {
+       void **drv_priv;
+@@ -806,7 +806,7 @@ int main(int argc, char *argv[])
        wpa_supplicant_event = hostapd_wpa_event;
        wpa_supplicant_event_global = hostapd_wpa_event_global;
        for (;;) {
--              c = getopt(argc, argv, "b:Bde:f:hi:KP:sSTtu:vg:G:");
-+              c = getopt(argc, argv, "b:Bde:f:hi:KP:sSTtu:g:G:v::");
+-              c = getopt(argc, argv, "b:Bde:f:hi:KP:sSTtu:vg:G:q");
++              c = getopt(argc, argv, "b:Bde:f:hi:KP:sSTtu:g:G:qv::");
                if (c < 0)
                        break;
                switch (c) {
-@@ -715,6 +716,8 @@ int main(int argc, char *argv[])
+@@ -843,6 +843,8 @@ int main(int argc, char *argv[])
                        break;
  #endif /* CONFIG_DEBUG_LINUX_TRACING */
                case 'v':
@@ -25,7 +32,7 @@
 +                              exit(!has_feature(optarg));
                        show_version();
                        exit(1);
-                       break;
+               case 'g':
 --- a/wpa_supplicant/main.c
 +++ b/wpa_supplicant/main.c
 @@ -12,6 +12,7 @@
  
  #include "common.h"
 +#include "build_features.h"
+ #include "crypto/crypto.h"
  #include "fst/fst.h"
  #include "wpa_supplicant_i.h"
- #include "driver_i.h"
 @@ -202,7 +203,7 @@ int main(int argc, char *argv[])
  
        for (;;) {
                c = getopt(argc, argv,
--                         "b:Bc:C:D:de:f:g:G:hH:i:I:KLMm:No:O:p:P:qsTtuvW");
-+                         "b:Bc:C:D:de:f:g:G:hH:i:I:KLMm:No:O:p:P:qsTtuv::W");
+-                         "b:Bc:C:D:de:f:g:G:hi:I:KLMm:No:O:p:P:qsTtuvW");
++                         "b:Bc:C:D:de:f:g:G:hi:I:KLMm:No:O:p:P:qsTtuv::W");
                if (c < 0)
                        break;
                switch (c) {
-@@ -305,8 +306,12 @@ int main(int argc, char *argv[])
+@@ -302,8 +303,12 @@ int main(int argc, char *argv[])
                        break;
- #endif /* CONFIG_DBUS */
+ #endif /* CONFIG_CTRL_IFACE_DBUS_NEW */
                case 'v':
 -                      printf("%s\n", wpa_supplicant_version);
 -                      exitcode = 0;