diff --git a/configure.ac b/configure.ac index f3375cc46..efe2c31d6 100644 --- a/configure.ac +++ b/configure.ac @@ -28,7 +28,7 @@ dnl OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF dnl SUCH DAMAGE. dnl -AC_INIT([libusrsctp], [0.9.2.1]) +AC_INIT([libusrsctp], [0.9.3.0]) AM_INIT_AUTOMAKE AC_PROG_CC diff --git a/usrsctplib/netinet/sctp_output.c b/usrsctplib/netinet/sctp_output.c index 540e2d2c4..db0c14e71 100755 --- a/usrsctplib/netinet/sctp_output.c +++ b/usrsctplib/netinet/sctp_output.c @@ -32,7 +32,7 @@ #ifdef __FreeBSD__ #include -__FBSDID("$FreeBSD: head/sys/netinet/sctp_output.c 297312 2016-03-27 10:04:25Z tuexen $"); +__FBSDID("$FreeBSD: head/sys/netinet/sctp_output.c 297497 2016-04-01 20:38:15Z tuexen $"); #endif #include @@ -9410,6 +9410,8 @@ sctp_queue_op_err(struct sctp_tcb *stcb, struct mbuf *op_err) chk->asoc = &stcb->asoc; chk->data = op_err; chk->whoTo = NULL; + chk->rec.chunk_id.id = SCTP_OPERATION_ERROR; + chk->rec.chunk_id.can_take_data = 0; hdr = mtod(op_err, struct sctp_chunkhdr *); hdr->chunk_type = SCTP_OPERATION_ERROR; hdr->chunk_flags = 0; diff --git a/usrsctplib/netinet/sctp_usrreq.c b/usrsctplib/netinet/sctp_usrreq.c index 33a7584c8..9b4c83599 100755 --- a/usrsctplib/netinet/sctp_usrreq.c +++ b/usrsctplib/netinet/sctp_usrreq.c @@ -90,9 +90,9 @@ sctp_init(void) sctp_init_sysctls(); #if defined(__Userspace__) #if defined(__Userspace_os_Windows) || defined(__Userspace_os_NaCl) - srand((unsigned int)time(NULL)); + srandom((unsigned int)GetCurrentProcessId() ^ (unsigned int)time(NULL)); #else - srandom(getpid()); /* so inp->sctp_ep.random_numbers are truly random... */ + srandom((unsigned int)getpid() ^ (unsigned int)time(NULL)); #endif #endif #if defined(__Panda__)