aboutsummaryrefslogtreecommitdiff
path: root/src/modules/extra/m_ssl_openssl.cpp
Commit message (Expand)AuthorAgeFilesLines
* Silence OpenSSL deprecation warnings on OS X.Gravatar Peter Powell2012-11-281-1/+9
* m_ssl_gnutls, m_ssl_openssl Set error message for the socket to "Connection c...Gravatar attilamolnar2012-11-091-0/+1
* m_ssl_openssl Remove unused variablesGravatar attilamolnar2012-11-091-10/+1
* Windows: In-depth cleanup (see details)•••-Fix x64 builds for Windows. Now all configurations compile. -Remove the non-working rebase stuff. -Remove the Windows fork hack and instead use FreeConsole() to emulate the behavior. This directly allows us to compile with ASLR, which is turned on now. -Remove the old IPC mechanism for the removed GUI. This is not needed anymore as the GUI wasn't ever supported on anything newer than 1.2 -Remove the WIN32/WINDOWS macros. _WIN32 is supported on all x86-based VC++ targets, so that's what we need. -Enable optimizations for release builds. -De-duplicate printf_c(), it was previously copy-pasted into colors.h for configure -Add the VC++ specific bad files in .gitignore -Disable PID writing on Windows. This is only making sense for *nix builds. -Replace the CPU usage retrieval with an algorithm analogous to the *nix behavior. Also supports separated now/total values. (Tested with a dummy busy loop - seems working) -Removed certain unused functions and variables -Remove stdint defines from the windows wrapper -Remove CRT debug alloc. This is a bad idea as it would define a macro to replace free which breaks builds. -Re-evaluated the warnings list, commented it. -Moved inspircd_config/_version to include/ to match *nix -Removed the creation of inspircd_se_config, as it isn't used at all. -Made non-git builds show as "r0" instead of "r" (thanks to @SaberUK for pointing this out) -Fixed up m_spanningtree's project paths. Now all configurations (debug/release x86/x64) have been tested and build properly. -Moved FindDNS out of the wrapper and matched its log behavior with *nix. (It's pointless having it in the wrapper after the recent slimming down) -Replaced random/srandom wrappers with a mechanism that tries to use Windows' Random API first is no SSL module is loaded. -Removed more old junk from support for compilers older than VC++ 2010 (we don't have project files for these, so compiling them would be hard anyways) -Removed the unused ClearConsole() -Removed unused includes from the wrapper. Also, do not include psapi.h here if we don't link psapi.lib. This should be done where appropriate. -Made inet_aton an inline function for increased performance -C4800, performance warning about bool forcing, resolved at all occurrences. -C4701, uninitialized variable 'cached', resolved at all occurrences. -dlerror() was migrated out of the wrapper for more thread safety (no global buffer being shared) and increased performance. -Removed the wrong CRT debug flags. This drains a lot of performance. -Removed the clock_gettime/gettimeofday wrappers -Replaced all TCHAR/ANSI mix-ups of functions with the correct respective function. -Added a block of C4355 for < VS2012 -Update project files for c870714 Gravatar ChrisTX2012-10-121-1/+1
* Replace hardcoded paths with configurable ones•••This patchset aims to ease the packaging of InspIRCd for a system-wide installation scenario. Changes in detail: configure: Add the options --log-path and --data-path m_ssl_gnutls, openssl: Change the hardcoded "conf/" to the existent CONFIG_PATH macro m_xline_db: Make the location of xline.db configurable. It will use --data-path as default value, but this can be changed using the configuration files. Gravatar ChrisTX2012-10-041-4/+4
* m_ssl_openssl Port ISUPPORT changes from m_ssl_gnutls to fix #261•••Add a config option that can be used to set the value of the SSL token in ISUPPORT (77b42efc86122d3720f85bddd85a2dc80d0baff9) Advertise only one ssl port by default in ISUPPORT (d30cdacab7100426c3773eafffd50aebf8155bba) Gravatar attilamolnar2012-07-271-5/+19
* m_ssl_openssl Use the system default cipher list if no cipher list is specifedGravatar attilamolnar2012-07-131-5/+8
* m_ssl_openssl: Allow the list of available ciphers to be customized.•••This patch was contributed almost 10 months ago via IRC, by spender. Gravatar Robby-2012-06-271-0/+7
* m_ssl_openssl: Show the SSL cipher used after connecting.•••Previously only a fingerprint was shown when one was available, else nothing was shown at all. Gravatar Robby-2012-06-271-2/+4
* Replace copyright headers with headers granting specific authors copyrightGravatar Robby-2012-04-191-8/+19
* Remove possibly dangerous skip of VerifyCertificateGravatar Daniel De Graaf2011-06-231-1/+1
* Fix initialization of SSL certificate field on connectGravatar Daniel De Graaf2011-06-231-0/+1
* Fix extras compilation under WindowsGravatar Adam2011-06-181-4/+9
* Possible fix for OpenSSL SendQ processing haltsGravatar Daniel De Graaf2010-04-161-1/+3
* 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-13/+16
* 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-2/+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-4/+4
* 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
* 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-24/+20
* 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-1/+3
* 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-3/+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-15/+25
* 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-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-12/+3
* 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
* 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-9/+3
* 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-43/+8
* 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-3/+3
* 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-4/+4
* 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-180/+74
* 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-106/+76
* Change Extensible to use strongly typed entries•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11696 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-131-45/+14
* Use a set to mark client SSL ports rather than going by textual IP/port pairs•••This theoretically speeds up accepting connections. Visible changes are proper IPv6 port text in 005 output and no possibility of incorrect SSL on addresses that mismatch an incoming port (possible with IPv4 wildcard SSL and IPv6 plaintext on the same port, not that anyone would do such a thing). Bind ports also now tell which SSL module they use in /stats p. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11629 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-021-71/+16
* Change OnHookUserIO to OnHookIO, making it usable for more than User* and les...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11628 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-021-3/+3
* Misc removal of pointless Extend strings•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11618 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-021-2/+1
* MetaData rework•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11607 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-021-2/+2
* Remove more text<->binary IP conversions, making code more IPv4/IPv6 independent•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11578 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-011-3/+3
* Rename User::GetPort to GetServerPort to clarify its purpose•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11577 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-09-011-1/+1
* Fix double-send of SSL metadata in openssl, possible segfault in gnutls•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11433 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-07-031-3/+0
* Send ssl_cert metadata on signon•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11429 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-07-021-4/+9
* Remove memory-wasting map in ssl_cert•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11428 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-07-021-11/+11
* Migrate SSL metadata and visible information (/whois line) to single module•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11427 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-07-021-46/+3
* Fix backport compile error: m_ssl_* uses ServerInstance->Config->ports which ...•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11426 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-07-021-6/+6
* Allow SSL fingerprint-based server authentication•••git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11404 e03df62e-2008-0410-955e-edbf42e46eb7 Gravatar danieldg2009-06-071-0/+14