-
Notifications
You must be signed in to change notification settings - Fork 5
BinariesAndServices
MathJud edited this page May 23, 2015
·
1 revision
qaul.net uses different binaries to run. Dipending on the OS they are shipped with qaul.net. This page gives an overview which OS uses what binary to run which service.
Binary | Linux | OSX | Windows | Android | iOS |
---|---|---|---|---|---|
qaul | X | X | X | X | X |
qaulhelper | X | X | - (1) | - | X |
olsrd | X | X | X | X | X |
portfwd (2) | X | - | - | - | - |
socat (3) | - | X | X | X | - |
thether (4) | - | - | - | X | - |
ifconfig (5) | - | - | - | X | - |
iptables (5) | - | - | - | X | - |
wificonfig (5) | - | - | - | X | - |
iwconfig (6) | - | - | - | X | - |
Comments:
- qaulhelper has suid rights and gets called from qaul to run the tasks that need root rights. Windows doesn't implement the concept of suid. Therefore qaul runs with administrative priviledges to be able to execute the administrative commands directly - qaulhelper is obsolete. This is bad praxis and should be changed. Feel encouraged to commit ideas, concepts and fixes.
- portfwd is used on Linux to forward incoming DHCP requests from port to port. this cannot be done via iptables, as the Linux kernel cannot deal with packages to the IP address 0.0.0.0 . portfwd is to powerful for this task and should be replaced by a small helper binary which is limited to this dedicated task. Feel encouraged to commit ideas and code.
- socat forwarded ports needed for the captive portal to the non system ports used by qaul. socat is to powerful for this task and should be replaced by a small helper binary which is limited to this dedicated task. Feel encouraged to commit ideas and code.
- thether is used to execute the edify script.
- ifconfig, iptables and wificonfig are sometimes not part of the android distribution and need to given
- iwconfig is used to configure ibss mode on devices with wext. Since Android 4.0 wext is not part of googles android anymore. Most mobile phones can only use wpa_supplicant to configure wifi. iwconfig is not part of android and needs to be installed.
Service | Linux | OSX | Windows | Android | iOS |
---|---|---|---|---|---|
execute adminstrative tasks | qaulhelper with suid | qaulhelper with suid | run app as admin | sudo | qaulhelper |
configure IP | dbus | qaulhelper | run app as admin | ifconfig | qaulhelper > ipconfig |
configure Wifi | dbus | qaulhelper | run app as admin | iwconfig / iw | - |
configure DNS | tail file | qaulhelper | run app as admin | sudo | - |
portforward DNS 53 -> 8053 | qaulhelper > iptables | qaulhelper > socat | socat | - | |
portforward DHCP 67 -> 8067 | qaulhelper > portfwd | qaulhelper > socat | socat | - | |
portforward web 80 -> 8081 | qaulhelper > iptables | qaulhelper > ipfw | ? | - |
Where are the binaries and the user folders by default installed:
OS | Binaries | Home |
---|---|---|
Linux (old) | /usr/share/qaul/bin | ~/.qaul |
Linux (qaul-ng) | /opt/qaul/bin | ~/.qaul |
OSX | /Applications/qaul.app/Contents/MacOS & |
/Library/qaul.net | ~/Library/qaul.net |
| Windows | ? | ? | | Android | /data/data/net.qaul.qaul/bin | ? | | iOS | ? & /usr/bin | ? |