aboutsummaryrefslogtreecommitdiffstats
path: root/erts
diff options
context:
space:
mode:
authorMicael Karlberg <[email protected]>2011-10-25 12:37:39 +0200
committerMicael Karlberg <[email protected]>2011-10-25 12:37:39 +0200
commit07c75e55e80b81960de6f5b0deecd5eb94712efb (patch)
tree70ce5bd58e6a5feb41d528efb25d711648218fb8 /erts
parentf9060599aeab81cb9282ddf51cc057bf1353208f (diff)
parentf8b20b4a995727f0339074d23a0fae50712683d2 (diff)
downloadotp-07c75e55e80b81960de6f5b0deecd5eb94712efb.tar.gz
otp-07c75e55e80b81960de6f5b0deecd5eb94712efb.tar.bz2
otp-07c75e55e80b81960de6f5b0deecd5eb94712efb.zip
Merge branch 'maint-r13' of super:otp into bmk/inets/httpd/xss_when_erl_encoded/OTP-9655
Diffstat (limited to 'erts')
-rw-r--r--erts/doc/src/notes.xml18
-rw-r--r--erts/emulator/drivers/common/inet_drv.c11
-rw-r--r--erts/vsn.mk2
3 files changed, 24 insertions, 7 deletions
diff --git a/erts/doc/src/notes.xml b/erts/doc/src/notes.xml
index 824ad6d94e..09950e865b 100644
--- a/erts/doc/src/notes.xml
+++ b/erts/doc/src/notes.xml
@@ -30,6 +30,24 @@
</header>
<p>This document describes the changes made to the ERTS application.</p>
+<section><title>Erts 5.7.5.2</title>
+
+ <section><title>Known Bugs and Problems</title>
+ <list>
+ <item>
+ <p>
+ Two bugs in gen_sctp has been corrected: getopts/setopts
+ hence also send could only be called from socket owner,
+ and options 'linger', 'rcvbuf' and 'sndbuf' was read from
+ wrong protocol layer hence read wrong values by getopts.</p>
+ <p>
+ Own Id: OTP-9544</p>
+ </item>
+ </list>
+ </section>
+
+</section>
+
<section><title>Erts 5.7.5.1</title>
<section><title>Fixed Bugs and Malfunctions</title>
diff --git a/erts/emulator/drivers/common/inet_drv.c b/erts/emulator/drivers/common/inet_drv.c
index c6e23ee647..2bff5bd4f7 100644
--- a/erts/emulator/drivers/common/inet_drv.c
+++ b/erts/emulator/drivers/common/inet_drv.c
@@ -1,7 +1,7 @@
/*
* %CopyrightBegin%
*
- * Copyright Ericsson AB 1997-2009. All Rights Reserved.
+ * Copyright Ericsson AB 1997-2011. All Rights Reserved.
*
* The contents of this file are subject to the Erlang Public License,
* Version 1.1, (the "License"); you may not use this file except in
@@ -5941,7 +5941,7 @@ static int sctp_fill_opts(inet_descriptor* desc, char* buf, int buflen,
struct linger lg;
unsigned int sz = sizeof(lg);
- if (sock_getopt(desc->s, IPPROTO_SCTP, SO_LINGER,
+ if (sock_getopt(desc->s, SOL_SOCKET, SO_LINGER,
&lg, &sz) < 0) continue;
/* Fill in the response: */
PLACE_FOR(spec, i,
@@ -5977,7 +5977,7 @@ static int sctp_fill_opts(inet_descriptor* desc, char* buf, int buflen,
{
case INET_OPT_RCVBUF :
{
- proto = IPPROTO_SCTP;
+ proto = SOL_SOCKET;
type = SO_RCVBUF;
is_int = 1;
tag = am_recbuf;
@@ -5985,7 +5985,7 @@ static int sctp_fill_opts(inet_descriptor* desc, char* buf, int buflen,
}
case INET_OPT_SNDBUF :
{
- proto = IPPROTO_SCTP;
+ proto = SOL_SOCKET;
type = SO_SNDBUF;
is_int = 1;
tag = am_sndbuf;
@@ -6425,8 +6425,7 @@ static int sctp_fill_opts(inet_descriptor* desc, char* buf, int buflen,
i = LOAD_TUPLE(spec, i, 3);
/* Now, convert "spec" into the returnable term: */
- /* desc->caller = 0; What does it mean? */
- driver_output_term(desc->port, spec, i);
+ driver_send_term(desc->port, driver_caller(desc->port), spec, i);
FREE(spec);
(*dest)[0] = INET_REP_SCTP;
diff --git a/erts/vsn.mk b/erts/vsn.mk
index 14c6a3e4dd..4e6571c70b 100644
--- a/erts/vsn.mk
+++ b/erts/vsn.mk
@@ -17,7 +17,7 @@
# %CopyrightEnd%
#
-VSN = 5.7.5.1
+VSN = 5.7.5.2
SYSTEM_VSN = R13B04
# Port number 4365 in 4.2