]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
MDXMLINT-54
authorMathieu Rene <mrene@avgs.ca>
Thu, 20 Aug 2009 18:52:48 +0000 (18:52 +0000)
committerMathieu Rene <mrene@avgs.ca>
Thu, 20 Aug 2009 18:52:48 +0000 (18:52 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@14580 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/mod/xml_int/mod_xml_rpc/mod_xml_rpc.c

index 67e7cc2f0631de5f675064314e1346f599620082..6337e775d1329d1dcfed601d971aca9ea9ddfb65 100644 (file)
@@ -253,8 +253,17 @@ static abyss_bool is_authorized (const TSession *r, const char *command)
        int argc;
        int i;
 
-       if (!r || !r->requestInfo.user)
+       if (!r) {
                return FALSE;
+       }
+
+       if (switch_strlen_zero(globals.realm) && switch_strlen_zero(globals.user)) {
+               return TRUE;
+       }
+
+       if (!r->requestInfo.user) {
+               return FALSE;   
+       }
 
        user = strdup(r->requestInfo.user);
 
@@ -263,15 +272,16 @@ static abyss_bool is_authorized (const TSession *r, const char *command)
                domain_name = dp;
        }
 
-       if (switch_strlen_zero(user) || switch_strlen_zero(domain_name)) {
-               switch_safe_free(user);
-               return FALSE;
-       }
-
        if (!switch_strlen_zero(globals.realm) && !switch_strlen_zero(globals.user) && !strcmp(user, globals.user)) {
                switch_safe_free(user);
                return TRUE;
        }
+       
+       if (switch_strlen_zero(user) || switch_strlen_zero(domain_name)) {
+               switch_safe_free(user);
+               return FALSE;
+       }
+       
 
        if (!user_attributes (user, domain_name, NULL, NULL, NULL, &allowed_commands)) {
                switch_safe_free(user);