2003-08-18 Marcus Brinkmann <marcus@g10code.de>
[gpgme.git] / assuan / ChangeLog
1 2003-08-13  Werner Koch  <wk@gnupg.org>
2
3         * assuan-inquire.c (assuan_inquire): Increase length of cmdbuf to
4         the Assuan limit.
5
6 2003-06-24  Werner Koch  <wk@gnupg.org>
7
8         * mkerrors: Kludge to print libgpg-error values in an easier
9         readable way.
10
11 2003-04-29  Werner Koch  <wk@gnupg.org>
12
13         * libassuan.m4: New. Based on libgrypt.m4.
14         * Makefile.am (m4data_DATA): New.
15
16         * assuan.h (AssuanCommand): Removed.
17
18         * assuan-handler.c: Remove the cmd_id element,
19         (assuan_register_command): Likewise.  Note that semantics changed.
20         (_assuan_register_std_commands): Adjusted.
21
22 2003-02-22  Neal H. Walfield  <neal@g10code.de>
23
24         * Makefile.am (bin_SCRIPTS): Renamed from bin_PROGRAMS.
25
26 2003-02-18  Neal H. Walfield  <neal@g10code.de>
27
28         * Makefile.am (libassuan_a_LIBADD): New variable.
29         * funopen.c: Move from ../common.
30         * isascii.c: Likewise.
31         * memrchr.c: Likewise.
32         * putc_unlocked.c: Likewise.
33         
34 2003-02-18  Neal H. Walfield  <neal@g10code.de>
35
36         * assuan-handler.c (_IO_cookie_io_functions_t): Remove.
37         (cookie_io_functions_t): Remove.
38         (fopencookie): Remove prototype.
39         (assuan_get_data_fp): Use funopen, not fopencookie.
40
41 2003-02-18  Neal H. Walfield  <neal@g10code.de>
42
43         * libassuan-config.in: New file.
44         * Makefile.am (bin_PROGRAMS): New variable.
45
46 2003-02-17  Neal H. Walfield  <neal@g10code.de>
47
48         * .cvsignore: New file.
49
50 2003-02-17  Neal H. Walfield  <neal@g10code.de>
51
52         * Makefile.am (lib_LIBRARIES): Use this instead of . . .
53         (noinst_LIBRARIES): . . . this.
54         (include_HEADERS): New variable.
55         (libassuan_a_SOURCES): Remove assuan.h, add assuan-logging.c.
56
57         * assuan.h (assuan_set_assuan_log_stream): New prototype.
58         (assuan_get_assuan_log_stream): Likewise.
59         (assuan_get_assuan_log_prefix): Likewise.
60         * assuan-logging.c: New file.
61
62         * assuan-buffer.c [HAVE_JNLIB_LOGGIN]: Do not include
63         "../jnlib/logging.h".
64         (my_log_prefix): Remove function.
65         (_assuan_read_line): Use assuan_get_assuan_log_prefix in lieu of
66         my_log_prefix.
67         (assuan_write_line): Likewise.
68         (_assuan_cookie_write_data): Likewise.
69         (_assuan_cookie_write_flush): Likewise.
70         * assuan-domain-connect.c (LOGERROR, LOGERROR1, LOGERROR2,
71         LOGERRORX):  Remove.
72         (LOG): New macro.
73         (domain_reader): Use it.
74         (domain_writer): Likewise.
75         (domain_sendfd): Likewise.
76         (domain_receivefd): Likewise.
77         (_assuan_domain_init): Likewise.
78         (assuan_domain_connect): Likewise.
79         * assuan-pipe-connect.c [HAVE_JNLIB_LOGGIN]: Do not include
80         "../jnlib/logging.h".
81         (LOGERROR, LOGERROR1, LOGERROR2, LOGERRORX):  Remove.
82         (LOG): New macro.
83         (assuan_pipe_connect): Use it.
84         * assuan-socket-connect.c [HAVE_JNLIB_LOGGIN]: Do not include
85         "../jnlib/logging.h".
86         (LOGERROR, LOGERROR1, LOGERROR2, LOGERRORX):  Remove.
87         (LOG): New macro.
88         (assuan_socket_connect): Use it.
89         (socket_reader): Remove dead code.
90         (socket_writer): Likewise.
91         * assuan-util.c [HAVE_JNLIB_LOGGIN]: Do not include
92         "../jnlib/logging.h".
93         (_assuan_log_sanitized_string): Use assuan_get_assuan_log_stream,
94         not jnlib.
95
96 2002-11-24  Neal H. Walfield  <neal@g10code.de>
97
98         * assuan.h (assuan_command_parse_fd): New prototype.
99         * assuan-handler.c (assuan_command_parse_fd): Rename from
100         parse_cmd_input_output.  Export.
101         (std_handler_input): Update to use assuan_command_parse_fd.
102         (std_handler_output): Likewise.
103
104 2002-11-24  Neal H. Walfield  <neal@g10code.de>
105
106         * assuan.h (assuan_sendfd): New prototype.
107         (assuan_receivefd): New prototype.
108         * assuan-buffer.c (assuan_sendfd): New function.
109         (assuan_receivefd): New function.
110         * assuan-handler.c (parse_cmd_input_output): Recognize incoming
111         file descriptors and act appropriately.
112         * assuan-defs.h (struct assuan_io): Add fields sendfd and
113         receivefd.
114         (struct assuan_context_s): Add fields pendingfds and
115         pendingfdscount.
116         * assuan-pipe-server.c (_assuan_new_context): Update IO to reflect
117         new features.
118         * assuan-domain-connect.c (do_deinit): Cleanup any unreceived file
119         descriptors.
120         (domain_reader): Receive file descriptors.
121         (domain_sendfd): New function.
122         (domain_receivefd): New function.
123         (_assuan_domain_init): Update initialization code to reflect new
124         features.
125
126 2002-11-24  Neal H. Walfield  <neal@g10code.de>
127
128         * assuan-domain-connect.c (do_finish): Remove.
129         (_assuan_domain_init): Use default handlers where possible.
130         Add an assert and update comments.
131         * assuan-domain-server.c (accept_connection): Remove.
132         (assuan_init_domain_server): Use default handlers where possible.
133         Put the server in pipe mode: it can only be used by a single
134         client.
135
136 2002-11-24  Neal H. Walfield  <neal@g10code.de>
137
138         * assuan.h: Add prototype for assuan_domain_connect and
139         assuan_init_domain_server.
140         * assuan-defs.h: Include <unistd.h>.
141         Add prototype for _assuan_domain_init.
142         * assuan-domain-connect.c: New file.
143         * assuan-domain-server.c: New file.
144         * Makefile.am (libassuan_a_SOURCES): Add assuan-domain-connect.c
145         and assuan-domain-server.c
146
147 2002-11-23  Neal H. Walfield  <neal@g10code.de>
148
149         * Makefile.am (libassuan_a_SOURCES): Add assuan-io.c.
150         * assuan-io.c: Restore.
151         (_assuan_simple_read): Rename from _assuan_read.
152         (_assuan_simple_write): Rename from _assuan_write.
153         * assuan-defs.h (_assuan_simple_read): New prototype.
154         (_assuan_simple_write): Likewise.
155         * assuan-pipe-server.c (pipe_reader): Remove.
156         (pipe_writer): Remove.
157         (_assuan_new_context): Initialize IO is with _assuan_simple_read
158         and _assuan_simple_write.
159         * assuan-socket-connect.c (socket_reader): Remove.
160         (socket_writer): Remove.
161         (assuan_socket_connect): Initialize IO is with _assuan_simple_read
162         and _assuan_simple_write.
163         * assuan-socket-server.c (io): New local variable.
164         (assuan_init_socket_server): Initialize CTX->io.
165         (assuan_init_connected_socket_server): Likewise.
166
167 2002-11-23  Neal H. Walfield  <neal@g10code.de>
168
169         * assuan-buffer.c (readline): Use memrchr.
170         (_assuan_read_line): Rewritten to use the string functions.
171
172 2002-11-20  Neal H. Walfield  <neal@g10code.de>
173
174         * assuan-socket-connect.c (assuan_socket_connect): Pass PF_LOCAL
175         to socket(), not AF_UNIX: it expects a PF_* macro and the former
176         is more portable.
177         (assuan_socket_connect): Use AF_LOCAL, not AF_UNIX which is more
178         POSIXy.
179
180 2002-11-20  Neal H. Walfield  <neal@g10code.de>
181
182         * assuan-defs.h (struct assuan_io): New structure.
183         (struct assuan_context_s): New field, io.
184         (_assuan_read): Depreciated.
185         (_assuan_write): Likewise.
186         * assuan-pipe-server.c: Include <unistd.h>.
187         (pipe_reader): New function.
188         (pipe_writer): Likewise.
189         (_assuan_new_context.IO): New local static.  Set to pipe_reader
190         and pipe_writer.  Use it to initialize new context.
191         * assuan-socket-connect.c (socket_reader): New function.
192         (socket_writer): New function.
193         (assuan_socket_connect.IO): New local static.  Set to socket_reader
194         and socket_writer.  Use it to initialize new context.
195         * assuan-buffer.c (writen): Take an ASSUAN_CONTEXT rather than a
196         file descriptor.  Do not use _assuan_write but the write method
197         in the supplied context.
198         (readline): Likewise for _assuan_read.
199         (assuan_write_line): When calling writen, pass CTX; not the file
200         descriptor directly.
201         (_assuan_cookie_write_data): Likewise.
202         (_assuan_cookie_write_flush): Likewise.
203         (_assuan_read_line): Likewise for readline.
204         * Makefile.am (libassuan_a_SOURCES): Remove assuan-io.c.
205         * assuan-io.c: Removed.
206
207 2002-11-10  Werner Koch  <wk@gnupg.org>
208
209         * assuan-pipe-connect.c (assuan_pipe_connect): Changed the order
210         of the dups to handle cases where we have already used fd 2 for
211         other things.
212
213 2002-10-31  Neal H. Walfield  <neal@g10code.de>
214
215         * assuan-util.c: Include <ctype.h>.
216         (_assuan_log_print_buffer): Elide the magic numbers preferring the
217         standard isfoo functions.  Use putc_unlocked where possible.
218         (_assuan_log_sanitized_string): Rewrite to use putc_unlocked and
219         the isfoo functions.
220
221 2002-09-05  Neal H. Walfield  <neal@g10code.de>
222
223         * assuan-defs.h (_assuan_read_wrapper): Depreciated.
224         * assuan-util.c (_assuan_read_wrapper): Removed.
225         * assuan-defs.h (_assuan_write_wrapper): Depreciated.
226         * assuan-util.c (_assuan_write_wrapper): Removed.
227         * assuan.h (assuan_set_io_fun): Depreciated.
228         * assuan-util.c (assuan_set_io_fun): Removed.
229
230         * assuan-defs.h (_assuan_read): New function.
231         (_assuan_write): Likewise.
232         * assuan-io.c: New file.
233
234         * assuan-buffer.c (writen): Use _assuan_write rather than doing
235         the work here.
236         (readline): Likewise for _assuan_read.
237
238         * Makefile.am (libassuan_a_SOURCES): Add assuan-io.c.
239
240 2002-08-16  Werner Koch  <wk@gnupg.org>
241
242         * assuan.h: Renamed Bad_Certificate_Path to Bad_Certificate_Chain.
243
244 2002-07-30  Werner Koch  <wk@gnupg.org>
245
246         Changed the license from GPL to LGPL.
247
248 2002-07-23  Werner Koch  <wk@gnupg.org>
249
250         * assuan-handler.c (_IO_cookie_io_functions_t): Define it here if
251         it does not exists.
252
253 2002-06-27  Werner Koch  <wk@gnupg.org>
254
255         * assuan-pipe-connect.c (assuan_pipe_connect): No special handling
256         for the log_fd and stderr.  Connect stderr to /dev/null if it
257         should not be retained.
258
259 2002-06-26  Werner Koch  <wk@gnupg.org>
260
261         * assuan-buffer.c (assuan_write_line): Make sure we never
262         accidently print an extra LF.
263
264 2002-05-23  Werner Koch  <wk@gnupg.org>
265
266         * assuan-util.c (assuan_set_io_func): New.
267         * assuan-buffer.c (writen, readline): Use the new functions
268         instead of pth.
269         * assuan-socket-server.c (accept_connection): Don't use the
270         pth_accept - using the assuan included accept code would be a bad
271         idea within Pth so we don't need a replacement function.
272
273 2002-05-22  Werner Koch  <wk@gnupg.org>
274
275         * assuan-socket-server.c (assuan_init_connected_socket_server): New.
276         (accept_connection): Factored most code out to..
277         (accept_connection_bottom): .. new function.
278
279 2002-04-04  Werner Koch  <wk@gnupg.org>
280
281         * assuan-buffer.c (my_log_prefix): New.  Use it for all i/o debug
282         output.
283
284 2002-03-06  Werner Koch  <wk@gnupg.org>
285
286         * assuan-client.c (_assuan_read_from_server): Detect END.
287         (assuan_transact): Pass it to the data callback.
288
289 2002-02-27  Werner Koch  <wk@gnupg.org>
290
291         * assuan-client.c (assuan_transact): Add 2 more arguments to
292         support status lines. Passing NULL yields the old behaviour.
293
294         * assuan-handler.c (process_request): Flush data lines send
295         without using the data fp.
296
297 2002-02-14  Werner Koch  <wk@gnupg.org>
298
299         * assuan-inquire.c (assuan_inquire): Check for a cancel command
300         and return ASSUAN_Canceled.  Allow for non-data inquiry.
301
302         * assuan.h: Add a few token specific error codes.
303
304 2002-02-13  Werner Koch  <wk@gnupg.org>
305
306         * assuan-defs.h (assuan_context_s): New var CLIENT_PID.
307         * assuan-pipe-server.c (_assuan_new_context): set default value.
308         * assuan-socket-server.c (accept_connection): get the actual pid.
309
310 2002-02-12  Werner Koch  <wk@gnupg.org>
311
312         * assuan-buffer.c (writen,readline) [USE_GNU_PT]: Use pth_read/write.
313         * assuan-socket-server.c (accept_connection) [USE_GNU_PTH]: Ditto.
314
315 2002-02-01  Marcus Brinkmann  <marcus@g10code.de>
316
317         * Makefile.am (MOSTLYCLEANFILES): New variable.
318
319 2002-01-23  Werner Koch  <wk@gnupg.org>
320
321         * assuan-socket-connect.c (LOGERRORX): and removed typo.
322
323 2002-01-22  Marcus Brinkmann  <marcus@g10code.de>
324
325         * assuan-socket-connect.c (LOGERRORX): Reverse arguments to fputs.
326
327 2002-01-21  Werner Koch  <wk@gnupg.org>
328
329         * assuan-connect.c: Move all except assuan_get_pid to...
330         * assuan-pipe-connect.c: this.
331         (assuan_pipe_disconnect): Removed.
332         (do_finish, do_deinit): New 
333         (assuan_pipe_connect): and set them into the context.
334         * assuan-socket-connect.c: New.
335         
336         * assuan-util.c (_assuan_log_sanitized_string): New.
337
338         * assuan-pipe-server.c (assuan_init_pipe_server): Factored most
339         code out to ...
340         (_assuan_new_context): new func.
341         (_assuan_release_context): New
342         * assuan-connect.c (assuan_pipe_connect): Use the new functions.
343
344 2002-01-20  Werner Koch  <wk@gnupg.org>
345
346         * assuan.h: Added Invalid Option error code.
347
348         * assuan-handler.c (std_handler_option): New.
349         (std_cmd_tbl): Add OPTION as standard command.
350         (assuan_register_option_handler): New.
351         (dispatch_command): Use case insensitive matching as a fallback.
352         (my_strcasecmp): New.
353
354 2002-01-19  Werner Koch  <wk@gnupg.org>
355
356         * assuan-buffer.c (_assuan_read_line): Add output logging.
357         (assuan_write_line): Ditto.
358         (_assuan_cookie_write_data): Ditto.
359         (_assuan_cookie_write_flush): Ditto.
360         * assuan-util.c (_assuan_log_print_buffer): New.
361         (assuan_set_log_stream): New.
362         (assuan_begin_confidential): New.
363         (assuan_end_confidential): New.
364
365         * assuan-defs.h: Add a few handler variables.
366         * assuan-pipe-server.c (assuan_deinit_pipe_server): Removed.
367         (deinit_pipe_server): New.
368         (assuan_deinit_server): New.  Changed all callers to use this.
369         * assuan-listen.c (assuan_accept): Use the accept handler.
370         * assuan-handler.c (process_request): Use the close Handler.
371         * assuan-socket-server.c: New.
372
373 2002-01-14  Werner Koch  <wk@gnupg.org>
374
375         * assuan-client.c (_assuan_read_from_server): Skip spaces after
376         the keyword.
377
378 2002-01-03  Werner Koch  <wk@gnupg.org>
379
380         * assuan-handler.c (assuan_set_okay_line): New.
381         (process_request): And use it here.
382
383 2002-01-02  Werner Koch  <wk@gnupg.org>
384
385         * assuan-inquire.c (init_membuf,put_membuf,get_membuf): Apply a
386         hidden 0 behind the buffer so that the buffer can be used as a
387         string in certain contexts.
388
389 2001-12-14  Marcus Brinkmann  <marcus@g10code.de>
390
391         * assuan-connect.c (assuan_pipe_connect): New argument
392         FD_CHILD_LIST.  Don't close those fds.
393         * assuan.h: Likewise for prototype.
394
395 2001-12-14  Werner Koch  <wk@gnupg.org>
396
397         * assuan-listen.c (assuan_close_input_fd): New.
398         (assuan_close_output_fd): New.
399         * assuan-handler.c (std_handler_reset): Always close them after a
400         reset command.
401         (std_handler_bye): Likewise.
402
403 2001-12-14  Marcus Brinkmann  <marcus@g10code.de>
404
405         * assuan-buffer.c (_assuan_read_line): New variable ATTICLEN, use
406         it to save the length of the attic line.
407         Rediddle the code a bit to make it more clear what happens.
408
409 2001-12-14  Marcus Brinkmann  <marcus@g10code.de>
410
411         * assuan-defs.h (LINELENGTH): Define as ASSUAN_LINELENGTH.
412         assuan.h: Define ASSUAN_LINELENGTH.
413
414 2001-12-13  Marcus Brinkmann  <marcus@g10code.de>
415
416         * assuan-buffer.c (assuan_read_line): Fix order of execution to
417         get correct return values.
418
419 2001-12-13  Werner Koch  <wk@gnupg.org>
420
421         * assuan-handler.c (assuan_get_active_fds): Fixed silly bug,
422         pretty obvious that nobody ever tested this function.
423
424 2001-12-12  Werner Koch  <wk@gnupg.org>
425
426         * assuan-connect.c (assuan_pipe_connect): Implemented the inital
427         handshake.
428         * assuan-client.c (read_from_server): Renamed to  
429         (_assuan_read_from_server): this and made external.
430
431         * assuan-listen.c (assuan_set_hello_line): New.
432         (assuan_accept): Use a custom hello line is available.
433
434         * assuan-buffer.c (assuan_read_line): New.
435         (assuan_pending_line): New.
436         (_assuan_write_line): Renamed to ..
437         (assuan_write_line): this, made public and changed all callers.
438
439 2001-12-04  Werner Koch  <wk@gnupg.org>
440
441         * assuan-connect.c (assuan_pipe_connect): Add more error reporting.
442         * assuan-client.c: New.
443
444         * assuan-inquire.c: New.
445         * assuan-handler.c (process_request): Check for nested invocations.
446
447 2001-11-27  Werner Koch  <wk@gnupg.org>
448
449         * assuan-handler.c (assuan_register_input_notify): New.
450         (assuan_register_output_notify): New.
451
452 2001-11-26  Werner Koch  <wk@gnupg.org>
453
454         * assuan.h: Added more status codes.
455
456 2001-11-25  Werner Koch  <wk@gnupg.org>
457
458         * assuan-handler.c (assuan_register_bye_notify)
459         (assuan_register_reset_notify)
460         (assuan_register_cancel_notify): New and call them from the
461         standard handlers.
462         (assuan_process): Moved bulk of function to ..
463         (process_request): .. new.
464         (assuan_process_next): One shot version of above.
465         (assuan_get_active_fds): New.
466
467 2001-11-24  Werner Koch  <wk@gnupg.org>
468
469         * assuan-connect.c (assuan_get_pid): New.
470
471         * assuan-buffer.c (_assuan_read_line): Deal with reads of more
472         than a line.
473         * assuan-defs.h: Add space in the context for this.
474
475         
476  Copyright 2001, 2002 Free Software Foundation, Inc.
477
478  This file is free software; as a special exception the author gives
479  unlimited permission to copy and/or distribute it, with or without
480  modifications, as long as this notice is preserved.
481
482  This file is distributed in the hope that it will be useful, but
483  WITHOUT ANY WARRANTY, to the extent permitted by law; without even the
484  implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.