aboutsummaryrefslogtreecommitdiffstats
path: root/src/w32-qt-io.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2016-03-08Remove obsolete w32-qt codeAndre Heinecke1-700/+0
* configure.ac (w32-qt): Remove option and Qt checks. * src/Makefile.am: Remove BUILD_W32_QT handling. * src/kdpipeiodevice.cpp, src/kdpipeiodevice.h, src/kdpipeiodevice.moc, src/w32-qt-io.cpp: Removed. -- This code was intended for Kleopatra but Kleopatra is not using it anymore. QGpgme/dataprovider is a better replacement for this.
2014-04-10Make use of internal iospawn flags more flexible.Werner Koch1-23/+24
* src/priv-io.h (IOSPAWN_FLAG_DETACHED): New. Renumber the others. * src/w32-io.c (_gpgme_io_spawn): Use DETACHED_PROCESS process only if IOSPAWN_FLAG_DETACHED is given. * src/w32-qt-io.cpp (_gpgme_io_spawn): Ditto. * src/w32-glib-io.c (_gpgme_io_spawn): Ditto. * src/assuan-support.c (my_spawn): Pass IOSPAWN_FLAG_DETACHED flags. * src/dirinfo.c (read_gpgconf_dirs): Ditto. * src/engine-gpg.c (start): Ditto. * src/engine-gpgconf.c (gpgconf_read, gpgconf_write): Ditto. * src/version.c (_gpgme_get_program_version): Ditto.
2010-05-062010-05-06 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-1/+0
* w32-glib-io.c, w32-io.c, w32-qt-io.cpp, w32-sema.c, w32-util.c: Do not include <signal.h>.
2009-11-102009-11-10 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-1/+3
* configure.ac: Activate UIServer if FD passing is enabled and Assuan is available. m4/ 2009-11-10 Marcus Brinkmann <[email protected]> * libassuan.m4: Fix LIBASSUAN_VERSION. src/ 2009-11-10 Marcus Brinkmann <[email protected]> * Makefile.am (uiserver_components): New variable. (main_sources): Add it. * ops.h, key.c (_gpgme_key_append_name): Take CONVERT argument, implement it. Adjust callers. (gpgme_key_from_uid): New function. * gpgme.h.in (gpgme_protocol_t): Add GPGME_PROTOCOL_DEFAULT. (gpgme_encrypt_flags_t): Add GPGME_ENCRYPT_PREPARE, GPGME_ENCRYPT_EXPECT_SIGN. (gpgme_set_sub_protocol, gpgme_key_from_uid): New functions. * libgpgme.vers, gpgme.def: Add new functions. * gpgme.c (gpgme_set_protocol): Add UIServer protocol. (gpgme_set_sub_protocol): New function. (gpgme_get_protocol_name): Add UIServer and default protocol. * assuan-support.c: Return correct error values, implement socketpair for POSIX. * priv-io.h, posix-io.c, w32-io.c, w32-glib-io.c, w32-qt-io.cpp (_gpgme_io_spawn): Add ATFORK and ATFORKVALUE arguments. Implement it for POSIX. Adjust all callers. * engine.h, engine-backend.h (_gpgme_engine_set_protocol) (_gpgme_engine_op_decrypt_verify): New prototypes. Adjust all users. * engine.c (engine_ops, gpgme_get_engine_info): Add UIServer engine. (_gpgme_engine_set_protocol, _gpgme_engine_op_decrypt_verify): New function. * decrypt-verify.c (decrypt_verify_start): Call _gpgme_engine_op_decrypt_verify. * util.h, posix-util.c, w32-util.c (_gpgme_get_uiserver_socket_path): New function. * engine-gpgsm.c (gpgsm_set_fd): Fix _gpgme_io_pipe invocation. * gpgme-tool.c: Some support for UIServer protocol. * engine-uiserver.c: New file.
2009-06-12Improved W32 SetForegroundWindow hacks.Werner Koch1-3/+8
2009-04-08assuan/Marcus Brinkmann1-0/+17
2009-04-08 Marcus Brinkmann <[email protected]> * assuan.h (_gpgme_io_socket): New prototype. (_ASSUAN_CUSTOM_IO, _assuan_custom_close, _assuan_custom_read) (_assuan_custom_write, _assuan_custom_pipe, _assuan_custom_socket) (_assuan_custom_connect): New macros. * assuan-socket.c (_assuan_close, _assuan_sock_new) (_assuan_sock_connect) [_ASSUAN_CUSTOM_IO]: Use custom I/O function. * assuan-buffer.c (assuan_read_line): Do not handle EAGAIN anymore. * assuan-client.c (_assuan_read_from_server): Likewise. * assuan-handler.c (process_next): Likewise * assuan-inquire.c (assuan_inquire): Likewise. src/ 2009-04-08 Marcus Brinkmann <[email protected]> * w32-glib-io.c (giochannel_table): New members used, fd, socket. (find_channel): Drop CREATE argument. (new_dummy_channel_from_fd, new_channel_from_fd) (new_channel_from_socket): New functions. (_gpgm_io_fd2str): Implement for sockets. (_gpgme_io_write, _gpgme_io_read): Translate EAGAIN errors correctly. (_gpgme_io_pipe): Fix for new channel bookkeeping. (_gpgme_io_close, _gpgme_io_dup): Likewise. (wsa2errno, _gpgme_io_socket, _gpgme_io_connect): New. * w32-io.c (MAX_READERS, MAX_WRITERS): Bump up to 40. (wsa2errno, _gpgme_io_socket, _gpgme_io_connect): New. * w32-qt-io.cpp (_gpgme_io_socket, _gpgme_io_connect): New stubs. * version.c [HAVE_W32_SYSTEM]: Include "windows.h. (do_subsystem_inits) [HAVE_W32_SYSTEM]: Call WSAStartup. * engine-assuan.c (llass_status_handler): Ignore EAGAIN errors.
2009-02-04Fix spawn prototype for w32 glib and qt versions.Werner Koch1-1/+1
2008-11-03008-11-03 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-0/+0
* configure.ac: Replace gpgme paths with src. * gpgme: Move to ... * src: ... this new directory. assuan/ 2008-11-03 Marcus Brinkmann <[email protected]> * Makefile.am (INCLUDES): Replace gpgme path with src. tests/ 2008-11-03 Marcus Brinkmann <[email protected]> * gpgsm/Makefile.am (INCLUDES, LDADD): Replace gpgme path with src. * gpg/Makefile.am (INCLUDES, LDADD, t_thread1_LDADD): Likewise. * Makefile.am (LDADD): Likewise.
2008-06-25assuan/Marcus Brinkmann1-91/+129
2008-06-25 Marcus Brinkmann <[email protected]> * assuan-pipe-connect.c (struct spawn_fd_item_s): Add new members. (HANDLE_TRANSLATION): New macro. (pipe_connect_gpgme): Adjust caller of _gpgme_io_spawn. [HANDLE_TRANSLATION]: Return translated handles. gpgme/ 2008-06-25 Marcus Brinkmann <[email protected]> * gpgme-w32spawn.c: New file. * Makefile.am (libexec_PROGRAMS) [HAVE_W32_SYSTEM]: New variable with gpgme-w32spawn. * engine-gpgsm.c (gpgsm_new): Use server translated handles. (gpgsm_set_locale): Return early if locale value is NULL. * util.h (_gpgme_mkstemp) (_gpgme_get_w32spawn_path) [HAVE_W32_SYSTEM]: New function prototypes. * w32-util.c: Include <stdint.h>, <sys/stat.h> and <unistd.h>. (letters, mkstemp, _gpgme_mkstemp, _gpgme_get_w32spawn_path): New functions. * rungpg.c (gpg_decrypt, gpg_encrypt, gpg_encrypt_sign) (gpg_genkey, gpg_import, gpg_verify, gpg_sign): Pass data over special filename FD rather than stdin. (struct arg_and_data_s): Add member ARG_LOCP. (struct fd_data_map_s): Add member ARG_LOC. (struct engine_gpg): Add member ARG_LOC to status and colon. (_add_arg, add_arg_with_locp): New function. (add_arg_ext): Reimplement in terms of _add_arg. (gpg_new): Remember argument location for status FD. (build_argv): Set argument location if requested. Also set argument location of fd_data_map for data items. (start): Adjust caller of _gpgme_io_spawn. * priv-io.h (struct spawn_fd_item_s): Add members peer_name and arg_loc. (_gpgme_io_spawn): Remove parent fd list argument. * posix-io.c (get_max_fds): New function. (_gpgme_io_dup): Add tracing. (_gpgme_io_spawn): Remove parent fd list. Change meaning of child fd list to contain all child fds that should be inherited. Close all other file descriptors after fork. * w32-io.c, w32-glib-io.c, w32-qt-io.c(_gpgme_io_spawn): Remove parent fd list. Change meaning of child fd list to contain all child fds that should be inherited. Do not inherit any file descriptors, but DuplicateHandle them. Spawn process through wrapper process. Provide wrapper process with a temporary file containing handle translation data. Return translated handle names. * w32-io.c (reader): Add more tracing output. (_gpgme_io_read): Likewise. * engine-gpgconf.c (gpgconf_read): Adjust caller of _gpgme_io_spawn. * version.c (_gpgme_get_program_version): Likewise.
2008-04-222008-04-22 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-7/+7
* w32-qt-io.cpp, kdpipeiodevice.cpp: New versions from Frank Osterfeld, implement blocking select.
2008-02-14Chnages to supporta pinnetry notificationWerner Koch1-1/+3
2007-10-052007-10-05 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-4/+15
* kdpipeiodevice.cpp, w32-qt-io.cpp: New versions from Frank Osterfeld.
2007-10-042007-10-04 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-64/+40
* kdpipeiodevice.h, kdpipeiodevice.cpp, kdpipeiodevice.moc, w32-qt-io.cpp: New versions from Frank Osterfeld.
2007-10-022007-10-02 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-2/+13
* kdpipeiodevice.cpp, kdpipeiodevice.moc: New versions. * w32-qt-io.cpp (_gpgme_io_fd2str): Print actual_fd if available. (_gpgme_io_dup): Only acquire a reference, do not actually dup. Submitted by Frank Osterfeld.
2007-10-022007-10-02 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-7/+2
* priv-io.h, engine-gpgsm.c: Add comments. * w32-qt-io.cpp (_gpgme_io_select): Remove code handling frozen FDs. * w32-glib-io.c (_gpgme_io_close): Always dereference the channel, even if not primary. (_gpgme_io_dup): Acquire a reference. Replace unused implementation by assertion.
2007-09-272007-09-28 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-24/+55
* kdpipeiodevice.moc, w32-qt-io.cpp, kdpipeiodevice.cpp: New versions from Frank Osterfeld.
2007-09-272007-09-27 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-1/+5
* assuan-pipe-connect.c (pipe_connect_gpgme): Do not close process handle here. Use this function also on Unix systems. gpgme/ 2007-09-27 Marcus Brinkmann <[email protected]> * w32-glib-io.c (_gpgme_io_spawn), w32-qt-io.cpp (_gpgme_io_spawn), w32-io.c (_gpgme_io_spawn): Close the process handle, return 0. tests/ 2007-09-27 Marcus Brinkmann <[email protected]> * t-engine-info.c (check_engine_info): Fix debug output. * gpg/Makefile.am (tests_unix): New variable. (TESTS): Use it. * gpg/t-support.h (passphrase_cb) [HAVE_W32_SYSTEM]: Use WriteFile instead of write. * gpg/t-wait.c [HAVE_W32_SYSTEM]: Define sleep as _sleep.
2007-09-272007-09-27 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-1/+1
* assuan-pipe-connect.c (pipe_connect_gpgme): Fix last change. gpgme/ 2007-09-27 Marcus Brinkmann <[email protected]> * w32-glib-io.c (_gpgme_io_pipe), w32-qt-io.c (_gpgme_io_pipe), w32-io.c (_gpgme_io_pipe), posix-io.c (_gpgme_io_pipe): Fix debug output.
2007-09-252007-09-25 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-0/+3
* kdpipeiodevice.h: Use namespace _gpgme_. * kdpipeiodevice.cpp: Use namespace _gpgme_. [Q_OS_WIN32 && NOMINMAX]: Do not define NOMINMAX again. * w32-qt-io.cpp: Change namespace of KDPipeIODevice to _gpgme_::KDPipeIODevice.
2007-09-072007-09-07 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-17/+13
* configure.ac: Work around for missing Qt cross compilation support. Check for glib and qt only on w32 targets. gpgme/ 2007-09-07 Marcus Brinkmann <[email protected]> * w32-qt-io.cpp (_gpgme_io_spawn): Fix several cast errors and typos. * w32-io.c (_gpgme_io_write): Use TRACE_SYSRES instead of TRACE_SYS. (libgpgme_qt_la_LIBADD): Add QT4_CORE_LIBS, not QT4_CORE_LIB.
2007-09-062007-09-07 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-180/+87
* configure.ac: Check for C++, Qt and support --enable-w32-qt. * m4/pkg.m4: New file. gpgme/ 2007-09-07 Marcus Brinkmann <[email protected]> * kdpipeiodevice.h, kdpipeiodevice.cpp, moc_kdpipeiodevice.cpp, kdpipeiodevice.moc, w32-qt-io.c: New files. * Makefile.am (ltlib_gpgme_extra): Rename to ltlib_gpgme_glib. (ltlib_gpgme_qt): New variable. (lib_LTLIBRARIES): Add $(ltlib_gpgme_qt). (libgpgme_qt_la_SOURCES): New variable. (AM_CPPFLAGS): Add @QT4_CORE_INCLUDES@ (AM_CFLAGS): Add @QT4_CORE_CFLAGS@. (libgpgme_qt_la_LDFLAGS, libgpgme_qt_la_DEPENDENCIES) (libgpgme_qt_la_LIBADD): New variables. * sema.h (struct critsect_s): Rename "private" to "priv" to make C++ users happy. Change users. * posix-sema.c (_gpgme_sema_cs_enter, _gpgme_sema_cs_leave) (_gpgme_sema_cs_destroy): Likewise. * w32-sema.c (critsect_init, _gpgme_sema_cs_enter) (_gpgme_sema_cs_leave, _gpgme_sema_cs_destroy): Likewise. * w32-glib-io.c (gpgme_get_giochannel): Change return type to void*. (gpgme_get_fdptr): New function. * w32-io.c (gpgme_get_fdptr): New function * gpgme.def: Add gpgme_get_fdptr.
2007-08-02Improved debug support: Assuan logging is now directed to the gpgme debugWerner Koch1-1/+2
stream. Create processes detached.
2007-07-172007-07-17 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-185/+216
* debug.c:;5B Include <errno.h> and "debug.h". (_gpgme_debug): Save and restore ERRNO. (TOHEX): New macro. (_gpgme_debug_buffer): New function. * conversion.c, data-compat.c, data-mem.c, data.c, engine-gpgsm.c, gpgme.c, keylist.c, posix-io.c, rungpg.c, sign.c, version.c, w32-io.c, wait.c: Replace DEBUG macros by TRACE_* variants. In most of these files, add many more tracepoints.
2007-07-162007-07-16 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-0/+7
* assuan/assuan-socket.c (_assuan_close): Always use close(). * assuan/assuan.h (_gpgme_io_close): New prototype. (close): New macro, define as _gpgme_io_close. gpgme/ 2007-07-16 Marcus Brinkmann <[email protected]> * w32-io.c (struct reader_context_s, struct writer_context_s): New members REFCOUNT. (create_reader, create_writer): Initialize C->refcount to 1. (destroy_reader, destroy_writer): Only destroy if C->refcount drops to 0. (find_reader, find_writer, kill_reader, kill_writer): Beautify. * priv-io.h (_gpgme_io_dup): New prototype. * posix-io.c (_gpgme_io_dup): New function. * w32-io.c (_gpgme_io_dup): Likewise. * w32-glib-io.c (_gpgme_io_dup): Likewise. * engine-gpgsm.c (start): Reverting to version 2007-07-10.
2007-07-132007-07-13 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-12/+8
* Revert the "close_notify_handler" returns int stuff. Always close in the _gpgme_io_close implementations. * engine-gpgsm.c (status_handler): Try to terminate the connection in case of error. * w32-io.c (_gpgme_io_read): Return C->error_code in ERRNO. (_gpgme_io_write): Likewise.
2007-07-132007-07-13 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-19/+16
* assuan/assuan-io.c (_assuan_simple_read, _assuan_simple_write): Always use read/write (which means _gpgme_io_read and _gpgme_io_write). gpgme/ 2007-07-13 Marcus Brinkmann <[email protected]> * priv-io.h (_gpgme_io_set_close_notify): Change type of HANDLER to _gpgme_close_notify_handler. (_gpgme_close_notify_handler): New type. (_gpgme_io_dup): Remove prototype. * posix-io.c (notify_table, _gpgme_io_set_close_notify): Change type of HANDLER to _gpgme_close_notify_handler_t. (_gpgme_io_close): Do not close the FD if handler returns 0. (_gpgme_io_dup): Remove function. * w32-io.c (notify_table, _gpgme_io_set_close_notify, _gpgme_io_close): Change type of HANDLER to _gpgme_close_notify_handler_t. (_gpgme_io_close): Do not close the FD if handler returns 0. (_gpgme_io_dup): Remove function. * w32-glib-io.c (_gpgme_io_dup): Remove function. (_gpgme_io_set_close_notify, notify_table): Change type of HANDLER to _gpgme_close_notify_handler_t. (_gpgme_io_close): Do not close the FD if handler returns 0. * rungpg.c (close_notify_handler): Change return type to int, return 1. * engine-gpgsm.c (close_notify_handler): Change return type to int, return 0 for status FD and 1 for all other FDs. (start): Do not duplicate the status FD.
2007-07-102007-07-10 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-0/+8
* priv-io.h (_gpgme_io_dup): New prototype. * posix-io.c (_gpgme_io_dup): New function. * w32-io.c (_gpgme_io_dup): Likewise. * w32-glib-io.c (_gpgme_io_dup): Likewise. * engine-gpgsm.c (start): Use _gpgme_dup() instead of dup().
2007-01-26/Werner Koch1-1/+1
* configure.ac: Changed gpg and gpgsm version checks to work with arbitrary names of the gpg binary. New option --disable-gpg-test and --disable-gpgsm-test. gpgme/ * w32-io.c (build_commandline): Fixed stupid quoting bug. * w32-glib-io.c (build_commandline): Ditto. * rungpg.c (gpg_set_locale): Avoid dangling pointer after free. * gpgme-config.in: New options --get-gpg and --get-gpgsm.
2007-01-172007-01-17 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-25/+45
* w32-io.c (build_commandline): Quote all command line arguments. * w32-glib-io.c (build_commandline): Likewise.
2006-02-282006-02-28 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-1/+8
* w32-glib-io.c (O_BINARY) [!O_BINARY]: New macro. (_gpgme_io_pipe): Open pipes in binary mode.
2006-01-05Minor glib fix.Werner Koch1-4/+9
Pretty up debug output.
2006-01-032006-01-03 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-2/+2
* w32-glib-io.c (_gpgme_io_close): Only close fd if there is no channel for it.
2005-12-31Fix last change.Marcus Brinkmann1-2/+0
2005-12-312005-12-31 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-4/+10
* w32-glib-io.c (find_channel): Set channel to unbuffered. (_gpgme_io_select): Fix debug output.
2005-11-242005-11-24 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-3/+0
* w32-glib-io.c (_gpgme_io_fd2str): Remove debug printf.
2005-11-18GPA does now work with the glib based i/o backend.Werner Koch1-42/+85
2005-11-182005-11-18 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-146/+152
* priv-io.h (_gpgme_io_fd2str): New prototype. * posix-io.c (_gpgme_io_fd2str): New function. * w32-io.c (_gpgme_io_fd2str): New function. * rungpg.c: Use this new function. * w32-glib-io.c (_gpgme_io_fd2str): Rewrote the file handle code again. Two's company, three's the musketeers.
2005-11-182005-11-18 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-70/+148
* w32-glib-io.c: Rewrote the file handle code. We don't create system fds for every handle (doesn't work for inherited handles), but we create pseudo fds in a private namespace that designate a handle and potentially a giochannel.
2005-11-172005-11-17 Marcus Brinkmann <[email protected]>Marcus Brinkmann1-0/+502
* configure.ac: Add support for --enable-w32-glib (disabled by default). Invoke AM_PATH_GLIB_2_0. gpgme/ 2005-11-17 Marcus Brinkmann <[email protected]> * w32-glib-io.c: New file. * gpgme.def (gpgme_get_giochannel): Add symbol. * Makefile.am (system_components) [HAVE_DOSISH_SYSTEM]: Remove w32-io.c. (ltlib_gpgme_extra): New variable. (lib_LTLIBRARIES): Add $(ltlib_gpgme_extra). (system_components_not_extra): New variable. (libgpgme_la_SOURCES, libgpgme_pthread_la_SOURCES, (libgpgme_pth_la_SOURCES): Add $(system_components_not_extra). (libgpgme_glib_la_LDFLAGS, libgpgme_glib_la_DEPENDENCIES, (libgpgme_glib_la_LIBADD, libgpgme_glib_la_CFLAGS) [BUILD_W32_GLIB]: New variables. * gpgme-config.in (glib): New option. * gpgme.m4 (AM_PATH_GPGME_GLIB): New macro. m4/ 2005-11-17 Marcus Brinkmann <[email protected]> * glib-2.0.m4: New file.