• Main Page
  • Related Pages
  • Namespaces
  • Classes
  • Files
  • Examples
  • File List
  • File Members

sslserver.h

Go to the documentation of this file.
00001 // 
00002 //   Copyright (C) 2009, 2010 Free Software Foundation, Inc.
00003 // 
00004 // This program is free software; you can redistribute it and/or modify
00005 // it under the terms of the GNU General Public License as published by
00006 // the Free Software Foundation; either version 3 of the License, or
00007 // (at your option) any later version.
00008 // 
00009 // This program is distributed in the hope that it will be useful,
00010 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00011 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012 // GNU General Public License for more details.
00013 // 
00014 // You should have received a copy of the GNU General Public License
00015 // along with this program; if not, write to the Free Software
00016 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
00017 //
00018 
00019 #ifndef GNASH_SSL_SERVER_H
00020 #define GNASH_SSL_SERVER_H
00021 
00022 #ifdef HAVE_CONFIG_H
00023 #include "gnashconfig.h"
00024 #endif
00025 
00026 #include <boost/array.hpp>
00027 #include <boost/shared_ptr.hpp>
00028 #include <boost/shared_array.hpp>
00029 #include <boost/scoped_array.hpp>
00030 #include <boost/cstdint.hpp>
00031 #include <sstream>
00032 
00033 #ifdef HAVE_OPENSSL_SSL_H
00034 #include <openssl/ssl.h>
00035 #include <openssl/err.h>
00036 #endif
00037 
00038 #include "sslclient.h"
00039 #include "cque.h"
00040 #include "network.h"
00041 #include "buffer.h"
00042 
00043 namespace gnash
00044 {
00045 
00046 extern const char *ROOTPATH;
00047 extern const char *HOST;
00048 extern const char *CA_LIST;
00049 extern const char *RANDOM;
00050 extern const char *KEYFILE;
00051 extern const char *SERVER_KEYFILE;
00052 extern const size_t SSL_PASSWD_SIZE;
00053 extern const char *PASSWORD;
00054 extern const char *DHFILE;
00055 
00056 class DSOEXPORT SSLServer : public SSLClient {
00057  public:
00058     SSLServer();
00059     ~SSLServer();
00060     
00061     bool loadDhParams(char *file);
00062     bool loadDhParams(SSL_CTX *ctx, char *file);
00063 
00064     void generateEphRSAKey(SSL_CTX *ctx);
00065     
00066     // sslAccept() is how the server waits for connections for clients
00067     size_t sslAccept(int fd);
00068     
00069     // display internal data to the terminal
00070     void dump();
00071 };
00072     
00073 } // end of gnash namespace
00074 
00075 // end of GNASH_SSL_SERVER_H
00076 #endif 
00077 
00078 // local Variables:
00079 // mode: C++
00080 // indent-tabs-mode: t
00081 // End:

Generated on Fri Mar 16 2012 15:46:12 for Gnash by  doxygen 1.7.1