diff options
author | Adam Tkac <atkac@redhat.com> | 2010-07-21 09:19:00 +0000 |
---|---|---|
committer | Adam Tkac <atkac@redhat.com> | 2010-07-21 09:19:00 +0000 |
commit | 21b61a5c03d3f4ac72965e3ca28c710e2f54b35d (patch) | |
tree | c2600962534b4387acf9f2d6087096eb053e05aa /common/rfb/SSecurityTLS.h | |
parent | f39671def2af442dde86764445b20714acbba0b0 (diff) | |
download | tigervnc-21b61a5c03d3f4ac72965e3ca28c710e2f54b35d.tar.gz tigervnc-21b61a5c03d3f4ac72965e3ca28c710e2f54b35d.zip |
[Development] Rename SSecurityTLSBase source/class to SSecurityTLS.
git-svn-id: svn://svn.code.sf.net/p/tigervnc/code/trunk@4108 3789f03b-4d11-0410-bbf8-ca57d06f2519
Diffstat (limited to 'common/rfb/SSecurityTLS.h')
-rw-r--r-- | common/rfb/SSecurityTLS.h | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/common/rfb/SSecurityTLS.h b/common/rfb/SSecurityTLS.h new file mode 100644 index 00000000..4eebc7e0 --- /dev/null +++ b/common/rfb/SSecurityTLS.h @@ -0,0 +1,74 @@ +/* + * Copyright (C) 2004 Red Hat Inc. + * Copyright (C) 2005 Martin Koegler + * Copyright (C) 2010 TigerVNC Team + * + * This is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This software is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this software; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, + * USA. + */ + +#ifndef __S_SECURITY_TLS_H__ +#define __S_SECURITY_TLS_H__ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#ifndef HAVE_GNUTLS +#error "This header should not be included without HAVE_GNUTLS defined" +#endif + +#include <rfb/SSecurity.h> +#include <rfb/SSecurityVeNCrypt.h> +#include <rdr/InStream.h> +#include <rdr/OutStream.h> +#include <gnutls/gnutls.h> + +namespace rfb { + + class SSecurityTLS : public SSecurity { + public: + SSecurityTLS(bool _anon); + virtual ~SSecurityTLS(); + virtual bool processMsg(SConnection* sc); + virtual const char* getUserName() const {return 0;} + virtual int getType() const { return anon ? secTypeTLSNone : secTypeX509None;} + + static StringParameter X509_CertFile; + static StringParameter X509_KeyFile; + + protected: + void shutdown(); + void setParams(gnutls_session session); + + private: + static void initGlobal(); + + gnutls_session session; + gnutls_dh_params dh_params; + gnutls_anon_server_credentials anon_cred; + gnutls_certificate_credentials cert_cred; + char *keyfile, *certfile; + + int type; + bool anon; + + rdr::InStream* fis; + rdr::OutStream* fos; + }; + +} + +#endif |