source: branches/backfire/package/hostapd/patches/500-scan_wait.patch @ 26416

Last change on this file since 26416 was 26416, checked in by nbd, 6 years ago

hostapd: update to latest trunk version (merge r26414, r26415)

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

    a b struct hostapd_iface { 
    229229        int (*for_each_interface)(struct hapd_interfaces *interfaces, 
    230230                                  int (*cb)(struct hostapd_iface *iface, 
    231231                                            void *ctx), void *ctx); 
     232        int (*init_complete)(struct hostapd_iface *iface); 
    232233}; 
    233234 
    234235/* 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  
    3636extern int wpa_debug_level; 
    3737extern int wpa_debug_show_keys; 
    3838extern int wpa_debug_timestamp; 
     39static int daemonize = 0; 
     40static char *pid_file = NULL; 
    3941 
    4042 
    4143struct hapd_interfaces { 
    static void hostapd_logger_cb(void *ctx, 
    163165} 
    164166#endif /* CONFIG_NO_HOSTAPD_LOGGER */ 
    165167 
     168static int hostapd_init_complete(struct hostapd_iface *iface) 
     169{ 
     170        if (daemonize && os_daemonize(pid_file)) { 
     171                perror("daemon"); 
     172                return -1; 
     173        } 
     174        daemonize = 0; 
     175} 
     176 
    166177 
    167178/** 
    168179 * hostapd_init - Allocate and initialize per-interface data 
    static struct hostapd_iface * hostapd_in 
    184195        if (hapd_iface == NULL) 
    185196                goto fail; 
    186197 
     198        hapd_iface->init_complete = hostapd_init_complete; 
    187199        hapd_iface->reload_config = hostapd_reload_config; 
    188200        hapd_iface->config_read_cb = hostapd_config_read; 
    189201        hapd_iface->config_fname = os_strdup(config_file); 
    static int hostapd_global_init(struct ha 
    399411} 
    400412 
    401413 
    402 static void hostapd_global_deinit(const char *pid_file) 
     414static void hostapd_global_deinit(void) 
    403415{ 
    404416#ifdef EAP_SERVER_TNC 
    405417        tncs_global_deinit(); 
    static void hostapd_global_deinit(const  
    419431} 
    420432 
    421433 
    422 static int hostapd_global_run(struct hapd_interfaces *ifaces, int daemonize, 
    423                               const char *pid_file) 
     434static int hostapd_global_run(struct hapd_interfaces *iface) 
    424435{ 
    425436#ifdef EAP_SERVER_TNC 
    426437        int tnc = 0; 
    static int hostapd_global_run(struct hap 
    441452        } 
    442453#endif /* EAP_SERVER_TNC */ 
    443454 
    444         if (daemonize && os_daemonize(pid_file)) { 
    445                 perror("daemon"); 
    446                 return -1; 
    447         } 
    448  
    449455        eloop_run(); 
    450456 
    451457        return 0; 
    int main(int argc, char *argv[]) 
    501507        struct hapd_interfaces interfaces; 
    502508        int ret = 1; 
    503509        size_t i; 
    504         int c, debug = 0, daemonize = 0; 
    505         char *pid_file = NULL; 
     510        int c, debug = 0; 
    506511        const char *log_file = NULL; 
    507512 
    508513        if (os_program_init()) 
    int main(int argc, char *argv[]) 
    576581                        goto out; 
    577582        } 
    578583 
    579         if (hostapd_global_run(&interfaces, daemonize, pid_file)) 
     584        if (hostapd_global_run(&interfaces)) 
    580585                goto out; 
    581586 
    582587        ret = 0; 
    int main(int argc, char *argv[]) 
    587592                hostapd_interface_deinit_free(interfaces.iface[i]); 
    588593        os_free(interfaces.iface); 
    589594 
    590         hostapd_global_deinit(pid_file); 
     595        hostapd_global_deinit(); 
    591596        os_free(pid_file); 
    592597 
    593598        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.