]> git.stg.codes - stg.git/blobdiff - projects/sgconf/main.cpp
Added ability to list authorizers for user.
[stg.git] / projects / sgconf / main.cpp
index ec7dadc77b1a7479e143d2b7959702389ec2626f..ce5a20722707c37940a485abdd1fff0add7ff0d1 100644 (file)
@@ -37,9 +37,9 @@
 #include <list>
 #include <sstream>
 
+#include "stg/common.h"
+#include "stg/netunit.h"
 #include "request.h"
-#include "common.h"
-#include "netunit.h"
 #include "common_sg.h"
 #include "sg_error_codes.h"
 
@@ -108,7 +108,8 @@ struct option long_options_get[] = {
 {"email",       0, 0, 'L'},  //emaiL
 {"phone",       0, 0, 'P'},  //phone
 {"group",       0, 0, 'G'},  //Group
-{"ip",         0, 0, 'I'},  //IP-address of user
+{"ip",          0, 0, 'I'},  //IP-address of user
+{"authorized-by",0, 0, 800}, //always online
 
 {0, 0, 0, 0}};
 
@@ -846,6 +847,9 @@ while (1)
             req.ud[c - 700] = " ";
             break;
 
+        case 800:
+            req.authBy = true;
+
         case '?':
         case ':':
             //printf ("Unknown option \n");
@@ -873,7 +877,10 @@ if (missedOptionArg || !CheckParametersGet(&req))
     exit(PARAMETER_PARSING_ERR_CODE);
     }
 
-return ProcessGetUser(req.server, req.port, req.admLogin, req.admPasswd, req.login, &req);
+if (req.authBy)
+    return ProcessAuthBy(req.server, req.port, req.admLogin, req.admPasswd, req.login, &req);
+else
+    return ProcessGetUser(req.server, req.port, req.admLogin, req.admPasswd, req.login, &req);
 }
 //-----------------------------------------------------------------------------
 int mainSet(int argc, char **argv)
@@ -973,7 +980,7 @@ while (1)
             break;
 
         case 'N': //Note
-            ParseAnyString(optarg, &str);
+            ParseAnyString(optarg, &str, "koi8-ru");
             req.note = str;
             break;
 
@@ -983,12 +990,12 @@ while (1)
             break;
 
         case 'D': //aDdress
-            ParseAnyString(optarg, &str);
+            ParseAnyString(optarg, &str, "koi8-ru");
             req.address = str;
             break;
 
         case 'L': //emaiL
-            ParseAnyString(optarg, &str);
+            ParseAnyString(optarg, &str, "koi8-ru");
             req.email = str;
             //printf("EMAIL=%s\n", optarg);
             break;
@@ -999,7 +1006,7 @@ while (1)
             break;
 
         case 'G': //Group
-            ParseAnyString(optarg, &str);
+            ParseAnyString(optarg, &str, "koi8-ru");
             req.group = str;
             break;