Skip to content

BinariesAndServices

MathJud edited this page May 23, 2015 · 1 revision

Binaries and Services

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.

Which Binaries used on what Platform

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:

  1. 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.
  2. 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.
  3. 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.
  4. thether is used to execute the edify script.
  5. ifconfig, iptables and wificonfig are sometimes not part of the android distribution and need to given
  6. 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.

Services related to Binaries

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 ? -

Pathes

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 | ? |

Clone this wiki locally