{"head":"6ca6dd3c670fb8185ebb9a20c2a731a7375c1cac","size":27,"push_id":45722389,"shas":[["b138f9e6879e44732e681d368704345acdf26b1b","dfdb7392591db597bc41cf266a9c3bc12a2706e5@erlang.org","Add tls support to capabilities exchange\n\nTo upgrade a connection to TLS or not, that is the question. It\nis possible for us to send a CER offering both NO_INBAND_SECURITY\nand TLS and for the peer to answer likewise: RFC 3588 doesn't make\nclear that a CEA should be unambiguous about the choice of security.\nThus, if TLS is offered then assume the server is prepared to\nfor a handshake. Similarly, when receiving a CER, choose TLS if\nit's offered and be unambiguous about our choice in CEA. There is\nno ssl:maybe_accept that would let us receive a handshake if it\ncomes or another message if it doesn't.\n\nThe choice of TLS should probably be made into a callback so that\nan application can decide based on the peer's Origin-Realm for\nexample. Such a callback could also be used to reject a CER/CEA.\n\nHandle Inband-Security-Id values other than NO_INBAND_SECURITY and\nTLS by assuming that they require no intervention by the transport\nmodule, treating them like NO_INBAND_SECURITY. Whether or not this\nis reasonable (or useful) is unclear. There may be a need for more\nsychronization than we have on offer. (Having to do something before\ntaking the connection up for example.)\n\nNote that diameter_peer_fsm must be upgraded before diameter_capx\nbecause of the new return value from diameter_capx:recv_CEA/2.","Anders Svensson"],["10aa701bf7bf390303a499c99cdf1372eb911680","dfdb7392591db597bc41cf266a9c3bc12a2706e5@erlang.org","Lift recursion in tcp message reception up the call chain\n\nWhen an initial message is received and TLS is a possibility, must\nwait for a message from the peer process before either commencing\na handshake or receiving more messages.","Anders Svensson"],["804d96e755a65a17cfe0d67698b834bdda11afe5","dfdb7392591db597bc41cf266a9c3bc12a2706e5@erlang.org","Handle tls notification for tcp\n\nIf TLS has been configured on Inband-Security-Id then the transport\nprocess receives a message from the peer_fsm process indicating\nwhether or not to upgrade to TLS.\n\nThe current draft of RFC 3588 deprecates (but retains for backwards\ncompatibility) the use of Inband-Security-Id for negotiating TLS,\nadding the possibility of TLS having be negotiated before capabilities\nexchange. This commit handles the deprecated case.","Anders Svensson"],["68c94d9b8db4773259c323cd428cf4bf20931869","dfdb7392591db597bc41cf266a9c3bc12a2706e5@erlang.org","Close transport if tls is requested over sctp\n\nRFC 3588 requires that a Diameter server support TLS but in\npractise this seems to mean TLS over SCTP since there are limitations\nwith running over SCTP: see RFC 6083 (DTLS over SCTP), which is a\nresponse to RFC 3436 (TLS over SCTP). The current RFC 3588 draft\nacknowledges this by equating the Inband-Security-Id value TLS\nwith TLS/TCP and DTLS/SCTP but underlying support for DTLS is\nstill thin on the ground.","Anders Svensson"],["30a7d3935e57bd4c6b7e64f8b25eb0a11c0e7c80","dfdb7392591db597bc41cf266a9c3bc12a2706e5@erlang.org","Documentation updates","Anders Svensson"],["8998476269bf308e92b004f00e5ae3636f08541e","dfdb7392591db597bc41cf266a9c3bc12a2706e5@erlang.org","Add tls testsuite","Anders Svensson"],["82934adca7cd26777025bc9ae1b87b45d2a55fe2","dfdb7392591db597bc41cf266a9c3bc12a2706e5@erlang.org","Add tls support at connection establishment\n\nThis is the method added in draft-ietf-dime-rfc3588bis, whereby\na TLS handshake immediately follows connection establishment and\nCER/CEA is sent over the secured connection.","Anders Svensson"],["c002a636022d9910288a8612d03c6edd5c1a6962","dfdb7392591db597bc41cf266a9c3bc12a2706e5@erlang.org","Clarify that ssl must be started for TLS support\n\nAlso update app testsuite to allow for \"undefined\" calls\nfrom diameter_tcp to ssl.","Anders Svensson"],["dce08a5f07935e89f8d049376ff660cf59184e85","dfdb7392591db597bc41cf266a9c3bc12a2706e5@erlang.org","Simplify depend.sed for better compatibility\n\nSed on Solaris doesn't remember matches after branching.","Anders Svensson"],["afaae9dc224c9b57eb4cbf6465e8adbac0264871","dfdb7392591db597bc41cf266a9c3bc12a2706e5@erlang.org","Skip tls testsuite if there's no openssl","Anders Svensson"],["0edb6a4d2d76960846fd04ecce3aa00b3348691b","48de74ab2ede077dbc40c384a6ecabde09229321@gmail.com","Add '-callback' attribute to language syntax\n\nBehaviours may define specs for their callbacks using the familiar spec syntax,\nreplacing the '-spec' keyword with '-callback'. Simple lint checks are performed\nto ensure that no callbacks are defined twice and all types referred are\ndeclared.\n\nThese attributes can be then used by tools to provide documentation to the\nbehaviour or find discrepancies in the callback definitions in the callback\nmodule.","Stavros Aronis"],["493262e2f024d3a0773b8a062c24de84b5cf21d5","48de74ab2ede077dbc40c384a6ecabde09229321@gmail.com","Automatically generate 'behaviour_info' function from '-callback' attributes\n\n'behaviour_info(callbacks)' is a special function that is defined in a module\nwhich describes a behaviour and returns a list of its callbacks.\n\nThis function is now automatically generated using the '-callback' specs. An\nerror is returned by lint if user defines both '-callback' attributes and the\nbehaviour_info/1 function. If no type info is needed for a callback use a\ngeneric spec for it.","Stavros Aronis"],["8ea0c7c566d2c356f273806c42615f31b9e946d3","48de74ab2ede077dbc40c384a6ecabde09229321@gmail.com","Update the documentation with information on the callback attribute","Stavros Aronis"],["570594df20b0780333c2b6ba4ff7cfd6a0b02395","a076b11c2cc63ccdc903dbe182e1eecc3cbbc094@erlang.org","Update primary bootstrap","Henrik Nord"],["9bb4ba879b613fc1986ac37c027a16884f3814fe","48de74ab2ede077dbc40c384a6ecabde09229321@gmail.com","Add '-callback' attributes in stdlib's behaviours\n\nReplace the behaviour_info(callbacks) export in stdlib's behaviours with\n-callback' attributes for all the callbacks.","Stavros Aronis"],["1d3544d9b5c4bc2cad99b220f44aa370703dbc6b","48de74ab2ede077dbc40c384a6ecabde09229321@gmail.com","Add callback specs to inets_service module following possibly deprecated comments","Stavros Aronis"],["3ae841405f4005b52950a74727578deea2aee209","48de74ab2ede077dbc40c384a6ecabde09229321@gmail.com","Add callback specs to tftp module following internet documentation","Stavros Aronis"],["ed72d05e27fcf1d4f649014ffd7a1c2878b5b010","48de74ab2ede077dbc40c384a6ecabde09229321@gmail.com","Add callback specs into 'application' module in kernel","Stavros Aronis"],["a5abe96590ec22779f796fc67e5afbbf99a3a922","a076b11c2cc63ccdc903dbe182e1eecc3cbbc094@erlang.org","Merge branch 'sa/callback-attr'\n\n* sa/callback-attr:\n  Add callback specs into 'application' module in kernel\n  Add callback specs to tftp module following internet documentation\n  Add callback specs to inets_service module following possibly deprecated comments\n  Add '-callback' attributes in stdlib's behaviours\n  Update primary bootstrap\n  Update the documentation with information on the callback attribute\n  Automatically generate 'behaviour_info' function from '-callback' attributes\n  Add '-callback' attribute to language syntax\n\nOTP-9621","Henrik Nord"],["ac2810603b7aaad24129fadf887d9e8deff31d2f","dfdb7392591db597bc41cf266a9c3bc12a2706e5@erlang.org","Make testsuites more robust in case of init failure\n\nIn particular, move code out of init_per_suite since failure\ncauses end_per_suite to be skipped. Cleanup is simpler if both\ninit and cleanup happen as testcases.","Anders Svensson"]],"ref":"refs/heads/master"}