gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] /srv/bzr/gnash/trunk r11294: merge from branch. add worki


From: rob
Subject: [Gnash-commit] /srv/bzr/gnash/trunk r11294: merge from branch. add working SSL support for client and server.
Date: Tue, 21 Jul 2009 11:43:34 -0600
User-agent: Bazaar (1.13.1)

------------------------------------------------------------
revno: 11294
committer: address@hidden
branch nick: trunk
timestamp: Tue 2009-07-21 11:43:34 -0600
message:
  merge from branch. add working SSL support for client and server.
added:
  cygnal/cygnalrc.in
modified:
  cygnal/Makefile.am
  cygnal/crc.cpp
  cygnal/crc.h
  libamf/lcshm.cpp
  libbase/gnashrc.in
  libbase/rc.cpp
  libbase/rc.h
  testsuite/libbase.all/TCXXRc.cpp
  testsuite/libbase.all/gnashrc.in
    ------------------------------------------------------------
    revno: 11256.1.10
    committer: address@hidden
    branch nick: ssh
    timestamp: Tue 2009-07-21 10:11:43 -0600
    message:
      merge from trunk
    added:
      utilities/findmicrophones.cpp
      utilities/findwebcams.cpp
    modified:
      backend/Renderer_ogl.cpp
      backend/Renderer_ogl.h
      doc/Makefile.am
      gui/Kde4GlueOgl.cpp
      gui/aqua_ogl_glue.h
      gui/gtk_glue_gtkglext.cpp
      gui/kde_glue_opengl.h
      gui/sdl_ogl_glue.h
      libbase/rc.cpp
      libbase/rc.h
      libcore/TextField.cpp
      libcore/TextField.h
      libmedia/VideoInput.cpp
      libmedia/VideoInput.h
      libmedia/gst/VideoInputGst.cpp
      libmedia/gst/VideoInputGst.h
      testsuite/actionscript.all/MovieClip.as
      testsuite/libmedia.all/test_videoinput.cpp
      testsuite/misc-ming.all/loadMovieTest.c
      utilities/Makefile.am
    ------------------------------------------------------------
    revno: 11256.1.11
    committer: address@hidden
    branch nick: ssh
    timestamp: Tue 2009-07-21 11:26:04 -0600
    message:
      add default Cygnal config file.
    added:
      cygnal/cygnalrc.in
    ------------------------------------------------------------
    revno: 11256.1.12
    committer: address@hidden
    branch nick: ssh
    timestamp: Tue 2009-07-21 11:26:29 -0600
    message:
      add SSL options to the default config file.
    modified:
      libbase/gnashrc.in
    ------------------------------------------------------------
    revno: 11256.1.13
    committer: address@hidden
    branch nick: ssh
    timestamp: Tue 2009-07-21 11:26:53 -0600
    message:
      install the new default Cygnal config file.
    modified:
      cygnal/Makefile.am
    ------------------------------------------------------------
    revno: 11256.1.14
    committer: address@hidden
    branch nick: ssh
    timestamp: Tue 2009-07-21 11:27:25 -0600
    message:
      add new SSL options
    modified:
      testsuite/libbase.all/gnashrc.in
    ------------------------------------------------------------
    revno: 11256.1.15
    committer: address@hidden
    branch nick: ssh
    timestamp: Tue 2009-07-21 11:27:58 -0600
    message:
      test new SSL config file options.
    modified:
      testsuite/libbase.all/TCXXRc.cpp
    ------------------------------------------------------------
    revno: 11256.1.16
    committer: address@hidden
    branch nick: ssh
    timestamp: Tue 2009-07-21 11:28:18 -0600
    message:
      add client and server side config settings for SSL support.
    modified:
      cygnal/crc.cpp
      cygnal/crc.h
      libbase/rc.cpp
      libbase/rc.h
=== modified file 'cygnal/Makefile.am'
--- a/cygnal/Makefile.am        2009-06-13 18:24:34 +0000
+++ b/cygnal/Makefile.am        2009-07-21 17:26:53 +0000
@@ -36,6 +36,8 @@
 # of the top level configure options.
 DIST_SUBDIRS  = testsuite cgi-bin
 
+sysconf_DATA = cygnalrc
+
 AM_CPPFLAGS = # -Wall
 
 AM_LDFLAGS = \
@@ -87,6 +89,9 @@
 libcygnal_la_LIBADD = 
 
 
+cygnalrc: cygnalrc.in Makefile
+       cat $(srcdir)/address@hidden >$@
+
 # Rebuild with GCC 4.x Mudflap support
 mudflap:
        @echo "Rebuilding with GCC Mudflap support"

=== modified file 'cygnal/crc.cpp'
--- a/cygnal/crc.cpp    2009-07-14 13:40:32 +0000
+++ b/cygnal/crc.cpp    2009-07-21 17:28:18 +0000
@@ -64,7 +64,9 @@
       _threading(false),
       _fdthread(100),
       _netdebug(false),
-      _admin(false)
+      _admin(false),
+      _certfile("server.pem"),
+      _certdir("/etc/pki/tls")
 {
 //    GNASH_REPORT_FUNCTION;
     loadFiles();
@@ -196,6 +198,18 @@
                 continue;
             }
             
+            if (noCaseCompare(variable, "CertDir") ) {
+                expandPath(value);
+                _certdir = value;
+                continue;
+            }
+            
+            if (noCaseCompare(variable, "CertFile") ) {
+                expandPath(value);
+                _certfile = value;
+                continue;
+            }
+                        
             bool test;
             bool threads;
            bool netdebug;

=== modified file 'cygnal/crc.h'
--- a/cygnal/crc.h      2009-03-16 23:34:13 +0000
+++ b/cygnal/crc.h      2009-07-21 17:28:18 +0000
@@ -42,6 +42,11 @@
 class DSOEXPORT CRcInitFile : public gnash::RcInitFile
 {
 public:
+    /// Construct only by getDefaultInstance()
+    CRcInitFile();
+    /// Never destroy (TODO: add a destroyDefaultInstance)
+    ~CRcInitFile();
+    
     /// \brief Return the default instance of RC file,
     static CRcInitFile& getDefaultInstance();
     
@@ -93,24 +98,46 @@
     /// \brief Set the  flag for whether to enable the administration thread.
     void setAdminFlag(bool x) { _admin = x; }
 
-    /// \brief Dump the internal data of this class in a human readable form.
-    /// @remarks This should only be used for debugging purposes.
-    void dump() const { dump(std::cerr); }
-    
     void setDocumentRoot(const std::string &x) { _wwwroot = x; }
     std::string getDocumentRoot() { return _wwwroot; }
     
     void setCgiRoot(const std::string &x) { _cgiroot = x; }
     std::string getCgiRoot() { return _cgiroot; }
     
+    /// \brief Get the Root SSL certificate
+    const std::string& getRootCert() const {
+        return _rootcert;
+    }
+    /// \brief Set the Root SSL certificate
+    void setRootCert(const std::string& value) {
+        _rootcert = value;
+    }
+
+    /// \brief Get the Client SSL certificate
+    const std::string& getCertFile() const {
+        return _certfile;
+    }
+    /// \brief Set the Client SSL certificate
+    void setCertFile(const std::string& value) {
+        _certfile = value;
+    }
+
+    /// \brief Get the directory for client SSL certificates
+    const std::string& getCertDir() const {
+        return _certdir;
+    }
+    /// \brief Set the directory for client SSL certificates
+    void setCertDir(const std::string& value) {
+        _certdir = value;
+    }
+
+    /// \brief Dump the internal data of this class in a human readable form.
+    /// @remarks This should only be used for debugging purposes.
+    void dump() const { dump(std::cerr); }
+    
     /// \overload dump(std::ostream& os) const
     void dump(std::ostream& os) const;
     
-    /// Construct only by getDefaultInstance()
-    CRcInitFile();
-    /// Never destroy (TODO: add a destroyDefaultInstance)
-    ~CRcInitFile();
-    
   private:
     /// \var _wwwroot
     ///                The root path for the streaming server to find al files.
@@ -155,6 +182,14 @@
     ///                not, also to reduce complecity when debugging.
     bool _admin;
 
+    /// \var _certfile
+    ///                This is the name of the server certificate file
+    std::string _certfile;
+
+    /// \var _certdir
+    ///                This is the path to the directory containing cert files
+    std::string _certdir;
+
 };
 
 /// \brief Dump to the specified output stream.

=== added file 'cygnal/cygnalrc.in'
--- a/cygnal/cygnalrc.in        1970-01-01 00:00:00 +0000
+++ b/cygnal/cygnalrc.in        2009-07-21 17:26:04 +0000
@@ -0,0 +1,39 @@
+# The default verbosity level
+#set verbosity 1
+
+# Print debug info about the ActionScript classes as they are processed
+#set actionDump off
+
+# Print debug info about how Gnash is parsing the file
+#set parserDump off
+
+# The full path to the debug log
+#set debuglog /home/rob/cygnal-dbg.log
+
+# The Port offset to use when we're not root
+#set portOffset 4000
+
+# Output special messages to be used then testing Gnash
+#set testing off
+
+# Use threads for I/O. This is primarily a debugging option for
+# performance testing.
+#set threading on
+
+# When running in threaded mode, this is the number of file descritors
+# watched by each thread
+#set fdThread 100
+
+# The default top level path for all files.
+#set documentroot /var/www
+
+#
+# SSL settings. These are the default values currently used.
+#
+
+#
+# Set the default client certificate currently used,
+#set CertFile  client.pem
+
+# Set the default directory used for certificates
+#set CertDir   /etc/pki/tls

=== modified file 'libamf/lcshm.cpp'
--- a/libamf/lcshm.cpp  2009-07-21 16:19:13 +0000
+++ b/libamf/lcshm.cpp  2009-07-21 17:43:34 +0000
@@ -556,7 +556,8 @@
 
 //     cout<<" The send function is called ! "<<endl;
      log_debug("Base address is: 0x%x, 0x%x",
-               (unsigned int)Listener::getBaseAddress(), (unsigned 
int)_baseaddr);
+               static_cast<void *>(Listener::getBaseAddress()),
+              reinterpret_cast<void *>(_baseaddr));
 
 //The base address
      boost::uint8_t *baseptr = Listener::getBaseAddress();

=== modified file 'libbase/gnashrc.in'
--- a/libbase/gnashrc.in        2009-03-19 08:39:35 +0000
+++ b/libbase/gnashrc.in        2009-07-21 17:26:29 +0000
@@ -193,8 +193,11 @@
 #
 #set LocalConnection on
 
+# This is the shared memory key for your system
+#set LCShmKey 3711621821
+
 # Enable support for the X Video extension. Note that this requires a
-# kernel/X11 driver, and compile-time gstreamer or ffmpeg and libXv .
+# kernel/X11 driver, and compile-time gstreamer or ffmpeg and libXv.
 #
 # Default: false
 #
@@ -212,3 +215,17 @@
 # Default: -1 
 #
 #set quality 4
+
+#
+# SSL settings. These are the default values currently used.
+#
+
+# Set the default CA file name
+#set RootCert  rootcert.pem
+
+#
+# Set the default client certificate currently used,
+#set CertFile  client.pem
+
+# Set the default directory used for certificates
+#set CertDir   /etc/pki/tls

=== modified file 'libbase/rc.cpp'
--- a/libbase/rc.cpp    2009-07-21 16:24:10 +0000
+++ b/libbase/rc.cpp    2009-07-21 17:43:34 +0000
@@ -107,9 +107,12 @@
     _saveLoadedMedia(false),
     _popups(true),
     _useXv(false),
-       _webcamDevice(-1),
+    _webcamDevice(-1),
     _microphoneDevice(-1),
-       _ignoreShowMenu(true)
+    _certfile("client.pem"),
+    _certdir("/etc/pki/tls"),
+    _rootcert("rootcert.pem"),
+    _ignoreShowMenu(true)
 {
     expandPath(_solsandbox);
     loadFiles();
@@ -469,6 +472,23 @@
                 continue;
             }
 
+            if (noCaseCompare(variable, "CertDir") ) {
+                expandPath(value);
+                _certdir = value;
+                continue;
+            }
+            
+            if (noCaseCompare(variable, "CertFile") ) {
+                expandPath(value);
+                _certfile = value;
+                continue;
+            }
+            
+            if (noCaseCompare(variable, "RootCert") ) {
+                _rootcert = value;
+                continue;
+            }
+            
             if (noCaseCompare(action , "set") ) {
                  extractSetting(_splashScreen, "splashScreen", variable,
                            value)

=== modified file 'libbase/rc.h'
--- a/libbase/rc.h      2009-07-21 16:24:10 +0000
+++ b/libbase/rc.h      2009-07-21 17:43:34 +0000
@@ -262,7 +262,7 @@
     
     void setLocalConnection(bool x) { _lcdisabled = x; }
     
-    // Enable tracing all LocalConnection traffic
+    /// \brief Enable tracing all LocalConnection traffic
     bool getLCTrace() const { return _lctrace; }
     
     void setLCTrace(bool x) { _lctrace = x; }
@@ -287,14 +287,41 @@
 
     const std::string& getMediaDir() const { return _mediaCacheDir; }
        
-       void setWebcamDevice(int value) {_webcamDevice = value;}
-       
-       int getWebcamDevice() const {return _webcamDevice;}
+    void setWebcamDevice(int value) {_webcamDevice = value;}
+    
+    int getWebcamDevice() const {return _webcamDevice;}
     
     void setAudioInputDevice(int value) {_microphoneDevice = value;}
     
     int getAudioInputDevice() {return _microphoneDevice;}
 
+    /// \brief Get the Root SSL certificate
+    const std::string& getRootCert() const {
+        return _rootcert;
+    }
+    /// \brief Set the Root SSL certificate
+    void setRootCert(const std::string& value) {
+        _rootcert = value;
+    }
+
+    /// \brief Get the Client SSL certificate
+    const std::string& getCertFile() const {
+        return _certfile;
+    }
+    /// \brief Set the Client SSL certificate
+    void setCertFile(const std::string& value) {
+        _certfile = value;
+    }
+
+    /// \brief Get the directory for client SSL certificates
+    const std::string& getCertDir() const {
+        return _certdir;
+    }
+    /// \brief Set the directory for client SSL certificates
+    void setCertDir(const std::string& value) {
+        _certdir = value;
+    }
+
     void ignoreShowMenu(bool value) { _ignoreShowMenu= value; }
 
     bool ignoreShowMenu() const { return _ignoreShowMenu; }
@@ -523,15 +550,27 @@
 
     bool _useXv;
        
-       ///FIXME: this should probably eventually be changed to a more readable
-       ///config option instead of an integer
-       int _webcamDevice;
+    ///FIXME: this should probably eventually be changed to a more readable
+    ///config option instead of an integer
+    int _webcamDevice;
     
     int _microphoneDevice;
 
-       /// Whether the player will recognize changes to Stage.showMenu in AS
-       /// default value is true
-       bool _ignoreShowMenu;
+    /// \var _certfile
+    ///                This is the name of the client certificate file
+    std::string _certfile;
+
+    /// \var _certdir
+    ///                This is the path to the directory containing cert files
+    std::string _certdir;
+
+    /// \var _rootcert
+    ///                This is the name of the root certificate
+    std::string _rootcert;
+
+    /// Whether the player will recognize changes to Stage.showMenu in AS
+    /// default value is true
+    bool _ignoreShowMenu;
 
 };
 

=== modified file 'testsuite/libbase.all/TCXXRc.cpp'
--- a/testsuite/libbase.all/TCXXRc.cpp  2009-07-16 20:04:08 +0000
+++ b/testsuite/libbase.all/TCXXRc.cpp  2009-07-21 17:27:58 +0000
@@ -218,6 +218,24 @@
         runtest.fail ("rc.getLCShmKey() != 0xabcd1234");
     }
         
+    if (rc.getRootCert() == "testrootcert.pem") {
+        runtest.pass ("rc.getRootCert() == testrootcert.pem");
+    } else {
+        runtest.fail ("rc.getRootCert() != testrootcert.pem");
+    }
+        
+    if (rc.getCertFile() == "testclient.pem") {
+        runtest.pass ("rc.getCertFile() == testclient.pem");
+    } else {
+        runtest.fail ("rc.getCertFile() != testclient.pem");
+    }
+        
+    if (rc.getCertDir() == "/test/etc/pki/tls/") {
+        runtest.pass ("rc.getCertDir() == /test/etc/pki/tls/");
+    } else {
+        runtest.fail ("rc.getCertDir() != /test/etc/pki/tls/");
+    }
+        
     std::vector<std::string> blacklist = rc.getBlackList();
     if (blacklist.size()) {
         if ((blacklist[0] == "www.doubleclick.com")

=== modified file 'testsuite/libbase.all/gnashrc.in'
--- a/testsuite/libbase.all/gnashrc.in  2009-07-16 20:03:19 +0000
+++ b/testsuite/libbase.all/gnashrc.in  2009-07-21 17:27:25 +0000
@@ -89,8 +89,19 @@
 # Trace all object flowing gthrough LocalConnection
 set LCTrace on
 
-# This is the# shared memory key for your system
+# This is the shared memory key for your system
 set LCShmKey 3711621821
 
-
-
+#
+# SSL settings. These are the default values currently used.
+#
+
+# Set the default CA file name
+set RootCert testrootcert.pem
+
+#
+# Set the default client certificate currently used,
+set CertFile testclient.pem
+
+# Set the default directory used for certificates
+set CertDir /test/etc/pki/tls/


reply via email to

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