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
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
|
2003-12-10 Tambet Ingo <tambet@ximian.com>
* configure.in: Use autoconfig to check for socklen_t ...
* libsoup/soup-address.c: ... and remove it from here ...
* libsoup/soup-socket.c: ... and here.
2003-11-06 Joe Shaw <joe@ximian.com>
* acinclude.m4: Added. Contains the m4 magic from gpg-error.m4 so
you don't need gpg-error to tell it you don't want gpg-error.
2003-11-05 Joe Shaw <joe@ximian.com>
* configure.in: 1.99.31. Add --enable-libgpg-error because
libgcrypt is broken and doesn't add it to its -config script
itself.
2003-11-03 Joe Shaw <joe@ximian.com>
* configure.in: 1.99.30
2003-11-03 Tambet Ingo <tambet@ximian.com>
* libsoup/soup-context.c (soup_context_uri_equal): Check if ports are
also equal.
2003-10-28 Joe Shaw <joe@ximian.com>
* configure.in: 1.99.29
* libsoup/soup-uri.c (escape_username_password,
unescape_username_password): Escape usernames and passwords which
contain ':', '@', '/' and '%'.
(soup_uri_new): Unescape username and password.
(soup_uri_to_string): Escape username and password.
2003-09-26 Dan Winship <danw@ximian.com>
* configure.in: 1.99.28
* libsoup/soup-auth.c (basic_pspace_func): strip the trailing
slash from the path so that it matches what it will be compared
against later. #48880
2003-09-18 Joe Shaw <joe@ximian.com>
* configure.in: 1.99.27
* libsoup/soup-server.c (close_connection): Closes the server
connection.
(destroy_message): Call close_connection() instead of doing it by
hand.
(error_cb): Call close_connection() before destroy_message() so
that the connection is always closed on an error. Fixes a CPU
wedging case.
2003-09-12 Dan Winship <danw@ximian.com>
* configure.in: 1.99.26
2003-09-03 Dan Winship <danw@ximian.com>
* libsoup/soup-server.c (read_done_cb, write_done_cb): Unref the
reader/writer rather than leaking them.
* libsoup/md5-utils.h: Add some #defines here to avoid namespace
pollution
2003-08-07 Dan Winship <danw@ximian.com>
* libsoup/soup-auth.c (soup_auth_lookup, soup_auth_set_context,
soup_auth_invalidate): These are all really SoupContext functions,
so move them to soup-context.c (and rename them appropriately).
(soup_auth_get_protection_space): New method to get the
"protection space" of an auth (paths where it is valid).
(soup_auth_invalidate): New method to try to un-authenticate an
auth (so we can keep the domain info cached even if the auth info
is wrong).
(basic_pspace_func): Basic protection space is all directories
below the current one.
(basic_invalidate_func): Clear the encoded username/password
(digest_pspace_func): Digest protection space is either the whole
server, or "what the domain parameter says" (though we don't deal
with cross-host domains).
(digest_invalidate_func): Return FALSE; bad digest auth info isn't
cacheable.
(digest_parse_func, digest_free): Set/free domain parameter
(ntlm_pspace): NTLM protection space is always the whole server.
(ntlm_invalidate): Clear the auth state.
(soup_auth_new_ntlm): Make this non-static
(SoupAuth): Replace the quad-state "status" field with an
"authenticated" boolean.
* libsoup/soup-private.h (SoupHost): Replace the "valid_auths"
hash with separate "auth_realms" (path->realm) and "auths"
(realm->auth) hashes. Also add a "use_ntlm" flag.
* libsoup/soup-context.c (soup_context_unref): Update SoupHost
freeing code.
(connection_free): Don't the connection's auth, just free it.
(soup_context_lookup_auth): Formerly soup_auth_lookup, but now
does two-stage lookup (path->realm then realm->auth) and also
deals with NTLM hacks.
(soup_context_update_auth): Mostly formerly soup_auth_set_context,
but also large parts of authorize_handler. Updates the auth hashes
based on information from a 401 or 407 response. Does a better job
than authorize_handler did of not throwing away good information.
(soup_context_preauthenticate): New; fakes up auth info so that
requests will end up using authentication without the server
needing to return an error first.
(soup_context_authenticate_auth): Moved out of authorize_handler
so it can be used at request-sending time too, if we know that we
need it. (That way we can avoid requeuing the request if it isn't
going to be able to be authenticated.)
(soup_context_invalidate_auth): Sort of like the old
soup_auth_invalidate, but only destroys the auth data, while still
remembering the path->realm mapping.
* libsoup/soup-message.c (authorize_handler): Mostly moved into
soup_context_update_auth.
(maybe_validate_auth): Remove this; it was only useful because of
bugs elsewhere in the auth handling.
* libsoup/soup-queue.c (soup_encode_http_auth): Update for
soup_context_lookup_auth. If the returned auth isn't
authenticated, call soup_context_authenticate_auth() on it.
* tests/auth-test.c: New (from soup-refactoring branch). Tests
that the Basic/Digest auth code does the right thing. (TODO: find
a good way to add NTLM tests too.)
* tests/Makefile.am (check_PROGRAMS): add auth-test
2003-07-29 Dan Winship <danw@ximian.com>
* configure.in: 1.99.25 ("Potato and Leek Soup")
* libsoup/soup-message.c (requeue_read_finished,
release_connection): Free the passed-in body data. Otherwise the
response body ends up getting leaked on most 3xx and 4xx
responses.
(soup_message_cleanup): Remove a piece of code that didn't
actually do anything and its associated confused comment.
* libsoup/soup-auth.c (ntlm_free): plug an occasional NTLM auth leak
* libsoup/soup-context.c (connection_free): plug a non-occasional
NTLM auth leak.
2003-06-26 Joe Shaw <joe@ximian.com>
* configure.in: Version 1.99.24
2003-06-24 Dan Winship <danw@ximian.com>
* configure.in: Check pkgconfig for openssl, since 0.9.7 (a) uses
it, and (b) depends on lots of new things sometimes (like on RH9).
* libsoup/soup-openssl.c:
* libsoup/soup-ssl-proxy.c: Change #ifdef HAVE_OPENSSL_SSL_H to
just #ifdef HAVE_OPENSSL since the header check doesn't get run in
the pkgconfig case
2003-06-19 Dan Winship <danw@ximian.com>
* libsoup/soup-queue.c (soup_queue_read_done_cb): unref the
old read_tag before changing/clearing it.
(soup_queue_write_done_cb): Likewise with the write_tag.
* libsoup/soup-transfer.c (issue_final_callback): ref the reader
around the stop+callback.
(soup_transfer_write_cb): Likewise.
2003-06-12 Dan Winship <danw@ximian.com>
* libsoup/soup-transfer.c (SoupReader, SoupWriter): add a
ref_count field.
(soup_transfer_read, create_writer): Set initial ref_count to 2
(one for soup-transfer, one for the caller).
(soup_transfer_read_ref, soup_transfer_read_unref): ref/unref a
reader
(soup_transfer_read_stop): Clears the GIOChannel callbacks and
drops soup-transfer's ref.
(soup_transfer_read_cancel): Now just a stop+unref
(soup_transfer_write_ref, soup_transfer_write_unref,
soup_transfer_write_stop, soup_transfer_write_cancel): Similarly.
* libsoup/soup-message.c (soup_message_cleanup): when setting up
the "finish reading" callbacks, unref the reader so it will be
destroyed once it's done reading.
(soup_message_requeue): Likewise.
* libsoup/soup-queue.c (soup_queue_read_headers_cb): Update for
prototype change (no longer returns a SoupTransferDone).
(soup_queue_read_chunk_cb): Likewise.
* libsoup/soup-server.c (read_headers_cb): Likewise
2003-06-11 Dan Winship <danw@ximian.com>
* libsoup/soup-transfer.c: Change all functions to take a
SoupReader * or SoupWriter * instead of a guint.
* libsoup/soup-private.h (SoupMessagePrivate): make read_tag and
write_tag pointers instead of guints.
2003-06-02 Chris Toshok <toshok@ximian.com>
* libsoup/soup-ssl.c: remove #include for soup-nss.h
2003-06-02 Chris Toshok <toshok@ximian.com>
* libsoup/Makefile.am (INCLUDES): remove NSS_CFLAGS.
(libsoup_2_0_la_LIBADD): remove NSS_LIBS.
(libsoup_2_0_la_SOURCES): remove soup-nss.[ch]
2003-06-02 Chris Toshok <toshok@ximian.com>
* configure.in: Bump version to 1.99.23.
2003-05-30 Chris Toshok <toshok@ximian.com>
* libsoup/soup-queue.c (soup_queue_error_cb): always force a
reconnect when there's an error with ssl connection. This fixes
#43387, but it runs the risk of sending requests multiple times to
the exchange server, and it results in lots of shorter lived
connections and more forking (in the ssl proxy case), depending on
the length of the operation.
2003-05-21 Dan Winship <danw@ximian.com>
* configure.in: 1.99.22 (codename: French Onion Soup)
2003-05-20 Dan Winship <danw@ximian.com>
* libsoup/soup-message.c (soup_message_requeue): Clear the
write_tag as well so we don't double-cancel it. #43395.
* libsoup/soup-queue.c (soup_queue_error_cb): The connection might
be destroyed by the end of the func, so we have to call
soup_connection_set_used at the beginning.
* libsoup/soup-openssl.c (soup_openssl_read, soup_openssl_write):
Call g_set_error() so that we don't SEGV immediately after
returning G_IO_STATUS_ERROR.
2003-05-08 Joe Shaw <joe@ximian.com>
* configure.in: Bump version to 1.99.21
* libsoup/soup-queue.c (proxy_connect): If the proxy HTTPS
tunnelling fails, the other message which shares our same
connection will free it first, so set ours to NULL.
2003-05-08 Dan Winship <danw@ximian.com>
* libsoup/soup-auth.c (ntlm_auth): If the auth status is PENDING,
return an NTLM request string. Otherwise return the "response"
field (which should include the NTLM authenticate message)
(ntlm_init): Don't bother setting "response" to the NTLM request
string. Just leave it NULL in that case.
* libsoup/soup-message.c (authorize_handler): Never try to reuse
an NTLM auth returned from soup_auth_lookup. Only set the auth on
the connection when it's SOUP_AUTH_STATUS_SUCCESSFUL. Otherwise,
call soup_auth_set_context() on it just like for non-NTLM auth.
The net effect of all of this is that now we record when a context
needs NTLM auth just like with non-NTLM auth, so that that info
gets preserved across connections.
(soup_message_requeue): No longer need the hackery here to
preserve the connection auth state.
2003-05-07 Dan Winship <danw@ximian.com>
* libsoup/soup-context.c (soup_connection_set_in_use): New, to
toggle the connection's in_use flag, and set up the death watch
when it's not in use.
(connection_death): This is only hooked up when the connection is
not in use now, so don't need to check that. Should fix the
infinite connection_death loop.
(soup_connection_is_new): Keep a distinct "new" flag rather than
defining "new" as "has been released at least once".
(soup_connection_set_used): Mark a connection no-longer new.
(soup_context_connect_cb): Mark the connection as new. Don't set
up the death watch since it's in_use.
(try_existing_connections): Use soup_connection_set_in_use.
(soup_connection_release): Likewise
* libsoup/soup-message.c (requeue_read_finished): Call
soup_connection_set_used so that the connection isn't still
considered new when we send the message the second time.
* libsoup/soup-queue.c (soup_queue_error_cb): Call
soup_connection_set_used (assuming we don't close the connection)
(soup_queue_read_done_cb): Likewise.
* libsoup/soup-transfer.c (soup_transfer_read_cb): If we read
nothing, call soup_transfer_read_error_cb rather than just
cancelling, or else it will get cancelled again later.
2003-05-07 Dan Winship <danw@ximian.com>
* soup-2.0.pc.in (Libs): Don't put @OPENSSL_LIBS@ here; the
library doesn't depend on them, only the proxy does. #42473
2003-05-06 Dan Winship <danw@ximian.com>
* src/libsoup/soup-message.c (global_handlers): Change the
redirect handler to be a RESPONSE_ERROR_CLASS_HANDLER for
SOUP_ERROR_CLASS_REDIRECT rather than a RESPONSE_HEADER_HANDLER
for "Location" to get around the non-64-bit-clean union
initialization pointed out by Jeremy Katz <katzj@redhat.com>.
(redirect_handler): Update for that.
2003-04-28 Dan Winship <danw@ximian.com>
* configure.in: 1.99.20
* libsoup/soup-transfer.c (soup_transfer_read_error_cb): Make sure
we always call UNIGNORE_CANCEL. Might fix #41971
2003-04-25 Dan Winship <danw@ximian.com>
* libsoup/soup-queue.c (soup_queue_error_cb): if an old connection
suddenly gets an io error while reading or writing, assume it's a
timeout or something, close the connection, and requeue the
message.
2003-04-23 Dan Winship <danw@ximian.com>
* libsoup/soup-message.c (soup_message_cleanup): Don't set up the
soup-transfer callbacks to keep reading off the connection unless
we're actually going to keep the connection around afterward.
Otherwise we can just close it.
* libsoup/soup-transfer.c: Re-kludge the awful IGNORE_CANCEL
thingy so that it's possible to cancel a read from inside a
callback so that the above change actually works instead of just
crashing.
2003-04-20 Rodney Dawes <dobey@ximian.com>
* configure.in: Up version to 1.99.18
* libsoup/Makefile.am: Line separator after GNUTLS_CFLAGS
2003-04-11 Dan Winship <danw@ximian.com>
* libsoup/soup-context.c (soup_connection_purge_idle): New
function to close all idle connections. (Needed for #41117 or else
there's no way to force-discard NTLM authentication.)
* libsoup/soup-queue.c (soup_queue_shutdown): Use it
2003-04-10 Joe Shaw <joe@ximian.com>
* libsoup/soup-queue.c (proxy_https_connect):
proxy_https_connect_cb() might not get called if connecting to the
proxy fails, and it causes us to double-free the connection.
Always set the message's connection to NULL before freeing it.
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.
|