Skip to content

Commit 1ae49f1

Browse files
nopoll:
* [fix] Several updates to change new address
1 parent c2bbd51 commit 1ae49f1

39 files changed

+327
-136
lines changed

README-NOPOLL-WIN32.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -99,9 +99,9 @@
9999

100100
--
101101
Advanced Software Production Line, S.L.
102-
C/ Antonio Suarez Nº10, Edificio Alius A, Despacho 102
103-
Alcalá de Henares (28802) Madrid, Spain
102+
Av. Juan Carlos I, Nº13, 2ºC
103+
Alcalá de Henares 28806 Madrid
104104

105105
Francis Brosnan Blázquez
106106
107-
2013/04/26
107+
2017/06/09

configure.ac

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
dnl LibNoPoll: A websocket library
2-
dnl Copyright (C) 2013 Advanced Software Production Line, S.L.
2+
dnl Copyright (C) 2017 Advanced Software Production Line, S.L.
33
dnl
44
dnl This program is free software; you can redistribute it and/or
55
dnl modify it under the terms of the GNU Lesser General Public
@@ -29,9 +29,8 @@ dnl contact us:
2929
dnl
3030
dnl Postal address:
3131
dnl Advanced Software Production Line, S.L.
32-
dnl Edificio Alius A, Oficina 102,
33-
dnl C/ Antonio Suarez Nº 10,
34-
dnl Alcalá de Henares 28802 Madrid
32+
dnl Av. Juan Carlos I, Nº13, 2ºC
33+
dnl Alcalá de Henares 28806 Madrid
3534
dnl Spain
3635
dnl
3736
dnl Email address:

doc/release-notes/nopoll-0.4.4.txt

Lines changed: 198 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,198 @@
1+
--== noPoll toolkit ==--
2+
Black Hole Sun
3+
0.4.4
4+
5+
Advanced Software Production Line is proud to announce a new stable
6+
release of the noPoll toolkit.
7+
8+
noPoll is a OpenSource WebSocket implementation (RFC 6455), written in
9+
ANSI C, that allows building pure WebSocket solutions or to provide
10+
WebSocket support to existing TCP oriented applications.
11+
12+
Commercially supported, noPoll was written to have a clean, easy to
13+
use and integrate library. It is released under the terms of LGPL 2.1
14+
(so you can build OpenSource or commercial applications) and currently
15+
is being heavily used by Vortex Library, Turbulence and Core-Admin to
16+
provide WebSocket support to those projects (some of them using BEEP
17+
over WebSocket).
18+
19+
Resources
20+
~~~~~~~~~
21+
22+
noPoll homepage
23+
[ http://www.aspl.es/nopoll ]
24+
25+
Commercial support
26+
[ http://www.aspl.es/nopoll/commercial.html ]
27+
28+
Advanced Software Production Line, S.L.
29+
[ http://www.aspl.es ]
30+
31+
Featured project: Core-Admin
32+
[ http://www.core-admin.com ]
33+
34+
This release in short
35+
~~~~~~~~~~~~~~~~~~~~~
36+
37+
- Several bugs were fixed, including several updates to improve
38+
noPoll's stability while retrying, recovering partial transfers,
39+
improved building and windows support.
40+
41+
42+
Thanks to
43+
~~~~~~~~~
44+
45+
- Javier Celaya (updates for building scripts, header includes
46+
updates and linking for windows, several updates to pending write
47+
codes around SSL code, fixings to ping/pong, set WSASetLastError,
48+
removed retry code for writing, replaced by EWOULDBLOCK logic).
49+
50+
- Sergio Lopez (Support for sending/receiving messages bigger than
51+
64KB)
52+
53+
- Elmar Siek (reported on ready not working on client side).
54+
55+
- Emmanuel Puig (reported and fixed fragment detection for final
56+
messages after big transferes)
57+
58+
- Tony Mountifields (reported wrong break, replaced by return at
59+
ctx_unregister_conn, old gcc support )
60+
61+
Changes from previous release
62+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
63+
64+
* Run configure conditionally from autogen.sh
65+
66+
* Include $(top_builddir)/src when building tests. This is needed when
67+
doing an out-of-sources build, to find nopoll_config.h
68+
69+
* Include ws2tcpip.h on Windows
70+
71+
* It provides the definition of struct addrinfo and related functions.
72+
Also, define _WIN32_WINNT as 0x0501 so that these funtions are
73+
declared.
74+
75+
* Link against ws2_32.dll on Windows
76+
77+
* [fix] Web files updates..
78+
79+
* [fix] Read messages bigger then 64KB
80+
81+
* [fix] Send messages bigger than 64KB
82+
83+
* [fix] Fix handling pending write data
84+
85+
* [fix] When SSL_write returns EAGAIN, it keeps a pointer to the data
86+
buffer that was being written. This buffer must exist the next time
87+
that SSL_write is called. So, this commit recycles the send_buffer
88+
in nopoll_conn_send_frame as pending_write, instead of creating a
89+
new buffer and copying so many data around.
90+
91+
Besides, nopoll_conn_send_frame correctly returns all the bytes as
92+
written, since they are kept in the pending_write buffer. Otherwise,
93+
the caller will try to write the same data again.
94+
95+
* [fix] Fix WS PING/PONG implementation
96+
97+
WebSocket specification, section 5.5.3, states that 'A Pong frame
98+
sent in response to a Ping frame must have identical "Application
99+
data" as found in the message body of the Ping frame being replied
100+
to'. This commit does that, instead of returning an empty Pong
101+
frame.
102+
103+
* [fix] Check ENOTCONN on SSL_connect error
104+
105+
This happens on Windows (at least) when the TCP connection is not
106+
yet established.
107+
108+
* [fix] Updated nopoll_conn_new documentation (fixed typo)
109+
110+
* [fix] Updated nopoll-conn module to include common code to call
111+
defined on_ready function for client side code too (it was already
112+
supported by listener side). Reported by Elmar Sieke.
113+
114+
* [fix] Updated nopoll-conn API to include a new function to help API
115+
consumer of nopoll_conn_read to know if there are more pending bytes
116+
to be read. It fixes interation reported by Turbulence, in case of
117+
SSL+WebSocket+BEEP and child process with different users (forcing
118+
to activate proxy connections between parent process holding
119+
receiving socket and child handling messages received other it).
120+
121+
- nopoll_conn_read_pending
122+
123+
* [fix] Improved has_fin and is_fragment detection for final messages
124+
after big transfer. Reported and fix provided by Emmanuel Puig
125+
126+
127+
* [fix] Fixed nopoll_ctx_unregister_conn to do "return;" instead of
128+
"break;" when the connection is found. Avoids double mutex unlock
129+
call. Bug reported and fixed by Tony Mountifields
130+
https://github.com/ASPLes/nopoll/issues/21
131+
132+
* [fix] Allow building with old GCC that does not support
133+
stack-protector
134+
135+
* [fix] Silence warning on old GCC about potentially uninitialised variable.
136+
137+
* [fix] Check stack protector options for gcc to be available to
138+
include them during configure (by @softins Tony Mountifield )
139+
140+
* [fix] Set errno in Windows too
141+
142+
Use WSASetLastError in Windows whenever errno is set in Unix
143+
platforms
144+
145+
* [fix] Set errno to EWOULDBLOCK when there is no full message
146+
147+
* [fix] In nopoll_conn_read, if nopoll_conn_get_msg returns NULL, the
148+
connection is still ok and a non-blocking call has been requested,
149+
return EWOULDBLOCK
150+
151+
* [fix] Remove retry loops and return EWOULDBLOCK
152+
153+
* [fix] When SSL_get_error returns that more data is needed, or the
154+
system call has been interrupted, set errno to EWOULDBLOCK instead
155+
of retrying 50 times.
156+
157+
* [fix] Return EWOULDBLOCK instead of retrying read & write (do not
158+
retry after -2/retry-operation-allowed is reported). Reported by
159+
Javier Celaya jcelaya.
160+
161+
* [fix] Several updates to make nopoll_conn_send_frame to return the
162+
amount of bytes written to the wire but not just fixed length. Also
163+
updated the function to report -2 when no byte was written and
164+
NOPOLL_EWOULD_BLOCK is reported by errno. Updated the function to
165+
also record added_header_size:
166+
167+
conn->pending_write_added_header = header_size;
168+
169+
...to help nopoll_conn_complete_pending_write to report bytes
170+
written to the write without including bytes added by noPoll due to
171+
headers.
172+
173+
* [fix] Updated documentation to better report values returned by:
174+
175+
- nopoll_conn_send_text
176+
- nopoll_conn_send_text_fragment
177+
- nopoll_conn_send_binary
178+
179+
180+
About Advanced Software Production Line, S.L. (ASPL)
181+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
182+
183+
Advanced Software Production Line (ASPL) provides GNU/Linux support
184+
and consulting services to enable organisation to introduce
185+
GNU/Linux into their processes, making other platforms to properly
186+
interact with it.
187+
188+
You can contact us, using English or Spanish, at:
189+
190+
http://www.aspl.es - [email protected]
191+
192+
We hope noPoll may be useful you. Enjoy noPoll toolkit!
193+
194+
--
195+
Francis Brosnan Blázquez - [email protected]
196+
Advanced Software Production Line - http://www.aspl.es
197+
9th Jun 2017, Madrid (Spain)
198+

src/nopoll.c

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
22
* LibNoPoll: A websocket library
3-
* Copyright (C) 2015 Advanced Software Production Line, S.L.
3+
* Copyright (C) 2017 Advanced Software Production Line, S.L.
44
*
55
* This program is free software; you can redistribute it and/or
66
* modify it under the terms of the GNU Lesser General Public License
@@ -28,9 +28,8 @@
2828
*
2929
* Postal address:
3030
* Advanced Software Production Line, S.L.
31-
* Edificio Alius A, Oficina 102,
32-
* C/ Antonio Suarez Nº 10,
33-
* Alcalá de Henares 28802 Madrid
31+
* Av. Juan Carlos I, Nº13, 2ºC
32+
* Alcalá de Henares 28806 Madrid
3433
* Spain
3534
*
3635
* Email address:
@@ -1702,9 +1701,8 @@ void nopoll_cleanup_library (void)
17021701
* \code
17031702
* Postal address:
17041703
* Advanced Software Production Line, S.L.
1705-
* C/ Antonio Suarez Nº 10,
1706-
* Edificio Alius A, Despacho 102
1707-
* Alcalá de Henares 28802 (Madrid)
1704+
* Av. Juan Carlos I, Nº13, 2ºC
1705+
* Alcalá de Henares 28806 Madrid
17081706
* Spain
17091707
*
17101708
* Email address:

src/nopoll.h

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
22
* LibNoPoll: A websocket library
3-
* Copyright (C) 2015 Advanced Software Production Line, S.L.
3+
* Copyright (C) 2017 Advanced Software Production Line, S.L.
44
*
55
* This program is free software; you can redistribute it and/or
66
* modify it under the terms of the GNU Lesser General Public License
@@ -28,9 +28,8 @@
2828
*
2929
* Postal address:
3030
* Advanced Software Production Line, S.L.
31-
* Edificio Alius A, Oficina 102,
32-
* C/ Antonio Suarez Nº 10,
33-
* Alcalá de Henares 28802 Madrid
31+
* Av. Juan Carlos I, Nº13, 2ºC
32+
* Alcalá de Henares 28806 Madrid
3433
* Spain
3534
*
3635
* Email address:

src/nopoll_config_win32.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,8 @@
1111
*
1212
* Postal address:
1313
* Advanced Software Production Line, S.L.
14-
* Edificio Alius A, Oficina 102,
15-
* C/ Antonio Suarez Nº 10,
16-
* Alcalá de Henares 28802 Madrid
14+
* Av. Juan Carlos I, Nº13, 2ºC
15+
* Alcalá de Henares 28806 Madrid
1716
* Spain
1817
*
1918
* Email address:

src/nopoll_config_win64.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,9 +11,8 @@
1111
*
1212
* Postal address:
1313
* Advanced Software Production Line, S.L.
14-
* Edificio Alius A, Oficina 102,
15-
* C/ Antonio Suarez Nº 10,
16-
* Alcalá de Henares 28802 Madrid
14+
* Av. Juan Carlos I, Nº13, 2ºC
15+
* Alcalá de Henares 28806 Madrid
1716
* Spain
1817
*
1918
* Email address:

src/nopoll_conn.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
22
* LibNoPoll: A websocket library
3-
* Copyright (C) 2015 Advanced Software Production Line, S.L.
3+
* Copyright (C) 2017 Advanced Software Production Line, S.L.
44
*
55
* This program is free software; you can redistribute it and/or
66
* modify it under the terms of the GNU Lesser General Public License
@@ -28,9 +28,8 @@
2828
*
2929
* Postal address:
3030
* Advanced Software Production Line, S.L.
31-
* Edificio Alius A, Oficina 102,
32-
* C/ Antonio Suarez Nº 10,
33-
* Alcalá de Henares 28802 Madrid
31+
* Av. Juan Carlos I, Nº13, 2ºC
32+
* Alcalá de Henares 28806 Madrid
3433
* Spain
3534
*
3635
* Email address:

src/nopoll_conn.h

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
22
* LibNoPoll: A websocket library
3-
* Copyright (C) 2015 Advanced Software Production Line, S.L.
3+
* Copyright (C) 2017 Advanced Software Production Line, S.L.
44
*
55
* This program is free software; you can redistribute it and/or
66
* modify it under the terms of the GNU Lesser General Public License
@@ -28,9 +28,8 @@
2828
*
2929
* Postal address:
3030
* Advanced Software Production Line, S.L.
31-
* Edificio Alius A, Oficina 102,
32-
* C/ Antonio Suarez Nº 10,
33-
* Alcalá de Henares 28802 Madrid
31+
* Av. Juan Carlos I, Nº13, 2ºC
32+
* Alcalá de Henares 28806 Madrid
3433
* Spain
3534
*
3635
* Email address:

src/nopoll_conn_opts.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
22
* LibNoPoll: A websocket library
3-
* Copyright (C) 2015 Advanced Software Production Line, S.L.
3+
* Copyright (C) 2017 Advanced Software Production Line, S.L.
44
*
55
* This program is free software; you can redistribute it and/or
66
* modify it under the terms of the GNU Lesser General Public License
@@ -28,9 +28,8 @@
2828
*
2929
* Postal address:
3030
* Advanced Software Production Line, S.L.
31-
* Edificio Alius A, Oficina 102,
32-
* C/ Antonio Suarez Nº 10,
33-
* Alcalá de Henares 28802 Madrid
31+
* Av. Juan Carlos I, Nº13, 2ºC
32+
* Alcalá de Henares 28806 Madrid
3433
* Spain
3534
*
3635
* Email address:

0 commit comments

Comments
 (0)