From eb26b0413c269b898a24deb30d5602ac0c142a56 Mon Sep 17 00:00:00 2001 From: mickeyl Date: Sat, 08 Nov 2003 20:39:38 +0000 Subject: refactor the debug mapper and make it more secure --- diff --git a/libopie2/opienet/odebugmapper.cpp b/libopie2/opienet/odebugmapper.cpp new file mode 100644 index 0000000..d62b3ba --- a/dev/null +++ b/libopie2/opienet/odebugmapper.cpp @@ -0,0 +1,213 @@ + +/* + * debug value mapper - generated by regen.py - (C) Michael 'Mickey' Lauer + */ + +#include "odebugmapper.h" + +DebugMapper::DebugMapper() +{ + qDebug( "DebugMapper::DebugMapper()" ); + + + _map.insert( 0x8902, new QString("SIOCSPGRP") ); + _map.insert( 0x8904, new QString("SIOCGPGRP") ); + _map.insert( 0x8905, new QString("SIOCATMARK") ); + _map.insert( 0x8906, new QString("SIOCGSTAMP") ); + _map.insert( 0x890B, new QString("SIOCADDRT") ); + _map.insert( 0x890C, new QString("SIOCDELRT") ); + _map.insert( 0x890D, new QString("SIOCRTMSG") ); + _map.insert( 0x8910, new QString("SIOCGIFNAME") ); + _map.insert( 0x8911, new QString("SIOCSIFLINK") ); + _map.insert( 0x8912, new QString("SIOCGIFCONF") ); + _map.insert( 0x8913, new QString("SIOCGIFFLAGS") ); + _map.insert( 0x8914, new QString("SIOCSIFFLAGS") ); + _map.insert( 0x8915, new QString("SIOCGIFADDR") ); + _map.insert( 0x8916, new QString("SIOCSIFADDR") ); + _map.insert( 0x8917, new QString("SIOCGIFDSTADDR") ); + _map.insert( 0x8918, new QString("SIOCSIFDSTADDR") ); + _map.insert( 0x8919, new QString("SIOCGIFBRDADDR") ); + _map.insert( 0x891a, new QString("SIOCSIFBRDADDR") ); + _map.insert( 0x891b, new QString("SIOCGIFNETMASK") ); + _map.insert( 0x891c, new QString("SIOCSIFNETMASK") ); + _map.insert( 0x891d, new QString("SIOCGIFMETRIC") ); + _map.insert( 0x891e, new QString("SIOCSIFMETRIC") ); + _map.insert( 0x891f, new QString("SIOCGIFMEM") ); + _map.insert( 0x8920, new QString("SIOCSIFMEM") ); + _map.insert( 0x8921, new QString("SIOCGIFMTU") ); + _map.insert( 0x8922, new QString("SIOCSIFMTU") ); + _map.insert( 0x8923, new QString("SIOCSIFNAME") ); + _map.insert( 0x8924, new QString("SIOCSIFHWADDR") ); + _map.insert( 0x8925, new QString("SIOCGIFENCAP") ); + _map.insert( 0x8926, new QString("SIOCSIFENCAP") ); + _map.insert( 0x8927, new QString("SIOCGIFHWADDR") ); + _map.insert( 0x8929, new QString("SIOCGIFSLAVE") ); + _map.insert( 0x8930, new QString("SIOCSIFSLAVE") ); + _map.insert( 0x8931, new QString("SIOCADDMULTI") ); + _map.insert( 0x8932, new QString("SIOCDELMULTI") ); + _map.insert( 0x8933, new QString("SIOCGIFINDEX") ); + _map.insert( 0x8934, new QString("SIOCSIFPFLAGS") ); + _map.insert( 0x8935, new QString("SIOCGIFPFLAGS") ); + _map.insert( 0x8936, new QString("SIOCDIFADDR") ); + _map.insert( 0x8937, new QString("SIOCSIFHWBROADCAST") ); + _map.insert( 0x8938, new QString("SIOCGIFCOUNT") ); + _map.insert( 0x8940, new QString("SIOCGIFBR") ); + _map.insert( 0x8941, new QString("SIOCSIFBR") ); + _map.insert( 0x8942, new QString("SIOCGIFTXQLEN") ); + _map.insert( 0x8943, new QString("SIOCSIFTXQLEN") ); + _map.insert( 0x8953, new QString("SIOCDARP") ); + _map.insert( 0x8954, new QString("SIOCGARP") ); + _map.insert( 0x8955, new QString("SIOCSARP") ); + _map.insert( 0x8960, new QString("SIOCDRARP") ); + _map.insert( 0x8961, new QString("SIOCGRARP") ); + _map.insert( 0x8962, new QString("SIOCSRARP") ); + _map.insert( 0x8970, new QString("SIOCGIFMAP") ); + _map.insert( 0x8971, new QString("SIOCSIFMAP") ); + _map.insert( 0x8980, new QString("SIOCADDDLCI") ); + _map.insert( 0x8981, new QString("SIOCDELDLCI") ); + _map.insert( 0x89F0, new QString("SIOCDEVPRIVATE") ); + _map.insert( 0x89E0, new QString("SIOCPROTOPRIVATE") ); + _map.insert( 0x1fff, new QString("SIOCPARM_MASK") ); + _map.insert( 0x00000000, new QString("SIOC_VOID") ); + _map.insert( 0x20000000, new QString("SIOC_OUT") ); + _map.insert( 0x40000000, new QString("SIOC_IN") ); + _map.insert( 0x8B00, new QString("SIOCSIWCOMMIT") ); + _map.insert( 0x8B01, new QString("SIOCGIWNAME") ); + _map.insert( 0x8B02, new QString("SIOCSIWNWID") ); + _map.insert( 0x8B03, new QString("SIOCGIWNWID") ); + _map.insert( 0x8B04, new QString("SIOCSIWFREQ") ); + _map.insert( 0x8B05, new QString("SIOCGIWFREQ") ); + _map.insert( 0x8B06, new QString("SIOCSIWMODE") ); + _map.insert( 0x8B07, new QString("SIOCGIWMODE") ); + _map.insert( 0x8B08, new QString("SIOCSIWSENS") ); + _map.insert( 0x8B09, new QString("SIOCGIWSENS") ); + _map.insert( 0x8B0A, new QString("SIOCSIWRANGE") ); + _map.insert( 0x8B0B, new QString("SIOCGIWRANGE") ); + _map.insert( 0x8B0C, new QString("SIOCSIWPRIV") ); + _map.insert( 0x8B0D, new QString("SIOCGIWPRIV") ); + _map.insert( 0x8B0E, new QString("SIOCSIWSTATS") ); + _map.insert( 0x8B0F, new QString("SIOCGIWSTATS") ); + _map.insert( 0x8B10, new QString("SIOCSIWSPY") ); + _map.insert( 0x8B11, new QString("SIOCGIWSPY") ); + _map.insert( 0x8B14, new QString("SIOCSIWAP") ); + _map.insert( 0x8B15, new QString("SIOCGIWAP") ); + _map.insert( 0x8B17, new QString("SIOCGIWAPLIST") ); + _map.insert( 0x8B18, new QString("SIOCSIWSCAN") ); + _map.insert( 0x8B19, new QString("SIOCGIWSCAN") ); + _map.insert( 0x8B1A, new QString("SIOCSIWESSID") ); + _map.insert( 0x8B1B, new QString("SIOCGIWESSID") ); + _map.insert( 0x8B1C, new QString("SIOCSIWNICKN") ); + _map.insert( 0x8B1D, new QString("SIOCGIWNICKN") ); + _map.insert( 0x8B20, new QString("SIOCSIWRATE") ); + _map.insert( 0x8B21, new QString("SIOCGIWRATE") ); + _map.insert( 0x8B22, new QString("SIOCSIWRTS") ); + _map.insert( 0x8B23, new QString("SIOCGIWRTS") ); + _map.insert( 0x8B24, new QString("SIOCSIWFRAG") ); + _map.insert( 0x8B25, new QString("SIOCGIWFRAG") ); + _map.insert( 0x8B26, new QString("SIOCSIWTXPOW") ); + _map.insert( 0x8B27, new QString("SIOCGIWTXPOW") ); + _map.insert( 0x8B28, new QString("SIOCSIWRETRY") ); + _map.insert( 0x8B29, new QString("SIOCGIWRETRY") ); + _map.insert( 0x8B2A, new QString("SIOCSIWENCODE") ); + _map.insert( 0x8B2B, new QString("SIOCGIWENCODE") ); + _map.insert( 0x8B2C, new QString("SIOCSIWPOWER") ); + _map.insert( 0x8B2D, new QString("SIOCGIWPOWER") ); + _map.insert( 0x8BE0, new QString("SIOCIWFIRSTPRIV") ); + _map.insert( 0x8BFF, new QString("SIOCIWLASTPRIV") ); + _map.insert( 0x8B00, new QString("SIOCIWFIRST") ); + _map.insert( 0x5000, new QString("SIOCGBPQETHPARAM") ); + _map.insert( 0x5001, new QString("SIOCSBPQETHPARAM") ); + _map.insert( 0x890B, new QString("SIOCADDRT") ); + _map.insert( 0x890C, new QString("SIOCDELRT") ); + _map.insert( 0x890D, new QString("SIOCRTMSG") ); + _map.insert( 0x8910, new QString("SIOCGIFNAME") ); + _map.insert( 0x8911, new QString("SIOCSIFLINK") ); + _map.insert( 0x8912, new QString("SIOCGIFCONF") ); + _map.insert( 0x8913, new QString("SIOCGIFFLAGS") ); + _map.insert( 0x8914, new QString("SIOCSIFFLAGS") ); + _map.insert( 0x8915, new QString("SIOCGIFADDR") ); + _map.insert( 0x8916, new QString("SIOCSIFADDR") ); + _map.insert( 0x8917, new QString("SIOCGIFDSTADDR") ); + _map.insert( 0x8918, new QString("SIOCSIFDSTADDR") ); + _map.insert( 0x8919, new QString("SIOCGIFBRDADDR") ); + _map.insert( 0x891a, new QString("SIOCSIFBRDADDR") ); + _map.insert( 0x891b, new QString("SIOCGIFNETMASK") ); + _map.insert( 0x891c, new QString("SIOCSIFNETMASK") ); + _map.insert( 0x891d, new QString("SIOCGIFMETRIC") ); + _map.insert( 0x891e, new QString("SIOCSIFMETRIC") ); + _map.insert( 0x891f, new QString("SIOCGIFMEM") ); + _map.insert( 0x8920, new QString("SIOCSIFMEM") ); + _map.insert( 0x8921, new QString("SIOCGIFMTU") ); + _map.insert( 0x8922, new QString("SIOCSIFMTU") ); + _map.insert( 0x8923, new QString("SIOCSIFNAME") ); + _map.insert( 0x8924, new QString("SIOCSIFHWADDR") ); + _map.insert( 0x8925, new QString("SIOCGIFENCAP") ); + _map.insert( 0x8926, new QString("SIOCSIFENCAP") ); + _map.insert( 0x8927, new QString("SIOCGIFHWADDR") ); + _map.insert( 0x8929, new QString("SIOCGIFSLAVE") ); + _map.insert( 0x8930, new QString("SIOCSIFSLAVE") ); + _map.insert( 0x8931, new QString("SIOCADDMULTI") ); + _map.insert( 0x8932, new QString("SIOCDELMULTI") ); + _map.insert( 0x8933, new QString("SIOCGIFINDEX") ); + _map.insert( 0x8934, new QString("SIOCSIFPFLAGS") ); + _map.insert( 0x8935, new QString("SIOCGIFPFLAGS") ); + _map.insert( 0x8936, new QString("SIOCDIFADDR") ); + _map.insert( 0x8937, new QString("SIOCSIFHWBROADCAST") ); + _map.insert( 0x8938, new QString("SIOCGIFCOUNT") ); + _map.insert( 0x8940, new QString("SIOCGIFBR") ); + _map.insert( 0x8941, new QString("SIOCSIFBR") ); + _map.insert( 0x8942, new QString("SIOCGIFTXQLEN") ); + _map.insert( 0x8943, new QString("SIOCSIFTXQLEN") ); + _map.insert( 0x8944, new QString("SIOCGIFDIVERT") ); + _map.insert( 0x8945, new QString("SIOCSIFDIVERT") ); + _map.insert( 0x8946, new QString("SIOCETHTOOL") ); + _map.insert( 0x8947, new QString("SIOCGMIIPHY") ); + _map.insert( 0x8948, new QString("SIOCGMIIREG") ); + _map.insert( 0x8949, new QString("SIOCSMIIREG") ); + _map.insert( 0x894A, new QString("SIOCWANDEV") ); + _map.insert( 0x8953, new QString("SIOCDARP") ); + _map.insert( 0x8954, new QString("SIOCGARP") ); + _map.insert( 0x8955, new QString("SIOCSARP") ); + _map.insert( 0x8960, new QString("SIOCDRARP") ); + _map.insert( 0x8961, new QString("SIOCGRARP") ); + _map.insert( 0x8962, new QString("SIOCSRARP") ); + _map.insert( 0x8970, new QString("SIOCGIFMAP") ); + _map.insert( 0x8971, new QString("SIOCSIFMAP") ); + _map.insert( 0x8980, new QString("SIOCADDDLCI") ); + _map.insert( 0x8981, new QString("SIOCDELDLCI") ); + _map.insert( 0x8982, new QString("SIOCGIFVLAN") ); + _map.insert( 0x8983, new QString("SIOCSIFVLAN") ); + _map.insert( 0x8990, new QString("SIOCBONDENSLAVE") ); + _map.insert( 0x8991, new QString("SIOCBONDRELEASE") ); + _map.insert( 0x8992, new QString("SIOCBONDSETHWADDR") ); + _map.insert( 0x8993, new QString("SIOCBONDSLAVEINFOQUERY") ); + _map.insert( 0x8994, new QString("SIOCBONDINFOQUERY") ); + _map.insert( 0x8995, new QString("SIOCBONDCHANGEACTIVE") ); + _map.insert( 0x89F0, new QString("SIOCDEVPRIVATE") ); + _map.insert( 0x89E0, new QString("SIOCPROTOPRIVATE") ); + +}; + + +DebugMapper::~DebugMapper() +{ + qDebug( "DebugMapper::~DebugMapper()" ); +} + + +const QString& DebugMapper::map( int value ) const +{ + QString* result = _map[ value ]; + + if ( !result ) + { + qDebug( "DebugMapper::map() - value not found." ); + return QString::null; + } + else + { + return *result; + } +} + + diff --git a/libopie2/opienet/odebugmapper.h b/libopie2/opienet/odebugmapper.h new file mode 100644 index 0000000..66b331d --- a/dev/null +++ b/libopie2/opienet/odebugmapper.h @@ -0,0 +1,26 @@ + +/* + * debug value mapper - generated by regen.py - (C) Michael 'Mickey' Lauer + */ + +#ifndef DEBUGMAPPER_H +#define DEBUGMAPPER_H + +#include +#include + +typedef QIntDict IntStringMap; + +class DebugMapper +{ + public: + DebugMapper(); + ~DebugMapper(); + + const QString& map( int value ) const; + private: + IntStringMap _map; +}; + +#endif + diff --git a/libopie2/opienet/oioctlmap.cpp b/libopie2/opienet/oioctlmap.cpp deleted file mode 100644 index 4a67eb6..0000000 --- a/libopie2/opienet/oioctlmap.cpp +++ b/dev/null @@ -1,366 +0,0 @@ - -/* - * ioctl table - generated by regen.py - (C) Michael 'Mickey' Lauer - */ - -#include "oioctlmap.h" - -IntStringMap* constructIoctlMap() -{ - IntStringMap* map = new IntStringMap(); - - - qDebug( "adding 0x8902 = SIOCSPGRP" ); - map->insert( 0x8902, new QString("SIOCSPGRP") ); - qDebug( "adding 0x8904 = SIOCGPGRP" ); - map->insert( 0x8904, new QString("SIOCGPGRP") ); - qDebug( "adding 0x8905 = SIOCATMARK" ); - map->insert( 0x8905, new QString("SIOCATMARK") ); - qDebug( "adding 0x8906 = SIOCGSTAMP" ); - map->insert( 0x8906, new QString("SIOCGSTAMP") ); - qDebug( "adding 0x890B = SIOCADDRT" ); - map->insert( 0x890B, new QString("SIOCADDRT") ); - qDebug( "adding 0x890C = SIOCDELRT" ); - map->insert( 0x890C, new QString("SIOCDELRT") ); - qDebug( "adding 0x890D = SIOCRTMSG" ); - map->insert( 0x890D, new QString("SIOCRTMSG") ); - qDebug( "adding 0x8910 = SIOCGIFNAME" ); - map->insert( 0x8910, new QString("SIOCGIFNAME") ); - qDebug( "adding 0x8911 = SIOCSIFLINK" ); - map->insert( 0x8911, new QString("SIOCSIFLINK") ); - qDebug( "adding 0x8912 = SIOCGIFCONF" ); - map->insert( 0x8912, new QString("SIOCGIFCONF") ); - qDebug( "adding 0x8913 = SIOCGIFFLAGS" ); - map->insert( 0x8913, new QString("SIOCGIFFLAGS") ); - qDebug( "adding 0x8914 = SIOCSIFFLAGS" ); - map->insert( 0x8914, new QString("SIOCSIFFLAGS") ); - qDebug( "adding 0x8915 = SIOCGIFADDR" ); - map->insert( 0x8915, new QString("SIOCGIFADDR") ); - qDebug( "adding 0x8916 = SIOCSIFADDR" ); - map->insert( 0x8916, new QString("SIOCSIFADDR") ); - qDebug( "adding 0x8917 = SIOCGIFDSTADDR" ); - map->insert( 0x8917, new QString("SIOCGIFDSTADDR") ); - qDebug( "adding 0x8918 = SIOCSIFDSTADDR" ); - map->insert( 0x8918, new QString("SIOCSIFDSTADDR") ); - qDebug( "adding 0x8919 = SIOCGIFBRDADDR" ); - map->insert( 0x8919, new QString("SIOCGIFBRDADDR") ); - qDebug( "adding 0x891a = SIOCSIFBRDADDR" ); - map->insert( 0x891a, new QString("SIOCSIFBRDADDR") ); - qDebug( "adding 0x891b = SIOCGIFNETMASK" ); - map->insert( 0x891b, new QString("SIOCGIFNETMASK") ); - qDebug( "adding 0x891c = SIOCSIFNETMASK" ); - map->insert( 0x891c, new QString("SIOCSIFNETMASK") ); - qDebug( "adding 0x891d = SIOCGIFMETRIC" ); - map->insert( 0x891d, new QString("SIOCGIFMETRIC") ); - qDebug( "adding 0x891e = SIOCSIFMETRIC" ); - map->insert( 0x891e, new QString("SIOCSIFMETRIC") ); - qDebug( "adding 0x891f = SIOCGIFMEM" ); - map->insert( 0x891f, new QString("SIOCGIFMEM") ); - qDebug( "adding 0x8920 = SIOCSIFMEM" ); - map->insert( 0x8920, new QString("SIOCSIFMEM") ); - qDebug( "adding 0x8921 = SIOCGIFMTU" ); - map->insert( 0x8921, new QString("SIOCGIFMTU") ); - qDebug( "adding 0x8922 = SIOCSIFMTU" ); - map->insert( 0x8922, new QString("SIOCSIFMTU") ); - qDebug( "adding 0x8923 = SIOCSIFNAME" ); - map->insert( 0x8923, new QString("SIOCSIFNAME") ); - qDebug( "adding 0x8924 = SIOCSIFHWADDR" ); - map->insert( 0x8924, new QString("SIOCSIFHWADDR") ); - qDebug( "adding 0x8925 = SIOCGIFENCAP" ); - map->insert( 0x8925, new QString("SIOCGIFENCAP") ); - qDebug( "adding 0x8926 = SIOCSIFENCAP" ); - map->insert( 0x8926, new QString("SIOCSIFENCAP") ); - qDebug( "adding 0x8927 = SIOCGIFHWADDR" ); - map->insert( 0x8927, new QString("SIOCGIFHWADDR") ); - qDebug( "adding 0x8929 = SIOCGIFSLAVE" ); - map->insert( 0x8929, new QString("SIOCGIFSLAVE") ); - qDebug( "adding 0x8930 = SIOCSIFSLAVE" ); - map->insert( 0x8930, new QString("SIOCSIFSLAVE") ); - qDebug( "adding 0x8931 = SIOCADDMULTI" ); - map->insert( 0x8931, new QString("SIOCADDMULTI") ); - qDebug( "adding 0x8932 = SIOCDELMULTI" ); - map->insert( 0x8932, new QString("SIOCDELMULTI") ); - qDebug( "adding 0x8933 = SIOCGIFINDEX" ); - map->insert( 0x8933, new QString("SIOCGIFINDEX") ); - qDebug( "adding 0x8934 = SIOCSIFPFLAGS" ); - map->insert( 0x8934, new QString("SIOCSIFPFLAGS") ); - qDebug( "adding 0x8935 = SIOCGIFPFLAGS" ); - map->insert( 0x8935, new QString("SIOCGIFPFLAGS") ); - qDebug( "adding 0x8936 = SIOCDIFADDR" ); - map->insert( 0x8936, new QString("SIOCDIFADDR") ); - qDebug( "adding 0x8937 = SIOCSIFHWBROADCAST" ); - map->insert( 0x8937, new QString("SIOCSIFHWBROADCAST") ); - qDebug( "adding 0x8938 = SIOCGIFCOUNT" ); - map->insert( 0x8938, new QString("SIOCGIFCOUNT") ); - qDebug( "adding 0x8940 = SIOCGIFBR" ); - map->insert( 0x8940, new QString("SIOCGIFBR") ); - qDebug( "adding 0x8941 = SIOCSIFBR" ); - map->insert( 0x8941, new QString("SIOCSIFBR") ); - qDebug( "adding 0x8942 = SIOCGIFTXQLEN" ); - map->insert( 0x8942, new QString("SIOCGIFTXQLEN") ); - qDebug( "adding 0x8943 = SIOCSIFTXQLEN" ); - map->insert( 0x8943, new QString("SIOCSIFTXQLEN") ); - qDebug( "adding 0x8953 = SIOCDARP" ); - map->insert( 0x8953, new QString("SIOCDARP") ); - qDebug( "adding 0x8954 = SIOCGARP" ); - map->insert( 0x8954, new QString("SIOCGARP") ); - qDebug( "adding 0x8955 = SIOCSARP" ); - map->insert( 0x8955, new QString("SIOCSARP") ); - qDebug( "adding 0x8960 = SIOCDRARP" ); - map->insert( 0x8960, new QString("SIOCDRARP") ); - qDebug( "adding 0x8961 = SIOCGRARP" ); - map->insert( 0x8961, new QString("SIOCGRARP") ); - qDebug( "adding 0x8962 = SIOCSRARP" ); - map->insert( 0x8962, new QString("SIOCSRARP") ); - qDebug( "adding 0x8970 = SIOCGIFMAP" ); - map->insert( 0x8970, new QString("SIOCGIFMAP") ); - qDebug( "adding 0x8971 = SIOCSIFMAP" ); - map->insert( 0x8971, new QString("SIOCSIFMAP") ); - qDebug( "adding 0x8980 = SIOCADDDLCI" ); - map->insert( 0x8980, new QString("SIOCADDDLCI") ); - qDebug( "adding 0x8981 = SIOCDELDLCI" ); - map->insert( 0x8981, new QString("SIOCDELDLCI") ); - qDebug( "adding 0x89F0 = SIOCDEVPRIVATE" ); - map->insert( 0x89F0, new QString("SIOCDEVPRIVATE") ); - qDebug( "adding 0x89E0 = SIOCPROTOPRIVATE" ); - map->insert( 0x89E0, new QString("SIOCPROTOPRIVATE") ); - qDebug( "adding 0x1fff = SIOCPARM_MASK" ); - map->insert( 0x1fff, new QString("SIOCPARM_MASK") ); - qDebug( "adding 0x00000000 = SIOC_VOID" ); - map->insert( 0x00000000, new QString("SIOC_VOID") ); - qDebug( "adding 0x20000000 = SIOC_OUT" ); - map->insert( 0x20000000, new QString("SIOC_OUT") ); - qDebug( "adding 0x40000000 = SIOC_IN" ); - map->insert( 0x40000000, new QString("SIOC_IN") ); - qDebug( "adding 0x8B00 = SIOCSIWCOMMIT" ); - map->insert( 0x8B00, new QString("SIOCSIWCOMMIT") ); - qDebug( "adding 0x8B01 = SIOCGIWNAME" ); - map->insert( 0x8B01, new QString("SIOCGIWNAME") ); - qDebug( "adding 0x8B02 = SIOCSIWNWID" ); - map->insert( 0x8B02, new QString("SIOCSIWNWID") ); - qDebug( "adding 0x8B03 = SIOCGIWNWID" ); - map->insert( 0x8B03, new QString("SIOCGIWNWID") ); - qDebug( "adding 0x8B04 = SIOCSIWFREQ" ); - map->insert( 0x8B04, new QString("SIOCSIWFREQ") ); - qDebug( "adding 0x8B05 = SIOCGIWFREQ" ); - map->insert( 0x8B05, new QString("SIOCGIWFREQ") ); - qDebug( "adding 0x8B06 = SIOCSIWMODE" ); - map->insert( 0x8B06, new QString("SIOCSIWMODE") ); - qDebug( "adding 0x8B07 = SIOCGIWMODE" ); - map->insert( 0x8B07, new QString("SIOCGIWMODE") ); - qDebug( "adding 0x8B08 = SIOCSIWSENS" ); - map->insert( 0x8B08, new QString("SIOCSIWSENS") ); - qDebug( "adding 0x8B09 = SIOCGIWSENS" ); - map->insert( 0x8B09, new QString("SIOCGIWSENS") ); - qDebug( "adding 0x8B0A = SIOCSIWRANGE" ); - map->insert( 0x8B0A, new QString("SIOCSIWRANGE") ); - qDebug( "adding 0x8B0B = SIOCGIWRANGE" ); - map->insert( 0x8B0B, new QString("SIOCGIWRANGE") ); - qDebug( "adding 0x8B0C = SIOCSIWPRIV" ); - map->insert( 0x8B0C, new QString("SIOCSIWPRIV") ); - qDebug( "adding 0x8B0D = SIOCGIWPRIV" ); - map->insert( 0x8B0D, new QString("SIOCGIWPRIV") ); - qDebug( "adding 0x8B0E = SIOCSIWSTATS" ); - map->insert( 0x8B0E, new QString("SIOCSIWSTATS") ); - qDebug( "adding 0x8B0F = SIOCGIWSTATS" ); - map->insert( 0x8B0F, new QString("SIOCGIWSTATS") ); - qDebug( "adding 0x8B10 = SIOCSIWSPY" ); - map->insert( 0x8B10, new QString("SIOCSIWSPY") ); - qDebug( "adding 0x8B11 = SIOCGIWSPY" ); - map->insert( 0x8B11, new QString("SIOCGIWSPY") ); - qDebug( "adding 0x8B14 = SIOCSIWAP" ); - map->insert( 0x8B14, new QString("SIOCSIWAP") ); - qDebug( "adding 0x8B15 = SIOCGIWAP" ); - map->insert( 0x8B15, new QString("SIOCGIWAP") ); - qDebug( "adding 0x8B17 = SIOCGIWAPLIST" ); - map->insert( 0x8B17, new QString("SIOCGIWAPLIST") ); - qDebug( "adding 0x8B18 = SIOCSIWSCAN" ); - map->insert( 0x8B18, new QString("SIOCSIWSCAN") ); - qDebug( "adding 0x8B19 = SIOCGIWSCAN" ); - map->insert( 0x8B19, new QString("SIOCGIWSCAN") ); - qDebug( "adding 0x8B1A = SIOCSIWESSID" ); - map->insert( 0x8B1A, new QString("SIOCSIWESSID") ); - qDebug( "adding 0x8B1B = SIOCGIWESSID" ); - map->insert( 0x8B1B, new QString("SIOCGIWESSID") ); - qDebug( "adding 0x8B1C = SIOCSIWNICKN" ); - map->insert( 0x8B1C, new QString("SIOCSIWNICKN") ); - qDebug( "adding 0x8B1D = SIOCGIWNICKN" ); - map->insert( 0x8B1D, new QString("SIOCGIWNICKN") ); - qDebug( "adding 0x8B20 = SIOCSIWRATE" ); - map->insert( 0x8B20, new QString("SIOCSIWRATE") ); - qDebug( "adding 0x8B21 = SIOCGIWRATE" ); - map->insert( 0x8B21, new QString("SIOCGIWRATE") ); - qDebug( "adding 0x8B22 = SIOCSIWRTS" ); - map->insert( 0x8B22, new QString("SIOCSIWRTS") ); - qDebug( "adding 0x8B23 = SIOCGIWRTS" ); - map->insert( 0x8B23, new QString("SIOCGIWRTS") ); - qDebug( "adding 0x8B24 = SIOCSIWFRAG" ); - map->insert( 0x8B24, new QString("SIOCSIWFRAG") ); - qDebug( "adding 0x8B25 = SIOCGIWFRAG" ); - map->insert( 0x8B25, new QString("SIOCGIWFRAG") ); - qDebug( "adding 0x8B26 = SIOCSIWTXPOW" ); - map->insert( 0x8B26, new QString("SIOCSIWTXPOW") ); - qDebug( "adding 0x8B27 = SIOCGIWTXPOW" ); - map->insert( 0x8B27, new QString("SIOCGIWTXPOW") ); - qDebug( "adding 0x8B28 = SIOCSIWRETRY" ); - map->insert( 0x8B28, new QString("SIOCSIWRETRY") ); - qDebug( "adding 0x8B29 = SIOCGIWRETRY" ); - map->insert( 0x8B29, new QString("SIOCGIWRETRY") ); - qDebug( "adding 0x8B2A = SIOCSIWENCODE" ); - map->insert( 0x8B2A, new QString("SIOCSIWENCODE") ); - qDebug( "adding 0x8B2B = SIOCGIWENCODE" ); - map->insert( 0x8B2B, new QString("SIOCGIWENCODE") ); - qDebug( "adding 0x8B2C = SIOCSIWPOWER" ); - map->insert( 0x8B2C, new QString("SIOCSIWPOWER") ); - qDebug( "adding 0x8B2D = SIOCGIWPOWER" ); - map->insert( 0x8B2D, new QString("SIOCGIWPOWER") ); - qDebug( "adding 0x8BE0 = SIOCIWFIRSTPRIV" ); - map->insert( 0x8BE0, new QString("SIOCIWFIRSTPRIV") ); - qDebug( "adding 0x8BFF = SIOCIWLASTPRIV" ); - map->insert( 0x8BFF, new QString("SIOCIWLASTPRIV") ); - qDebug( "adding 0x8B00 = SIOCIWFIRST" ); - map->insert( 0x8B00, new QString("SIOCIWFIRST") ); - qDebug( "adding 0x5000 = SIOCGBPQETHPARAM" ); - map->insert( 0x5000, new QString("SIOCGBPQETHPARAM") ); - qDebug( "adding 0x5001 = SIOCSBPQETHPARAM" ); - map->insert( 0x5001, new QString("SIOCSBPQETHPARAM") ); - qDebug( "adding 0x890B = SIOCADDRT" ); - map->insert( 0x890B, new QString("SIOCADDRT") ); - qDebug( "adding 0x890C = SIOCDELRT" ); - map->insert( 0x890C, new QString("SIOCDELRT") ); - qDebug( "adding 0x890D = SIOCRTMSG" ); - map->insert( 0x890D, new QString("SIOCRTMSG") ); - qDebug( "adding 0x8910 = SIOCGIFNAME" ); - map->insert( 0x8910, new QString("SIOCGIFNAME") ); - qDebug( "adding 0x8911 = SIOCSIFLINK" ); - map->insert( 0x8911, new QString("SIOCSIFLINK") ); - qDebug( "adding 0x8912 = SIOCGIFCONF" ); - map->insert( 0x8912, new QString("SIOCGIFCONF") ); - qDebug( "adding 0x8913 = SIOCGIFFLAGS" ); - map->insert( 0x8913, new QString("SIOCGIFFLAGS") ); - qDebug( "adding 0x8914 = SIOCSIFFLAGS" ); - map->insert( 0x8914, new QString("SIOCSIFFLAGS") ); - qDebug( "adding 0x8915 = SIOCGIFADDR" ); - map->insert( 0x8915, new QString("SIOCGIFADDR") ); - qDebug( "adding 0x8916 = SIOCSIFADDR" ); - map->insert( 0x8916, new QString("SIOCSIFADDR") ); - qDebug( "adding 0x8917 = SIOCGIFDSTADDR" ); - map->insert( 0x8917, new QString("SIOCGIFDSTADDR") ); - qDebug( "adding 0x8918 = SIOCSIFDSTADDR" ); - map->insert( 0x8918, new QString("SIOCSIFDSTADDR") ); - qDebug( "adding 0x8919 = SIOCGIFBRDADDR" ); - map->insert( 0x8919, new QString("SIOCGIFBRDADDR") ); - qDebug( "adding 0x891a = SIOCSIFBRDADDR" ); - map->insert( 0x891a, new QString("SIOCSIFBRDADDR") ); - qDebug( "adding 0x891b = SIOCGIFNETMASK" ); - map->insert( 0x891b, new QString("SIOCGIFNETMASK") ); - qDebug( "adding 0x891c = SIOCSIFNETMASK" ); - map->insert( 0x891c, new QString("SIOCSIFNETMASK") ); - qDebug( "adding 0x891d = SIOCGIFMETRIC" ); - map->insert( 0x891d, new QString("SIOCGIFMETRIC") ); - qDebug( "adding 0x891e = SIOCSIFMETRIC" ); - map->insert( 0x891e, new QString("SIOCSIFMETRIC") ); - qDebug( "adding 0x891f = SIOCGIFMEM" ); - map->insert( 0x891f, new QString("SIOCGIFMEM") ); - qDebug( "adding 0x8920 = SIOCSIFMEM" ); - map->insert( 0x8920, new QString("SIOCSIFMEM") ); - qDebug( "adding 0x8921 = SIOCGIFMTU" ); - map->insert( 0x8921, new QString("SIOCGIFMTU") ); - qDebug( "adding 0x8922 = SIOCSIFMTU" ); - map->insert( 0x8922, new QString("SIOCSIFMTU") ); - qDebug( "adding 0x8923 = SIOCSIFNAME" ); - map->insert( 0x8923, new QString("SIOCSIFNAME") ); - qDebug( "adding 0x8924 = SIOCSIFHWADDR" ); - map->insert( 0x8924, new QString("SIOCSIFHWADDR") ); - qDebug( "adding 0x8925 = SIOCGIFENCAP" ); - map->insert( 0x8925, new QString("SIOCGIFENCAP") ); - qDebug( "adding 0x8926 = SIOCSIFENCAP" ); - map->insert( 0x8926, new QString("SIOCSIFENCAP") ); - qDebug( "adding 0x8927 = SIOCGIFHWADDR" ); - map->insert( 0x8927, new QString("SIOCGIFHWADDR") ); - qDebug( "adding 0x8929 = SIOCGIFSLAVE" ); - map->insert( 0x8929, new QString("SIOCGIFSLAVE") ); - qDebug( "adding 0x8930 = SIOCSIFSLAVE" ); - map->insert( 0x8930, new QString("SIOCSIFSLAVE") ); - qDebug( "adding 0x8931 = SIOCADDMULTI" ); - map->insert( 0x8931, new QString("SIOCADDMULTI") ); - qDebug( "adding 0x8932 = SIOCDELMULTI" ); - map->insert( 0x8932, new QString("SIOCDELMULTI") ); - qDebug( "adding 0x8933 = SIOCGIFINDEX" ); - map->insert( 0x8933, new QString("SIOCGIFINDEX") ); - qDebug( "adding 0x8934 = SIOCSIFPFLAGS" ); - map->insert( 0x8934, new QString("SIOCSIFPFLAGS") ); - qDebug( "adding 0x8935 = SIOCGIFPFLAGS" ); - map->insert( 0x8935, new QString("SIOCGIFPFLAGS") ); - qDebug( "adding 0x8936 = SIOCDIFADDR" ); - map->insert( 0x8936, new QString("SIOCDIFADDR") ); - qDebug( "adding 0x8937 = SIOCSIFHWBROADCAST" ); - map->insert( 0x8937, new QString("SIOCSIFHWBROADCAST") ); - qDebug( "adding 0x8938 = SIOCGIFCOUNT" ); - map->insert( 0x8938, new QString("SIOCGIFCOUNT") ); - qDebug( "adding 0x8940 = SIOCGIFBR" ); - map->insert( 0x8940, new QString("SIOCGIFBR") ); - qDebug( "adding 0x8941 = SIOCSIFBR" ); - map->insert( 0x8941, new QString("SIOCSIFBR") ); - qDebug( "adding 0x8942 = SIOCGIFTXQLEN" ); - map->insert( 0x8942, new QString("SIOCGIFTXQLEN") ); - qDebug( "adding 0x8943 = SIOCSIFTXQLEN" ); - map->insert( 0x8943, new QString("SIOCSIFTXQLEN") ); - qDebug( "adding 0x8944 = SIOCGIFDIVERT" ); - map->insert( 0x8944, new QString("SIOCGIFDIVERT") ); - qDebug( "adding 0x8945 = SIOCSIFDIVERT" ); - map->insert( 0x8945, new QString("SIOCSIFDIVERT") ); - qDebug( "adding 0x8946 = SIOCETHTOOL" ); - map->insert( 0x8946, new QString("SIOCETHTOOL") ); - qDebug( "adding 0x8947 = SIOCGMIIPHY" ); - map->insert( 0x8947, new QString("SIOCGMIIPHY") ); - qDebug( "adding 0x8948 = SIOCGMIIREG" ); - map->insert( 0x8948, new QString("SIOCGMIIREG") ); - qDebug( "adding 0x8949 = SIOCSMIIREG" ); - map->insert( 0x8949, new QString("SIOCSMIIREG") ); - qDebug( "adding 0x894A = SIOCWANDEV" ); - map->insert( 0x894A, new QString("SIOCWANDEV") ); - qDebug( "adding 0x8953 = SIOCDARP" ); - map->insert( 0x8953, new QString("SIOCDARP") ); - qDebug( "adding 0x8954 = SIOCGARP" ); - map->insert( 0x8954, new QString("SIOCGARP") ); - qDebug( "adding 0x8955 = SIOCSARP" ); - map->insert( 0x8955, new QString("SIOCSARP") ); - qDebug( "adding 0x8960 = SIOCDRARP" ); - map->insert( 0x8960, new QString("SIOCDRARP") ); - qDebug( "adding 0x8961 = SIOCGRARP" ); - map->insert( 0x8961, new QString("SIOCGRARP") ); - qDebug( "adding 0x8962 = SIOCSRARP" ); - map->insert( 0x8962, new QString("SIOCSRARP") ); - qDebug( "adding 0x8970 = SIOCGIFMAP" ); - map->insert( 0x8970, new QString("SIOCGIFMAP") ); - qDebug( "adding 0x8971 = SIOCSIFMAP" ); - map->insert( 0x8971, new QString("SIOCSIFMAP") ); - qDebug( "adding 0x8980 = SIOCADDDLCI" ); - map->insert( 0x8980, new QString("SIOCADDDLCI") ); - qDebug( "adding 0x8981 = SIOCDELDLCI" ); - map->insert( 0x8981, new QString("SIOCDELDLCI") ); - qDebug( "adding 0x8982 = SIOCGIFVLAN" ); - map->insert( 0x8982, new QString("SIOCGIFVLAN") ); - qDebug( "adding 0x8983 = SIOCSIFVLAN" ); - map->insert( 0x8983, new QString("SIOCSIFVLAN") ); - qDebug( "adding 0x8990 = SIOCBONDENSLAVE" ); - map->insert( 0x8990, new QString("SIOCBONDENSLAVE") ); - qDebug( "adding 0x8991 = SIOCBONDRELEASE" ); - map->insert( 0x8991, new QString("SIOCBONDRELEASE") ); - qDebug( "adding 0x8992 = SIOCBONDSETHWADDR" ); - map->insert( 0x8992, new QString("SIOCBONDSETHWADDR") ); - qDebug( "adding 0x8993 = SIOCBONDSLAVEINFOQUERY" ); - map->insert( 0x8993, new QString("SIOCBONDSLAVEINFOQUERY") ); - qDebug( "adding 0x8994 = SIOCBONDINFOQUERY" ); - map->insert( 0x8994, new QString("SIOCBONDINFOQUERY") ); - qDebug( "adding 0x8995 = SIOCBONDCHANGEACTIVE" ); - map->insert( 0x8995, new QString("SIOCBONDCHANGEACTIVE") ); - qDebug( "adding 0x89F0 = SIOCDEVPRIVATE" ); - map->insert( 0x89F0, new QString("SIOCDEVPRIVATE") ); - qDebug( "adding 0x89E0 = SIOCPROTOPRIVATE" ); - map->insert( 0x89E0, new QString("SIOCPROTOPRIVATE") ); - - return map; -}; - diff --git a/libopie2/opienet/oioctlmap.h b/libopie2/opienet/oioctlmap.h deleted file mode 100644 index 1cd89a3..0000000 --- a/libopie2/opienet/oioctlmap.h +++ b/dev/null @@ -1,17 +0,0 @@ - -/* - * ioctl table - generated by regen.py - (C) Michael 'Mickey' Lauer - */ - -#ifndef IOCTLMAP_H -#define IOCTLMAP_H - -#include -#include - -typedef QIntDict IntStringMap; - -IntStringMap* constructIoctlMap(); - -#endif - diff --git a/libopie2/opienet/onetutils.cpp b/libopie2/opienet/onetutils.cpp index ce147c5..e3eb327 100644 --- a/libopie2/opienet/onetutils.cpp +++ b/libopie2/opienet/onetutils.cpp @@ -34,19 +34,8 @@ #include #include -#include -#include -using namespace std; - -#define IW_PRIV_TYPE_MASK 0x7000 -#define IW_PRIV_TYPE_NONE 0x0000 -#define IW_PRIV_TYPE_BYTE 0x1000 -#define IW_PRIV_TYPE_CHAR 0x2000 -#define IW_PRIV_TYPE_INT 0x4000 -#define IW_PRIV_TYPE_FLOAT 0x5000 -#define IW_PRIV_TYPE_ADDR 0x6000 -#define IW_PRIV_SIZE_FIXED 0x0800 -#define IW_PRIV_SIZE_MASK 0x07FF +#include +#include /*====================================================================================== * OMacAddress diff --git a/libopie2/opienet/onetutils.h b/libopie2/opienet/onetutils.h index 541c5ab..bddfab9 100644 --- a/libopie2/opienet/onetutils.h +++ b/libopie2/opienet/onetutils.h @@ -125,6 +125,24 @@ void dumpBytes( const unsigned char* data, int num ); QString modeToString( int ); int stringToMode( const QString& ); +#define IW_PRIV_TYPE_MASK 0x7000 +#define IW_PRIV_TYPE_NONE 0x0000 +#define IW_PRIV_TYPE_BYTE 0x1000 +#define IW_PRIV_TYPE_CHAR 0x2000 +#define IW_PRIV_TYPE_INT 0x4000 +#define IW_PRIV_TYPE_FLOAT 0x5000 +#define IW_PRIV_TYPE_ADDR 0x6000 +#define IW_PRIV_SIZE_FIXED 0x0800 +#define IW_PRIV_SIZE_MASK 0x07FF + +#ifndef ARPHRD_IEEE80211 +#define ARPHRD_IEEE80211 801 +#endif +#ifndef ARPHRD_IEEE80211_PRISM +#define ARPHRD_IEEE80211_PRISM 802 +#endif + + /* Network to host order macros */ #ifdef LBL_ALIGN diff --git a/libopie2/opienet/onetwork.cpp b/libopie2/opienet/onetwork.cpp index c329e9a..95c813f 100644 --- a/libopie2/opienet/onetwork.cpp +++ b/libopie2/opienet/onetwork.cpp @@ -45,9 +45,9 @@ #include #include -#include -#include -#include +#include +#include +#include #include #include #include @@ -57,11 +57,9 @@ #include #include -using namespace std; - #ifndef NODEBUG -#include -IntStringMap* _ioctlmap = constructIoctlMap(); +#include +DebugMapper* debugmapper = new DebugMapper(); #endif /*====================================================================================== @@ -196,9 +194,9 @@ bool ONetworkInterface::ioctl( int call, struct ifreq& ifreq ) const #ifndef NODEBUG int result = ::ioctl( _sfd, call, &ifreq ); if ( result == -1 ) - qDebug( "ONetworkInterface::ioctl (%s) call %s (0x%04X) - Status: Failed: %d (%s)", name(), (const char*) *(*_ioctlmap)[call], call, result, strerror( errno ) ); + qDebug( "ONetworkInterface::ioctl (%s) call %s (0x%04X) - Status: Failed: %d (%s)", name(), (const char*) debugmapper->map( call ), call, result, strerror( errno ) ); else - qDebug( "ONetworkInterface::ioctl (%s) call %s (0x%04X) - Status: Ok.", name(), (const char*) *(*_ioctlmap)[call], call ); + qDebug( "ONetworkInterface::ioctl (%s) call %s (0x%04X) - Status: Ok.", name(), (const char*) debugmapper->map( call ), call ); return ( result != -1 ); #else return ::ioctl( _sfd, call, &ifreq ) != -1; @@ -969,9 +967,9 @@ bool OWirelessNetworkInterface::wioctl( int call, struct iwreq& iwreq ) const #ifndef NODEBUG int result = ::ioctl( _sfd, call, &iwreq ); if ( result == -1 ) - qDebug( "ONetworkInterface::wioctl (%s) call %s (0x%04X) - Status: Failed: %d (%s)", name(), (const char*) *(*_ioctlmap)[call], call, result, strerror( errno ) ); + qDebug( "ONetworkInterface::wioctl (%s) call %s (0x%04X) - Status: Failed: %d (%s)", name(), (const char*) debugmapper->map( call ), call, result, strerror( errno ) ); else - qDebug( "ONetworkInterface::wioctl (%s) call %s (0x%04X) - Status: Ok.", name(), (const char*) *(*_ioctlmap)[call], call ); + qDebug( "ONetworkInterface::wioctl (%s) call %s (0x%04X) - Status: Ok.", name(), (const char*) debugmapper->map( call ), call ); return ( result != -1 ); #else return ::ioctl( _sfd, call, &iwreq ) != -1; diff --git a/libopie2/opienet/opienet.pro b/libopie2/opienet/opienet.pro index d966462..386c2db 100644 --- a/libopie2/opienet/opienet.pro +++ b/libopie2/opienet/opienet.pro @@ -5,13 +5,13 @@ HEADERS = 802_11_user.h \ dhcp.h \ udp_ports.h \ wireless.h \ - oioctlmap.h \ + odebugmapper.h \ omanufacturerdb.h \ onetutils.h \ onetwork.h \ opcap.h \ ostation.h -SOURCES = oioctlmap.cpp \ +SOURCES = odebugmapper.cpp \ omanufacturerdb.cpp \ onetutils.cpp \ onetwork.cpp \ diff --git a/libopie2/tools/regen.py b/libopie2/tools/regen.py index 2f7f418..9ad5352 100755 --- a/libopie2/tools/regen.py +++ b/libopie2/tools/regen.py @@ -20,32 +20,41 @@ except: print >>tablehfile,""" /* - * ioctl table - generated by regen.py - (C) Michael 'Mickey' Lauer + * debug value mapper - generated by regen.py - (C) Michael 'Mickey' Lauer */ -#ifndef IOCTLMAP_H -#define IOCTLMAP_H +#ifndef DEBUGMAPPER_H +#define DEBUGMAPPER_H #include #include typedef QIntDict IntStringMap; -IntStringMap* constructIoctlMap(); +class DebugMapper +{ + public: + DebugMapper(); + ~DebugMapper(); + + const QString& map( int value ) const; + private: + IntStringMap _map; +}; #endif """ print >>tablecfile,""" /* - * ioctl table - generated by regen.py - (C) Michael 'Mickey' Lauer + * debug value mapper - generated by regen.py - (C) Michael 'Mickey' Lauer */ #include "%s" -IntStringMap* constructIoctlMap() +DebugMapper::DebugMapper() { -\tIntStringMap* map = new IntStringMap(); + qDebug( "DebugMapper::DebugMapper()" ); """ % (tablehfile.name) @@ -54,11 +63,32 @@ for line in result: if not l[0].startswith( "#define" ) or not l[2].startswith( "0x" ): print >>sys.stderr, "can't parse line: %s" % l continue - #print >>tablecfile, "\tqDebug( \"adding %s = %s\" );" % ( l[2], l[1] ) - print >>tablecfile, "\tmap->insert( %s, new QString(\"%s\") );" % ( l[2], l[1] ) + print >>tablecfile, " _map.insert( %s, new QString(\"%s\") );" % ( l[2], l[1] ) print >>tablecfile,""" -\treturn map; }; -""" \ No newline at end of file + + +DebugMapper::~DebugMapper() +{ + qDebug( "DebugMapper::~DebugMapper()" ); +} + + +const QString& DebugMapper::map( int value ) const +{ + QString* result = _map[ value ]; + + if ( !result ) + { + qDebug( "DebugMapper::map() - value not found." ); + return QString::null; + } + else + { + return *result; + } +} + +""" -- cgit v0.9.0.2