1. 28 Mar, 2016 1 commit
  2. 14 Mar, 2016 1 commit
  3. 11 Nov, 2015 1 commit
  4. 08 Nov, 2015 1 commit
  5. 06 Nov, 2015 2 commits
  6. 05 Nov, 2015 4 commits
  7. 04 Nov, 2015 1 commit
    • Bruno Randolf's avatar
      Extend channel list structure to include band information · 1816c64c
      Bruno Randolf authored
      Add "band" (2.4GHz, 5GHz band) structure and define one struct to keep all
      channels and bands which we can pass to ifctll to get the channels and band
      definitions. I keep the two-dimensional array for the channels so I don't have
      to change too much in the channel code. For now just keep the number of
      channels in each band, but we will extend it later to keep more band
      information.
      
      Since the channel_list structure and num_channels is now "local" to channel.c
      provide getter and setter functions.
      1816c64c
  8. 01 Nov, 2015 3 commits
  9. 28 Oct, 2015 6 commits
    • Bruno Randolf's avatar
      cb9e79d9
    • Bruno Randolf's avatar
      More nl80211 fixes · c7c27d06
      Bruno Randolf authored
      As some commands return a reply message even though we just ignore it (e.g.:
      add monitor interface), its better to always use the nl80211_send_recv() method
      with an default empty message handler. Otherwise the reply message gets stuck
      and then the next command gets confused. The effect of this was that the
      frequency list was empty after we added a new monitor interface. We keep
      nl80211_send() for convenience.
      
      Also in order to get correct error messages for nl_perror we need to convert
      the error code in the error callback, similar to how it's done in the default
      verbose error handler of libnl.
      c7c27d06
    • Bruno Randolf's avatar
      Use NLA_PUT_ macros to simplify error handling · ccbc7c88
      Bruno Randolf authored
      In the case of one attribute it does not make much difference but with more
      attributes it pays off. Always use it for the sake of consistency.
      ccbc7c88
    • Bruno Randolf's avatar
      c786fb60
    • Bruno Randolf's avatar
      Rename netlink functions to nl80211_xyz · 81116570
      Bruno Randolf authored
      To differentiate between ifctrl "interface" implementation and more generic
      netlink stuff.
      81116570
    • Bruno Randolf's avatar
      Standardize to bool return codes for success and failure · fb83ff3f
      Bruno Randolf authored
      Standardize return codes for functions which return success or failure
      to bool: success = true, failure = false.
      
      I know that in C and glibc historically -1 and 0 are used for that usually
      but to me that seems counter-intuitive and using bool as a return type makes it
      more clear and easy to use. Most of the time the errors are handled or printed
      inside the function and from the outside we are not interested in the sepecific
      error code, rather we want to know "success or failure".
      
      Most of the functions in horst were already that way, and for the ifctrl
      functions the semantics changed.
      
      Also made some fucntions return void.
      fb83ff3f
  10. 27 Oct, 2015 2 commits
    • Bruno Randolf's avatar
      nl80211: Simplify ifctrl_nl_prepare() · 33865d4f
      Bruno Randolf authored
      Remove one compiler warning about if_index possibly not initizialized,
      and simplify error handling
      33865d4f
    • Bruno Randolf's avatar
      Fix nl80211 handling of reply and ACK · 6d1c8e04
      Bruno Randolf authored
      When we receive a netlink reply with data we receive the reply as one netlink
      message and an ACK as a separate netlink message. If we don't receive both at
      the correct time, we will receive the ACK for the first message the next time
      we call send() and this way the result will be wrong. This was the current bug.
      
      Handle this the way it is done in "iw": by providing additional callbacks for
      ACK, error and "finish" and continue receiving until one of them is called.
      6d1c8e04
  11. 26 Oct, 2015 6 commits
  12. 10 Oct, 2015 2 commits
  13. 28 Jul, 2015 1 commit
  14. 21 Jul, 2015 3 commits