summaryrefslogtreecommitdiff
path: root/ChangeLog
blob: 400710be3a2f6c24eb088e3f07034494399d4abb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
2003-04-09  Dan Winship  <danw@ximian.com>

	* configure.in: 1.99.17

2003-04-07  Dan Winship  <danw@ximian.com>

	* libsoup/soup-context.c (connection_death): Revert Joe's changes.
	We can't release the connection there because there may be
	SoupMessages still pointing to it. (Needs to be revisited.)

2003-04-03  JP Rosevear  <jpr@ximian.com>

	* libsoup/soup-ssl.c (soup_ssl_hup_waitpid): guard against EINTR
	error during waitpid

	* libsoup/soup-address.c: ditto

2003-04-02  Joe Shaw  <joe@ximian.com>

	* libsoup/soup-context.c (connection_death): Only drop the
	connection if we get an error condition on the channel.  Fixes a
	double-free.

2003-04-02  Joe Shaw  <joe@ximian.com>

	* libsoup/soup-context.c (connection_death): Just call
	soup_connection_release() from here and return whether the
	connection is in use.

2003-03-31  Ian Peters  <itp@ximian.com>

	* libsoup/soup-gnutls.c (soup_gnutls_close): loop on gnutls_bye in
	case of EAGAIN or EINTR, since shutting down an SSL connection
	requires more than just closing a socket.

2003-03-28  Dan Winship  <danw@ximian.com>

	* libsoup/soup-message.c (soup_message_set_context): If the new
	context points to a different server from the old context, call
	soup_message_cleanup. Otherwise it tries to reuse the old
	connection...

2003-03-25  Joe Shaw  <joe@ximian.com>

	* configure.in: Bump up to 1.99.16

2003-03-24  Joe Shaw  <joe@ximian.com>

	* soup-error.[ch]: Add SOUP_ERROR_SSL_FAILED which gives a
	slightly better error message on various SSL failures than the
	previous message.

	* soup-queue.c (soup_queue_error_cb): Throw the
	SOUP_ERROR_SSL_FAILED error when we fail an SSL handshake.

2003-03-21  Joe Shaw  <joe@ximian.com>

	* soup-server.c: Use non-deprecated g_main_loop_* calls
	throughout.
	(soup_server_unref): Don't unref the main loop if it's NULL.
	Fixes a glib warning.

2003-03-18  Dan Winship  <danw@ximian.com>

	* configure.in: comment out NSS checks. The NSS code doesn't work
	and there are no current plans to fix it.

	* README (Features): Mention GnuTLS, remove NSS and the rest of
	the "Planned Features" section.

	* MAINTAINERS: remove Alex

	* libsoup/soup-openssl.c (soup_openssl_get_iochannel): Bump the
	timeout to 10 seconds (and get rid of the 3 tries) so we don't
	fail to connect just because the server is slow/far away.

2003-03-17  Joe Shaw  <joe@ximian.com>

	* configure.in: Bump up to 1.99.15.

2003-03-12  Ian Peters  <itp@ximian.com>

	* libsoup/soup-gnutls.c: because creating client credentials is
	expensive, keep the same one around as long as possible, only
	recreating it if the ssl_ca_file changes.  Wrap
	gnutls_certificate_credentials in a refcounted struct to avoid
	freeing it while another established connection may potentially
	need it (say, to rehandshake).

2003-03-11  Frank Belew  <frb@ximian.com>

	* soup-2.0.pc.in: add ssl libs to defaults, since ssl doesn't 
	use pkgconfig

2003-03-10  Joe Shaw  <joe@ximian.com>

	* configure.in: Bump up to 1.99.14.

	* configure.in, libsoup/Makefile.am, libsoup/soup.gnutls.[ch],
	libsoup/soup-ssl.c: Add support for GnuTLS.  Patch from Ian
	Peters.

2003-03-07  Joe Shaw  <joe@ximian.com>

	* configure.in: Bump up to 1.99.13.

	* libsoup/soup-context.c (soup_context_connect_cb): Add G_IO_IN to
	the list of conditions to watch.  If the remote end hangs up the
	connection, we'll get a successful read of 0 bytes, not a HUP.
	The connection will have to be released by the point we check for
	it in connection_death().

	* libsoup/soup-queue.c (soup_queue_error_cb): Get rid of some
	(apparently) errant resetting of the read and write tags.  I think
	this might have been causing some reentrancy and crashes.

	* libsoup/soup-socket.c (soup_socket_get_iochannel): Set the IO
	channel to NULL encoding and not buffered.

	* libsoup/soup-transfer.c (soup_transfer_read_cb): Remove some
	incorrect comments.

2003-02-28  Joe Shaw  <joe@ximian.com>

	* configure.in: Bump up to 1.99.12.

	* libsoup/soup-transfer.c (soup_transfer_read_cb): We can get a
	header_len of 0 and a total_read of 0 in the case of a SIGPIPE; in
	this case we probably don't want to call the error callback, we
	just want to act like our transfer was cancelled.

2003-02-27  Joe Shaw  <joe@ximian.com>

	Try to apply some order to the iochannel refcounting...

	* configure.in: Bump up to 1.99.11.

	* libsoup/soup-context.c (soup_connection_get_iochannel): The
	connections needs to own a reference to the iochannel!  If we're
	using HTTPS, release the ref we get from soup_socket_get_iochannel
	and replace it with the ref we get from soup_ssl_get_iochannel().
	Then, always ref the channel that we return (ugh, but that's the
	soup way).
	(connection_free): Release the connection's ref to the iochannel.

	* libsoup/soup-ssl.c (soup_ssl_get_iochannel_real): Ref the
	iochannel. The reference we pass back will be owned by the
	connection.
	(soup_ssl_hup_waitpid): Release our ref.

2003-02-27  Joe Shaw  <joe@ximian.com>

	* configure.in: Bump up to 1.99.10.

	* libsoup/soup-ssl.c (soup_ssl_get_iochannel_real): Ref the
	iochannel, return to the status quo.  Sigh.

2003-02-26  Joe Shaw  <joe@ximian.com>

	* configure.in: Bump up to 1.99.9.

	* libsoup/soup-ssl.c (soup_ssl_hup_waitpid): Comment out the unref,
	it's causing problems with HTTPS and proxies; the iochannel
	refcounting is waaaaaay horked.

2003-02-26  Frank Belew  <frb@ximian.com>

	* libsoup/Makefile.am: added workaround to link ssl-proxy statically

2003-02-11  Joe Shaw  <joe@ximian.com>

	* configure.in: Bump up to 1.99.8 for snaps.

	* libsoup/soup-address.c (soup_gethostbyname): Fix this for Solaris.
	It returns the address to the resulting hostent or NULL on failure,
	unlike Linux which returns an error code.

2003-02-11  Joe Shaw  <joe@ximian.com>

	* configure.in: Bump up to 1.99.7 for snaps.

	* libsoup/soup-openssl.c (soup_openssl_get_iochannel): Print out
	the error string from OpenSSL if we can't establish a connection.

2003-02-04  Joe Shaw  <joe@ximian.com>

	* configure.in: Bump up to 1.99.6 for snaps.

	* libsoup/soup-server.c (destroy_message): We already assigned
	chan, so don't reassign it, and unref it in all cases.
	(issue_bad_request): Always unref after a call to
	soup_socket_get_iochannel(), because it refs it.
	(conn_accept): Fix some funky GIOChannel reffing here.

	* libsoup/soup-ssl.c (soup_ssl_get_iochannel_real): Don't call
	g_io_channel_ref() on the socket.  This is the exact opposite of
	what we want to do.  Create a temporary structure containing the
	parent pid and the old socket and unref the socket when our
	callback is called.  This should fix GIOChannels being leaked on
	SSL connections.

	* libsoup/soup-ssl-proxy.c: Always close the GIOChannels after the
	main loop quits.

2003-01-22  Joe Shaw  <joe@ximian.com>

	* configure.in: Bump up to 1.99.5 for the snaps.

	* libsoup/soup-address.c (soup_address_new): If we found the
	address in our hash, we need to return NULL or else Soup will
	think we're doing an async lookup and do some cancellation on
	us.  Besides, we were returning the wrong type anyway and it
	was crashing things.

2003-01-17  Joe Shaw  <joe@ximian.com>

	* libsoup/soup-ssl-proxy.c (soup_ssl_proxy_readwrite): It's not
	uncommon for us to get a G_IO_ERROR_AGAIN when trying to write
	out, so keep trying until we succeed.

2003-01-10  Joe Shaw  <joe@ximian.com>

	* libsoup/soup-openssl.c (verify_cb): Load some X509 and SSL error
	strings and print out the error when the cert can't verify.

2003-01-09  Dan Winship  <danw@ximian.com>

	* libsoup/soup-address.c (soup_gethostbyname): Fix a memcpy
	overrun noticed by valgrind

2002-12-20  Joe Shaw  <joe@ximian.com>

	* libsoup/soup-server.c (soup_server_new_with_host): Added.
	Starts a server only on the interface specified, instead of all
	network interfaces.

2002-12-16  Jeremy Katz  <katzj@redhat.com>

	* configure.in: use $libdir instead of /usr/lib when looking for
	libraries

2002-12-11  Joe Shaw  <joe@ximian.com>

	* libsoup/soup-queue.c (proxy_https_connect_cb): I am an idiot.
	Don't set a variable to NULL and then immediately try to
	dereference it.

2002-12-09  Joe Shaw  <joe@ximian.com>

	* libsoup/soup-openssl.c (soup_openssl_get_iochannel): Put a
	timeout on the select()s when we get SSL_ERROR_WANT_READ/WRITE so
	we don't hang forever if we don't get more data.

	* libsoup/soup-ssl-proxy.c (main): Don't set our fds to blocking
	or else we'll hang forever in SSL_connect() if the other side
	hangs up.

	* libsoup/soup-queue.c (proxy_https_connect_cb): We never want to
	release the connection on message free, even if the connection was
	unsuccessful.

2002-12-03  Joe Shaw  <joe@ximian.com>

	* libsoup/soup-ssl.c (soup_ssl_get_iochannel_real): Call
	g_io_channel_set_close_on_unref() on the second half of the socket
	pair so we don't leak file descriptors.

2002-12-03  Frank Belew	 <frb@ximian.com>

	* libsoup/soup-address.c: add signal.h to the list of headers to 
	pick up SIGKILL
	
2002-11-25  Joe Shaw  <joe@ximian.com>

	* Makefile.am: Build the tests directory again

2002-11-21  Rodney Dawes  <dobey@ximian.com>

	* configure.in: Don't require autoconf 2.5x, needs to work with 2.13
	
2002-11-20  Michael Meeks  <michael@ximian.com>

	* configure.in: require autoconf 2.52 not 2.53.

2002-11-18  Dan Winship  <danw@ximian.com>

	* libsoup/soup-address.c (soup_address_hash): Don't use s6_addr32
	since it's apparently non-portable. Use s6_addr instead.
	(soup_gethostbyaddr): fix a sometimes-uninitialized variable.

	* libsoup/soup-error.c: Fix spelling of
	SOUP_ERROR_MOVED_PERMANENTLY and its description.

	* libsoup/soup-message.c (soup_message_get_request_header, etc):
	Remove long-deprecated API.

	* libsoup/soup-socket.c (soup_socket_connect): remove unused
	variable.

	* libsoup/soup-openssl.c (soup_openssl_read): Use gsize.
	* libsoup/soup-server.c (cgi_read): Likewise
	* libsoup/soup-socks.c (soup_socks_write, soup_socks_read):
	Likewise.
	* libsoup/soup-ssl-proxy.c (soup_ssl_proxy_readwrite): Likewise.
	* libsoup/soup-transfer.c (soup_transfer_read_cb,
	soup_transfer_write_cb): Likewise.

	* tests/timeserver.c: Add "-6" to listen on the IPv6 local address
	instead of IPv4. (Tested on OS X.)

2002-11-15  Dan Winship  <danw@ximian.com>

	* libsoup/*: Change old Helix Code refs to Ximian (and update
	copyright dates).

2002-11-15  Frank Belew  <frb@ximian.com>

	* tests/Makefile.am: uncomment lines to make timeserver build 
	correctly
	
2002-11-14  Joe Shaw  <joe@ximian.com>

	* libsoup/soup-address.c (soup_address_new): When we get an
	address from the hash, call our address lookup callback or else
	the connection will hang.

2002-11-13  Dan Winship  <danw@ximian.com>

	* tests/timeserver.c: Oops, commit this.

	* tests/Makefile.am (noinst_PROGRAMS): reenable timeserver.

2002-11-13  Joe Shaw  <joe@ximian.com>

	* libsoup/Makefile.am: Replace the BINDIR define with LIBEXECDIR.
	(install-exec-hook): Install libsoup-ssl-proxy into libexecdir
	instead of bindir.

	* libsoup/soup-openssl.c (soup_openssl_close): Call SSL_shutdown()
	to properly shut down the SSL connection before closing the
	socket.

	* libsoup/soup-ssl-proxy.c (soup_ssl_proxy_readwrite): Close the
	iochannels before quitting the main loop.

	* tests/Makefile.am: disable building timeserver, the source file
	wasn't added.

2002-11-12  Dan Winship  <danw@ximian.com>

	* configure.in: Check for IPv6 support in networking headers.

	* libsoup/soup-address.c: Make the internal structure of
	SoupAddress entirely private, and make SoupAddress be more like a
	hostent and less like a sockaddr. (Ie, make it not have a port
	associated with it.) Document undocumented functions. Add
	completely-untested support for IPv6.
	(soup_address_new_from_sockaddr): New, to parse a sockaddr into a
	SoupAddress and a port.
	(soup_address_ipv4_any, soup_address_ipv6_any): Return static
	addresses corresponding to the IPv6 and IPv6 "any" addresses.
	(soup_address_get_canonical_name): Use inet_ntop/inet_ntoa.
	(soup_address_make_sockaddr): Now constructs a new sockaddr, which
	may be a sockaddr_in or sockaddr_in6.
	(soup_address_gethostname, soup_address_gethostaddr): Remove
	these. They aren't reliable, especially on multihomed hosts.
	(soup_gethostbyname, soup_gethostbyaddr): support IPv6
	(soup_address_new): Keep pending lookups in a separate hash table
	from completed lookups. Fix a bug when canceling a lookup when
	there was more one outstanding request for it.
	(soup_address_lookup_in_cache): Removed.

	* libsoup/soup-socket.c: Add a port field to SoupSocket (since
	it's not in SoupAddress any more).
	(soup_socket_connect): Simplify this. Don't use
	soup_address_lookup_in_cache, just call soup_address_new, since we
	already know the code can deal with the callback being invoked
	immediately.
	(soup_socket_new_sync, soup_socket_new): Take a port argument.
	(soup_socket_server_new): Take a SoupAddress to use as the local
	address to bind to. This lets the caller choose between the IPv4
	and IPv6 "any" addresses, and also lets you bind to a single
	interface of a multi-homed machine.
	(soup_socket_server_accept, soup_socket_server_try_accept): Merge
	the common code.

	* libsoup/soup-server.c (soup_server_new): Pass
	soup_address_ipv4_any() to soup_socket_server_new().

	* libsoup/soup-socks.c (soup_connect_socks_proxy,
	soup_socks_write): Fix up for the API changes, but it won't work
	with IPv6 yet.

	* tests/timeserver.c: Another really simple test, for the server
	socket code.

	* tests/Makefile.am: build timeserver

2002-11-11  Dan Winship  <danw@ximian.com>

	* libsoup/soup-address.c: Move the SoupAddress code from
	soup-socket.c and soup-socket-unix.c to here.

	* libsoup/soup-socket.c: Move the remaining code from
	soup-socket-unix.c here.

	* libsoup/soup-socket-unix.c: Gone

	* tests/get.c: really really trivial test program

	* configure.in (AC_OUTPUT):
	* Makefile.am (SUBDIRS): add tests/

2002-11-05  Dan Winship  <danw@ximian.com>

	* Split libsoup out of soup. ChangeLog.old contains the original
	soup ChangeLog.

	* Makefile.am, etc: Fix things up to work with the new directory
	layout. Disable docs until we fix them.

	* autogen.sh: Use gnome-autogen.sh

	* configure.in: Require autoconf 2.53. Remove stuff that was only
	needed for httpd or wsdl code. Remove glib1 support. Bump version
	to 2.0.

	* libsoup/Makefile.am: Rename library to libsoup-2.0, put includes
	in ${includedir}/soup-2.0
	
	* libsoup/*: Merge soup-0-7 back onto the trunk. Remove
	SOAP-specific stuff, Windows support, and other things that
	weren't being maintained.

	* soup-config.in, soupConf.sh: Kill these. We only support
	pkg-config now.