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