|
reSIProcate/repro
9694
|
00001 00002 #include <cassert> 00003 #include <iostream> 00004 00005 #include "repro/UserDb.hxx" 00006 #include "repro/WebAdmin.hxx" 00007 #include "rutil/Data.hxx" 00008 #include "rutil/Logger.hxx" 00009 00010 using namespace resip; 00011 using namespace repro; 00012 using namespace std; 00013 00014 #define RESIPROCATE_SUBSYSTEM Subsystem::REPRO 00015 00016 00017 void 00018 add( char* pUsername, char* pRealm, char* pPasswd ) 00019 { 00020 UserDb db; 00021 00022 Data fullName = Data::Empty; 00023 Data email = Data::Empty; 00024 00025 db.addUser( Data(pUsername), 00026 Data(pRealm), 00027 Data(pRealm), 00028 Data(pPasswd), 00029 fullName, 00030 email ); 00031 } 00032 00033 00034 void 00035 remove( char* pAor ) 00036 { 00037 UserDb db; 00038 00039 db.removeUser( Data(pAor) ); 00040 } 00041 00042 00043 void 00044 web(int port) 00045 { 00046 assert(0); 00047 #if 0 00048 UserDb db; 00049 00050 WebAdmin webAdmin( db, port ); 00051 00052 while (1) 00053 { 00054 FdSet fdset; 00055 00056 webAdmin.buildFdSet(fdset); 00057 fdset.selectMilliSeconds( 10*1000 ); 00058 00059 webAdmin.process(fdset); 00060 } 00061 #endif 00062 } 00063 00064 00065 void 00066 list() 00067 { 00068 UserDb db; 00069 00070 Data key = db.getFirstKey(); 00071 while ( !key.empty() ) 00072 { 00073 Data hash = db.getUserAuthInfo(key); 00074 00075 clog << "Key: " << key << endl; 00076 clog << " passwordHash = " << hash << endl; 00077 00078 key = db.getNextKey(); 00079 } 00080 } 00081 00082 00083 void 00084 usage() 00085 { 00086 clog << "Command line options are" << endl 00087 << " -list" << endl 00088 << " -add user realm password" << endl 00089 << " -remove aor" << endl 00090 << " -web" << endl; 00091 } 00092 00093 00094 int 00095 main(int argc, char* argv[]) 00096 { 00097 Log::initialize(Log::Cerr, Log::Err, argv[0]); 00098 Log::setLevel(Log::Info); 00099 00100 for ( int i=1; i<argc; i++ ) 00101 { 00102 if ( !strcmp(argv[i],"-list" ) ) 00103 { 00104 list(); 00105 } 00106 if ( !strcmp(argv[i],"-web" ) ) 00107 { 00108 int port=5080; 00109 web(port); 00110 } 00111 else if (!strcmp(argv[i],"-add")) 00112 { 00113 i++; 00114 assert( i<argc ); 00115 char* username = argv[i]; 00116 00117 i++; 00118 assert( i<argc ); 00119 char* realm = argv[i]; 00120 00121 i++; 00122 assert( i<argc ); 00123 char* passwd = argv[i]; 00124 00125 add( username, realm, passwd ); 00126 } 00127 else if (!strcmp(argv[i],"-remove")) 00128 { 00129 i++; 00130 assert( i<argc ); 00131 char* aor = argv[i]; 00132 remove( aor ); 00133 } 00134 else 00135 { 00136 usage(); 00137 exit(1); 00138 } 00139 } 00140 00141 return 0; 00142 }
1.7.5.1