summaryrefslogtreecommitdiff
path: root/src/modules/extra/m_ssl_gnutls.cpp
Commit message (Expand)AuthorAgeFilesLines
* Improve GnuTLS socket error messagesGravatar Daniel De Graaf2010-10-021-2/+24
* A zero return from gnutls_record_send is not an errorGravatar Daniel De Graaf2010-09-191-7/+1
* Add C++ wrappers to more GnuTLS objects; remove the need to specify certcountGravatar Daniel De Graaf2010-09-121-48/+153
* Move gnutls_dh_params into its own refcounted container objectGravatar Daniel De Graaf2010-09-111-19/+41
* Enable gnutls_only on pre-2.2 GnuTLSGravatar Daniel De Graaf2010-09-061-2/+2
* Fix compilation on old (pre-2.2) versions of GnuTLSGravatar Daniel De Graaf2010-09-061-0/+12
* Enable COMP-DEFLATE by default so that SSL connections are compressedGravatar Daniel De Graaf2010-09-061-1/+1
* Allow enabling private GnuTLS extensions such as LZO compressionGravatar Daniel De Graaf2010-09-061-1/+7
* Allow GnuTLS cipher priorities to be set•••This adds <gnutls:prio> and <ssl_cert:prio> which allows you to enable or disable ciphers, key exchange methods, macs, and compression methods in SSL connections made using these certificates. Examples from gnutls_priority_init(3): "NORMAL:!AES-128-CBC" means normal ciphers except for AES-128. "EXPORT:!VERS-TLS1.0:+COMP-DEFLATE" means that export ciphers are enabled, TLS 1.0 is disabled, and libz compression enabled. "NONE:+VERS-TLS1.0:+AES-128-CBC:+RSA:+SHA1:+COMP-NULL" Gravatar Daniel De Graaf2010-09-061-2/+10
* Clarify GnuTLS error messages on files not foundGravatar Daniel De Graaf2010-08-231-1/+12
* Clarify the configuration tag function namesGravatar Daniel De Graaf2010-08-221-3/+3
* Replace remaining Request users with dynamic_referenceGravatar Daniel De Graaf2010-08-211-11/+14
* Change config reading hook for better error reporting•••This eliminates the OnRehash hook, and replaces it with ReadConfig which is called on boot, module load, and rehash. Gravatar Daniel De Graaf2010-08-211-5/+2
* Get rid of more useless assign() invocationsGravatar Daniel De Graaf2010-08-031-1/+1
* Don't run gnutls_dh_params_generate so oftenGravatar Daniel De Graaf2010-08-031-6/+7
* GnuTLS cleanupGravatar Daniel De Graaf2010-08-031-35/+14
* New I/O hook API•••This removes some pointless Module:: entries, uses the ServiceProvider lookup API for bind tags, and allows GnuTLS to use custom certificates per bind or link block using: <bind ssl="gnutls" ssl_cert="signed" ...> <ssl_cert name="signed" certfile="my.cert.pem" keyfile="my.key.pem"> Gravatar Daniel De Graaf2010-08-031-430/+456
* Support multiple certificates in GnuTLS certificate chain•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12491 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-02-181-7/+16
* Allow STARTTLS to be disabled via <gnutls starttls="no">•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12485 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-02-171-2/+13
* Hide SSL= line of 005 if <gnutls:showports>/<openssl:showports> is false•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12484 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-02-171-11/+16
* Bug #645 was correct behavior on the client's part, the IRC STARTTLS standard...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12480 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-02-161-6/+2
* Add <oper:autologin> to allow SSL fingerprint-based automatic oper login•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12467 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-02-151-1/+0
* Remove possible references to deleted User objects due to DNS lookups•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12445 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-02-121-5/+5
* Add random number generation functions to InspIRCd class.•••Default implementation uses libc random(), which can be better than rand(). If gnutls is loaded, gcrypt will be used to provide random numbers. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12404 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-02-091-0/+15
* Move configuration examples to docs, remove automatic overwrite on make install•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12383 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-02-061-2/+0
* Fix STARTTLS sending the 670 numeric within the SSL session, not prior to it•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12366 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-02-031-0/+9
* Allow SSL fingerprint hash to be specified, and show fingerprint to client on...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12357 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-02-021-25/+26
* Put ConfigReader deprecation warning in logs•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12310 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-01-211-8/+6
* Add Module::init() for correct exception handling during hook registration•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12278 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-01-171-2/+9
* Make a ./configure --system to support system-wide installation of inspircd•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12275 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2010-01-171-3/+2
* ...because every now and again, i have to do a massive commit.•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12248 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar brain2010-01-111-1/+1
* Use ServiceProvider for inter-module dependencies•••This will stop dependency chains from preventing module reloads when it is not actually needed; however, it removes some failsafes that will need to be reimplemented in order to avoid unmapped vtables. This deprecates Request as an inter-module signaling mechanism, although SQL still uses it. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12140 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-11-161-4/+3
* Remove Extensible parent from EventHandler•••This also fixes SSL certificate support when m_sslinfo is not loaded git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12048 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-11-061-23/+20
* Move StreamSocket inheritance off of User•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12047 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-11-061-5/+5
* Clarify handshake failure messages•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12008 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-11-041-2/+1
* Fixes found by removing User inheritance from StreamSocket•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11975 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-251-9/+7
* Kill ListenSocketBase, use OnAcceptConnection for all new connections•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11950 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-211-6/+6
* Change module API to use LocalUser* where correct•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11943 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-211-1/+1
* More classbase cleanup, hold ConfigTag reference in Autoconnect/Link•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11906 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-181-1/+1
* Remove dummy API_VERSION from Version constructor•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11887 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-171-1/+1
* Remove magic path resolution from certificate files•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11868 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-131-21/+4
* Add server ports to ServerInstance->ports, enable SSL on them using OnHookIO•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11810 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-091-10/+5
* Update Event and Request APIs•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11808 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-10-081-49/+8
* Compile fixes and message updates•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11767 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-261-1/+1
* Remove InspIRCd* parameters and fields•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11763 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-261-4/+4
* Add FD_WANT_SINGLE_WRITE to efficiently replace FD_WANT_POLL_WRITE•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11762 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-261-3/+3
* Take advantage of FD_READ_WILL_BLOCK and FD_WRITE_WILL_BLOCK to reduce syscal...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11761 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-261-35/+54
* Clean up SocketEngine interface to allow edge-triggered I/O and sockets that ...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11760 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-261-10/+7
* Describe module purpose in /MODULES output•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11757 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-221-1/+1
* Create StreamSocket for IO hooking implementation•••Fixes the SSL SendQ bug Removes duplicate code between User and BufferedSocket Simplify SSL module API Simplify EventHandler API (Readable/Writeable moved to SE) Add hook for culled objects to invoke callbacks prior to destructor Replace SocketCull with GlobalCull now that sockets can close themselves Shorten common case of user read/parse/write path: User::Write is now zero-copy up to syscall/SSL invocation User::Read has only two copy/scan passes from read() to ProcessCommand git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11752 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-211-141/+86