Update to rev 231 of libassuan.
[gpgme.git] / assuan / ChangeLog
1 2006-11-22  Werner Koch  <wk@g10code.com>
2
3         * assuan-handler.c (fun1_cookie_write, fun2_cookie_write): New.
4         (assuan_get_data_fp) [HAVE_FUNOPEN]: Use it.
5
6 2006-11-21  Werner Koch  <wk@g10code.com>
7
8         * Makefile.am (libassuan_pth_a_CFLAGS): New.
9
10         * assuan-pipe-server.c (_assuan_release_context): Free CMDTBL.
11
12 2006-11-14  Werner Koch  <wk@g10code.com>
13
14         * libassuan.m4 (AM_CHECK_LIBASSUAN): New.
15
16         * assuan-handler.c (assuan_register_post_cmd_notify) 
17         (assuan_register_post_cmd_notify): New.
18         * assuan-util.c (assuan_set_io_monitor): New.
19         * assuan-buffer.c (_assuan_read_line): Use it.
20         (_assuan_write_line): Ditto.
21         (_assuan_cookie_write_data): Ditto.
22         (_assuan_cookie_write_flush): Ditto.
23
24 2006-10-18  Werner Koch  <wk@g10code.com>
25
26         * libassuan.m4: Pass "pthread" to the common macro.  Reported by
27         Rex Dieter.
28
29 2006-10-16  Werner Koch  <wk@g10code.com>
30
31         * mkerrors: Map ASSUAN_Not_Confirmed.
32
33 2006-10-10  Werner Koch  <wk@g10code.com>
34
35         * libassuan.m4 (AM_PATH_LIBASSUAN_PTH)
36         (AM_PATH_LIBASSUAN_PTHREAD): Fixed.
37
38         * assuan-buffer.c (assuan_sendfd): Implement a runtime detection
39         of implemented descripotr passing.
40
41         * assuan-uds.c: Take care of USE_DESCRIPTOR_PASSING.
42
43         * assuan-defs.h: Add missing semicolon.
44
45 2006-10-09  Werner Koch  <wk@g10code.com>
46
47         * assuan-handler.c (process_request): Use weak pragma for the sake
48         of old gcc's.  Reported by Alain Guibert.
49
50         * assuan-io.c: Removed Pth support.
51         * assuan-io-pth.c: New. Based on assuan-io.c
52
53 2006-10-06  Werner Koch  <wk@g10code.com>
54
55         * libassuan-config.in: New options --api-version and --thread.
56
57 2006-10-04  Werner Koch  <wk@g10code.com>
58
59         * assuan-client.c (assuan_transact): Need to map old assuan status
60         codes so that for example CANCELED is correctly mapped.
61
62 2006-09-28  Marcus Brinkmann  <marcus@g10code.de>
63
64         * assuan-client.c (assuan_transact): Do not convert error on
65         status line, it is already a gpg-error.  Do convert
66         ASSUAN_Server_Fault.
67
68 2006-09-19  Marcus Brinkmann  <marcus@g10code.de>
69
70         * assuan.h (assuan_init_socket_server_ext)
71         [_ASSUAN_EXT_SYM_PREFIX]: Fix typo in macro.
72
73 2006-09-19  Werner Koch  <wk@g10code.com>
74
75         * assuan-defs.h (putc_unlocked): Add prototype.
76
77         * assuan-socket-server.c (accept_connection): Made LEN a socklen_t.
78
79         * assuan.h: Replaced assuan error code enum by simple defines and
80         made assuan_error_t an int.
81         * mkerrors: Changed parser accordingly.
82
83 2006-09-19  Marcus Brinkmann  <marcus@g10code.de>
84
85         * assuan-pipe-connect.c: Add hacks for Slowaris.
86         * assuan-socket.c: Likewise here.
87
88         * assuan.h (enum): Avoid trailing comma in enumerator list.  Ugh.
89
90         * mkerrors (_assuan_error): Change return type to assuan_error_t.
91         * assuan-buffer.c (_assuan_read_line): Change return type to
92         assuan_error_t.  Map returned value of -1.
93         (_assuan_write_line): Change type of RC to assuan_error_t.
94         * assuan-defs.h (_assuan_read_line, _assuan_error): Likewise for
95         prototypes.
96
97         * assuan-defs.h (unsetenv): Define correctly.
98
99 2006-09-14  Werner Koch  <wk@g10code.com>
100
101         * assuan-io.c (_assuan_waitpid): New.  Changed all waitpid calls
102         to this.
103
104         * assuan.h (_ASSUAN_DEPRECATED): New internal macro.
105         (assuan_pipe_connect2): Declare deprecated.
106         (assuan_init_connected_socket_server): Declare deprecated.
107
108         * assuan-connect.c (assuan_get_peercred): New.
109         * assuan-socket-server.c (accept_connection_bottom): Save uid and gid.
110
111 2006-09-13  Werner Koch  <wk@g10code.com>
112
113         * assuan-client.c (assuan_transact): Need to map the error code.
114         * mkerrors: Need to map ASSUAN_No_Secret_Key.
115
116         * assuan-pipe-server.c (is_valid_socket): New.
117         (assuan_init_pipe_server): Use UDS with the environmet variable is
118         set and a valid descriptor is given.  Ignore FILEDES in this case.
119
120         * assuan-socket-server.c (assuan_init_socket_server_ext): New.
121         Changed other init fucntions to make use of it.
122
123         * assuan-handler.c (assuan_command_parse_fd): Allow for lowercase
124         "fd".
125         (std_handler_reset): Close pending fds.
126         * assuan-uds.c (uds_receivefd): Fixed.
127         (_assuan_uds_close_fds): New.
128
129         * assuan-socket-connect.c (assuan_socket_connect_ext): New. Takes
130         all code of assuan_socket_connect plus an option to use sendmsg.
131         * assuan-pipe-connect.c (assuan_pipe_connect_ext): New arg FLAGS.
132
133 2006-09-12  Werner Koch  <wk@g10code.com>
134
135         * assuan-buffer.c (_assuan_write_line): Also log the prefix.
136
137         * assuan-defs.h (DIM, DIMof): New.
138
139         * assuan-domain-server.c: Removed.
140         * assuan-domain-connect.c: Renamed to ..
141         * assuan-uds.c: this.
142         (domain_reader, domain_writer, domain_sendfd, domain_receivefd) 
143         (assuan_domain_connect, _assuan_domain_init): Removed. 
144         (uds_reader, uds_writer, uds_sendfd, uds_receivefd) 
145         (_assuan_init_uds_io): New.
146         (_assuan_uds_deinit): New.
147
148         * assuan-io.c (_assuan_simple_sendmsg, _assuan_simple_recvmsg): New.
149         (my_pth_fdmode, my_pth_select): New.
150
151 2006-09-11  Werner Koch  <wk@g10code.com>
152
153         * assuan-pipe-server.c (assuan_init_pipe_server): Allow for
154         FILEDES to be NULL and try to start as a socketpair server in this
155         case.
156
157         * assuan-pipe-connect.c (assuan_pipe_connect2): Split up into two
158         functions (unix and w32) for clarity.
159         (pipe_connect_unix): This is the new fucntion.  Add USE_CMSG flag.
160         (pipe_connect_w32): Ditto.
161         (initial_handshake): Factored out code.
162         (socketpair_connect): New.
163         (assuan_pipe_connect_ext): New.
164         (do_finish): Handle case if outbound and inbound fd are the same.
165         This is to support socketpairs.
166
167 2006-09-10  Werner Koch  <wk@g10code.com>
168
169         * assuan-util.c (_assuan_log_print_buffer)
170         (_assuan_log_sanitized_string,assuan_set_log_stream): Moved to ..
171         * assuan-logging.c: .. here.
172         (_assuan_log_print_buffer): Only print the leading bytes in hex
173         log mode unless the new env variable ASSUAN_FULL_LOGGING has been
174         set.
175         (_assuan_set_default_log_stream): Test this env variable.
176
177 2006-09-06  Werner Koch  <wk@g10code.com>
178
179         * assuan.h (_ASSUAN_ONLY_GPG_ERRORS): New.
180
181         * assuan-handler.c (dispatch_command): Use Syntax_Error instead of
182         Invalid_Command.
183
184         * assuan-domain-connect.c: Changed alloc malloc/free/realloc to
185         xtrymalloc et al.
186         (read_int, write_int): Make args void pointers.
187         (domain_receivefd): Take care of realloc shrinking failure.
188
189         * assuan-buffer.c (_assuan_read_line, _assuan_write_line)
190         (assuan_write_line, _assuan_cookie_write_data)
191         (_assuan_cookie_write_flush): Print the inbound fd instead of the
192         address of the context when logging I/0.  This makes it more
193         readable.
194
195 2006-09-05  Werner Koch  <wk@g10code.com>
196
197         * assuan-defs.h (err_code, err_is_eof): New.
198
199         * mkerrors (_assuan_error): New.  Wrapped all error code
200         assignments in a call to this.
201         (assuan_strerror): Map gpg-style error codes back. Also print a
202         string for the old EOF code.
203         (assuan_set_assuan_err_source): New.
204
205         * assuan-logging.c (_assuan_log_printf): Do not change ERRNO and
206         print the pid.
207
208         * assuan-domain-connect.c (domain_reader): Replaced plain printf
209         by assuan_log function.
210
211 2005-10-24  Werner Koch  <wk@g10code.com>
212
213         * putc_unlocked.c, memrchr.c, isascii.c, funopen.c: Changed
214         distribution terms to LGPL.  This are small and trivial files so
215         there are no obstacles of doing so.
216         * assuan-socket.c: Likewise, the stated GPL was not intended.
217
218 2005-10-08  Marcus Brinkmann  <marcus@g10code.de>
219
220         * assuan-defs.h (setenv, unsetenv, clearenv) [!HAVE_SETENV]:
221         Define to _assuan_*.
222         * setenv.c: Include "assuan-defs.h".
223         (__add_to_environ): Make static.
224
225 2005-10-07  Marcus Brinkmann  <marcus@g10code.de>
226
227         * assuan-defs.h (memrchr) [!HAVE_MEMRCHR]: New prototype.
228         (stpcpy) [!HAVE_STPCPY]: Likewise.
229         * stpcpy.c: New LGPL'ed file from the GNU C Library.
230         * setenv.c: New file.
231         * assuan-domain-connect.c (read_int): New function.
232         (write_int): New function.
233         (domain_reader): Use read_int.
234         (domain_sendfd): Use write_int.
235
236 2005-10-01  Marcus Brinkmann  <marcus@g10code.de>
237
238         * assuan.h (assuan_pipe_connect, assuan_pipe_connect2): Make type
239         of ARGV parameter const in prototype.
240         * assuan-pipe-connect.c (assuan_pipe_connect,
241         assuan_pipe_connect2): Likewise in declaration.
242         (assuan_pipe_connect2): Add braindead cast to make execv happy.
243
244         * assuan-client.c (assuan_transact): Change LINE, S and D from
245         unsigned char * to char * to silence gcc warning.
246         * assuan-util.c (_assuan_log_sanitized_string): Add explicit cast
247         to silence gcc warning.
248         * assuan-inquire.c (assuan_inquire): Likewise.
249
250 2005-08-19  Werner Koch  <wk@g10code.com>
251
252         * funopen.c, assuan-socket.c: Copied from libassuan CVS.
253         * assuan-pipe-connect.c (assuan_pipe_connect2): Add missing
254         declaration of PID.
255
256 2005-08-09  Werner Koch  <wk@g10code.com>
257
258         * README.1st: Adjusted to cope with changes done in upstream Assuan.
259
260         Merged changes for W32 support from libassuan.
261         
262         * assuan.h [_ASSUAN_EXT_SYM_PREFIX]: New.
263         * assuan-io.c [_ASSUAN_NO_PTH]: New.
264         * assuan-pipe-connect.c (fix_signals) [_ASSUAN_NO_FIXED_SIGNALS]: New.
265         (assuan_pipe_connect2) [_ASSUAN_USE_DOUBLE_FORK]: Use double fork.
266         (fix_signals) [_ASSUAN_USE_DOUBLE_FORK]: Do not wait..
267         * assuan-logging.c, assuan-io.c: Include config.h
268         Replaced all usages of _WIN32 by the new HAVE_W32_SYSTEM because
269         there is nothing winning in this API.
270         * assuan-pipe-connect.c (assuan_pipe_connect2) [_WIN32]: Return
271         error Not Imlemented.
272         * assuan-logging.c (_assuan_w32_strerror): New. 
273         * assuan-defs.h (w32_strerror): new.
274         * assuan-pipe-connect.c (assuan_pipe_connect2, fix_signals):
275         Factored signal code out to new function.
276         (build_w32_commandline, create_inheritable_pipe): New.  Taken
277         from gnupg 1.9.
278         (assuan_pipe_connect2) [W32]: Implemented for W32.
279         * assuan-pipe-server.c (assuan_init_pipe_server) [W32]: Map file
280         descriptors using _get_osfhandle.
281         * assuan-socket-connect.c (assuan_socket_connect) [W32]: Allow for
282         a drive letter in the path.
283         * assuan-client.c (assuan_transact): Handle empty and comment
284         commands correctly.
285         * assuan-util.c (_assuan_calloc): Avoid integer overflow.
286         * assuan-util.c (assuan_set_flag, assuan_get_flag): New.
287         * assuan-defs.h (struct assuan_context_s): New field flags.
288         * assuan.h (assuan_flag_t): New with one flag value
289         ASSUAN_NO_WAITPID for now.
290         * assuan-pipe-connect.c (do_finish): Take care of the no_waitpid
291         flag.
292         * mkerrors: Include config.h into assuan-errors.c.  This is
293         required so that assuan.h knows about the W32 macro.
294
295 2005-08-09 Timo Schulz  <twoaday@g10code.com> (ported from libassuan by wk)
296         
297         * assuan-io.c (_assuan_simple_read, _assuan_simple_write): W32
298         support.
299         * assuan-socket.c (_assuan_close): New.
300         (_assuan_sock_new): New.
301         (_assuan_sock_bind): New.
302
303 2005-03-22  Werner Koch  <wk@g10code.com>
304
305         * assuan-defs.h (struct assuan_io): Renamed elements READ and
306         WRITE to READFNC and WRITEFNC to avoid problems with read defined
307         as macro.  Changed callers.  Noted by Ville Skytt√§.
308
309 2004-12-16  Marcus Brinkmann  <marcus@g10code.de>
310
311         * assuan-pipe-connect.c (do_finish): Do not wait for child to finish.
312         (assuan_pipe_connect): Use double-fork approach.
313         * assuan-connect.c (assuan_disconnect): Do not write BYE to the
314         status line.
315
316 2004-12-07  Marcus Brinkmann  <marcus@g10code.de>
317
318         * README.1st: Add copyright notice.
319
320 2004-06-23  Marcus Brinkmann  <marcus@g10code.de>
321
322         * assuan-domain-connect.c [HAVE_SYS_UIO_H]: Include <sys/uio.h>.
323
324         * assuan-handler.c: Include <errno.h>.
325
326 2004-06-08  Marcus Brinkmann  <marcus@g10code.de>
327
328         * assuan-buffer.c (assuan_write_line): If the line is longer than
329         the maximum line length, bail out early.
330
331 2004-04-19  Werner Koch  <wk@gnupg.org>
332
333         * assuan-socket-connect.c: Include sys/types.h
334         * assuan-socket-server.c: Ditto
335         * assuan-domain-connect.c: Ditto.
336
337 2004-02-18  Werner Koch  <wk@gnupg.org>
338
339         * assuan-handler.c (assuan_get_data_fp): Fail with ENOSYS if we
340         can't implement this.
341
342 2004-02-13  Werner Koch  <wk@gnupg.org>
343
344         * assuan-domain-connect.c: Removed the unneeded alloca.h
345
346 2003-08-13  Werner Koch  <wk@gnupg.org>
347
348         * assuan-inquire.c (assuan_inquire): Increase length of cmdbuf to
349         the Assuan limit.
350
351 2003-06-24  Werner Koch  <wk@gnupg.org>
352
353         * mkerrors: Kludge to print libgpg-error values in an easier
354         readable way.
355
356 2003-04-29  Werner Koch  <wk@gnupg.org>
357
358         * libassuan.m4: New. Based on libgrypt.m4.
359         * Makefile.am (m4data_DATA): New.
360
361         * assuan.h (AssuanCommand): Removed.
362
363         * assuan-handler.c: Remove the cmd_id element,
364         (assuan_register_command): Likewise.  Note that semantics changed.
365         (_assuan_register_std_commands): Adjusted.
366
367 2003-02-22  Neal H. Walfield  <neal@g10code.de>
368
369         * Makefile.am (bin_SCRIPTS): Renamed from bin_PROGRAMS.
370
371 2003-02-18  Neal H. Walfield  <neal@g10code.de>
372
373         * Makefile.am (libassuan_a_LIBADD): New variable.
374         * funopen.c: Move from ../common.
375         * isascii.c: Likewise.
376         * memrchr.c: Likewise.
377         * putc_unlocked.c: Likewise.
378         
379 2003-02-18  Neal H. Walfield  <neal@g10code.de>
380
381         * assuan-handler.c (_IO_cookie_io_functions_t): Remove.
382         (cookie_io_functions_t): Remove.
383         (fopencookie): Remove prototype.
384         (assuan_get_data_fp): Use funopen, not fopencookie.
385
386 2003-02-18  Neal H. Walfield  <neal@g10code.de>
387
388         * libassuan-config.in: New file.
389         * Makefile.am (bin_PROGRAMS): New variable.
390
391 2003-02-17  Neal H. Walfield  <neal@g10code.de>
392
393         * .cvsignore: New file.
394
395 2003-02-17  Neal H. Walfield  <neal@g10code.de>
396
397         * Makefile.am (lib_LIBRARIES): Use this instead of . . .
398         (noinst_LIBRARIES): . . . this.
399         (include_HEADERS): New variable.
400         (libassuan_a_SOURCES): Remove assuan.h, add assuan-logging.c.
401
402         * assuan.h (assuan_set_assuan_log_stream): New prototype.
403         (assuan_get_assuan_log_stream): Likewise.
404         (assuan_get_assuan_log_prefix): Likewise.
405         * assuan-logging.c: New file.
406
407         * assuan-buffer.c [HAVE_JNLIB_LOGGIN]: Do not include
408         "../jnlib/logging.h".
409         (my_log_prefix): Remove function.
410         (_assuan_read_line): Use assuan_get_assuan_log_prefix in lieu of
411         my_log_prefix.
412         (assuan_write_line): Likewise.
413         (_assuan_cookie_write_data): Likewise.
414         (_assuan_cookie_write_flush): Likewise.
415         * assuan-domain-connect.c (LOGERROR, LOGERROR1, LOGERROR2,
416         LOGERRORX):  Remove.
417         (LOG): New macro.
418         (domain_reader): Use it.
419         (domain_writer): Likewise.
420         (domain_sendfd): Likewise.
421         (domain_receivefd): Likewise.
422         (_assuan_domain_init): Likewise.
423         (assuan_domain_connect): Likewise.
424         * assuan-pipe-connect.c [HAVE_JNLIB_LOGGIN]: Do not include
425         "../jnlib/logging.h".
426         (LOGERROR, LOGERROR1, LOGERROR2, LOGERRORX):  Remove.
427         (LOG): New macro.
428         (assuan_pipe_connect): Use it.
429         * assuan-socket-connect.c [HAVE_JNLIB_LOGGIN]: Do not include
430         "../jnlib/logging.h".
431         (LOGERROR, LOGERROR1, LOGERROR2, LOGERRORX):  Remove.
432         (LOG): New macro.
433         (assuan_socket_connect): Use it.
434         (socket_reader): Remove dead code.
435         (socket_writer): Likewise.
436         * assuan-util.c [HAVE_JNLIB_LOGGIN]: Do not include
437         "../jnlib/logging.h".
438         (_assuan_log_sanitized_string): Use assuan_get_assuan_log_stream,
439         not jnlib.
440
441 2002-11-24  Neal H. Walfield  <neal@g10code.de>
442
443         * assuan.h (assuan_command_parse_fd): New prototype.
444         * assuan-handler.c (assuan_command_parse_fd): Rename from
445         parse_cmd_input_output.  Export.
446         (std_handler_input): Update to use assuan_command_parse_fd.
447         (std_handler_output): Likewise.
448
449 2002-11-24  Neal H. Walfield  <neal@g10code.de>
450
451         * assuan.h (assuan_sendfd): New prototype.
452         (assuan_receivefd): New prototype.
453         * assuan-buffer.c (assuan_sendfd): New function.
454         (assuan_receivefd): New function.
455         * assuan-handler.c (parse_cmd_input_output): Recognize incoming
456         file descriptors and act appropriately.
457         * assuan-defs.h (struct assuan_io): Add fields sendfd and
458         receivefd.
459         (struct assuan_context_s): Add fields pendingfds and
460         pendingfdscount.
461         * assuan-pipe-server.c (_assuan_new_context): Update IO to reflect
462         new features.
463         * assuan-domain-connect.c (do_deinit): Cleanup any unreceived file
464         descriptors.
465         (domain_reader): Receive file descriptors.
466         (domain_sendfd): New function.
467         (domain_receivefd): New function.
468         (_assuan_domain_init): Update initialization code to reflect new
469         features.
470
471 2002-11-24  Neal H. Walfield  <neal@g10code.de>
472
473         * assuan-domain-connect.c (do_finish): Remove.
474         (_assuan_domain_init): Use default handlers where possible.
475         Add an assert and update comments.
476         * assuan-domain-server.c (accept_connection): Remove.
477         (assuan_init_domain_server): Use default handlers where possible.
478         Put the server in pipe mode: it can only be used by a single
479         client.
480
481 2002-11-24  Neal H. Walfield  <neal@g10code.de>
482
483         * assuan.h: Add prototype for assuan_domain_connect and
484         assuan_init_domain_server.
485         * assuan-defs.h: Include <unistd.h>.
486         Add prototype for _assuan_domain_init.
487         * assuan-domain-connect.c: New file.
488         * assuan-domain-server.c: New file.
489         * Makefile.am (libassuan_a_SOURCES): Add assuan-domain-connect.c
490         and assuan-domain-server.c
491
492 2002-11-23  Neal H. Walfield  <neal@g10code.de>
493
494         * Makefile.am (libassuan_a_SOURCES): Add assuan-io.c.
495         * assuan-io.c: Restore.
496         (_assuan_simple_read): Rename from _assuan_read.
497         (_assuan_simple_write): Rename from _assuan_write.
498         * assuan-defs.h (_assuan_simple_read): New prototype.
499         (_assuan_simple_write): Likewise.
500         * assuan-pipe-server.c (pipe_reader): Remove.
501         (pipe_writer): Remove.
502         (_assuan_new_context): Initialize IO is with _assuan_simple_read
503         and _assuan_simple_write.
504         * assuan-socket-connect.c (socket_reader): Remove.
505         (socket_writer): Remove.
506         (assuan_socket_connect): Initialize IO is with _assuan_simple_read
507         and _assuan_simple_write.
508         * assuan-socket-server.c (io): New local variable.
509         (assuan_init_socket_server): Initialize CTX->io.
510         (assuan_init_connected_socket_server): Likewise.
511
512 2002-11-23  Neal H. Walfield  <neal@g10code.de>
513
514         * assuan-buffer.c (readline): Use memrchr.
515         (_assuan_read_line): Rewritten to use the string functions.
516
517 2002-11-20  Neal H. Walfield  <neal@g10code.de>
518
519         * assuan-socket-connect.c (assuan_socket_connect): Pass PF_LOCAL
520         to socket(), not AF_UNIX: it expects a PF_* macro and the former
521         is more portable.
522         (assuan_socket_connect): Use AF_LOCAL, not AF_UNIX which is more
523         POSIXy.
524
525 2002-11-20  Neal H. Walfield  <neal@g10code.de>
526
527         * assuan-defs.h (struct assuan_io): New structure.
528         (struct assuan_context_s): New field, io.
529         (_assuan_read): Depreciated.
530         (_assuan_write): Likewise.
531         * assuan-pipe-server.c: Include <unistd.h>.
532         (pipe_reader): New function.
533         (pipe_writer): Likewise.
534         (_assuan_new_context.IO): New local static.  Set to pipe_reader
535         and pipe_writer.  Use it to initialize new context.
536         * assuan-socket-connect.c (socket_reader): New function.
537         (socket_writer): New function.
538         (assuan_socket_connect.IO): New local static.  Set to socket_reader
539         and socket_writer.  Use it to initialize new context.
540         * assuan-buffer.c (writen): Take an ASSUAN_CONTEXT rather than a
541         file descriptor.  Do not use _assuan_write but the write method
542         in the supplied context.
543         (readline): Likewise for _assuan_read.
544         (assuan_write_line): When calling writen, pass CTX; not the file
545         descriptor directly.
546         (_assuan_cookie_write_data): Likewise.
547         (_assuan_cookie_write_flush): Likewise.
548         (_assuan_read_line): Likewise for readline.
549         * Makefile.am (libassuan_a_SOURCES): Remove assuan-io.c.
550         * assuan-io.c: Removed.
551
552 2002-11-10  Werner Koch  <wk@gnupg.org>
553
554         * assuan-pipe-connect.c (assuan_pipe_connect): Changed the order
555         of the dups to handle cases where we have already used fd 2 for
556         other things.
557
558 2002-10-31  Neal H. Walfield  <neal@g10code.de>
559
560         * assuan-util.c: Include <ctype.h>.
561         (_assuan_log_print_buffer): Elide the magic numbers preferring the
562         standard isfoo functions.  Use putc_unlocked where possible.
563         (_assuan_log_sanitized_string): Rewrite to use putc_unlocked and
564         the isfoo functions.
565
566 2002-09-05  Neal H. Walfield  <neal@g10code.de>
567
568         * assuan-defs.h (_assuan_read_wrapper): Depreciated.
569         * assuan-util.c (_assuan_read_wrapper): Removed.
570         * assuan-defs.h (_assuan_write_wrapper): Depreciated.
571         * assuan-util.c (_assuan_write_wrapper): Removed.
572         * assuan.h (assuan_set_io_fun): Depreciated.
573         * assuan-util.c (assuan_set_io_fun): Removed.
574
575         * assuan-defs.h (_assuan_read): New function.
576         (_assuan_write): Likewise.
577         * assuan-io.c: New file.
578
579         * assuan-buffer.c (writen): Use _assuan_write rather than doing
580         the work here.
581         (readline): Likewise for _assuan_read.
582
583         * Makefile.am (libassuan_a_SOURCES): Add assuan-io.c.
584
585 2002-08-16  Werner Koch  <wk@gnupg.org>
586
587         * assuan.h: Renamed Bad_Certificate_Path to Bad_Certificate_Chain.
588
589 2002-07-30  Werner Koch  <wk@gnupg.org>
590
591         Changed the license from GPL to LGPL.
592
593 2002-07-23  Werner Koch  <wk@gnupg.org>
594
595         * assuan-handler.c (_IO_cookie_io_functions_t): Define it here if
596         it does not exists.
597
598 2002-06-27  Werner Koch  <wk@gnupg.org>
599
600         * assuan-pipe-connect.c (assuan_pipe_connect): No special handling
601         for the log_fd and stderr.  Connect stderr to /dev/null if it
602         should not be retained.
603
604 2002-06-26  Werner Koch  <wk@gnupg.org>
605
606         * assuan-buffer.c (assuan_write_line): Make sure we never
607         accidently print an extra LF.
608
609 2002-05-23  Werner Koch  <wk@gnupg.org>
610
611         * assuan-util.c (assuan_set_io_func): New.
612         * assuan-buffer.c (writen, readline): Use the new functions
613         instead of pth.
614         * assuan-socket-server.c (accept_connection): Don't use the
615         pth_accept - using the assuan included accept code would be a bad
616         idea within Pth so we don't need a replacement function.
617
618 2002-05-22  Werner Koch  <wk@gnupg.org>
619
620         * assuan-socket-server.c (assuan_init_connected_socket_server): New.
621         (accept_connection): Factored most code out to..
622         (accept_connection_bottom): .. new function.
623
624 2002-04-04  Werner Koch  <wk@gnupg.org>
625
626         * assuan-buffer.c (my_log_prefix): New.  Use it for all i/o debug
627         output.
628
629 2002-03-06  Werner Koch  <wk@gnupg.org>
630
631         * assuan-client.c (_assuan_read_from_server): Detect END.
632         (assuan_transact): Pass it to the data callback.
633
634 2002-02-27  Werner Koch  <wk@gnupg.org>
635
636         * assuan-client.c (assuan_transact): Add 2 more arguments to
637         support status lines. Passing NULL yields the old behaviour.
638
639         * assuan-handler.c (process_request): Flush data lines send
640         without using the data fp.
641
642 2002-02-14  Werner Koch  <wk@gnupg.org>
643
644         * assuan-inquire.c (assuan_inquire): Check for a cancel command
645         and return ASSUAN_Canceled.  Allow for non-data inquiry.
646
647         * assuan.h: Add a few token specific error codes.
648
649 2002-02-13  Werner Koch  <wk@gnupg.org>
650
651         * assuan-defs.h (assuan_context_s): New var CLIENT_PID.
652         * assuan-pipe-server.c (_assuan_new_context): set default value.
653         * assuan-socket-server.c (accept_connection): get the actual pid.
654
655 2002-02-12  Werner Koch  <wk@gnupg.org>
656
657         * assuan-buffer.c (writen,readline) [USE_GNU_PT]: Use pth_read/write.
658         * assuan-socket-server.c (accept_connection) [USE_GNU_PTH]: Ditto.
659
660 2002-02-01  Marcus Brinkmann  <marcus@g10code.de>
661
662         * Makefile.am (MOSTLYCLEANFILES): New variable.
663
664 2002-01-23  Werner Koch  <wk@gnupg.org>
665
666         * assuan-socket-connect.c (LOGERRORX): and removed typo.
667
668 2002-01-22  Marcus Brinkmann  <marcus@g10code.de>
669
670         * assuan-socket-connect.c (LOGERRORX): Reverse arguments to fputs.
671
672 2002-01-21  Werner Koch  <wk@gnupg.org>
673
674         * assuan-connect.c: Move all except assuan_get_pid to...
675         * assuan-pipe-connect.c: this.
676         (assuan_pipe_disconnect): Removed.
677         (do_finish, do_deinit): New 
678         (assuan_pipe_connect): and set them into the context.
679         * assuan-socket-connect.c: New.
680         
681         * assuan-util.c (_assuan_log_sanitized_string): New.
682
683         * assuan-pipe-server.c (assuan_init_pipe_server): Factored most
684         code out to ...
685         (_assuan_new_context): new func.
686         (_assuan_release_context): New
687         * assuan-connect.c (assuan_pipe_connect): Use the new functions.
688
689 2002-01-20  Werner Koch  <wk@gnupg.org>
690
691         * assuan.h: Added Invalid Option error code.
692
693         * assuan-handler.c (std_handler_option): New.
694         (std_cmd_tbl): Add OPTION as standard command.
695         (assuan_register_option_handler): New.
696         (dispatch_command): Use case insensitive matching as a fallback.
697         (my_strcasecmp): New.
698
699 2002-01-19  Werner Koch  <wk@gnupg.org>
700
701         * assuan-buffer.c (_assuan_read_line): Add output logging.
702         (assuan_write_line): Ditto.
703         (_assuan_cookie_write_data): Ditto.
704         (_assuan_cookie_write_flush): Ditto.
705         * assuan-util.c (_assuan_log_print_buffer): New.
706         (assuan_set_log_stream): New.
707         (assuan_begin_confidential): New.
708         (assuan_end_confidential): New.
709
710         * assuan-defs.h: Add a few handler variables.
711         * assuan-pipe-server.c (assuan_deinit_pipe_server): Removed.
712         (deinit_pipe_server): New.
713         (assuan_deinit_server): New.  Changed all callers to use this.
714         * assuan-listen.c (assuan_accept): Use the accept handler.
715         * assuan-handler.c (process_request): Use the close Handler.
716         * assuan-socket-server.c: New.
717
718 2002-01-14  Werner Koch  <wk@gnupg.org>
719
720         * assuan-client.c (_assuan_read_from_server): Skip spaces after
721         the keyword.
722
723 2002-01-03  Werner Koch  <wk@gnupg.org>
724
725         * assuan-handler.c (assuan_set_okay_line): New.
726         (process_request): And use it here.
727
728 2002-01-02  Werner Koch  <wk@gnupg.org>
729
730         * assuan-inquire.c (init_membuf,put_membuf,get_membuf): Apply a
731         hidden 0 behind the buffer so that the buffer can be used as a
732         string in certain contexts.
733
734 2001-12-14  Marcus Brinkmann  <marcus@g10code.de>
735
736         * assuan-connect.c (assuan_pipe_connect): New argument
737         FD_CHILD_LIST.  Don't close those fds.
738         * assuan.h: Likewise for prototype.
739
740 2001-12-14  Werner Koch  <wk@gnupg.org>
741
742         * assuan-listen.c (assuan_close_input_fd): New.
743         (assuan_close_output_fd): New.
744         * assuan-handler.c (std_handler_reset): Always close them after a
745         reset command.
746         (std_handler_bye): Likewise.
747
748 2001-12-14  Marcus Brinkmann  <marcus@g10code.de>
749
750         * assuan-buffer.c (_assuan_read_line): New variable ATTICLEN, use
751         it to save the length of the attic line.
752         Rediddle the code a bit to make it more clear what happens.
753
754 2001-12-14  Marcus Brinkmann  <marcus@g10code.de>
755
756         * assuan-defs.h (LINELENGTH): Define as ASSUAN_LINELENGTH.
757         assuan.h: Define ASSUAN_LINELENGTH.
758
759 2001-12-13  Marcus Brinkmann  <marcus@g10code.de>
760
761         * assuan-buffer.c (assuan_read_line): Fix order of execution to
762         get correct return values.
763
764 2001-12-13  Werner Koch  <wk@gnupg.org>
765
766         * assuan-handler.c (assuan_get_active_fds): Fixed silly bug,
767         pretty obvious that nobody ever tested this function.
768
769 2001-12-12  Werner Koch  <wk@gnupg.org>
770
771         * assuan-connect.c (assuan_pipe_connect): Implemented the inital
772         handshake.
773         * assuan-client.c (read_from_server): Renamed to  
774         (_assuan_read_from_server): this and made external.
775
776         * assuan-listen.c (assuan_set_hello_line): New.
777         (assuan_accept): Use a custom hello line is available.
778
779         * assuan-buffer.c (assuan_read_line): New.
780         (assuan_pending_line): New.
781         (_assuan_write_line): Renamed to ..
782         (assuan_write_line): this, made public and changed all callers.
783
784 2001-12-04  Werner Koch  <wk@gnupg.org>
785
786         * assuan-connect.c (assuan_pipe_connect): Add more error reporting.
787         * assuan-client.c: New.
788
789         * assuan-inquire.c: New.
790         * assuan-handler.c (process_request): Check for nested invocations.
791
792 2001-11-27  Werner Koch  <wk@gnupg.org>
793
794         * assuan-handler.c (assuan_register_input_notify): New.
795         (assuan_register_output_notify): New.
796
797 2001-11-26  Werner Koch  <wk@gnupg.org>
798
799         * assuan.h: Added more status codes.
800
801 2001-11-25  Werner Koch  <wk@gnupg.org>
802
803         * assuan-handler.c (assuan_register_bye_notify)
804         (assuan_register_reset_notify)
805         (assuan_register_cancel_notify): New and call them from the
806         standard handlers.
807         (assuan_process): Moved bulk of function to ..
808         (process_request): .. new.
809         (assuan_process_next): One shot version of above.
810         (assuan_get_active_fds): New.
811
812 2001-11-24  Werner Koch  <wk@gnupg.org>
813
814         * assuan-connect.c (assuan_get_pid): New.
815
816         * assuan-buffer.c (_assuan_read_line): Deal with reads of more
817         than a line.
818         * assuan-defs.h: Add space in the context for this.
819
820         
821  Copyright 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
822
823  This file is free software; as a special exception the author gives
824  unlimited permission to copy and/or distribute it, with or without
825  modifications, as long as this notice is preserved.
826
827  This file is distributed in the hope that it will be useful, but
828  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
829  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.