source: trunk/package/hostapd/patches/500-scan_wait.patch @ 26261

Last change on this file since 26261 was 26261, checked in by nbd, 5 years ago

hostapd: update to 2011-02-21, use PKG_MIRROR_MD5SUM, includes fixes for WPS

File size: 3.8 KB
  • src/ap/hostapd.h

    a b struct hostapd_iface { 
    228228        int (*for_each_interface)(struct hapd_interfaces *interfaces, 
    229229                                  int (*cb)(struct hostapd_iface *iface, 
    230230                                            void *ctx), void *ctx); 
     231        int (*init_complete)(struct hostapd_iface *iface); 
    231232}; 
    232233 
    233234/* hostapd.c */ 
  • src/ap/hostapd.c

    a b int hostapd_setup_interface_complete(str 
    790790        wpa_printf(MSG_DEBUG, "%s: Setup of interface done.", 
    791791                   iface->bss[0]->conf->iface); 
    792792 
     793        if (iface->init_complete) 
     794                iface->init_complete(iface); 
     795 
    793796        return 0; 
    794797} 
    795798 
  • hostapd/main.c

    a b  
    3535extern int wpa_debug_level; 
    3636extern int wpa_debug_show_keys; 
    3737extern int wpa_debug_timestamp; 
     38static int daemonize = 0; 
     39static char *pid_file = NULL; 
    3840 
    3941 
    4042struct hapd_interfaces { 
    static void hostapd_logger_cb(void *ctx, 
    162164} 
    163165#endif /* CONFIG_NO_HOSTAPD_LOGGER */ 
    164166 
     167static int hostapd_init_complete(struct hostapd_iface *iface) 
     168{ 
     169        if (daemonize && os_daemonize(pid_file)) { 
     170                perror("daemon"); 
     171                return -1; 
     172        } 
     173        daemonize = 0; 
     174} 
     175 
    165176 
    166177/** 
    167178 * hostapd_init - Allocate and initialize per-interface data 
    static struct hostapd_iface * hostapd_in 
    183194        if (hapd_iface == NULL) 
    184195                goto fail; 
    185196 
     197        hapd_iface->init_complete = hostapd_init_complete; 
    186198        hapd_iface->reload_config = hostapd_reload_config; 
    187199        hapd_iface->config_read_cb = hostapd_config_read; 
    188200        hapd_iface->config_fname = os_strdup(config_file); 
    static int hostapd_global_init(struct ha 
    391403} 
    392404 
    393405 
    394 static void hostapd_global_deinit(const char *pid_file) 
     406static void hostapd_global_deinit(void) 
    395407{ 
    396408#ifdef EAP_SERVER_TNC 
    397409        tncs_global_deinit(); 
    static void hostapd_global_deinit(const  
    409421} 
    410422 
    411423 
    412 static int hostapd_global_run(struct hapd_interfaces *ifaces, int daemonize, 
    413                               const char *pid_file) 
     424static int hostapd_global_run(struct hapd_interfaces *iface) 
    414425{ 
    415426#ifdef EAP_SERVER_TNC 
    416427        int tnc = 0; 
    static int hostapd_global_run(struct hap 
    431442        } 
    432443#endif /* EAP_SERVER_TNC */ 
    433444 
    434         if (daemonize && os_daemonize(pid_file)) { 
    435                 perror("daemon"); 
    436                 return -1; 
    437         } 
    438  
    439445        eloop_run(); 
    440446 
    441447        return 0; 
    int main(int argc, char *argv[]) 
    491497        struct hapd_interfaces interfaces; 
    492498        int ret = 1; 
    493499        size_t i; 
    494         int c, debug = 0, daemonize = 0; 
    495         char *pid_file = NULL; 
     500        int c, debug = 0; 
    496501        const char *log_file = NULL; 
    497502 
    498503        if (os_program_init()) 
    int main(int argc, char *argv[]) 
    566571                        goto out; 
    567572        } 
    568573 
    569         if (hostapd_global_run(&interfaces, daemonize, pid_file)) 
     574        if (hostapd_global_run(&interfaces)) 
    570575                goto out; 
    571576 
    572577        ret = 0; 
    int main(int argc, char *argv[]) 
    577582                hostapd_interface_deinit_free(interfaces.iface[i]); 
    578583        os_free(interfaces.iface); 
    579584 
    580         hostapd_global_deinit(pid_file); 
     585        hostapd_global_deinit(); 
    581586        os_free(pid_file); 
    582587 
    583588        if (log_file) 
  • hostapd/config_file.c

    a b struct hostapd_config * hostapd_config_r 
    18911891                        } 
    18921892#endif /* CONFIG_IEEE80211W */ 
    18931893#ifdef CONFIG_IEEE80211N 
     1894                } else if (os_strcmp(buf, "noscan") == 0) { 
     1895                        conf->noscan = atoi(pos); 
    18941896                } else if (os_strcmp(buf, "ieee80211n") == 0) { 
    18951897                        conf->ieee80211n = atoi(pos); 
    18961898                } else if (os_strcmp(buf, "ht_capab") == 0) { 
  • src/ap/ap_config.h

    a b struct hostapd_config { 
    389389 
    390390        int ht_op_mode_fixed; 
    391391        u16 ht_capab; 
     392        int noscan; 
    392393        int ieee80211n; 
    393394        int secondary_channel; 
    394395        int require_ht; 
  • src/ap/hw_features.c

    a b static int ieee80211n_check_40mhz(struct 
    463463{ 
    464464        struct wpa_driver_scan_params params; 
    465465 
    466         if (!iface->conf->secondary_channel) 
     466        if (!iface->conf->secondary_channel || iface->conf->noscan) 
    467467                return 0; /* HT40 not used */ 
    468468 
    469469        wpa_printf(MSG_DEBUG, "Scan for neighboring BSSes prior to enabling " 
Note: See TracBrowser for help on using the repository browser.