aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ssl/src
AgeCommit message (Collapse)Author
2012-06-08ssl: Simpler PEM cacheIngela Anderton Andin
2012-06-08ssl: Refactored for readabilityIngela Anderton Andin
Instance of state variable that are "updated" in a function is called for example State0 and the last instance, that should be returned, is called State possible intermidiat versions are suffixed by increasing numbers. State0 may be rturned in error cases. Avoid nesting case statments.
2012-06-08ssl: Use md5 as file ref id instead of filenamesDan Gudmundsson
Aviods storing a lot of data
2012-06-08ssl: Move ets:select bottleneck in serverDan Gudmundsson
Only use ssl_manager for selecting new ids to guarantee uniqueness, but reuse check does not need to be performed by the manager.
2012-06-08ssl: Renegotiate updates session id in gen_fsm stateIngela Anderton Andin
The session id keept in the connection processes state must be updated to be the id selected by ssl_handshake:client_hello, failing to do so will cause a crash if the session is not reused.
2012-06-08ssl: Use ordered_set in cacheDan Gudmundsson
So we can use partial bound keys for matching
2012-06-08ssl: Move and avoid ets:select bottleneck in clientIngela Anderton Andin
Do not use ssl_manager process for selecting an id. It's unnecessary to involve the manager process at all on the client side.
2012-06-08ssl: Reuse session check optimizationIngela Anderton Andin
2012-06-08ssl: Avoid supervior bottleneckIngela Anderton Andin
This is done by using proc_lib and gen_fsm:enter_loop so that supervisor will not have to wait for the relative long initialization of an ssl connection process before starting another connection process.
2012-04-27ssl: Fix parallel make for behavioursBjörn-Egil Dahlberg
2012-03-30Update copyright yearsBjörn-Egil Dahlberg
2012-03-27Corrected dialyzer specs and exported some dialyzer specsIngela Anderton Andin
2012-03-26Merge branch 'as/ssl-tls-prf-function' into maintGustav Simonsson
* as/ssl-tls-prf-function: Some protocols (e.g. EAP-PEAP, EAP-TLS, EAP-TTLS) that use TLS as transport layer need to generate additional application specific key material One way to generate such material is to use the TLS PRF and key material from the TLS session itself OTP-10024
2012-03-21Prepare for releaseIngela Anderton Andin
Distribution fixes so no need to soft upgrade.
2012-03-05Some protocols (e.g. EAP-PEAP, EAP-TLS, EAP-TTLS) that use TLS asAndreas Schultz
transport layer need to generate additional application specific key material. One way to generate such material is to use the TLS PRF and key material from the TLS session itself. This change makes it possible to use a TLS sessions PRF either with the session internal or caller supplied key material to generate additional key material.
2012-02-14Merge branch 'pg/fix-ssl_tls_dist_proxy-setup-loop' into maintHenrik Nord
* pg/fix-ssl_tls_dist_proxy-setup-loop: Fix setup loop of SSL TLS dist proxy OTP-9915 OTP-9916
2012-02-14Merge branch 'pg/ssl_dist-fixes' into maintHenrik Nord
* pg/ssl_dist-fixes: Robustness and improvement to distribution over SSL
2012-02-14Robustness and improvement to distribution over SSLPaul Guyot
Fix a bug where the caller would timeout and ssl_tls_dist_proxy would crash. Fix a bug where a timeout from the SSL layer would block the distribution forever (typically when a non-SSL node tries to connect to an SSL node). Add this very case as a test (test_server tries to connect to SSL nodes). Run the proxy exclusively on the loopback interface.
2012-02-08User defined verify_fun is now called correctlyIngela Anderton Andin
Background from erlang-questions: > We use this test suite to verify our PKIX-path-validation code, > granted we do not yet support CRL-handling but that is on its > way. Our verify_fun will let you work around the problem that it > is not yet supported. (Not so fun for you perhaps but a possible > solution for now). this is unfortunately not the case since for versions that contain commit 4dbf3c9e4ae7cfd19b247353369166d31b8f15e5 (it is in R14B04 and R15B) the documented behaviour (verify_fun will be called for every certificate) is broken: the verify_fun will only be called, if the certificate contains unknown extensions. it is therefore not useful as a CRL workaround (anymore). best regards Stefan Grundmann
2012-01-29Fix setup loop of SSL TLS dist proxyPaul Guyot
The proxy socket or the SSL socket can be closed during the setup phase. In such situations, the proxy processes must exit nicely, to avoid any leak of processes waiting forever for data from closed sockets.
2011-12-09Update copyright yearsBjörn-Egil Dahlberg
2011-12-07Merge branch 'ia/ssl/session/cleanup-test'Ingela Anderton Andin
* ia/ssl/session/cleanup-test: Improve ssl session cleanup test
2011-12-06Improve ssl session cleanup testIngela Anderton Andin
Check last delay timer for both client and server side to avoide timing issues.
2011-12-05Fix typos in ssl_cipher.erlTuncer Ayaz
2011-12-05Merge branch 'ia/ssl/dialyzer-R15'Ingela Anderton Andin
* ia/ssl/dialyzer-R15: Callback specs now handled by -callback directive in the behaviour module.
2011-12-05Do not do the 1/n-1 split for RC4 as it is not vulnerable to the ↵Ingela Anderton Andin
Rizzo/Duong-Beast attack.
2011-12-01Callback specs now handled by -callback directive in the behaviour module.Ingela Anderton Andin
2011-11-28If a passive receive was ongoing during a renegotiation the processIngela Anderton Andin
evaluating ssl:recv could be left hanging for ever.
2011-11-28Send ssl_closed notification to active ssl user when a tcp error occursIngela Anderton Andin
2011-11-23Implementation of 1/n-1 splitting countermeasure Rizzo/Duong-BeastIngela Anderton Andin
The code is refactored and improved to make it easier to insert the 1/n-1 splitting countermeasure Rizzo/Duong-Beast that is really done in one function clause in ssl:record_split_bin/3
2011-11-21Mitigate Computational DoS attackIngela Anderton Andin
2011-11-16Merge branch 'ia/ssl/ets-next-problem/OTP-9703'Ingela Anderton Andin
* ia/ssl/ets-next-problem/OTP-9703: Replaced ets:next traversal with ets:foldl and throw
2011-11-15Replaced ets:next traversal with ets:foldl and throwIngela Anderton Andin
ets:next needs an explicit safe_fixtable call to be safe, we rather use ets:foldl and throw to get out of it when we find the correct entry.
2011-11-15Improved session cleanup handlingIngela Anderton Andin
Added session status "new" to mark sessions that are in the session database to reserve the session id but not resumable yet and that we want to separate from sessions that has been invalidated for further reuse.
2011-11-15Fix badarith in ssl_session:validate_session/2Ingela Anderton Andin
The time_stamp filed is now initated in the connection process init function, so that invalidations of sessions due to handshake failiures, will not cause sessions in the session table to have an uninitiated time_stamp field.
2011-11-15Merge branch 'ia/ssl/prepare-for-relese'Ingela Anderton Andin
* ia/ssl/prepare-for-relese: Prepare version and appup for release
2011-11-15Merge branch 'ia/public_key/ssl/crypto/PKCS-8/OTP-9312'Ingela Anderton Andin
* ia/public_key/ssl/crypto/PKCS-8/OTP-9312: Add clause for expected input to pubkey:pseudo_random_function/2 when ASN-1 compiler is fixed. Clean up of public_key code adding specs and documentation Added PKCS-8 support in ssl Additions to crypto and public_key needed for full PKCS-8 support Add PKCS-8 support to public_key
2011-11-11Prepare version and appup for releaseIngela Anderton Andin
2011-11-01Added PKCS-8 support in sslIngela Anderton Andin
2011-10-24fix handling of block_decipher/5 failureAndreas Schultz
A wrong decryption key would cause a badmatch in generic_block_cipher_from_bin/2. The try in block_decipher/5 was probably intendend to deal with that, but was misplace for this. Additionaly, generating a failure alert erly, without computing the record MAC, creates vector for a timing attack on CBC padding (for details check TLS 1.2 RFC 5246, Sect. 6.2.3.2.). This attach vector and the counter meassure applies to all SSL/TLS versions. As a counter messure, compute the MAC even when decryption or padding checks fail. A invalid padding will force a MAC failure by intentionaly invalidating the content.
2011-10-11Put back ssl:peercert/1Ingela Anderton Andin
I accidentally removed a little too much, only peercert/2 was deprecated.
2011-10-06Merge branch 'ia/ssl/remove-old-ssl/OTP-7048'Ingela Anderton Andin
* ia/ssl/remove-old-ssl/OTP-7048: Remove old ssl implementation and deprecated function ssl:peercert/1 Conflicts: lib/ssl/test/Makefile
2011-10-06Merge branch 'ia/ssl/dist-more-tests'Ingela Anderton Andin
* ia/ssl/dist-more-tests: Better option handling Improve code structure Remove ssl_prim calls that are remains from the old ssl distribution Add payload test
2011-10-04Better option handlingIngela Anderton Andin
Also cleaned up old gaurds.
2011-10-03Improve code structureIngela Anderton Andin
2011-10-03Remove ssl_prim calls that are remains from the old ssl distributionIngela Anderton Andin
2011-09-29Merge branch 'dev' into majorBjörn-Egil Dahlberg
* dev: Update copyright years
2011-09-29Update copyright yearsBjörn-Egil Dahlberg
2011-09-28Merge remote branch 'upstream/dev' into majorIngela Anderton Andin
* upstream/dev: Both the SSLv3 and TLS 1.0/TLS 1.1 specifications require implementations to ignore data following the ClientHello (i.e., extensions) if they do not understand them. fix unknown ssl extension parsing by changing length from bits to bytes Temporary disable tests on MAC due to issus with the MAC ODBC drivers
2011-09-27Both the SSLv3 and TLS 1.0/TLS 1.1 specifications requireIngela Anderton Andin
implementations to ignore data following the ClientHello (i.e., extensions) if they do not understand them. Data not following the protocol format for extensions will be ignored by the last dec_hello_extensions-clause. OTP-8596