ttyname in gpgme when running Android

Abel Luck abel at guardianproject.info
Tue Dec 11 15:29:09 CET 2012


Werner Koch:
> On Tue, 11 Dec 2012 14:31, abel at guardianproject.info said:
> 
>> Hi Werner, any updates on making Android avoid the ttyname() codepaths?
> 
> Please disregard my previous mail.  It should work since some time but I
> probably missed to tell you:
> 
> commit 835698b72bc509565aad52b0753f1c56c1a8f062
> Author: Werner Koch <wk at gnupg.org>
> Date:   Tue Nov 20 19:01:13 2012 +0100
> 
>     Do not use a broken ttyname.
>     
>     * configure.ac (HAVE_BROKEN_TTYNAME): New ac_define set for Android
>     systems.
>     * common/util.h (gnupg_ttyname): New macro.  Change all callers of
>     ttyname to use this macro instead.
>     (ttyname) [W32]: Rename to _gnupg_ttyname and use also if
>     HAVE_BROKEN_TTYNAME is defined.
>     * common/simple-pwquery.c (agent_send_all_options): Keep on using
>     ttyname unless HAVE_BROKEN_TTYNAME is set.  This is because this file
>     may be used standalone.
> 
> 
Yes, I've tested this commit. But it just causes linker errors (as
should be expected):

In function `session_env_getenv_or_default':
~src/guardian/gnupg-for-android/external/gnupg/common/session-env.c:341:
undefined reference to `broken_native_ttyname'

On android we want to avoid the ttyname code all together (presumably
like W32 does?).

In gpgme we the REPLACE_TTYNAME magic from gpgme/m4/gnupg-ttyname.m4
needs to be ported to gnupg as well.

~abel
> 
> Salam-Shalom,
> 
>    Werner
> 
> 




More information about the Gnupg-devel mailing list