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