gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] gnash ChangeLog server/URLAccessManager.cpp


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog server/URLAccessManager.cpp
Date: Thu, 09 Nov 2006 12:30:00 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Changes by:     Sandro Santilli <strk>  06/11/09 12:30:00

Modified files:
        .              : ChangeLog 
        server         : URLAccessManager.cpp 

Log message:
                * server/URLAccessManager.cpp (host_check): use log_security()
                  and (IMHO) clearer messages; use standard algorithms for      
                  whitelist/blacklist query.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&r1=1.1568&r2=1.1569
http://cvs.savannah.gnu.org/viewcvs/gnash/server/URLAccessManager.cpp?cvsroot=gnash&r1=1.9&r2=1.10

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.1568
retrieving revision 1.1569
diff -u -b -r1.1568 -r1.1569
--- ChangeLog   9 Nov 2006 10:14:03 -0000       1.1568
+++ ChangeLog   9 Nov 2006 12:30:00 -0000       1.1569
@@ -1,5 +1,8 @@
 2006-11-09 Sandro Santilli <address@hidden>
 
+       * server/URLAccessManager.cpp (host_check): use log_security()
+         and (IMHO) clearer messages; use standard algorithms for
+         whitelist/blacklist query.
         * libbase/log.{cpp,h}: added log_security() for security-related
           messages.
 

Index: server/URLAccessManager.cpp
===================================================================
RCS file: /sources/gnash/gnash/server/URLAccessManager.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -b -r1.9 -r1.10
--- server/URLAccessManager.cpp 9 Nov 2006 10:09:01 -0000       1.9
+++ server/URLAccessManager.cpp 9 Nov 2006 12:30:00 -0000       1.10
@@ -25,12 +25,16 @@
 #include "URLAccessManager.h"
 #include "URL.h"
 #include "log.h"
+#include "StringPredicates.h" // for case-insensitive host match
+
 #include "rc.h" // for rcfile
 #include <cerrno> // for errno :)
 
 // temporary use of console for confirm load of network urls
 #include <iostream>
 
+#include <algorithm> // for find / find_if
+
 #ifdef WIN32
 # include <Winsock2.h>
 #else
@@ -151,25 +155,32 @@
 static bool
 host_check_blackwhite_lists(const std::string& host)
 {
-    std::vector<std::string> whitelist = rcfile.getWhiteList();
-    std::vector<std::string>::iterator it;
-    for (it = whitelist.begin(); it != whitelist.end(); ++it) {
-        if (*it == host) {
-            dbglogfile << "Whitelisted host " << host.c_str() << "!" <<
-               std::endl;
+       using std::vector;
+       using std::string;
+
+       vector<string>::iterator it;
+
+       vector<string> whitelist = rcfile.getWhiteList();
+       // TODO: case-insensitive matching ? 
+       it = find(whitelist.begin(), whitelist.end(), host);
+       if ( it != whitelist.end() ) {
+               log_security("Load from host %s granted (whitelisted).",
+                       host.c_str());
             return true;
         }
-    }
 
-    std::vector<std::string> blacklist = rcfile.getBlackList();
-    for (it = blacklist.begin(); it != blacklist.end(); ++it) {
-        if (*it == host) {
-            dbglogfile << "Blacklisted host " << host.c_str() << "!"
-               << std::endl;
+       vector<string> blacklist = rcfile.getBlackList();
+       // TODO: case-insensitive matching ? 
+       it = find(blacklist.begin(), blacklist.end(), host);
+       if ( it != blacklist.end() )
+       {
+               log_security("Load from host %s forbidden (blacklisted).",
+                       host.c_str());
             return false;
         }
-    }
     
+       log_security("Load from host %s granted (default).",
+               host.c_str());
     return true;
 }
 
@@ -183,7 +194,7 @@
 {
 //    GNASH_REPORT_FUNCTION;
 
-    log_msg("Checking security of host: %s", host.c_str());
+    //log_msg("Checking security of host: %s", host.c_str());
     
     assert( ! host.empty() );
     
@@ -227,12 +238,14 @@
     }
 
     if ( check_domain && domainname != host ) {
-        log_msg("Not in the local domain!");
+       log_security("Load from host %s forbidden (not in the local domain).",
+               host.c_str());
         return false;
        }
     
     if ( check_localhost && hostname != host ) {
-        log_msg("Not on the localhost!");
+       log_security("Load from host %s forbidden (not on the local host).",
+               host.c_str());
         return false;
     }
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]