Commit Graph

120 Commits

Author SHA1 Message Date
oblique
796c420589 check if bridge-nf-call-iptables exists before we use it 2015-02-22 22:01:31 +02:00
oblique
9ecb40eb6d quote string in [[ -n $str ]] 2015-02-22 22:01:25 +02:00
oblique
ac33c5b169 hide all error messages from cleanup function 2015-02-22 21:40:40 +02:00
oblique
3460580ce2 Detect if --driver=rtl871xdrv is needed 2015-02-14 16:58:58 +02:00
oblique
9dce88aee9 Add emacs file variables 2014-12-15 21:13:57 +02:00
oblique
362bbda3f5 Run clean_exit instead of die on SIGINT/SIGUSR1 2014-12-15 21:09:34 +02:00
oblique
d8c85b460a Add --daemon 2014-12-14 15:59:40 +02:00
oblique
a1c6c411d3 Send USR1 instead of INT in send_stop()
If create_ap is not attached on a tty, then kill -INT does not
work. Use -USR1 instead.
2014-12-14 15:55:25 +02:00
oblique
1c89b44056 Add --stop and --list 2014-12-11 22:13:00 +02:00
oblique
48beb35b64 Handle SIGINT sent by kill 2014-12-11 21:31:25 +02:00
oblique
814ddf9100 Add --mac option 2014-11-23 19:06:57 +02:00
oblique
70b538be7c README.md: update infos about Gentoo installation
Fix #55
2014-11-11 08:03:32 +02:00
oblique
5cbe80f9c4 Set beacon interval to 100ms
Fix #53
2014-11-08 16:50:28 +02:00
oblique
f831ad98d6 Add support for 5GHz frequency band
Close #52
2014-11-03 23:23:32 +02:00
oblique
309e8e353b Add --country option
Close #42
2014-11-02 13:19:25 +02:00
oblique
678053994e nmcli arguments was changed in version 0.9.9 not 0.9.10
Fix #51
2014-10-10 00:21:30 +03:00
oblique
b49f48a4e2 Add --fix-unmanaged option 2014-10-09 20:52:39 +03:00
oblique
9d7806882a Minor change in an output message 2014-10-01 12:11:24 +03:00
oblique
3db732ed50 Get the current channel with 'iw dev wlanN link'
With older versions of iw we can not get the channel that we
are currently associated with. So we cannot detect if we have
to fallback to that channel. Because of this, hostapd exits
with the following errors:

    Failed to set beacon parameters
    Interface initialization failed
    ap0: interface state UNINITIALIZED->DISABLED
    ap0: AP-DISABLED
    ap0: Unable to setup interface.
    hostapd_free_hapd_data: Interface ap0 wasn't started

A solution is to get the frequency from 'iw dev wlanN link' and
convert it to the channel number.

Fix #50
2014-10-01 12:04:57 +03:00
oblique
bec1513a07 Make sure that all command outputs are in english, so we can parse them correctly
Fix #49
2014-09-25 08:12:21 +03:00
oblique
ec0df440f8 Add 'managed' virtual interface instead of '__ap', hostapd will change it anyway 2014-09-21 18:28:41 +03:00
oblique
2dcc407000 Show error if udev renamed the interface 2014-09-21 17:57:07 +03:00
oblique
ed78f36f41 Revert 488f84e since f589df0 provides a better solution 2014-09-20 23:45:10 +03:00
oblique
1eb11077d3 Change the mac address of the virtual interface if another interface has the same 2014-09-20 23:18:28 +03:00
oblique
3632f29912 rename can_have(_sta_and)_ap to can_be(_sta_and)_ap 2014-09-20 23:18:28 +03:00
oblique
408e25b732 do not limit bridge interfaces to 100 2014-09-20 23:13:41 +03:00
oblique
757c3d2c1f Use /sys/class/net to get the interfaces and mac addresses 2014-09-20 23:13:41 +03:00
oblique
5b2d7984db get_new_macaddr: add 1 to the mac address instead of starting from 0x14
If someone have 2 adapters with the same hardware, there is a possibility
the first 5 bytes of their mac address to be the same.
I this case we will have mac address collision if we change both of them to
XX:XX:XX:XX:XX:14, one way to avoid this is to add 1 to their last byte.

Fix #47
2014-09-18 20:54:37 +03:00
oblique
ddd6bfad45 Merge pull request #48 from blucell/patch-1 2014-09-18 05:50:46 +00:00
Ahmed Mokhtar
04c5695c8e Update create_ap 2014-09-18 01:54:27 +03:00
Ahmed Mokhtar
f589df0565 Using virtual interface names "ap*" 2014-09-17 16:52:37 +03:00
Ahmed Mokhtar
4516520cf2 Fix virtual drive auto-renaming
In some Linux distributions (e.g. Ubuntu, Debian), udev automatically renames any device with its name prefix is "eth*", "wlan*",... as declared in "/lib/udev/rules.d/75-persistent-net-generator.rules". This made a problem when creating a virtual device on these distributions declaring that device not found. Solution was to change virtual device's name prefix to "ap*" to avoid this collision.
2014-09-17 04:15:34 +03:00
oblique
488f84e14f rename virt. interface if it was renamed by udev at creation
fix #16
2014-09-10 23:12:33 +03:00
oblique
034545483c fix bug: networkmanager_rm_unmanaged_if_needed was ignoring 2nd argument 2014-09-10 23:03:04 +03:00
oblique
6c56e81148 Specify listen-address in dnsmasq instead of listen-interface
Ubuntu has a bit different setup than other distributions and because
of this dnsmasq was failing to retrieve the results of a DNS lookup.
This can be fixed if we specify that the listen-address is the gateway
instead of binding all the addresses of the WIFI_IFACE.

Fix #46
2014-09-09 23:19:16 +03:00
oblique
5ff7503e01 check the length of passphrase and SSID at the beginning 2014-09-07 03:30:41 +03:00
oblique
f66819c145 Check if the user passed a valid interface 2014-09-06 21:49:52 +03:00
oblique
3fe8513d9a Handle the case where `unmanaged-devices=' is empty
Fix #45
2014-09-06 20:33:33 +03:00
oblique
93d479c1eb Fix some messages 2014-09-06 19:26:10 +03:00
oblique
81d861cb46 Reimplementation of 6a3e1d98 commit
With the 6a3e1d98 commit NetworkManager was throwing an assertion so
we take a different approach when we create the bridge interface.
Also if the <interface-with-internet> is already a bridge interface
we skip creation.

The new approach is:

   1) Save the IPs and route table of INTERNET_IFACE
   2) If NetworkManager is running set INTERNET_IFACE as unmanaged
   3) Create BRIDGE_IFACE and add INTERNET_IFACE to it
   4) Set the previously saved IPs and route table to BRIDGE_IFACE

Better fix #19
2014-09-05 02:13:59 +03:00
oblique
14ec50f379 Update Gentoo instructions 2014-09-04 11:03:22 +03:00
oblique
6a3e1d98ab Initialize correctly the bridge interface
To initialize the bridge interface correctly we need to do the following:

   1) duplicate the IPs of INTERNET_IFACE to BRIDGE_IFACE
   2) duplicate routing table of INTERNET_IFACE to BRIDGE_IFACE
   3) delete routing table of INTERNET_IFACE

   NOTE: we don't need to delete the IPs of INTERNET_IFACE

We need the above because BRIDGE_IFACE is the master interface from now on
and it must know where is connected, otherwise connection is lost.

Fix #19
2014-09-04 01:56:09 +03:00
oblique
0ba638f780 Detect if the adapter can be an AP and AP+STA
Fix #9
2014-09-02 23:05:46 +03:00
oblique
718ea69e46 Do not call networkmanager_add_unmanaged if NetworkManager is not running 2014-08-31 18:06:17 +03:00
oblique
25add14aa0 Refactor networkmanager_{add/rm}_unmanaged 2014-08-31 17:40:17 +03:00
oblique
367dd2f939 Use 'interface-name:' to set an interface as unmanaged in NetworkManager.
Form NetworkManager 0.9.10 and above they introduce 'interface-name:'
for 'unmanaged-devices', use this method instead of 'mac:' since it
reduce many problems.

Fix #33
2014-08-31 14:04:19 +03:00
oblique
142c1b76c8 Remove a trailing whitespace 2014-08-31 12:49:45 +03:00
oblique
c6eea21020 Change MAC address only if needed
Some virtual interfaces have a different MAC address from their real
interfaces and their drivers disallow us to change it. In this case
we don't need to change the MAC address anyway.

With this we can avoid errors like 'RTNETLINK answers: Invalid argument'.
2014-08-28 21:34:19 +03:00
oblique
c04f7f0bd8 Redirect iptables output to /dev/null on cleanup 2014-08-28 20:50:09 +03:00
oblique
503e715d4e update README.md 2014-08-28 20:46:52 +03:00