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