From cvs at cvs.gnupg.org Wed Dec 1 15:32:20 2010 From: cvs at cvs.gnupg.org (svn author marcus) Date: Wed, 01 Dec 2010 15:32:20 +0100 Subject: [svn] w32pth - r46 - trunk Message-ID: Author: marcus Date: 2010-12-01 15:32:20 +0100 (Wed, 01 Dec 2010) New Revision: 46 Modified: trunk/ChangeLog trunk/w32-pth.c Log: 2010-12-01 Marcus Brinkmann * w32-pth.c (w32ce_timer_thread): Use earliest timer, not latest. Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-11-26 21:38:00 UTC (rev 45) +++ trunk/ChangeLog 2010-12-01 14:32:20 UTC (rev 46) @@ -1,3 +1,7 @@ +2010-12-01 Marcus Brinkmann + + * w32-pth.c (w32ce_timer_thread): Use earliest timer, not latest. + 2010-11-26 Werner Koch * w32-pth.c: Repalce all fprintf to DBGFP my _pth-debug calls. Modified: trunk/w32-pth.c =================================================================== --- trunk/w32-pth.c 2010-11-26 21:38:00 UTC (rev 45) +++ trunk/w32-pth.c 2010-12-01 14:32:20 UTC (rev 46) @@ -527,7 +527,7 @@ if (w32ce_timer[idx].event && w32ce_timer[idx].active) { any = 1; - if (w32ce_timer[idx].remaining > timeout) + if (w32ce_timer[idx].remaining < timeout) timeout = w32ce_timer[idx].remaining; } } From cvs at cvs.gnupg.org Thu Dec 2 00:18:45 2010 From: cvs at cvs.gnupg.org (svn author marcus) Date: Thu, 02 Dec 2010 00:18:45 +0100 Subject: [svn] w32pth - r47 - trunk Message-ID: Author: marcus Date: 2010-12-02 00:18:44 +0100 (Thu, 02 Dec 2010) New Revision: 47 Modified: trunk/ChangeLog trunk/w32-pth.c Log: 2010-12-02 Marcus Brinkmann * w32-pth.c (w32ce_timer_thread): Oops. Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-12-01 14:32:20 UTC (rev 46) +++ trunk/ChangeLog 2010-12-01 23:18:44 UTC (rev 47) @@ -1,3 +1,7 @@ +2010-12-02 Marcus Brinkmann + + * w32-pth.c (w32ce_timer_thread): Oops. (Fix last change.) + 2010-12-01 Marcus Brinkmann * w32-pth.c (w32ce_timer_thread): Use earliest timer, not latest. Modified: trunk/w32-pth.c =================================================================== --- trunk/w32-pth.c 2010-12-01 14:32:20 UTC (rev 46) +++ trunk/w32-pth.c 2010-12-01 23:18:44 UTC (rev 47) @@ -511,7 +511,7 @@ static DWORD CALLBACK w32ce_timer_thread (void *arg) { - int idx, any; + int idx; DWORD timeout, elapsed, lasttick; (void)arg; @@ -520,21 +520,18 @@ for (;;) { elapsed = lasttick; /* Get start time. */ - timeout = 0; + timeout = INFINITE; EnterCriticalSection (&w32ce_timer_cs); - for (idx=any=0; idx < DIM (w32ce_timer); idx++) + for (idx=0; idx < DIM (w32ce_timer); idx++) { if (w32ce_timer[idx].event && w32ce_timer[idx].active) { - any = 1; if (w32ce_timer[idx].remaining < timeout) timeout = w32ce_timer[idx].remaining; } } LeaveCriticalSection (&w32ce_timer_cs); - if (!any) - timeout = INFINITE; - else if (timeout > 0x7fffffff) + if (timeout != INFINITE && timeout > 0x7fffffff) timeout = 0x7fffffff; switch (WaitForSingleObject (w32ce_timer_ev, (DWORD)timeout)) { From cvs at cvs.gnupg.org Thu Dec 2 14:53:19 2010 From: cvs at cvs.gnupg.org (svn author wk) Date: Thu, 02 Dec 2010 14:53:19 +0100 Subject: [svn] GnuPG - r5490 - trunk/agent Message-ID: Author: wk Date: 2010-12-02 14:53:18 +0100 (Thu, 02 Dec 2010) New Revision: 5490 Modified: trunk/agent/gpg-agent.c Log: Remove recently added debug output Modified: trunk/agent/gpg-agent.c =================================================================== --- trunk/agent/gpg-agent.c 2010-11-29 06:49:44 UTC (rev 5489) +++ trunk/agent/gpg-agent.c 2010-12-02 13:53:18 UTC (rev 5490) @@ -1429,7 +1429,6 @@ } } - log_debug ("returning notify handle %p\n", the_event); return the_event; } #endif /*HAVE_W32_SYSTEM && !HAVE_W32CE_SYSTEM*/ @@ -1800,11 +1799,9 @@ { ctrl_t ctrl = arg; - if (opt.verbose) - log_debug ("handler 0x%lx checking nonce\n", pth_thread_id ()); if (check_nonce (ctrl, &socket_nonce)) { - log_debug ("handler 0x%lx nonce check FAILED\n", pth_thread_id ()); + log_error ("handler 0x%lx nonce check FAILED\n", pth_thread_id ()); return NULL; } @@ -1924,7 +1921,6 @@ for (;;) { - log_debug ("%s: Begin main loop\n", __func__); /* Make sure that our signals are not blocked. */ pth_sigmask (SIG_UNBLOCK, &sigs, NULL); @@ -1934,7 +1930,6 @@ if (pth_ctrl (PTH_CTRL_GETTHREADS) == 1) break; /* ready */ - log_debug ("%s: shutdown pending\n", __func__); /* Do not accept new connections but keep on running the loop to cope with the timer events. */ FD_ZERO (&fdset); @@ -1953,7 +1948,6 @@ nexttick.tv_usec = 0; } time_ev = pth_event (PTH_EVENT_TIME, nexttick); - log_debug ("%s: time event created\n", __func__); } /* POSIX says that fd_set should be implemented as a structure, @@ -1963,9 +1957,7 @@ if (time_ev) pth_event_concat (ev, time_ev, NULL); - log_debug ("%s: Pre-select\n", __func__); ret = pth_select_ev (nfd+1, &read_fdset, NULL, NULL, NULL, ev); - log_debug ("%s: Post-select res=%d\n", __func__, ret); if (time_ev) pth_event_isolate (time_ev); @@ -1996,10 +1988,8 @@ continue; } - log_debug ("%s: Checking events\n", __func__); if (pth_event_occurred (ev)) { - log_debug ("%s: Got event\n", __func__); #if defined(HAVE_W32_SYSTEM) && defined(PTH_EVENT_HANDLE) agent_sigusr2_action (); #else @@ -2009,14 +1999,12 @@ if (time_ev && pth_event_occurred (time_ev)) { - log_debug ("%s: Got tick event\n", __func__); pth_event_free (time_ev, PTH_FREE_ALL); time_ev = NULL; handle_tick (); } - log_debug ("%s: Restore mask\n", __func__); /* We now might create new threads and because we don't want any signals (as we are handling them here) to be delivered to a new thread. Thus we need to block those signals. */ @@ -2026,11 +2014,9 @@ { ctrl_t ctrl; - log_debug ("%s: Pre-accept\n", __func__); plen = sizeof paddr; fd = INT2FD (pth_accept (FD2INT(listen_fd), (struct sockaddr *)&paddr, &plen)); - log_debug ("%s: Post-accept fd=%d\n", __func__, fd); if (fd == GNUPG_INVALID_FD) { log_error ("accept failed: %s\n", strerror (errno)); @@ -2052,7 +2038,6 @@ { char threadname[50]; - log_debug ("%s: Spawning handler\n", __func__); snprintf (threadname, sizeof threadname-1, "conn fd=%d (gpg)", FD2INT(fd)); threadname[sizeof threadname -1] = 0; @@ -2065,7 +2050,6 @@ assuan_sock_close (fd); xfree (ctrl); } - log_debug ("%s: handler spawned\n", __func__); } fd = GNUPG_INVALID_FD; } @@ -2075,7 +2059,6 @@ { ctrl_t ctrl; - log_debug ("%s: SSH STUFF!\n", __func__); plen = sizeof paddr; fd = INT2FD(pth_accept (FD2INT(listen_fd_ssh), (struct sockaddr *)&paddr, &plen)); @@ -2116,10 +2099,8 @@ } fd = GNUPG_INVALID_FD; } - log_debug ("%s: End main loop\n", __func__); } - log_debug ("%s: main loop terminated\n", __func__); pth_event_free (ev, PTH_FREE_ALL); if (time_ev) pth_event_free (time_ev, PTH_FREE_ALL); From cvs at cvs.gnupg.org Thu Dec 2 14:56:28 2010 From: cvs at cvs.gnupg.org (svn author wk) Date: Thu, 02 Dec 2010 14:56:28 +0100 Subject: [svn] GnuPG - r5491 - trunk/common Message-ID: Author: wk Date: 2010-12-02 14:56:28 +0100 (Thu, 02 Dec 2010) New Revision: 5491 Modified: trunk/common/ChangeLog trunk/common/logging.c Log: Add logging to GPG2: [W32CE]. Modified: trunk/common/ChangeLog =================================================================== --- trunk/common/ChangeLog 2010-12-02 13:53:18 UTC (rev 5490) +++ trunk/common/ChangeLog 2010-12-02 13:56:28 UTC (rev 5491) @@ -1,3 +1,9 @@ +2010-12-02 Werner Koch + + * logging.c (fun_cookie_s) [W32CE]: Add field USE_WRITEFILE. + (fun_writer) [W32CE]: Make use of it. + (set_file_fd) [W32CE]: Implement special filename "GPG2:". + 2010-11-25 Werner Koch * asshelp.c (start_new_gpg_agent): Change style of startup info. Modified: trunk/common/logging.c =================================================================== --- trunk/common/logging.c 2010-12-02 13:53:18 UTC (rev 5490) +++ trunk/common/logging.c 2010-12-02 13:56:28 UTC (rev 5491) @@ -117,6 +117,9 @@ int quiet; int want_socket; int is_socket; +#ifdef HAVE_W32CE_SYSTEM + int use_writefile; +#endif char name[1]; }; @@ -356,9 +359,21 @@ } log_socket = cookie->fd; - if (cookie->fd != -1 && !writen (cookie->fd, buffer, size, cookie->is_socket)) - return (ssize_t)size; /* Okay. */ - + if (cookie->fd != -1) + { +#ifdef HAVE_W32CE_SYSTEM + if (cookie->use_writefile) + { + DWORD nwritten; + + WriteFile ((HANDLE)cookie->fd, buffer, size, &nwritten, NULL); + return (ssize_t)size; /* Okay. */ + } +#endif + if (!writen (cookie->fd, buffer, size, cookie->is_socket)) + return (ssize_t)size; /* Okay. */ + } + if (!running_detached && cookie->fd != -1 && isatty (es_fileno (es_stderr))) { @@ -400,6 +415,9 @@ { estream_t fp; int want_socket; +#ifdef HAVE_W32CE_SYSTEM + int use_writefile = 0; +#endif struct fun_cookie_s *cookie; /* Close an open log stream. */ @@ -423,7 +441,24 @@ else if (name && !strncmp (name, "socket://", 9) && name[9]) want_socket = 2; #endif /*HAVE_W32_SYSTEM*/ +#ifdef HAVE_W32CE_SYSTEM + else if (name && !strcmp (name, "GPG2:")) + { + HANDLE hd; + ActivateDevice (L"Drivers\\GnuPG_Log", 0); + /* Ignore a filename and write the debug output to the GPG2: + device. */ + hd = CreateFile (L"GPG2:", GENERIC_WRITE, + FILE_SHARE_READ | FILE_SHARE_WRITE, + NULL, OPEN_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL); + fd = (hd == INVALID_HANDLE_VALUE)? -1 : (int)hd; + name = NULL; + force_prefixes = 1; + use_writefile = 1; + } +#endif /*HAVE_W32CE_SYSTEM*/ + /* Setup a new stream. */ /* The xmalloc below is justified because we can expect that this @@ -434,6 +469,9 @@ cookie->quiet = 0; cookie->is_socket = 0; cookie->want_socket = want_socket; +#ifdef HAVE_W32CE_SYSTEM + cookie->use_writefile = use_writefile; +#endif if (!name) cookie->fd = fd; else if (want_socket) From cvs at cvs.gnupg.org Thu Dec 2 15:10:44 2010 From: cvs at cvs.gnupg.org (svn author wk) Date: Thu, 02 Dec 2010 15:10:44 +0100 Subject: [svn] GnuPG - r5492 - trunk/doc Message-ID: Author: wk Date: 2010-12-02 15:10:44 +0100 (Thu, 02 Dec 2010) New Revision: 5492 Modified: trunk/doc/debugging.texi trunk/doc/gpg-agent.texi trunk/doc/tools.texi Log: Describe new log facilities. Modified: trunk/doc/debugging.texi =================================================================== --- trunk/doc/debugging.texi 2010-12-02 13:56:28 UTC (rev 5491) +++ trunk/doc/debugging.texi 2010-12-02 14:10:44 UTC (rev 5492) @@ -104,6 +104,17 @@ backend and may change from release to release. + at item Logging on WindowsCE + +For development, the best logging method on WindowsCE is the use of +remote debugging using a log file name of @file{tcp://:}. +The command @command{watchgnupg} may be used on the remote host to listen +on the given port. (@pxref{option watchgnupg --tcp}). For in the field +tests it is better to make use of the logging facility provided by the + at command{gpgcedev} driver (part of libassuan); this is enabled by using +a log file name of @file{GPG2:}. (@pxref{option --log-file}). + + @end itemize Modified: trunk/doc/gpg-agent.texi =================================================================== --- trunk/doc/gpg-agent.texi 2010-12-02 13:56:28 UTC (rev 5491) +++ trunk/doc/gpg-agent.texi 2010-12-02 14:10:44 UTC (rev 5492) @@ -331,12 +331,13 @@ Tell the pinentry not to grab the keyboard and mouse. This option should in general not be used to avoid X-sniffing attacks. + at anchor{option --log-file} @item --log-file @var{file} @opindex log-file Append all logging output to @var{file}. This is very helpful in seeing what the agent actually does. If neither a log file nor a log file descriptor has been set on a Windows platform, the Registry entry - at var{HKCU\Software\GNU\GnuPG:DefaultLogFile}, if set, is used to specify + at code{HKCU\Software\GNU\GnuPG:DefaultLogFile}, if set, is used to specify the logging output. Modified: trunk/doc/tools.texi =================================================================== --- trunk/doc/tools.texi 2010-12-02 13:56:28 UTC (rev 5491) +++ trunk/doc/tools.texi 2010-12-02 14:10:44 UTC (rev 5492) @@ -71,6 +71,7 @@ @opindex force Delete an already existing socket file. + at anchor{option watchgnupg --tcp} @item --tcp @var{n} Instead of reading from a local socket, listen for connects on TCP port @var{n}. From cvs at cvs.gnupg.org Thu Dec 2 16:49:04 2010 From: cvs at cvs.gnupg.org (svn author wk) Date: Thu, 02 Dec 2010 16:49:04 +0100 Subject: [svn] GnuPG - r5493 - in trunk: . agent common g10 sm tools Message-ID: Author: wk Date: 2010-12-02 16:49:02 +0100 (Thu, 02 Dec 2010) New Revision: 5493 Modified: trunk/NEWS trunk/agent/cvt-openpgp.c trunk/common/ChangeLog trunk/common/audit.c trunk/common/miscellaneous.c trunk/common/util.h trunk/g10/ChangeLog trunk/g10/misc.c trunk/sm/encrypt.c trunk/sm/gpgsm.c trunk/tools/ChangeLog trunk/tools/no-libgcrypt.c Log: s/AES/AES128/ in diagnostics and --list-config Modified: trunk/common/ChangeLog =================================================================== --- trunk/common/ChangeLog 2010-12-02 14:10:44 UTC (rev 5492) +++ trunk/common/ChangeLog 2010-12-02 15:49:02 UTC (rev 5493) @@ -1,5 +1,8 @@ 2010-12-02 Werner Koch + * miscellaneous.c (gnupg_cipher_algo_name): New. Replace all + users of gcry_cipher_algo_name by this one. + * logging.c (fun_cookie_s) [W32CE]: Add field USE_WRITEFILE. (fun_writer) [W32CE]: Make use of it. (set_file_fd) [W32CE]: Implement special filename "GPG2:". Modified: trunk/g10/ChangeLog =================================================================== --- trunk/g10/ChangeLog 2010-12-02 14:10:44 UTC (rev 5492) +++ trunk/g10/ChangeLog 2010-12-02 15:49:02 UTC (rev 5493) @@ -1,3 +1,7 @@ +2010-12-02 Werner Koch + + * misc.c (openpgp_cipher_algo_name): Use gnupg_cipher_algo_name. + 2010-11-23 Werner Koch * Makefile.am (gpg2_LDFLAGS, gpgv2_LDFLAGS): Add extra_bin_ldflags. Modified: trunk/tools/ChangeLog =================================================================== --- trunk/tools/ChangeLog 2010-12-02 14:10:44 UTC (rev 5492) +++ trunk/tools/ChangeLog 2010-12-02 15:49:02 UTC (rev 5493) @@ -1,3 +1,7 @@ +2010-12-02 Werner Koch + + * no-libgcrypt.c (gcry_cipher_algo_name): New. + 2010-11-23 Werner Koch * Makefile.am (gpgconf_LDFLAGS): Add extra_bin_ldflags. @@ -1218,7 +1222,7 @@ 2004-01-10 Werner Koch * Makefile.am: Use GPG_ERROR_CFLAGS - + 2004-01-05 Werner Koch * Manifest: New. Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2010-12-02 14:10:44 UTC (rev 5492) +++ trunk/NEWS 2010-12-02 15:49:02 UTC (rev 5493) @@ -7,7 +7,12 @@ * Fixed a bug where SCdaemon sends a signal to Gpg-agent running in non-daemon mode. + * Print "AES128" instead of "AES". This change introduces a little + incompatibility for tools using "gpg --list-config". We hope that + these tools are written robust enough to accept this new algorithm + name as well. + Noteworthy changes in version 2.1.0beta1 (2010-10-26) ----------------------------------------------------- Modified: trunk/agent/cvt-openpgp.c =================================================================== --- trunk/agent/cvt-openpgp.c 2010-12-02 14:10:44 UTC (rev 5492) +++ trunk/agent/cvt-openpgp.c 2010-12-02 15:49:02 UTC (rev 5493) @@ -283,7 +283,7 @@ the OpenPGP algorithm numbers map one-to-one to the Libgcrypt numbers. */ log_info (_("protection algorithm %d (%s) is not supported\n"), - protect_algo, gcry_cipher_algo_name (protect_algo)); + protect_algo, gnupg_cipher_algo_name (protect_algo)); return gpg_error (GPG_ERR_CIPHER_ALGO); } Modified: trunk/common/audit.c =================================================================== --- trunk/common/audit.c 2010-12-02 14:10:44 UTC (rev 5492) +++ trunk/common/audit.c 2010-12-02 15:49:02 UTC (rev 5493) @@ -769,7 +769,7 @@ { algo = gcry_cipher_map_name (item->string); if (algo) - writeout_rem (ctx, _("algorithm: %s"), gcry_cipher_algo_name (algo)); + writeout_rem (ctx, _("algorithm: %s"), gnupg_cipher_algo_name (algo)); else if (item->string && !strcmp (item->string, "1.2.840.113549.3.2")) writeout_rem (ctx, _("unsupported algorithm: %s"), "RC2"); else if (item->string) @@ -909,14 +909,14 @@ algo = item? item->intvalue : 0; writeout_li (ctx, algo?"Yes":"No", "%s", _("Encryption algorithm supported")); if (algo) - writeout_rem (ctx, _("algorithm: %s"), gcry_cipher_algo_name (algo)); + writeout_rem (ctx, _("algorithm: %s"), gnupg_cipher_algo_name (algo)); item = find_log_item (ctx, AUDIT_BAD_DATA_CIPHER_ALGO, 0); if (item && item->string) { algo = gcry_cipher_map_name (item->string); if (algo) - writeout_rem (ctx, _("algorithm: %s"), gcry_cipher_algo_name (algo)); + writeout_rem (ctx, _("algorithm: %s"), gnupg_cipher_algo_name (algo)); else if (item->string && !strcmp (item->string, "1.2.840.113549.3.2")) writeout_rem (ctx, _("unsupported algorithm: %s"), "RC2"); else if (item->string) Modified: trunk/common/miscellaneous.c =================================================================== --- trunk/common/miscellaneous.c 2010-12-02 14:10:44 UTC (rev 5492) +++ trunk/common/miscellaneous.c 2010-12-02 15:49:02 UTC (rev 5493) @@ -95,7 +95,24 @@ gcry_set_outofcore_handler (my_gcry_outofcore_handler, NULL); } +/* A wrapper around gcry_cipher_algo_name to return the string + "AES-128" instead of "AES". Given that we have an alias in + libgcrypt for it, it does not harm to too much to return this other + string. Some users complained that we print "AES" but "AES192" + and "AES256". We can't fix that in libgcrypt but it is pretty + safe to do it in an application. */ +const char * +gnupg_cipher_algo_name (int algo) +{ + const char *s; + s = gcry_cipher_algo_name (algo); + if (!strcmp (s, "AES")) + s = "AES128"; + return s; +} + + /* Decide whether the filename is stdout or a real filename and return * an appropriate string. */ const char * Modified: trunk/common/util.h =================================================================== --- trunk/common/util.h 2010-12-02 14:10:44 UTC (rev 5492) +++ trunk/common/util.h 2010-12-02 15:49:02 UTC (rev 5493) @@ -255,6 +255,9 @@ /* This is now an alias to estream_asprintf. */ char *xtryasprintf (const char *fmt, ...) JNLIB_GCC_A_PRINTF(1,2); +/* Replacement for gcry_cipher_algo_name. */ +const char *gnupg_cipher_algo_name (int algo); + const char *print_fname_stdout (const char *s); const char *print_fname_stdin (const char *s); void print_utf8_buffer2 (estream_t fp, const void *p, size_t n, int delim); Modified: trunk/g10/misc.c =================================================================== --- trunk/g10/misc.c 2010-12-02 14:10:44 UTC (rev 5492) +++ trunk/g10/misc.c 2010-12-02 15:49:02 UTC (rev 5493) @@ -409,7 +409,7 @@ const char * openpgp_cipher_algo_name (int algo) { - return gcry_cipher_algo_name (map_cipher_openpgp_to_gcry (algo)); + return gnupg_cipher_algo_name (map_cipher_openpgp_to_gcry (algo)); } int Modified: trunk/sm/encrypt.c =================================================================== --- trunk/sm/encrypt.c 2010-12-02 14:10:44 UTC (rev 5492) +++ trunk/sm/encrypt.c 2010-12-02 15:49:02 UTC (rev 5493) @@ -86,7 +86,7 @@ case GCRY_CIPHER_DES: case GCRY_CIPHER_RFC2268_40: log_error ("cipher algorithm `%s' not allowed: too weak\n", - gcry_cipher_algo_name (dek->algo)); + gnupg_cipher_algo_name (dek->algo)); return gpg_error (GPG_ERR_UNSUPPORTED_ALGORITHM); default: break; Modified: trunk/sm/gpgsm.c =================================================================== --- trunk/sm/gpgsm.c 2010-12-02 14:10:44 UTC (rev 5492) +++ trunk/sm/gpgsm.c 2010-12-02 15:49:02 UTC (rev 5493) @@ -553,7 +553,7 @@ case 33: p = _("\nSupported algorithms:\n"); break; case 34: if (!ciphers) - ciphers = build_list ("Cipher: ", gcry_cipher_algo_name, + ciphers = build_list ("Cipher: ", gnupg_cipher_algo_name, our_cipher_test_algo ); p = ciphers; break; Modified: trunk/tools/no-libgcrypt.c =================================================================== --- trunk/tools/no-libgcrypt.c 2010-12-02 14:10:44 UTC (rev 5492) +++ trunk/tools/no-libgcrypt.c 2010-12-02 15:49:02 UTC (rev 5493) @@ -152,3 +152,10 @@ log_fatal ("unexpected call to gcry_create_nonce\n"); } + + +const char * +gcry_cipher_algo_name (int algo) +{ + return "?"; +} From cvs at cvs.gnupg.org Thu Dec 2 19:40:04 2010 From: cvs at cvs.gnupg.org (svn author wk) Date: Thu, 02 Dec 2010 19:40:04 +0100 Subject: [svn] GnuPG - r5494 - trunk/agent Message-ID: Author: wk Date: 2010-12-02 19:40:03 +0100 (Thu, 02 Dec 2010) New Revision: 5494 Modified: trunk/agent/ChangeLog trunk/agent/gpg-agent.c Log: Change timer tick interval under Wince Modified: trunk/agent/ChangeLog =================================================================== --- trunk/agent/ChangeLog 2010-12-02 15:49:02 UTC (rev 5493) +++ trunk/agent/ChangeLog 2010-12-02 18:40:03 UTC (rev 5494) @@ -1,3 +1,8 @@ +2010-12-02 Werner Koch + + * gpg-agent.c (CHECK_OWN_SOCKET_INTERVAL) [W32CE]: Set to 60 + seconds. + 2010-11-29 Werner Koch * cache.c (initialize_module_cache): Factor code out to ... Modified: trunk/agent/gpg-agent.c =================================================================== --- trunk/agent/gpg-agent.c 2010-12-02 15:49:02 UTC (rev 5493) +++ trunk/agent/gpg-agent.c 2010-12-02 18:40:03 UTC (rev 5494) @@ -195,20 +195,20 @@ /* The timer tick used for housekeeping stuff. For Windows we use a longer period as the SetWaitableTimer seems to signal earlier than - the 2 seconds. */ -#ifdef HAVE_W32_SYSTEM -#define TIMERTICK_INTERVAL (4) + the 2 seconds. CHECK_OWN_SOCKET_INTERVAL defines how often we + check our own socket in standard socket mode. If that value is 0 + we don't check at all. All values are in seconds. */ +#if defined(HAVE_W32CE_SYSTEM) +# define TIMERTICK_INTERVAL (60) +# define CHECK_OWN_SOCKET_INTERVAL (0) /* Never */ +#elif defined(HAVE_W32_SYSTEM) +# define TIMERTICK_INTERVAL (4) +# define CHECK_OWN_SOCKET_INTERVAL (60) #else -#define TIMERTICK_INTERVAL (2) /* Seconds. */ +# define TIMERTICK_INTERVAL (2) +# define CHECK_OWN_SOCKET_INTERVAL (60) #endif -/* How often shall we check our own socket in standard socket mode. - If that value is 0 we don't check at all. */ -#ifdef HAVE_W32_SYSTEM -# define CHECK_OWN_SOCKET_INTERVAL (0) -#else -# define CHECK_OWN_SOCKET_INTERVAL (60) /* Seconds. */ -#endif /* The list of open file descriptors at startup. Note that this list has been allocated using the standard malloc. */ From cvs at cvs.gnupg.org Wed Dec 8 10:55:01 2010 From: cvs at cvs.gnupg.org (svn author wk) Date: Wed, 08 Dec 2010 10:55:01 +0100 Subject: [svn] gpgme - r1511 - trunk/src Message-ID: Author: wk Date: 2010-12-08 10:55:00 +0100 (Wed, 08 Dec 2010) New Revision: 1511 Modified: trunk/src/ChangeLog trunk/src/gpgme-tool.c Log: Allow multiple patterns for KEYLIST. Modified: trunk/src/ChangeLog =================================================================== --- trunk/src/ChangeLog 2010-11-23 10:47:59 UTC (rev 1510) +++ trunk/src/ChangeLog 2010-12-08 09:55:00 UTC (rev 1511) @@ -1,3 +1,9 @@ +2010-12-08 Werner Koch + + * gpgme-tool.c (strcpy_escaped_plus): New. + (DIM, xtoi_1, xtoi_2): New. + (cmd_keylist): Allow for multiple patterns. + 2010-11-23 Marcus Brinkmann * w32-io.c (create_reader, create_writer): Use small stack size on Modified: trunk/src/gpgme-tool.c =================================================================== --- trunk/src/gpgme-tool.c 2010-11-23 10:47:59 UTC (rev 1510) +++ trunk/src/gpgme-tool.c 2010-12-08 09:55:00 UTC (rev 1511) @@ -52,6 +52,10 @@ # define GT_GCC_A_PRINTF(f, a) #endif +#define DIM(v) (sizeof(v)/sizeof((v)[0])) +#define xtoi_1(p) (*(p) <= '9'? (*(p)- '0'): \ + *(p) <= 'F'? (*(p)-'A'+10):(*(p)-'a'+10)) +#define xtoi_2(p) ((xtoi_1(p) * 16) + xtoi_1((p)+1)) @@ -506,6 +510,28 @@ } +/* Note that it is sufficient to allocate the target string D as long + as the source string S, i.e.: strlen(s)+1;. D == S is allowed. */ +static void +strcpy_escaped_plus (char *d, const char *s) +{ + while (*s) + { + if (*s == '%' && s[1] && s[2]) + { + s++; + *d++ = xtoi_2 (s); + s += 2; + } + else if (*s == '+') + *d++ = ' ', s++; + else + *d++ = *s++; + } + *d = 0; +} + + /* Check whether the option NAME appears in LINE. */ static int has_option (const char *line, const char *name) @@ -2671,14 +2697,22 @@ } +static const char hlp_keylist[] = + "KEYLIST [--secret-only] []\n" + "\n" + "List all certificates or only those specified by PATTERNS. Each\n" + "pattern shall be a percent-plus escaped certificate specification."; static gpg_error_t cmd_keylist (assuan_context_t ctx, char *line) { +#define MAX_CMD_KEYLIST_PATTERN 20 struct server *server = assuan_get_pointer (ctx); gpg_error_t err; int secret_only = 0; - const char *pattern[2]; + int idx; + const char *pattern[MAX_CMD_KEYLIST_PATTERN+1]; const char optstr[] = "--secret-only"; + char *p; if (!strncasecmp (line, optstr, strlen (optstr))) { @@ -2687,9 +2721,24 @@ while (*line && !spacep (line)) line++; } - pattern[0] = line; - pattern[1] = NULL; + idx = 0; + for (p=line; *p; line = p) + { + while (*p && *p != ' ') + p++; + if (*p) + *p++ = 0; + if (*line) + { + if (idx+1 == DIM (pattern)) + return gpg_error (GPG_ERR_TOO_MANY); + strcpy_escaped_plus (line, line); + pattern[idx++] = line; + } + } + pattern[idx] = NULL; + err = gt_keylist_start (server->gt, pattern, secret_only); while (! err) { @@ -2706,7 +2755,11 @@ char buf[100]; /* FIXME: More data. */ snprintf (buf, sizeof (buf), "key:%s\n", key->subkeys->fpr); - assuan_send_data (ctx, buf, strlen (buf)); + /* Write data and flush so that we see one D line for each + key. This does not change the semantics but is easier to + read by organic eyes. */ + if (!assuan_send_data (ctx, buf, strlen (buf))) + assuan_send_data (ctx, NULL, 0); gpgme_key_unref (key); } } @@ -2895,8 +2948,8 @@ { "GENKEY", cmd_genkey }, { "DELETE", cmd_delete }, /* TODO: EDIT, CARD_EDIT (with INQUIRE) */ - { "KEYLIST", cmd_keylist }, - { "LISTKEYS", cmd_keylist }, + { "KEYLIST", cmd_keylist, hlp_keylist }, + { "LISTKEYS", cmd_keylist, hlp_keylist }, /* TODO: TRUSTLIST, TRUSTLIST_EXT */ { "GETAUDITLOG", cmd_getauditlog, hlp_getauditlog }, /* TODO: ASSUAN */ From cvs at cvs.gnupg.org Thu Dec 9 12:50:23 2010 From: cvs at cvs.gnupg.org (svn author wk) Date: Thu, 09 Dec 2010 12:50:23 +0100 Subject: [svn] GnuPG - r5495 - in trunk: dirmngr g10 Message-ID: Author: wk Date: 2010-12-09 12:50:22 +0100 (Thu, 09 Dec 2010) New Revision: 5495 Modified: trunk/dirmngr/ChangeLog trunk/dirmngr/dirmngr.c trunk/g10/ChangeLog trunk/g10/tdbio.c Log: Change dirmngr timer under W32CE. Fix trustdb open problem under W32CE. Modified: trunk/dirmngr/ChangeLog =================================================================== --- trunk/dirmngr/ChangeLog 2010-12-02 18:40:03 UTC (rev 5494) +++ trunk/dirmngr/ChangeLog 2010-12-09 11:50:22 UTC (rev 5495) @@ -1,3 +1,7 @@ +2010-12-07 Werner Koch + + * dirmngr.c (TIMERTICK_INTERVAL) [W32CE]: Change to 60s. + 2010-11-23 Werner Koch * Makefile.am (dirmngr_LDFLAGS): Add extra_bin_ldflags. Modified: trunk/g10/ChangeLog =================================================================== --- trunk/g10/ChangeLog 2010-12-02 18:40:03 UTC (rev 5494) +++ trunk/g10/ChangeLog 2010-12-09 11:50:22 UTC (rev 5495) @@ -1,3 +1,9 @@ +2010-12-09 Werner Koch + + * tdbio.c (tdbio_set_dbname) [W32CE]: Take care of missing errno. + (strerror) [W32CE]: Dummy replacement. + (open_db) [W32CE]: Fall back to read-only on any error. + 2010-12-02 Werner Koch * misc.c (openpgp_cipher_algo_name): Use gnupg_cipher_algo_name. Modified: trunk/dirmngr/dirmngr.c =================================================================== --- trunk/dirmngr/dirmngr.c 2010-12-02 18:40:03 UTC (rev 5494) +++ trunk/dirmngr/dirmngr.c 2010-12-09 11:50:22 UTC (rev 5495) @@ -241,11 +241,15 @@ /* The timer tick used for housekeeping stuff. For Windows we use a longer period as the SetWaitableTimer seems to signal earlier than - the 2 seconds. */ -#ifdef HAVE_W32_SYSTEM -#define TIMERTICK_INTERVAL (4) + the 2 seconds. CHECK_OWN_SOCKET_INTERVAL defines how often we + check our own socket in standard socket mode. If that value is 0 + we don't check at all. All values are in seconds. */ +#if defined(HAVE_W32CE_SYSTEM) +# define TIMERTICK_INTERVAL (60) +#elif defined(HAVE_W32_SYSTEM) +# define TIMERTICK_INTERVAL (4) #else -#define TIMERTICK_INTERVAL (2) /* Seconds. */ +# define TIMERTICK_INTERVAL (2) #endif /* This union is used to avoid compiler warnings in case a pointer is Modified: trunk/g10/tdbio.c =================================================================== --- trunk/g10/tdbio.c 2010-12-02 18:40:03 UTC (rev 5494) +++ trunk/g10/tdbio.c 2010-12-09 11:50:22 UTC (rev 5495) @@ -48,6 +48,13 @@ #define MY_O_BINARY 0 #endif +/* We use ERRNO despite that the cegcc provided open/read/write + functions don't set ERRNO - at least show that ERRNO does not make + sense. */ +#ifdef HAVE_W32CE_SYSTEM +#undef strerror +#define strerror(a) ("[errno not available]") +#endif /**************** * Yes, this is a very simple implementation. We should really @@ -494,6 +501,13 @@ fname = xstrdup (new_dbname); if( access( fname, R_OK ) ) { +#ifdef HAVE_W32CE_SYSTEM + /* We know how the cegcc implementation of access works ;-). */ + if (GetLastError () == ERROR_FILE_NOT_FOUND) + gpg_err_set_errno (ENOENT); + else + gpg_err_set_errno (EIO); +#endif /*HAVE_W32CE_SYSTEM*/ if( errno != ENOENT ) { log_error( _("can't access `%s': %s\n"), fname, strerror(errno) ); xfree(fname); @@ -606,6 +620,9 @@ #ifdef EROFS || errno == EROFS #endif +#ifdef HAVE_W32CE_SYSTEM + || 1 /* cegcc's open does not set ERRNO. */ +#endif ) ) { db_fd = open (db_name, O_RDONLY | MY_O_BINARY ); From cvs at cvs.gnupg.org Thu Dec 9 13:57:51 2010 From: cvs at cvs.gnupg.org (svn author wk) Date: Thu, 09 Dec 2010 13:57:51 +0100 Subject: [svn] GnuPG - r5496 - trunk/g10 Message-ID: Author: wk Date: 2010-12-09 13:57:50 +0100 (Thu, 09 Dec 2010) New Revision: 5496 Modified: trunk/g10/ChangeLog trunk/g10/tdbio.c Log: Change last change. Does now work. Modified: trunk/g10/ChangeLog =================================================================== --- trunk/g10/ChangeLog 2010-12-09 11:50:22 UTC (rev 5495) +++ trunk/g10/ChangeLog 2010-12-09 12:57:50 UTC (rev 5496) @@ -2,7 +2,7 @@ * tdbio.c (tdbio_set_dbname) [W32CE]: Take care of missing errno. (strerror) [W32CE]: Dummy replacement. - (open_db) [W32CE]: Fall back to read-only on any error. + (open_db) [W32CE]: Use CreateFile. 2010-12-02 Werner Koch Modified: trunk/g10/tdbio.c =================================================================== --- trunk/g10/tdbio.c 2010-12-09 11:50:22 UTC (rev 5495) +++ trunk/g10/tdbio.c 2010-12-09 12:57:50 UTC (rev 5496) @@ -615,22 +615,37 @@ if (make_dotlock( lockhandle, -1 ) ) log_fatal( _("can't lock `%s'\n"), db_name ); #endif /* __riscos__ */ +#ifdef HAVE_W32CE_SYSTEM + { + DWORD prevrc = 0; + wchar_t *wname = utf8_to_wchar (db_name); + if (wname) + { + db_fd = (int)CreateFile (wname, GENERIC_READ|GENERIC_WRITE, + FILE_SHARE_READ|FILE_SHARE_WRITE, NULL, + OPEN_EXISTING, 0, NULL); + xfree (wname); + } + if (db_fd == -1) + log_fatal ("can't open `%s': %d, %d\n", db_name, + (int)prevrc, (int)GetLastError ()); + } +#else /*!HAVE_W32CE_SYSTEM*/ db_fd = open (db_name, O_RDWR | MY_O_BINARY ); if (db_fd == -1 && (errno == EACCES #ifdef EROFS || errno == EROFS #endif -#ifdef HAVE_W32CE_SYSTEM - || 1 /* cegcc's open does not set ERRNO. */ -#endif ) ) { + /* Take care of read-only trustdbs. */ db_fd = open (db_name, O_RDONLY | MY_O_BINARY ); if (db_fd != -1) log_info (_("NOTE: trustdb not writable\n")); } if ( db_fd == -1 ) log_fatal( _("can't open `%s': %s\n"), db_name, strerror(errno) ); +#endif /*!HAVE_W32CE_SYSTEM*/ register_secured_file (db_name); /* Read the version record. */ From cvs at cvs.gnupg.org Fri Dec 10 21:09:56 2010 From: cvs at cvs.gnupg.org (svn author wk) Date: Fri, 10 Dec 2010 21:09:56 +0100 Subject: [svn] GnuPG - r5497 - trunk/po Message-ID: Author: wk Date: 2010-12-10 21:09:56 +0100 (Fri, 10 Dec 2010) New Revision: 5497 Modified: trunk/po/de.po Log: typo fix Modified: trunk/po/de.po [not shown] From cvs at cvs.gnupg.org Tue Dec 14 12:21:26 2010 From: cvs at cvs.gnupg.org (svn author wk) Date: Tue, 14 Dec 2010 12:21:26 +0100 Subject: [svn] assuan - r401 - in trunk: contrib contrib/conf-w32ce-msc src Message-ID: Author: wk Date: 2010-12-14 12:21:25 +0100 (Tue, 14 Dec 2010) New Revision: 401 Modified: trunk/contrib/ChangeLog trunk/contrib/conf-w32ce-msc/config.h trunk/src/ChangeLog trunk/src/assuan-socket-connect.c trunk/src/gpgcedev.c trunk/src/gpgcemgr.c Log: Typo fixes. Improved gpgcemgr Modified: trunk/contrib/ChangeLog =================================================================== --- trunk/contrib/ChangeLog 2010-11-17 16:49:53 UTC (rev 400) +++ trunk/contrib/ChangeLog 2010-12-14 11:21:25 UTC (rev 401) @@ -6,6 +6,8 @@ 2010-11-15 Werner Koch + * conf-w32ce-msc/config.h (strdup, strcasecmp): Add macros. + * conf-w32ce-msc/build.mk (copy-static-source): Create stdint.h. (all): Add ws2.lib (clean): New. Modified: trunk/src/ChangeLog =================================================================== --- trunk/src/ChangeLog 2010-11-17 16:49:53 UTC (rev 400) +++ trunk/src/ChangeLog 2010-12-14 11:21:25 UTC (rev 401) @@ -1,3 +1,8 @@ +2010-12-14 Werner Koch + + * gpgcemgr.c (wchar_to_utf8, utf8_to_wchar, set_show_registry): New. + (main): Add commands --gpgme-log and --gnupg-log. + 2010-11-17 Marcus Brinkmann * vasprintf.c (int_vasprintf) [HAVE_W32CE_SYSTEM && _MSC_VER]: Modified: trunk/contrib/conf-w32ce-msc/config.h =================================================================== --- trunk/contrib/conf-w32ce-msc/config.h 2010-11-17 16:49:53 UTC (rev 400) +++ trunk/contrib/conf-w32ce-msc/config.h 2010-12-14 11:21:25 UTC (rev 401) @@ -179,6 +179,10 @@ /* snprintf is not part of oldnames.lib thus we redefine it here. */ #define snprintf _snprintf +/* We also need to define these functions. */ +#define strdup _strdup +#define strcasecmp _stricmp + #endif /*_ASSUAN_CONFIG_H_INCLUDED*/ Modified: trunk/src/assuan-socket-connect.c =================================================================== --- trunk/src/assuan-socket-connect.c 2010-11-17 16:49:53 UTC (rev 400) +++ trunk/src/assuan-socket-connect.c 2010-12-14 11:21:25 UTC (rev 401) @@ -116,7 +116,7 @@ assuan://[]: Connect using TCP to PORT of the server with the numerical - IPADDR. Not that the '[' and ']' are literal characters. + IPADDR. Note that '[' and ']' are literal characters. */ gpg_error_t Modified: trunk/src/gpgcedev.c =================================================================== --- trunk/src/gpgcedev.c 2010-11-17 16:49:53 UTC (rev 400) +++ trunk/src/gpgcedev.c 2010-12-14 11:21:25 UTC (rev 401) @@ -1464,8 +1464,8 @@ } if (opnctx->is_log) { - log_debug ("GPG_IOControl (ctx=%i): error: invalid code for log device\n", - opnctx_arg); + log_debug ("GPG_IOControl (ctx=%i): error: invalid code %u" + " for log device\n", opnctx_arg, (unsigned int)code); SetLastError (ERROR_INVALID_PARAMETER); goto leave; } Modified: trunk/src/gpgcemgr.c =================================================================== --- trunk/src/gpgcemgr.c 2010-11-17 16:49:53 UTC (rev 400) +++ trunk/src/gpgcemgr.c 2010-12-14 11:21:25 UTC (rev 401) @@ -30,17 +30,67 @@ #define GPGCEDEV_PREFIX L"GPG" +static char * +wchar_to_utf8 (const wchar_t *string) +{ + int n; + size_t length = wcslen (string); + char *result; + + n = WideCharToMultiByte (CP_UTF8, 0, string, length, NULL, 0, NULL, NULL); + if (n < 0 || (n+1) <= 0) + abort (); + + result = malloc (n+1); + if (!result) + abort (); + n = WideCharToMultiByte (CP_ACP, 0, string, length, result, n, NULL, NULL); + if (n < 0) + abort (); + + result[n] = 0; + return result; +} + + +static wchar_t * +utf8_to_wchar (const char *string) +{ + int n; + size_t nbytes; + wchar_t *result; + + if (!string) + abort (); + + n = MultiByteToWideChar (CP_UTF8, 0, string, -1, NULL, 0); + if (n < 0) + abort (); + nbytes = (size_t)(n+1) * sizeof(*result); + if (nbytes / sizeof(*result) != (n+1)) + abort (); + result = malloc (nbytes); + if (!result) + abort (); + + n = MultiByteToWideChar (CP_UTF8, 0, string, -1, result, n); + if (n < 0) + abort (); + return result; +} + + static int install (void) { HKEY handle; DWORD disp, dw; + int rc; - if (RegCreateKeyEx (HKEY_LOCAL_MACHINE, GPGCEDEV_KEY_NAME, 0, NULL, 0, - KEY_WRITE, NULL, &handle, &disp)) + if ((rc=RegCreateKeyEx (HKEY_LOCAL_MACHINE, GPGCEDEV_KEY_NAME, 0, NULL, 0, + KEY_WRITE, NULL, &handle, &disp))) { - fprintf (stderr, PGM": error creating registry key 1: rc=%d\n", - (int)GetLastError ()); + fprintf (stderr, PGM": error creating registry key 1: rc=%d\n", rc); return 1; } @@ -56,11 +106,10 @@ fprintf (stderr, PGM": registry key 1 created\n"); - if (RegCreateKeyEx (HKEY_LOCAL_MACHINE, GPGCEDEV_KEY_NAME2, 0, NULL, 0, - KEY_WRITE, NULL, &handle, &disp)) + if ((rc=RegCreateKeyEx (HKEY_LOCAL_MACHINE, GPGCEDEV_KEY_NAME2, 0, NULL, 0, + KEY_WRITE, NULL, &handle, &disp))) { - fprintf (stderr, PGM": error creating registry key 2: rc=%d\n", - (int)GetLastError ()); + fprintf (stderr, PGM": error creating registry key 2: rc=%d\n", rc); return 1; } @@ -128,12 +177,12 @@ { HKEY handle; DWORD disp; + int rc; - if (RegCreateKeyEx (HKEY_LOCAL_MACHINE, GPGCEDEV_KEY_NAME, 0, NULL, 0, - KEY_WRITE, NULL, &handle, &disp)) + if ((rc=RegCreateKeyEx (HKEY_LOCAL_MACHINE, GPGCEDEV_KEY_NAME, 0, NULL, 0, + KEY_WRITE, NULL, &handle, &disp))) { - fprintf (stderr, PGM": error creating debug registry key: rc=%d\n", - (int)GetLastError ()); + fprintf (stderr, PGM": error creating debug registry key: rc=%d\n", rc); return 1; } @@ -149,12 +198,12 @@ { HKEY handle; DWORD disp; + int rc; - if (RegCreateKeyEx (HKEY_LOCAL_MACHINE, GPGCEDEV_KEY_NAME2, 0, NULL, 0, - KEY_WRITE, NULL, &handle, &disp)) + if ((rc=RegCreateKeyEx (HKEY_LOCAL_MACHINE, GPGCEDEV_KEY_NAME2, 0, NULL, 0, + KEY_WRITE, NULL, &handle, &disp))) { - fprintf (stderr, PGM": error creating debug registry key: rc=%d\n", - (int)GetLastError ()); + fprintf (stderr, PGM": error creating debug registry key: rc=%d\n", rc); return 1; } @@ -335,6 +384,79 @@ } #endif + +static void +set_show_registry (const wchar_t *key, const wchar_t *name, const char *value) +{ + HKEY handle; + DWORD disp, nbytes, n1, type; + int rc; + + if ((rc=RegCreateKeyEx (HKEY_LOCAL_MACHINE, key, 0, NULL, 0, + KEY_WRITE, NULL, &handle, &disp))) + { + fprintf (stderr, PGM": error creating registry key: rc=%d\n", rc); + return; + } + + if (value && !stricmp (value, "none")) + { + if ((rc=RegDeleteValue (handle, name))) + fprintf (stderr, PGM": error deleting registry value: rc=%d\n", rc); + } + else if (value) + { + wchar_t *tmp = utf8_to_wchar (value); + if ((rc=RegSetValueEx (handle, name, 0, REG_SZ, + (void*)tmp, wcslen (tmp)*sizeof(wchar_t)))) + fprintf (stderr, PGM": error setting registry value: rc=%d\n", rc); + free (tmp); + } + else + { + nbytes = 2; + if ((rc=RegQueryValueEx (handle, name, 0, NULL, NULL, &nbytes))) + { + if (rc == ERROR_FILE_NOT_FOUND) + fprintf (stderr, PGM": registry value not set\n"); + else + fprintf (stderr, PGM": error reading registry value: rc=%d\n", rc); + } + else + { + char *result = malloc ((n1=nbytes+2)); + if (!result) + fprintf (stderr, PGM": malloc failed: rc=%d\n", + (int)GetLastError ()); + else if ((rc=RegQueryValueEx (handle, name, 0, &type, + (void*)result, &n1))) + { + fprintf (stderr, PGM": error reading registry value (2): " + "rc=%d\n", rc); + free (result); + } + else + { + result[nbytes] = 0; /* Make sure it is a string. */ + result[nbytes+1] = 0; + if (type == REG_SZ) + { + wchar_t *tmp = (void*)result; + result = wchar_to_utf8 (tmp); + free (tmp); + printf ("%s\n", result); + } + else + fprintf (stderr, PGM": registry value is not a string\n"); + free (result); + } + } + } + + RegCloseKey (handle); +} + + int main (int argc, char **argv) @@ -427,7 +549,7 @@ DWORD nwritten; int i; - for (i=0; i < 5; i++) + for (i=0; i < 3; i++) { if (!WriteFile (hd, marktwain, strlen (marktwain), &nwritten, NULL)) @@ -449,9 +571,30 @@ result = enable_log (1); else if (argc > 1 && !strcmp (argv[1], "--disable-log")) result = enable_log (0); - else + else if (argc > 1 && !strcmp (argv[1], "--gpgme-log")) + set_show_registry (L"Software\\GNU\\gpgme", L"debug", + argc > 2? argv[2] : NULL); + else if (argc > 1 && !strcmp (argv[1], "--gnupg-log")) + set_show_registry (L"Software\\GNU\\GnuPG", L"DefaultLogFile", + argc > 2? argv[2] : NULL); + else { - fprintf (stderr, "usage: " PGM " --register|--deactivate|--activate\n"); + fprintf (stderr, + "usage: " PGM " COMMAND\n" + "Commands are:\n" + " --register Register the GPGCEDEV device\n" + " --deactivate Deactivate the GPGCEDEV device\n" + " --activate Activate the GPGCEDEV devive\n" + " --enable-debug Enable debugging of GPGCEDEV device\n" + " --disable-debug Disable debugging of GPGCEDEV device\n" + " --gravity Show output of the gravity sensor\n" + " --enable-log Enable logging via \"GPG2:\"\n" + " --disable-log Disable logging via \"GPG2:\"\n" + " --log Write a test string to \"GPG2:\"\n" + " --gpgme-log [ARG] Show or set GPGME log output\n" + " --gnupg-log [ARG] Show or set GnuPG default log file\n" + " (No ARG shows, \"none\" disables)\n" + ); result = 1; } From cvs at cvs.gnupg.org Tue Dec 14 13:10:28 2010 From: cvs at cvs.gnupg.org (svn author wk) Date: Tue, 14 Dec 2010 13:10:28 +0100 Subject: [svn] GnuPG - r5498 - trunk/dirmngr Message-ID: Author: wk Date: 2010-12-14 13:10:28 +0100 (Tue, 14 Dec 2010) New Revision: 5498 Modified: trunk/dirmngr/ChangeLog trunk/dirmngr/crlcache.c trunk/dirmngr/dirmngr.c Log: Change --dameon home directory to /gnupg under Wince Modified: trunk/dirmngr/ChangeLog =================================================================== --- trunk/dirmngr/ChangeLog 2010-12-10 20:09:56 UTC (rev 5497) +++ trunk/dirmngr/ChangeLog 2010-12-14 12:10:28 UTC (rev 5498) @@ -1,3 +1,7 @@ +2010-12-14 Werner Koch + + * dirmngr.c (main) [W32CE]: Change homedir in daemon mode to /gnupg. + 2010-12-07 Werner Koch * dirmngr.c (TIMERTICK_INTERVAL) [W32CE]: Change to 60s. Modified: trunk/dirmngr/crlcache.c =================================================================== --- trunk/dirmngr/crlcache.c 2010-12-10 20:09:56 UTC (rev 5497) +++ trunk/dirmngr/crlcache.c 2010-12-14 12:10:28 UTC (rev 5498) @@ -53,7 +53,7 @@ A "c" or "u" indicate a valid cache entry, however "u" requires that a user root certificate check needs to be done. - An "i" indicates an invalid Cache entry which should + An "i" indicates an invalid cache entry which should not be used but still exists so that it can be updated at NEXT_UPDATE. Field 2: Hexadecimal encoded SHA-1 hash of the issuer DN using Modified: trunk/dirmngr/dirmngr.c =================================================================== --- trunk/dirmngr/dirmngr.c 2010-12-10 20:09:56 UTC (rev 5497) +++ trunk/dirmngr/dirmngr.c 2010-12-14 12:10:28 UTC (rev 5498) @@ -721,7 +721,11 @@ this also overrides the GNUPGHOME environment variable. */ if (opt.system_daemon && !homedir_seen) { +#ifdef HAVE_W32CE_SYSTEM + opt.homedir == DIRSEP_S "gnupg"; +#else opt.homedir = gnupg_sysconfdir (); +#endif opt.homedir_data = gnupg_datadir (); opt.homedir_cache = gnupg_cachedir (); } From cvs at cvs.gnupg.org Tue Dec 14 20:17:59 2010 From: cvs at cvs.gnupg.org (svn author wk) Date: Tue, 14 Dec 2010 20:17:59 +0100 Subject: [svn] GnuPG - r5499 - in trunk: . dirmngr tools Message-ID: Author: wk Date: 2010-12-14 20:17:58 +0100 (Tue, 14 Dec 2010) New Revision: 5499 Modified: trunk/ChangeLog trunk/NEWS trunk/configure.ac trunk/dirmngr/ChangeLog trunk/dirmngr/cdb.h trunk/dirmngr/cdblib.c trunk/dirmngr/crlcache.c trunk/tools/ChangeLog trunk/tools/gpgconf-comp.c Log: Tweaks for gpgconf. Fixed dirmngr bug 1010. Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-12-14 12:10:28 UTC (rev 5498) +++ trunk/ChangeLog 2010-12-14 19:17:58 UTC (rev 5499) @@ -1,3 +1,9 @@ +2010-12-14 Werner Koch + + * configure.ac (BUILD_WITH_GPG, BUILD_WITH_GPGSM) + (BUILD_WITH_AGENT, BUILD_WITH_SCDAEMON, BUILD_WITH_DIRMNGR) + (BUILD_WITH_G13): New defines. + 2010-11-23 Werner Koch * am/cmacros.am (extra_bin_ldflags): New. For W32CE set the stack Modified: trunk/dirmngr/ChangeLog =================================================================== --- trunk/dirmngr/ChangeLog 2010-12-14 12:10:28 UTC (rev 5498) +++ trunk/dirmngr/ChangeLog 2010-12-14 19:17:58 UTC (rev 5499) @@ -1,5 +1,12 @@ 2010-12-14 Werner Koch + * cdb.h (struct cdb) [W32]: Add field CDB_MAPPING. + * cdblib.c (cdb_init) [W32]: Save mapping handle. + (cdb_free) [W32]: Don't leak the mapping handle from cdb_init by + using the saved one. + + * crlcache.c (crl_cache_insert): Close unused matching files. + * dirmngr.c (main) [W32CE]: Change homedir in daemon mode to /gnupg. 2010-12-07 Werner Koch Modified: trunk/tools/ChangeLog =================================================================== --- trunk/tools/ChangeLog 2010-12-14 12:10:28 UTC (rev 5498) +++ trunk/tools/ChangeLog 2010-12-14 19:17:58 UTC (rev 5499) @@ -1,3 +1,9 @@ +2010-12-14 Werner Koch + + * gpgconf-comp.c (gc_options_gpg_agent, gc_options_scdaemon) + (gc_options_gpg, gc_options_gpgsm, gc_options_dirmngr): Define to + NULL if corresponding BUILD_WITH_foo is not defined. + 2010-12-02 Werner Koch * no-libgcrypt.c (gcry_cipher_algo_name): New. Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2010-12-14 12:10:28 UTC (rev 5498) +++ trunk/NEWS 2010-12-14 19:17:58 UTC (rev 5499) @@ -12,7 +12,9 @@ these tools are written robust enough to accept this new algorithm name as well. + * Fixed CRL loading under W32 (bug#1010). + Noteworthy changes in version 2.1.0beta1 (2010-10-26) ----------------------------------------------------- Modified: trunk/configure.ac =================================================================== --- trunk/configure.ac 2010-12-14 12:10:28 UTC (rev 5498) +++ trunk/configure.ac 2010-12-14 19:17:58 UTC (rev 5499) @@ -1523,7 +1523,9 @@ build_doc=no fi - +# +# Set variables for use by th automake makefile. +# AM_CONDITIONAL(BUILD_GPG, test "$build_gpg" = "yes") AM_CONDITIONAL(BUILD_GPGSM, test "$build_gpgsm" = "yes") AM_CONDITIONAL(BUILD_AGENT, test "$build_agent" = "yes") @@ -1538,7 +1540,30 @@ AM_CONDITIONAL(RUN_GPG_TESTS, test x$cross_compiling = xno -a "$build_gpg" = yes ) +# +# Set some defines for use gpgconf. +# +if test "$build_gpg" = yes ; then + AC_DEFINE(BUILD_WITH_GPG,1,[Defined if GPG is to be build]) +fi +if test "$build_gpgsm" = yes ; then + AC_DEFINE(BUILD_WITH_GPGSM,1,[Defined if GPGSM is to be build]) +fi +if test "$build_agent" = yes ; then + AC_DEFINE(BUILD_WITH_AGENT,1,[Defined if GPG-AGENT is to be build]) +fi +if test "$build_scdaemon" = yes ; then + AC_DEFINE(BUILD_WITH_SCDAEMON,1,[Defined if SCDAEMON is to be build]) +fi +if test "$build_dirmngr" = yes ; then + AC_DEFINE(BUILD_WITH_DIRMNGR,1,[Defined if SCDAEMON is to be build]) +fi +if test "$build_g13" = yes ; then + AC_DEFINE(BUILD_WITH_G13,1,[Defined if G13 is to be build]) +fi + + # # Print errors here so that they are visible all # together and the user can acquire them all together. Modified: trunk/dirmngr/cdb.h =================================================================== --- trunk/dirmngr/cdb.h 2010-12-14 12:10:28 UTC (rev 5498) +++ trunk/dirmngr/cdb.h 2010-12-14 19:17:58 UTC (rev 5499) @@ -20,6 +20,9 @@ struct cdb { int cdb_fd; /* file descriptor */ /* private members */ +#ifdef HAVE_W32_SYSTEM + void *cdb_mapping; /* Mapping handle. */ +#endif cdbi_t cdb_fsize; /* datafile size */ const unsigned char *cdb_mem; /* mmap'ed file memory */ cdbi_t cdb_vpos, cdb_vlen; /* found data */ Modified: trunk/dirmngr/cdblib.c =================================================================== --- trunk/dirmngr/cdblib.c 2010-12-14 12:10:28 UTC (rev 5498) +++ trunk/dirmngr/cdblib.c 2010-12-14 19:17:58 UTC (rev 5499) @@ -135,7 +135,7 @@ hFile = fd; # else hFile = (HANDLE) _get_osfhandle(fd); -#endif +# endif if (hFile == (HANDLE) -1) return -1; hMapping = CreateFileMapping(hFile, NULL, PAGE_READONLY, 0, 0, NULL); @@ -144,6 +144,7 @@ mem = (unsigned char *)MapViewOfFile(hMapping, FILE_MAP_READ, 0, 0, 0); if (!mem) return -1; + cdbp->cdb_mapping = hMapping; #else mem = (unsigned char*)mmap(NULL, fsize, PROT_READ, MAP_SHARED, fd, 0); if (mem == MAP_FAILED) @@ -180,18 +181,10 @@ { if (cdbp->cdb_mem) { #ifdef _WIN32 - HANDLE hFile, hMapping; -#endif -#ifdef _WIN32 -#ifdef __MINGW32CE__ - hFile = cdbp->cdb_fd; + UnmapViewOfFile ((void*) cdbp->cdb_mem); + CloseHandle (cdbp->cdb_mapping); + cdbp->cdb_mapping = NULL; #else - hFile = (HANDLE) _get_osfhandle(cdbp->cdb_fd); -#endif - hMapping = CreateFileMapping(hFile, NULL, PAGE_READONLY, 0, 0, NULL); - UnmapViewOfFile((void*) cdbp->cdb_mem); - CloseHandle(hMapping); -#else munmap((void*)cdbp->cdb_mem, cdbp->cdb_fsize); #endif /* _WIN32 */ cdbp->cdb_mem = NULL; Modified: trunk/dirmngr/crlcache.c =================================================================== --- trunk/dirmngr/crlcache.c 2010-12-14 12:10:28 UTC (rev 5498) +++ trunk/dirmngr/crlcache.c 2010-12-14 19:17:58 UTC (rev 5499) @@ -178,7 +178,7 @@ -/* The currently loaded cache object. This isi usually initialized +/* The currently loaded cache object. This is usually initialized right at startup. */ static crl_cache_t current_cache; @@ -393,7 +393,7 @@ { entry2 = entry->next; release_one_cache_entry (entry); - } + } cache->entries = NULL; xfree (cache); } @@ -1189,6 +1189,7 @@ cache->entries = enext; else eprev->next = enext; + /* FIXME: Do we leak ENTRY? */ } } @@ -1204,7 +1205,6 @@ } - /* Create a new CRL cache. This fucntion is usually called only once. never fail. */ void @@ -2177,6 +2177,31 @@ newfname = make_db_file_name (entry->issuer_hash); if (opt.verbose) log_info (_("creating cache file `%s'\n"), newfname); + + /* Just in case close unused matching files. Actually we need this + only under Windows but saving file descriptors is never bad. */ + { + int any; + do + { + any = 0; + for (e = cache->entries; e; e = e->next) + if (!e->cdb_use_count && e->cdb + && !strcmp (e->issuer_hash, entry->issuer_hash)) + { + int fd = cdb_fileno (e->cdb); + cdb_free (e->cdb); + xfree (e->cdb); + e->cdb = NULL; + if (close (fd)) + log_error (_("error closing cache file: %s\n"), + strerror(errno)); + any = 1; + break; + } + } + while (any); + } #ifdef HAVE_W32_SYSTEM gnupg_remove (newfname); #endif Modified: trunk/tools/gpgconf-comp.c =================================================================== --- trunk/tools/gpgconf-comp.c 2010-12-14 12:10:28 UTC (rev 5498) +++ trunk/tools/gpgconf-comp.c 2010-12-14 19:17:58 UTC (rev 5499) @@ -51,7 +51,6 @@ #include "gc-opt-flags.h" #include "gpgconf.h" - /* There is a problem with gpg 1.4 under Windows: --gpgconf-list returns a plain filename without escaping. As long as we have not fixed that we need to use gpg2. */ @@ -467,6 +466,9 @@ #define GC_OPTION_NULL { NULL } +#ifndef BUILD_WITH_AGENT +#define gc_options_gpg_agent NULL +#else /* The options of the GC_COMPONENT_GPG_AGENT component. */ static gc_option_t gc_options_gpg_agent[] = { @@ -569,8 +571,12 @@ GC_OPTION_NULL }; +#endif /*BUILD_WITH_AGENT*/ +#ifndef BUILD_WITH_SCDAEMON +#define gc_options_scdaemon NULL +#else /* The options of the GC_COMPONENT_SCDAEMON component. */ static gc_option_t gc_options_scdaemon[] = { @@ -636,8 +642,11 @@ GC_OPTION_NULL }; +#endif /*BUILD_WITH_SCDAEMON*/ - +#ifndef BUILD_WITH_GPG +#define gc_options_gpg NULL +#else /* The options of the GC_COMPONENT_GPG component. */ static gc_option_t gc_options_gpg[] = { @@ -710,9 +719,12 @@ GC_OPTION_NULL }; +#endif /*BUILD_WITH_GPG*/ - +#ifndef BUILD_WITH_GPGSM +#define gc_options_gpgsm NULL +#else /* The options of the GC_COMPONENT_GPGSM component. */ static gc_option_t gc_options_gpgsm[] = { @@ -802,8 +814,12 @@ GC_OPTION_NULL }; +#endif /*BUILD_WITH_GPGSM*/ +#ifndef BUILD_WITH_DIRMNGR +#define gc_options_dirmngr NULL +#else /* The options of the GC_COMPONENT_DIRMNGR component. */ static gc_option_t gc_options_dirmngr[] = { @@ -942,6 +958,7 @@ GC_OPTION_NULL }; +#endif /*BUILD_WITH_DIRMNGR*/ /* The options of the GC_COMPONENT_PINENTRY component. */ From cvs at cvs.gnupg.org Tue Dec 14 20:22:32 2010 From: cvs at cvs.gnupg.org (svn author wk) Date: Tue, 14 Dec 2010 20:22:32 +0100 Subject: [svn] dirmngr - r346 - trunk/src Message-ID: Author: wk Date: 2010-12-14 20:22:32 +0100 (Tue, 14 Dec 2010) New Revision: 346 Modified: trunk/src/ChangeLog trunk/src/cdb.h trunk/src/cdblib.c Log: Fix bug#1010. Modified: trunk/src/ChangeLog =================================================================== --- trunk/src/ChangeLog 2010-11-16 09:24:21 UTC (rev 345) +++ trunk/src/ChangeLog 2010-12-14 19:22:32 UTC (rev 346) @@ -1,3 +1,10 @@ +2010-12-14 Werner Koch + + * cdb.h (struct cdb) [W32]: Add field CDB_MAPPING. + * cdblib.c (cdb_init) [W32]: Save mapping handle. + (cdb_free) [W32]: Don't leak the mapping handle from cdb_init by + using the saved one. Fixes bug#1010. + 2010-11-16 Werner Koch Change license to GPLv3+. This is required because we are using Modified: trunk/src/cdb.h =================================================================== --- trunk/src/cdb.h 2010-11-16 09:24:21 UTC (rev 345) +++ trunk/src/cdb.h 2010-12-14 19:22:32 UTC (rev 346) @@ -20,6 +20,9 @@ struct cdb { int cdb_fd; /* file descriptor */ /* private members */ +#ifdef HAVE_W32_SYSTEM + void *cdb_mapping; /* Mapping handle. */ +#endif cdbi_t cdb_fsize; /* datafile size */ const unsigned char *cdb_mem; /* mmap'ed file memory */ cdbi_t cdb_vpos, cdb_vlen; /* found data */ Modified: trunk/src/cdblib.c =================================================================== --- trunk/src/cdblib.c 2010-11-16 09:24:21 UTC (rev 345) +++ trunk/src/cdblib.c 2010-12-14 19:22:32 UTC (rev 346) @@ -138,6 +138,7 @@ mem = (unsigned char *)MapViewOfFile(hMapping, FILE_MAP_READ, 0, 0, 0); if (!mem) return -1; + cdbp->cdb_mapping = hMapping; #else mem = (unsigned char*)mmap(NULL, fsize, PROT_READ, MAP_SHARED, fd, 0); if (mem == MAP_FAILED) @@ -174,13 +175,9 @@ { if (cdbp->cdb_mem) { #ifdef _WIN32 - HANDLE hFile, hMapping; -#endif -#ifdef _WIN32 - hFile = (HANDLE) _get_osfhandle(cdbp->cdb_fd); - hMapping = CreateFileMapping(hFile, NULL, PAGE_READONLY, 0, 0, NULL); UnmapViewOfFile((void*) cdbp->cdb_mem); - CloseHandle(hMapping); + CloseHandle (cdbp->cdb_mapping); + cdbp->cdb_mapping = NULL; #else munmap((void*)cdbp->cdb_mem, cdbp->cdb_fsize); #endif /* _WIN32 */ From cvs at cvs.gnupg.org Thu Dec 16 17:59:32 2010 From: cvs at cvs.gnupg.org (svn author wk) Date: Thu, 16 Dec 2010 17:59:32 +0100 Subject: [svn] pinentry - r241 - in trunk: . doc qt4 w32 Message-ID: Author: wk Date: 2010-12-16 17:59:30 +0100 (Thu, 16 Dec 2010) New Revision: 241 Modified: trunk/ChangeLog trunk/INSTALL trunk/NEWS trunk/config.guess trunk/config.sub trunk/configure.ac trunk/depcomp trunk/doc/mdate-sh trunk/doc/pinentry.texi trunk/doc/texinfo.tex trunk/install-sh trunk/missing trunk/mkinstalldirs trunk/qt4/pinentrydialog.cpp trunk/w32/main.c Log: Prepare 0.8.1 release [The diff below has been truncated] Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2010-10-19 16:46:56 UTC (rev 240) +++ trunk/ChangeLog 2010-12-16 16:59:30 UTC (rev 241) @@ -1,3 +1,20 @@ +2010-12-16 Werner Koch + + Release 0.8.1. + + * doc/pinentry.texi: Remove the custom font setting for underscores. + + Update to automake 1.10. + + * missing, config.guess, config.sub: Update from GnuPG. + + * w32/main.c (debugfp): Define to stderr. + (raise_sip) [!W32CE]: Make it a dummy function. + + * qt4/pinentrydialog.cpp (raiseWindow): Use SetForegroundWindow + API directly. + (SetForegroundWindowEx): Comment out. + 2010-10-19 Werner Koch * pinentry/pinentry.c (pinentry_have_display): Also detect Modified: trunk/INSTALL =================================================================== --- trunk/INSTALL 2010-10-19 16:46:56 UTC (rev 240) +++ trunk/INSTALL 2010-12-16 16:59:30 UTC (rev 241) @@ -1,16 +1,19 @@ Installation Instructions ************************* -Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004 Free -Software Foundation, Inc. +Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, +2006, 2007, 2008 Free Software Foundation, Inc. -This file is free documentation; the Free Software Foundation gives + This file is free documentation; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. Basic Installation ================== -These are generic installation instructions. + Briefly, the shell commands `./configure; make; make install' should +configure, build, and install this package. The following +more-detailed instructions are generic; see the `README' file for +instructions specific to this package. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses @@ -23,9 +26,9 @@ It can also use an optional file (typically called `config.cache' and enabled with `--cache-file=config.cache' or simply `-C') that saves -the results of its tests to speed up reconfiguring. (Caching is +the results of its tests to speed up reconfiguring. Caching is disabled by default to prevent problems with accidental use of stale -cache files.) +cache files. If you need to do unusual things to compile the package, please try to figure out how `configure' could check whether to do them, and mail @@ -35,20 +38,17 @@ may remove or edit it. The file `configure.ac' (or `configure.in') is used to create -`configure' by a program called `autoconf'. You only need -`configure.ac' if you want to change it or regenerate `configure' using -a newer version of `autoconf'. +`configure' by a program called `autoconf'. You need `configure.ac' if +you want to change it or regenerate `configure' using a newer version +of `autoconf'. The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type - `./configure' to configure the package for your system. If you're - using `csh' on an old version of System V, you might need to type - `sh ./configure' instead to prevent `csh' from trying to execute - `configure' itself. + `./configure' to configure the package for your system. - Running `configure' takes awhile. While running, it prints some - messages telling which features it is checking for. + Running `configure' might take a while. While running, it prints + some messages telling which features it is checking for. 2. Type `make' to compile the package. @@ -67,51 +67,66 @@ all sorts of other programs in order to regenerate files that came with the distribution. + 6. Often, you can also type `make uninstall' to remove the installed + files again. + Compilers and Options ===================== -Some systems require unusual options for compilation or linking that the -`configure' script does not know about. Run `./configure --help' for -details on some of the pertinent environment variables. + Some systems require unusual options for compilation or linking that +the `configure' script does not know about. Run `./configure --help' +for details on some of the pertinent environment variables. You can give `configure' initial values for configuration parameters by setting variables in the command line or in the environment. Here is an example: - ./configure CC=c89 CFLAGS=-O2 LIBS=-lposix + ./configure CC=c99 CFLAGS=-g LIBS=-lposix *Note Defining Variables::, for more details. Compiling For Multiple Architectures ==================================== -You can compile the package for more than one kind of computer at the + You can compile the package for more than one kind of computer at the same time, by placing the object files for each architecture in their -own directory. To do this, you must use a version of `make' that -supports the `VPATH' variable, such as GNU `make'. `cd' to the +own directory. To do this, you can use GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the source code in the directory that `configure' is in and in `..'. - If you have to use a `make' that does not support the `VPATH' -variable, you have to compile the package for one architecture at a -time in the source code directory. After you have installed the -package for one architecture, use `make distclean' before reconfiguring -for another architecture. + With a non-GNU `make', it is safer to compile the package for one +architecture at a time in the source code directory. After you have +installed the package for one architecture, use `make distclean' before +reconfiguring for another architecture. + On MacOS X 10.5 and later systems, you can create libraries and +executables that work on multiple system types--known as "fat" or +"universal" binaries--by specifying multiple `-arch' options to the +compiler but only a single `-arch' option to the preprocessor. Like +this: + + ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ + CPP="gcc -E" CXXCPP="g++ -E" + + This is not guaranteed to produce working output in all cases, you +may have to build one architecture at a time and combine the results +using the `lipo' tool if you have problems. + Installation Names ================== -By default, `make install' will install the package's files in -`/usr/local/bin', `/usr/local/man', etc. You can specify an -installation prefix other than `/usr/local' by giving `configure' the -option `--prefix=PREFIX'. + By default, `make install' installs the package's commands under +`/usr/local/bin', include files under `/usr/local/include', etc. You +can specify an installation prefix other than `/usr/local' by giving +`configure' the option `--prefix=PREFIX'. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you -give `configure' the option `--exec-prefix=PREFIX', the package will -use PREFIX as the prefix for installing programs and libraries. -Documentation and other data files will still use the regular prefix. +pass the option `--exec-prefix=PREFIX' to `configure', the package uses +PREFIX as the prefix for installing programs and libraries. +Documentation and other data files still use the regular prefix. In addition, if you use an unusual directory layout you can give options like `--bindir=DIR' to specify different values for particular @@ -125,7 +140,7 @@ Optional Features ================= -Some packages pay attention to `--enable-FEATURE' options to + Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE is something like `gnu-as' or `x' (for the X Window System). The @@ -137,14 +152,36 @@ you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. +Particular systems +================== + + On HP-UX, the default C compiler is not ANSI C compatible. If GNU +CC is not installed, it is recommended to use the following options in +order to use an ANSI C compiler: + + ./configure CC="cc -Ae" + +and if that doesn't work, install pre-built binaries of GCC for HP-UX. + + On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot +parse its `' header file. The option `-nodtk' can be used as +a workaround. If GNU CC is not installed, it is therefore recommended +to try + + ./configure CC="cc" + +and if that doesn't work, try + + ./configure CC="cc -nodtk" + Specifying the System Type ========================== -There may be some features `configure' cannot figure out automatically, -but needs to determine by the type of machine the package will run on. -Usually, assuming the package is built to be run on the _same_ -architectures, `configure' can figure that out, but if it prints a -message saying it cannot guess the machine type, give it the + There may be some features `configure' cannot figure out +automatically, but needs to determine by the type of machine the package +will run on. Usually, assuming the package is built to be run on the +_same_ architectures, `configure' can figure that out, but if it prints +a message saying it cannot guess the machine type, give it the `--build=TYPE' option. TYPE can either be a short name for the system type, such as `sun4', or a canonical name which has the form: @@ -159,7 +196,7 @@ need to know the machine type. If you are _building_ compiler tools for cross-compiling, you should -use the `--target=TYPE' option to select the type of system they will +use the option `--target=TYPE' to select the type of system they will produce code for. If you want to _use_ a cross compiler, that generates code for a @@ -170,9 +207,9 @@ Sharing Defaults ================ -If you want to set default values for `configure' scripts to share, you -can create a site shell script called `config.site' that gives default -values for variables like `CC', `cache_file', and `prefix'. + If you want to set default values for `configure' scripts to share, +you can create a site shell script called `config.site' that gives +default values for variables like `CC', `cache_file', and `prefix'. `configure' looks for `PREFIX/share/config.site' if it exists, then `PREFIX/etc/config.site' if it exists. Or, you can set the `CONFIG_SITE' environment variable to the location of the site script. @@ -181,7 +218,7 @@ Defining Variables ================== -Variables not defined in a site shell script can be set in the + Variables not defined in a site shell script can be set in the environment passed to `configure'. However, some packages may run configure again during the build, and the customized values of these variables may be lost. In order to avoid this problem, you should set @@ -189,18 +226,31 @@ ./configure CC=/usr/local2/bin/gcc -will cause the specified gcc to be used as the C compiler (unless it is +causes the specified `gcc' to be used as the C compiler (unless it is overridden in the site shell script). +Unfortunately, this technique does not work for `CONFIG_SHELL' due to +an Autoconf bug. Until the bug is fixed you can use this workaround: + + CONFIG_SHELL=/bin/bash /bin/bash ./configure CONFIG_SHELL=/bin/bash + `configure' Invocation ====================== -`configure' recognizes the following options to control how it operates. + `configure' recognizes the following options to control how it +operates. `--help' `-h' - Print a summary of the options to `configure', and exit. + Print a summary of all of the options to `configure', and exit. +`--help=short' +`--help=recursive' + Print a summary of the options unique to this package's + `configure', and exit. The `short' variant lists options used + only in the top level, while the `recursive' variant lists options + also present in any nested packages. + `--version' `-V' Print the version of Autoconf used to generate the `configure' @@ -226,6 +276,16 @@ Look for the package's source code in directory DIR. Usually `configure' can determine that directory automatically. +`--prefix=DIR' + Use DIR as the installation prefix. *Note Installation Names:: + for more details, including other options available for fine-tuning + the installation locations. + +`--no-create' +`-n' + Run the configure checks, but stop before creating any output + files. + `configure' also accepts some other, not widely useful, options. Run `configure --help' for more details. Modified: trunk/NEWS =================================================================== --- trunk/NEWS 2010-10-19 16:46:56 UTC (rev 240) +++ trunk/NEWS 2010-12-16 16:59:30 UTC (rev 241) @@ -1,4 +1,4 @@ -Noteworthy changes in version 0.8.1 (unreleased) +Noteworthy changes in version 0.8.1 (2010-12-16) ------------------------------------------------ * The W32 pinentry now supports WindowsCE. Modified: trunk/config.guess =================================================================== --- trunk/config.guess 2010-10-19 16:46:56 UTC (rev 240) +++ trunk/config.guess 2010-12-16 16:59:30 UTC (rev 241) @@ -1,10 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, -# Inc. +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +# Free Software Foundation, Inc. -timestamp='2007-05-17' +timestamp='2009-06-10' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -56,8 +56,8 @@ GNU config.guess ($timestamp) Originally written by Per Bothner. -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -Free Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -170,7 +170,7 @@ arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep __ELF__ >/dev/null + | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? @@ -324,14 +324,30 @@ case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; + s390x:SunOS:*:*) + echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; - i86pc:SunOS:5.*:* | ix86xen:SunOS:5.*:*) - echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` + i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) + eval $set_cc_for_build + SUN_ARCH="i386" + # If there is a compiler, see if it is configured for 64-bit objects. + # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. + # This test works for both compilers. + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + SUN_ARCH="x86_64" + fi + fi + echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize @@ -532,7 +548,7 @@ echo rs6000-ibm-aix3.2 fi exit ;; - *:AIX:*:[45]) + *:AIX:*:[456]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 @@ -640,7 +656,7 @@ # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | - grep __LP64__ >/dev/null + grep -q __LP64__ then HP_ARCH="hppa2.0w" else @@ -793,16 +809,22 @@ exit ;; *:Interix*:[3456]*) case ${UNAME_MACHINE} in - x86) + x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; - EM64T | authenticamd) + EM64T | authenticamd | genuineintel) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; + IA64) + echo ia64-unknown-interix${UNAME_RELEASE} + exit ;; esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; + 8664:Windows_NT:*) + echo x86_64-pc-mks + exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we @@ -833,7 +855,14 @@ echo ${UNAME_MACHINE}-pc-minix exit ;; arm*:Linux:*:*) - echo ${UNAME_MACHINE}-unknown-linux-gnu + eval $set_cc_for_build + if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ + | grep -q __ARM_EABI__ + then + echo ${UNAME_MACHINE}-unknown-linux-gnu + else + echo ${UNAME_MACHINE}-unknown-linux-gnueabi + fi exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu @@ -856,17 +885,17 @@ m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; - mips:Linux:*:*) + mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU - #undef mips - #undef mipsel + #undef ${UNAME_MACHINE} + #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mipsel + CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips + CPU=${UNAME_MACHINE} #else CPU= #endif @@ -879,29 +908,6 @@ }'`" test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; - mips64:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips64 - #undef mips64el - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mips64el - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips64 - #else - CPU= - #endif - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; or32:Linux:*:*) echo or32-unknown-linux-gnu exit ;; @@ -921,10 +927,13 @@ EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac - objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null + objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit ;; + padre:Linux:*:*) + echo sparc-unknown-linux-gnu + exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in @@ -954,8 +963,8 @@ x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit ;; - xtensa:Linux:*:*) - echo xtensa-unknown-linux-gnu + xtensa*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; i*86:Linux:*:*) # The BFD linker knows what the default object file format is, so @@ -972,17 +981,6 @@ elf32-i386) TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" ;; - a.out-i386-linux) - echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit ;; - coff-i386) - echo "${UNAME_MACHINE}-pc-linux-gnucoff" - exit ;; - "") - # Either a pre-BFD a.out linker (linux-gnuoldld) or - # one that does not give us useful --help. - echo "${UNAME_MACHINE}-pc-linux-gnuoldld" - exit ;; esac # Determine whether the default compiler is a.out or elf eval $set_cc_for_build @@ -1048,7 +1046,7 @@ i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) @@ -1092,8 +1090,11 @@ pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about - # the processor, so we play safe by assuming i386. - echo i386-pc-msdosdjgpp + # the processor, so we play safe by assuming i586. + # Note: whatever this is, it MUST be the same as what config.sub + # prints for the "djgpp" host, or else GDB configury will decide that + # this is a cross-build. + echo i586-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 @@ -1131,6 +1132,16 @@ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; + NCR*:*:4.2:* | MPRAS*:*:4.2:*) + OS_REL='.3' + test -r /etc/.relid \ + && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` + /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ + && { echo i486-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } + /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ + && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; @@ -1143,7 +1154,7 @@ rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) @@ -1206,6 +1217,9 @@ BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; + BePC:Haiku:*:*) # Haiku running on Intel PC compatible. + echo i586-pc-haiku + exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; @@ -1314,6 +1328,9 @@ i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; + i*86:AROS:*:*) + echo ${UNAME_MACHINE}-pc-aros + exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 @@ -1474,9 +1491,9 @@ the operating system you are using. It is advised that you download the most up to date version of the config scripts from - http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.guess + http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD and - http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub + http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD If the version you run ($0) is already up to date, please send the following data and any information you think might be Modified: trunk/config.sub =================================================================== --- trunk/config.sub 2010-10-19 16:46:56 UTC (rev 240) +++ trunk/config.sub 2010-12-16 16:59:30 UTC (rev 241) @@ -1,10 +1,10 @@ #! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, -# Inc. +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 +# Free Software Foundation, Inc. -timestamp='2007-06-28' +timestamp='2009-06-11' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -72,8 +72,8 @@ version="\ GNU config.sub ($timestamp) -Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -Free Software Foundation, Inc. +Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, +2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." @@ -122,6 +122,7 @@ case $maybe_os in nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ + kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` @@ -152,6 +153,9 @@ os= basic_machine=$1 ;; + -bluegene*) + os=-cnk + ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 @@ -249,13 +253,16 @@ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ + | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ - | maxq | mb | microblaze | mcore | mep \ + | maxq | mb | microblaze | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ + | mips64octeon | mips64octeonel \ + | mips64orion | mips64orionel \ + | mips64r5900 | mips64r5900el \ | mips64vr | mips64vrel \ - | mips64orion | mips64orionel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ @@ -268,6 +275,7 @@ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ + | moxie \ | mt \ | msp430 \ | nios | nios2 \ @@ -277,7 +285,7 @@ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | score \ - | sh | sh[1234] | sh[24]a | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ + | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ @@ -286,7 +294,7 @@ | v850 | v850e \ | we32k \ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ - | z8k) + | z8k | z80) basic_machine=$basic_machine-unknown ;; m6811 | m68hc11 | m6812 | m68hc12) @@ -329,14 +337,17 @@ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ + | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ + | mips64octeon-* | mips64octeonel-* \ + | mips64orion-* | mips64orionel-* \ + | mips64r5900-* | mips64r5900el-* \ | mips64vr-* | mips64vrel-* \ - | mips64orion-* | mips64orionel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ @@ -358,21 +369,25 @@ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* \ - | sh-* | sh[1234]-* | sh[24]a-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ + | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ - | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ + | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ | tron-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ - | xstormy16-* | xtensa-* \ + | xstormy16-* | xtensa*-* \ | ymp-* \ - | z8k-*) + | z8k-* | z80-*) ;; + # Recognize the basic CPU types without company name, with glob match. + xtensa*) + basic_machine=$basic_machine-unknown + ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) @@ -435,6 +450,10 @@ basic_machine=m68k-apollo os=-bsd ;; + aros) + basic_machine=i386-pc + os=-aros + ;; aux) basic_machine=m68k-apple os=-aux @@ -443,10 +462,26 @@ basic_machine=ns32k-sequent os=-dynix ;; + blackfin) + basic_machine=bfin-unknown + os=-linux + ;; + blackfin-*) + basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; + bluegene*) + basic_machine=powerpc-ibm + os=-cnk + ;; c90) basic_machine=c90-cray os=-unicos ;; + cegcc) + basic_machine=arm-unknown + os=-cegcc + ;; convex-c1) basic_machine=c1-convex os=-bsd @@ -514,6 +549,10 @@ basic_machine=m88k-motorola os=-sysv3 ;; + dicos) + basic_machine=i686-pc + os=-dicos + ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp @@ -668,6 +707,14 @@ basic_machine=m68k-isi os=-sysv ;; + m68knommu) + basic_machine=m68k-unknown + os=-linux + ;; + m68knommu-*) + basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; m88k-omron*) basic_machine=m88k-omron ;; @@ -813,6 +860,14 @@ basic_machine=i860-intel os=-osf ;; + parisc) + basic_machine=hppa-unknown + os=-linux + ;; + parisc-*) + basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` + os=-linux + ;; pbd) basic_machine=sparc-tti ;; @@ -1021,6 +1076,10 @@ basic_machine=tic6x-unknown os=-coff ;; + tile*) + basic_machine=tile-unknown + os=-linux-gnu + ;; tx39) basic_machine=mipstx39-unknown ;; @@ -1096,6 +1155,10 @@ basic_machine=z8k-unknown os=-sim ;; + z80-*-coff) + basic_machine=z80-unknown + os=-sim + ;; none) basic_machine=none-none os=-none @@ -1134,7 +1197,7 @@ we32k) basic_machine=we32k-att ;; - sh[1234] | sh[24]a | sh[34]eb | sh[1234]le | sh[23]ele) + sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) @@ -1204,10 +1267,11 @@ # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ + | -kopensolaris* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ - | -aos* \ + | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ @@ -1216,7 +1280,7 @@ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ - | -chorusos* | -chorusrdb* \ + | -chorusos* | -chorusrdb* | -cegcc* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ @@ -1356,6 +1420,9 @@ -zvmoe) os=-zvmoe ;; + -dicos*) + os=-dicos + ;; -none) ;; *) @@ -1553,7 +1620,7 @@ -sunos*) vendor=sun ;; - -aix*) + -cnk*|-aix*) vendor=ibm ;; -beos*) Modified: trunk/configure.ac =================================================================== --- trunk/configure.ac 2010-10-19 16:46:56 UTC (rev 240) +++ trunk/configure.ac 2010-12-16 16:59:30 UTC (rev 241) @@ -20,7 +20,7 @@ # (Process this file with autoconf to produce a configure script.) AC_PREREQ(2.57) -min_automake_version="1.7.6" +min_automake_version="1.10" # Version number: Remember to change it immediately *after* a release. # Make sure to run "svn up" and "./autogen.sh --force" @@ -32,7 +32,7 @@ # SVN version is the most recent one in a branch. To disable the SVN # version for the real release, set the my_issvn macro to no. m4_define(my_version, [0.8.1]) -m4_define(my_issvn, [yes]) +m4_define(my_issvn, [no]) m4_define([svn_revision], m4_esyscmd([printf "%d" $(svn info 2>/dev/null \ | sed -n '/^Revision:/ s/[^0-9]//gp'|head -1)])) @@ -65,6 +65,8 @@ dnl Checks for programs. +AC_PROG_MAKE_SET +AM_SANITY_CHECK missing_dir=`cd $ac_aux_dir && pwd` AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir) AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir) Modified: trunk/depcomp =================================================================== --- trunk/depcomp 2010-10-19 16:46:56 UTC (rev 240) +++ trunk/depcomp 2010-12-16 16:59:30 UTC (rev 241) @@ -1,9 +1,10 @@ #! /bin/sh # depcomp - compile a program generating dependencies as side-effects -scriptversion=2004-05-31.23 +scriptversion=2007-03-29.01 -# Copyright (C) 1999, 2000, 2003, 2004 Free Software Foundation, Inc. +# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006, 2007 Free Software +# Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -17,8 +18,8 @@ # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +# 02110-1301, USA. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -50,11 +51,11 @@ Report bugs to . EOF - exit 0 + exit $? ;; -v | --v*) echo "depcomp $scriptversion" - exit 0 + exit $? ;; esac @@ -91,7 +92,20 @@ ## gcc 3 implements dependency tracking that does exactly what ## we want. Yay! Note: for some reason libtool 1.4 doesn't like ## it if -MD -MP comes after the -MF stuff. Hmm. - "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" +## Unfortunately, FreeBSD c89 acceptance of flags depends upon +## the command line argument order; so add the flags where they +## appear in depend2.am. Note that the slowdown incurred here +## affects only configure: in makefiles, %FASTDEP% shortcuts this. + for arg + do + case $arg in + -c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;; + *) set fnord "$@" "$arg" ;; + esac + shift # fnord + shift # $arg + done + "$@" stat=$? if test $stat -eq 0; then : else @@ -201,34 +215,39 @@ # current directory. Also, the AIX compiler puts `$object:' at the # start of each line; $object doesn't have directory information. # Version 6 uses the directory in both cases. - stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'` - tmpdepfile="$stripped.u" + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then + tmpdepfile1=$dir$base.u + tmpdepfile2=$base.u + tmpdepfile3=$dir.libs/$base.u "$@" -Wc,-M else + tmpdepfile1=$dir$base.u + tmpdepfile2=$dir$base.u + tmpdepfile3=$dir$base.u "$@" -M fi stat=$? - if test -f "$tmpdepfile"; then : - else - stripped=`echo "$stripped" | sed 's,^.*/,,'` - tmpdepfile="$stripped.u" - fi - if test $stat -eq 0; then : else - rm -f "$tmpdepfile" + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" exit $stat fi + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + do + test -f "$tmpdepfile" && break + done if test -f "$tmpdepfile"; then - outname="$stripped.o" # Each line is of the form `foo.o: dependent.h'. # Do two passes, one to just change these to # `$object: dependent.h' and one to simply `dependent.h:'. - sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile" - sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile" + sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" + # That's a tab and a space in the []. + sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile" else # The sourcefile does not contain any dependencies, so just # store a dummy comment line, to avoid errors with the Makefile @@ -276,6 +295,46 @@ rm -f "$tmpdepfile" ;; +hp2) + # The "hp" stanza above does not work with aCC (C++) and HP's ia64 + # compilers, which have integrated preprocessors. The correct option + # to use with these is +Maked; it writes dependencies to a file named + # 'foo.d', which lands next to the object file, wherever that + # happens to be. + # Much of this is similar to the tru64 case; see comments there. + dir=`echo "$object" | sed -e 's|/[^/]*$|/|'` + test "x$dir" = "x$object" && dir= + base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` + if test "$libtool" = yes; then + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir.libs/$base.d + "$@" -Wc,+Maked + else + tmpdepfile1=$dir$base.d + tmpdepfile2=$dir$base.d + "$@" +Maked + fi + stat=$? + if test $stat -eq 0; then : + else + rm -f "$tmpdepfile1" "$tmpdepfile2" + exit $stat + fi + + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" + do + test -f "$tmpdepfile" && break + done + if test -f "$tmpdepfile"; then + sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile" + # Add `dependent.h:' lines. + sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile" + else + echo "#dummy" > "$depfile" + fi + rm -f "$tmpdepfile" "$tmpdepfile2" + ;; + tru64) # The Tru64 compiler uses -MD to generate dependencies as a side # effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'. @@ -287,36 +346,43 @@ base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'` if test "$libtool" = yes; then - # Dependencies are output in .lo.d with libtool 1.4. - # With libtool 1.5 they are output both in $dir.libs/$base.o.d - # and in $dir.libs/$base.o.d and $dir$base.o.d. We process the - # latter, because the former will be cleaned when $dir.libs is - # erased. - tmpdepfile1="$dir.libs/$base.lo.d" - tmpdepfile2="$dir$base.o.d" - tmpdepfile3="$dir.libs/$base.d" + # With Tru64 cc, shared objects can also be used to make a + # static library. This mechanism is used in libtool 1.4 series to + # handle both shared and static libraries in a single compilation. + # With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d. + # + # With libtool 1.5 this exception was removed, and libtool now + # generates 2 separate objects for the 2 libraries. These two + # compilations output dependencies in $dir.libs/$base.o.d and + # in $dir$base.o.d. We have to check for both files, because + # one of the two compilations can be disabled. We should prefer + # $dir$base.o.d over $dir.libs/$base.o.d because the latter is + # automatically cleaned when .libs/ is deleted, while ignoring + # the former would cause a distcleancheck panic. + tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4 + tmpdepfile2=$dir$base.o.d # libtool 1.5 + tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5 + tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504 "$@" -Wc,-MD else - tmpdepfile1="$dir$base.o.d" - tmpdepfile2="$dir$base.d" - tmpdepfile3="$dir$base.d" + tmpdepfile1=$dir$base.o.d + tmpdepfile2=$dir$base.d + tmpdepfile3=$dir$base.d + tmpdepfile4=$dir$base.d "$@" -MD fi stat=$? if test $stat -eq 0; then : else - rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" + rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" exit $stat fi - if test -f "$tmpdepfile1"; then - tmpdepfile="$tmpdepfile1" - elif test -f "$tmpdepfile2"; then - tmpdepfile="$tmpdepfile2" - else - tmpdepfile="$tmpdepfile3" - fi + for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4" + do + test -f "$tmpdepfile" && break + done if test -f "$tmpdepfile"; then sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile" # That's a tab and a space in the []. @@ -460,7 +526,8 @@ done "$@" -E | - sed -n '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | + sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \ + -e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' | sed '$ s: \\$::' > "$tmpdepfile" rm -f "$depfile" echo "$object : \\" > "$depfile" Modified: trunk/doc/mdate-sh =================================================================== --- trunk/doc/mdate-sh 2010-10-19 16:46:56 UTC (rev 240) +++ trunk/doc/mdate-sh 2010-12-16 16:59:30 UTC (rev 241) @@ -1,9 +1,10 @@ #!/bin/sh # Get modification time of a file or directory and pretty-print it. -scriptversion=2003-11-09.00 +scriptversion=2007-03-30.02 -# Copyright (C) 1995, 1996, 1997, 2003 Free Software Foundation, Inc. +# Copyright (C) 1995, 1996, 1997, 2003, 2004, 2005, 2007 Free Software +# Foundation, Inc. # written by Ulrich Drepper , June 1995 # # This program is free software; you can redistribute it and/or modify @@ -18,7 +19,7 @@ # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software Foundation, -# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a @@ -42,11 +43,11 @@ Report bugs to . EOF - exit 0 + exit $? ;; -v | --v*) echo "mdate-sh $scriptversion" - exit 0 + exit $? ;; esac @@ -58,14 +59,26 @@ LC_TIME=C export LC_TIME -save_arg1="$1" +# GNU ls changes its time format in response to the TIME_STYLE +# variable. Since we cannot assume `unset' works, revert this +# variable to its documented default. +if test "${TIME_STYLE+set}" = set; then + TIME_STYLE=posix-long-iso + export TIME_STYLE +fi +save_arg1=$1 + # Find out how to get the extended ls output of a file or directory. if ls -L /dev/null 1>/dev/null 2>&1; then ls_command='ls -L -l -d' else ls_command='ls -l -d' fi +# Avoid user/group names that might have spaces, when possible. +if ls -n /dev/null 1>/dev/null 2>&1; then + ls_command="$ls_command -n" +fi # A `ls -l' line looks as follows on OS/2. # drwxrwx--- 0 Aug 11 2001 foo @@ -80,7 +93,7 @@ # words should be skipped to get the date. # On HPUX /bin/sh, "set" interprets "-rw-r--r--" as options, so the "x" below. -set - x`$ls_command /` +set x`$ls_command /` # Find which argument is the month. month= @@ -107,13 +120,32 @@ done # Get the extended ls output of the file or directory. -set - x`eval "$ls_command \"\$save_arg1\""` +set dummy x`eval "$ls_command \"\$save_arg1\""` # Remove all preceding arguments eval $command -# Get the month. Next argument is day, followed by the year or time. -case $1 in +# Because of the dummy argument above, month is in $2. +# +# On a POSIX system, we should have +# +# $# = 5 +# $1 = file size +# $2 = month +# $3 = day +# $4 = year or time +# $5 = filename +# +# On Darwin 7.7.0 and 7.6.0, we have +# +# $# = 4 +# $1 = day +# $2 = month +# $3 = year or time +# $4 = filename + +# Get the month. +case $2 in Jan) month=January; nummonth=1;; Feb) month=February; nummonth=2;; Mar) month=March; nummonth=3;; @@ -128,7 +160,10 @@ Dec) month=December; nummonth=12;; esac -day=$2 +case $3 in + ???*) day=$1;; + *) day=$3; shift;; +esac # Here we have to deal with the problem that the ls output gives either # the time of day or the year. Modified: trunk/doc/pinentry.texi =================================================================== --- trunk/doc/pinentry.texi 2010-10-19 16:46:56 UTC (rev 240) +++ trunk/doc/pinentry.texi 2010-12-16 16:59:30 UTC (rev 241) @@ -51,12 +51,6 @@ @end ifnottex - at c Change the font used for @def... commands, since the default - at c proportional one used is bad for names starting __. - at tex -\global\setfont\defbf\ttbshape{10}{\magstep1} - at end tex - @c %**end of header @ifnottex Modified: trunk/doc/texinfo.tex =================================================================== --- trunk/doc/texinfo.tex 2010-10-19 16:46:56 UTC (rev 240) +++ trunk/doc/texinfo.tex 2010-12-16 16:59:30 UTC (rev 241) @@ -3,15 +3,15 @@ % Load plain if necessary, i.e., if running under initex. \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi % -\def\texinfoversion{2004-10-31.06} +\def\texinfoversion{2007-05-03.09} % % Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, -% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software -% Foundation, Inc. +% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +% 2007 Free Software Foundation, Inc. % % This texinfo.tex file is free software; you can redistribute it and/or % modify it under the terms of the GNU General Public License as -% published by the Free Software Foundation; either version 2, or (at +% published by the Free Software Foundation; either version 3, or (at % your option) any later version. % % This texinfo.tex file is distributed in the hope that it will be @@ -20,9 +20,8 @@ % General Public License for more details. % % You should have received a copy of the GNU General Public License -% along with this texinfo.tex file; see the file COPYING. If not, write -% to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, -% Boston, MA 02111-1307, USA. +% along with this texinfo.tex file; see the file COPYING. If not, +% see . % % As a special exception, when this file is read by TeX when processing % a Texinfo source document, you may use the result without @@ -67,7 +66,7 @@ \everyjob{\message{[Texinfo version \texinfoversion]}% \catcode`+=\active \catcode`\_=\active} -\message{Basics,} + \chardef\other=12 % We never want plain's \outer definition of \+ in Texinfo. @@ -89,10 +88,11 @@ \let\ptexhat=^ \let\ptexi=\i \let\ptexindent=\indent -\let\ptexnoindent=\noindent \let\ptexinsert=\insert \let\ptexlbrace=\{ \let\ptexless=< +\let\ptexnewwrite\newwrite +\let\ptexnoindent=\noindent \let\ptexplus=+ \let\ptexrbrace=\} \let\ptexslash=\/ @@ -152,20 +152,22 @@ \ifx\putwordDefopt\undefined \gdef\putwordDefopt{User Option}\fi \ifx\putwordDeffunc\undefined \gdef\putwordDeffunc{Function}\fi -% In some macros, we cannot use the `\? notation---the left quote is -% in some cases the escape char. +% Since the category of space is not known, we have to be careful. +\chardef\spacecat = 10 +\def\spaceisspace{\catcode`\ =\spacecat} + +% sometimes characters are active, so we need control sequences. \chardef\colonChar = `\: \chardef\commaChar = `\, +\chardef\dashChar = `\- \chardef\dotChar = `\. \chardef\exclamChar= `\! +\chardef\lquoteChar= `\` \chardef\questChar = `\? +\chardef\rquoteChar= `\' \chardef\semiChar = `\; \chardef\underChar = `\_ -\chardef\spaceChar = `\ % -\chardef\spacecat = 10 -\def\spaceisspace{\catcode\spaceChar=\spacecat} - % Ignore a token. % \def\gobble#1{} @@ -301,10 +303,14 @@ % take effect in \write's, yet the group defined by the \vbox ends % before the \shipout runs. % - \escapechar = `\\ % use backslash in output files. \indexdummies % don't expand commands in the output. \normalturnoffactive % \ in index entries must not stay \, e.g., if - % the page break happens to be in the middle of an example. + % the page break happens to be in the middle of an example. + % We don't want .vr (or whatever) entries like this: + % \entry{{\tt \indexbackslash }acronym}{32}{\code {\acronym}} + % "\acronym" won't work when it's read back in; + % it needs to be + % {\code {{\tt \backslashcurfont }acronym} \shipout\vbox{% % Do this early so pdf references go to the beginning of the page. \ifpdfmakepagedest \pdfdest name{\the\pageno} xyz\fi @@ -332,9 +338,9 @@ \pagebody{#1}% \ifdim\ht\footlinebox > 0pt % Only leave this space if the footline is nonempty. - % (We lessened \vsize for it in \oddfootingxxx.) + % (We lessened \vsize for it in \oddfootingyyy.) % The \baselineskip=24pt in plain's \makefootline has no effect. - \vskip 2\baselineskip + \vskip 24pt \unvbox\footlinebox \fi % @@ -355,7 +361,7 @@ \egroup % \vbox from first cropmarks clause \fi }% end of \shipout\vbox - }% end of group with \normalturnoffactive + }% end of group with \indexdummies \advancepageno \ifnum\outputpenalty>-20000 \else\dosupereject\fi } @@ -390,7 +396,7 @@ % \def\parsearg{\parseargusing{}} \def\parseargusing#1#2{% - \def\next{#2}% + \def\argtorun{#2}% \begingroup \obeylines \spaceisspace @@ -421,8 +427,7 @@ \def\argcheckspacesY#1\^^M#2\^^M#3\ArgTerm{% \def\temp{#3}% \ifx\temp\empty - % We cannot use \next here, as it holds the macro to run; - % thus we reuse \temp. + % Do not use \next, perhaps the caller of \parsearg uses it; reuse \temp: \let\temp\finishparsearg \else \let\temp\argcheckspaces @@ -434,14 +439,14 @@ % If a _delimited_ argument is enclosed in braces, they get stripped; so % to get _exactly_ the rest of the line, we had to prevent such situation. % We prepended an \empty token at the very beginning and we expand it now, -% just before passing the control to \next. +% just before passing the control to \argtorun. % (Similarily, we have to think about #3 of \argcheckspacesY above: it is % either the null string, or it ends with \^^M---thus there is no danger % that a pair of braces would be stripped. % % But first, we have to remove the trailing space token. % -\def\finishparsearg#1 \ArgTerm{\expandafter\next\expandafter{#1}} +\def\finishparsearg#1 \ArgTerm{\expandafter\argtorun\expandafter{#1}} % \parseargdef\foo{...} % is roughly equivalent to @@ -565,7 +570,7 @@ \let\}=\myrbrace \begingroup % Definitions to produce \{ and \} commands for indices, - % and @{ and @} for the aux file. + % and @{ and @} for the aux/toc files. \catcode`\{ = \other \catcode`\} = \other \catcode`\[ = 1 \catcode`\] = 2 \catcode`\! = 0 \catcode`\\ = \other @@ -646,14 +651,29 @@ \let\/=\allowbreak % @. is an end-of-sentence period. -\def\.{.\spacefactor=3000 } +\def\.{.\spacefactor=\endofsentencespacefactor\space} % @! is an end-of-sentence bang. -\def\!{!\spacefactor=3000 } +\def\!{!\spacefactor=\endofsentencespacefactor\space} % @? is an end-of-sentence query. -\def\?{?\spacefactor=3000 } +\def\?{?\spacefactor=\endofsentencespacefactor\space} From cvs at cvs.gnupg.org Thu Dec 16 18:37:54 2010 From: cvs at cvs.gnupg.org (svn author wk) Date: Thu, 16 Dec 2010 18:37:54 +0100 Subject: [svn] pinentry - r242 - tags Message-ID: Author: wk Date: 2010-12-16 18:37:54 +0100 (Thu, 16 Dec 2010) New Revision: 242 Added: tags/pinentry-0.8.1/ Log: Release tag From cvs at cvs.gnupg.org Fri Dec 17 03:05:15 2010 From: cvs at cvs.gnupg.org (svn author marcus) Date: Fri, 17 Dec 2010 03:05:15 +0100 Subject: [svn] GnuPG - r5500 - trunk/common Message-ID: Author: marcus Date: 2010-12-17 03:05:14 +0100 (Fri, 17 Dec 2010) New Revision: 5500 Modified: trunk/common/ChangeLog trunk/common/homedir.c Log: 2010-12-17 Marcus Brinkmann * homedir.c (gnupg_cachedir): Create /temp subdirectories. Modified: trunk/common/ChangeLog =================================================================== --- trunk/common/ChangeLog 2010-12-14 19:17:58 UTC (rev 5499) +++ trunk/common/ChangeLog 2010-12-17 02:05:14 UTC (rev 5500) @@ -1,3 +1,7 @@ +2010-12-17 Marcus Brinkmann + + * homedir.c (gnupg_cachedir): Create /temp subdirectories. + 2010-12-02 Werner Koch * miscellaneous.c (gnupg_cipher_algo_name): New. Replace all Modified: trunk/common/homedir.c =================================================================== --- trunk/common/homedir.c 2010-12-14 19:17:58 UTC (rev 5499) +++ trunk/common/homedir.c 2010-12-17 02:05:14 UTC (rev 5500) @@ -412,6 +412,8 @@ dir = "c:\\temp\\cache\\gnupg"; #ifdef HAVE_W32CE_SYSTEM dir += 2; + w32_try_mkdir ("\\temp\\cache"); + w32_try_mkdir ("\\temp\\cache\\gnupg"); #endif } } From cvs at cvs.gnupg.org Fri Dec 17 17:55:13 2010 From: cvs at cvs.gnupg.org (svn author wk) Date: Fri, 17 Dec 2010 17:55:13 +0100 Subject: [svn] GnuPG - r5501 - trunk/common Message-ID: Author: wk Date: 2010-12-17 17:55:13 +0100 (Fri, 17 Dec 2010) New Revision: 5501 Modified: trunk/common/ChangeLog trunk/common/asshelp.c Log: Increase start timeout Modified: trunk/common/ChangeLog =================================================================== --- trunk/common/ChangeLog 2010-12-17 02:05:14 UTC (rev 5500) +++ trunk/common/ChangeLog 2010-12-17 16:55:13 UTC (rev 5501) @@ -1,3 +1,10 @@ +2010-12-17 Werner Koch + + * asshelp.c (lock_spawning): Add arg VERBOSE. Improve timeout + management. Make callers pass a value for VERBOSE. + (lock_agent_spawning, unlock_agent_spawning): Remove. Change + callers to use lock_spawning and unlock_spawning. + 2010-12-17 Marcus Brinkmann * homedir.c (gnupg_cachedir): Create /temp subdirectories. @@ -33,7 +40,7 @@ * gettime.c (gnupg_get_isotime): Compare to (time_t)-1. (epoch2isotime): Ditto. (IS_INVALID_TIME_T): New. - (asctimestamp): Use lNew macro. + (asctimestamp): Use new macro. (strtimestamp, isotimestamp): Ditto. Use snprintf. 2010-10-25 Werner Koch Modified: trunk/common/asshelp.c =================================================================== --- trunk/common/asshelp.c 2010-12-17 02:05:14 UTC (rev 5500) +++ trunk/common/asshelp.c 2010-12-17 16:55:13 UTC (rev 5501) @@ -229,11 +229,15 @@ of a variable to store the lock information and the name or the process. */ static gpg_error_t -lock_spawning (lock_spawn_t *lock, const char *homedir, const char *name) +lock_spawning (lock_spawn_t *lock, const char *homedir, const char *name, + int verbose) { #ifdef HAVE_W32_SYSTEM int waitrc; - + int timeout = (!strcmp (name, "agent") + ? SECS_TO_WAIT_FOR_AGENT + : SECS_TO_WAIT_FOR_DIRMNGR); + (void)homedir; /* Not required. */ *lock = CreateMutexW @@ -248,10 +252,19 @@ return gpg_error (GPG_ERR_GENERAL); } - waitrc = WaitForSingleObject (*lock, 5000); + retry: + waitrc = WaitForSingleObject (*lock, 1000); if (waitrc == WAIT_OBJECT_0) return 0; - + + if (waitrc == WAIT_TIMEOUT && timeout) + { + timeout--; + if (verbose) + log_info ("another process is trying to start the %s ... (%ds)\n", + name, timeout); + goto retry; + } if (waitrc == WAIT_TIMEOUT) log_info ("error waiting for the spawn_%s mutex: timeout\n", name); else @@ -261,6 +274,8 @@ #else /*!HAVE_W32_SYSTEM*/ char *fname; + (void)verbose; + *lock = NULL; fname = make_filename @@ -306,22 +321,6 @@ } } -/* Lock the agent spawning process. The caller needs to provide the - address of a variable to store the lock information. */ -static gpg_error_t -lock_agent_spawning (lock_spawn_t *lock, const char *homedir) -{ - return lock_spawning (lock, homedir, "agent"); -} - - -static void -unlock_agent_spawning (lock_spawn_t *lock) -{ - unlock_spawning (lock, "agent"); -} - - /* Try to connect to the agent via socket or fork it off and work by pipes. Handle the server's initial greeting. Returns a new assuan context at R_CTX or an error code. */ @@ -420,7 +419,7 @@ argv[1] = "--use-standard-socket"; argv[2] = NULL; - if (!(err = lock_agent_spawning (&lock, homedir)) + if (!(err = lock_spawning (&lock, homedir, "agent", verbose)) && assuan_socket_connect (ctx, sockname, 0, 0)) { err = gnupg_spawn_process_detached (agent_program, argv,NULL); @@ -453,7 +452,7 @@ } } - unlock_agent_spawning (&lock); + unlock_spawning (&lock, "agent"); } else { @@ -614,7 +613,7 @@ argv[0] = "--daemon"; argv[1] = NULL; - if (!(err = lock_spawning (&lock, homedir, "dirmngr")) + if (!(err = lock_spawning (&lock, homedir, "dirmngr", verbose)) && assuan_socket_connect (ctx, sockname, 0, 0)) { err = gnupg_spawn_process_detached (dirmngr_program, argv,NULL); From cvs at cvs.gnupg.org Mon Dec 20 17:22:06 2010 From: cvs at cvs.gnupg.org (svn author wk) Date: Mon, 20 Dec 2010 17:22:06 +0100 Subject: [svn] assuan - r402 - trunk/src Message-ID: Author: wk Date: 2010-12-20 17:22:06 +0100 (Mon, 20 Dec 2010) New Revision: 402 Modified: trunk/src/ChangeLog trunk/src/gpgcedev.c Log: Check malloc and CreateEvent return codes. Modified: trunk/src/ChangeLog =================================================================== --- trunk/src/ChangeLog 2010-12-14 11:21:25 UTC (rev 401) +++ trunk/src/ChangeLog 2010-12-20 16:22:06 UTC (rev 402) @@ -1,3 +1,8 @@ +2010-12-20 Werner Koch + + * gpgcedev.c (pipeimpl_new): Check malloc and CreateEvent return + codes. + 2010-12-14 Werner Koch * gpgcemgr.c (wchar_to_utf8, utf8_to_wchar, set_show_registry): New. Modified: trunk/src/gpgcedev.c =================================================================== --- trunk/src/gpgcedev.c 2010-12-14 11:21:25 UTC (rev 401) +++ trunk/src/gpgcedev.c 2010-12-20 16:22:06 UTC (rev 402) @@ -251,11 +251,32 @@ pimpl->refcnt = 1; pimpl->buffer_size = 512; pimpl->buffer = malloc (pimpl->buffer_size); + if (!pimpl->buffer) + { + DeleteCriticalSection (&pimpl->critsect); + free (pimpl); + return NULL; + } pimpl->buffer_len = 0; pimpl->buffer_pos = 0; pimpl->flags = 0; pimpl->space_available = CreateEvent (NULL, FALSE, FALSE, NULL); + if (!pimpl->space_available) + { + free (pimpl->buffer); + DeleteCriticalSection (&pimpl->critsect); + free (pimpl); + return NULL; + } pimpl->data_available = CreateEvent (NULL, FALSE, FALSE, NULL); + if (!pimpl->data_available) + { + CloseHandle (pimpl->space_available); + free (pimpl->buffer); + DeleteCriticalSection (&pimpl->critsect); + free (pimpl); + return NULL; + } pimpl->monitor_proc = INVALID_HANDLE_VALUE; pimpl->monitor_access = 0; pimpl->monitor_rvid = 0; From cvs at cvs.gnupg.org Wed Dec 22 19:15:32 2010 From: cvs at cvs.gnupg.org (svn author wk) Date: Wed, 22 Dec 2010 19:15:32 +0100 Subject: [svn] ksba - r330 - trunk Message-ID: Author: wk Date: 2010-12-22 19:15:32 +0100 (Wed, 22 Dec 2010) New Revision: 330 Added: trunk/README Removed: trunk/AUTHORS trunk/COPYING trunk/ChangeLog trunk/INSTALL trunk/Makefile.am trunk/NEWS trunk/README trunk/README-alpha trunk/README.SVN trunk/THANKS trunk/TODO trunk/announce.txt trunk/autogen.sh trunk/build-w32.sh trunk/compile trunk/config.guess trunk/config.sub trunk/configure.ac trunk/depcomp trunk/doc/ trunk/gl/ trunk/install-sh trunk/ksba.txt trunk/ltmain.sh trunk/m4/ trunk/missing trunk/mkinstalldirs trunk/src/ trunk/tests/ trunk/ylwrap Log: Deleted all files as we are no using git From cvs at cvs.gnupg.org Thu Dec 23 13:08:57 2010 From: cvs at cvs.gnupg.org (svn author wk) Date: Thu, 23 Dec 2010 13:08:57 +0100 Subject: [svn] assuan - r403 - trunk Message-ID: Author: wk Date: 2010-12-23 13:08:57 +0100 (Thu, 23 Dec 2010) New Revision: 403 Added: trunk/README Removed: trunk/AUTHORS trunk/COPYING trunk/COPYING.LIB trunk/ChangeLog trunk/INSTALL trunk/Makefile.am trunk/NEWS trunk/README trunk/README.SVN trunk/THANKS trunk/TODO trunk/autogen.sh trunk/compile trunk/config.guess trunk/config.rpath trunk/config.sub trunk/configure.ac trunk/contrib/ trunk/depcomp trunk/doc/ trunk/install-sh trunk/ltmain.sh trunk/m4/ trunk/missing trunk/mkinstalldirs trunk/src/ trunk/tests/ Log: Migrated to GIT; see README. From cvs at cvs.gnupg.org Thu Dec 23 18:23:55 2010 From: cvs at cvs.gnupg.org (svn author wk) Date: Thu, 23 Dec 2010 18:23:55 +0100 Subject: [svn] gpg-error - r268 - trunk Message-ID: Author: wk Date: 2010-12-23 18:23:54 +0100 (Thu, 23 Dec 2010) New Revision: 268 Added: trunk/README Removed: trunk/ABOUT-NLS trunk/AUTHORS trunk/COPYING trunk/COPYING.LIB trunk/ChangeLog trunk/INSTALL trunk/Makefile.am trunk/NEWS trunk/README trunk/README.SVN trunk/THANKS trunk/autogen.sh trunk/compile trunk/config.guess trunk/config.rpath trunk/config.sub trunk/configure.ac trunk/contrib/ trunk/depcomp trunk/doc/ trunk/install-sh trunk/lang/ trunk/libgpg-error.spec.in trunk/ltmain.sh trunk/m4/ trunk/missing trunk/mkinstalldirs trunk/po/ trunk/potomo trunk/src/ trunk/tests/ Log: Migration to git From cvs at cvs.gnupg.org Thu Dec 23 20:05:31 2010 From: cvs at cvs.gnupg.org (svn author wk) Date: Thu, 23 Dec 2010 20:05:31 +0100 Subject: [svn] GnuPG - r5502 - branches/STABLE-BRANCH-1-4/mpi Message-ID: Author: wk Date: 2010-12-23 20:05:31 +0100 (Thu, 23 Dec 2010) New Revision: 5502 Modified: branches/STABLE-BRANCH-1-4/mpi/ChangeLog branches/STABLE-BRANCH-1-4/mpi/longlong.h Log: Revert last two changes and replace by code from libgcrypt 1.4.6. Modified: branches/STABLE-BRANCH-1-4/mpi/ChangeLog =================================================================== --- branches/STABLE-BRANCH-1-4/mpi/ChangeLog 2010-12-17 16:55:13 UTC (rev 5501) +++ branches/STABLE-BRANCH-1-4/mpi/ChangeLog 2010-12-23 19:05:31 UTC (rev 5502) @@ -1,3 +1,8 @@ +2010-10-28 Werner Koch + + * longlong.h: Revert last two changes and replace by code from + libgcrypt 1.4.6. + 2010-10-22 Jason Woodward (wk) * longlong.h (umul_ppmm) [mips32]: Fix typo. Modified: branches/STABLE-BRANCH-1-4/mpi/longlong.h =================================================================== --- branches/STABLE-BRANCH-1-4/mpi/longlong.h 2010-12-17 16:55:13 UTC (rev 5501) +++ branches/STABLE-BRANCH-1-4/mpi/longlong.h 2010-12-23 19:05:31 UTC (rev 5502) @@ -710,12 +710,13 @@ ************** MIPS ***************** ***************************************/ #if defined (__mips__) && W_TYPE_SIZE == 32 -#if __GNUC__ > 4 || ( __GNUC__ == 4 && __GNUC_MINOR__ >= 4 ) -#define umul_ppmm(w1, w0, u, v) \ +#if (__GNUC__ >= 5) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) +#define umul_ppmm(w1, w0, u, v) \ do { \ - UDItype __ll = (UDItype)(u) * (v); \ - w1 = __ll >> 32; \ - w0 = __ll; \ + UDItype _r; \ + _r = (UDItype) u * v; \ + (w1) = _r >> 32; \ + (w0) = (USItype) _r; \ } while (0) #elif __GNUC__ > 2 || __GNUC_MINOR__ >= 7 #define umul_ppmm(w1, w0, u, v) \ @@ -742,14 +743,15 @@ ************** MIPS/64 ************** ***************************************/ #if (defined (__mips) && __mips >= 3) && W_TYPE_SIZE == 64 -# if __GNUC__ > 4 || ( __GNUC__ == 4 && __GNUC_MINOR__ >= 4 ) +# if (__GNUC__ >= 5) || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4) + typedef unsigned int UTItype __attribute__ ((mode (TI))); # define umul_ppmm(w1, w0, u, v) \ - do { \ - typedef unsigned int __ll_UTItype __attribute__((mode(TI))); \ - __ll_UTItype __ll = (__ll_UTItype)(u) * (v); \ - w1 = __ll >> 64; \ - w0 = __ll; \ - } while (0) + do { \ + UTItype _r; \ + _r = (UTItype) u * v; \ + (w1) = _r >> 64; \ + (w0) = (UDItype) _r; \ + } while (0) # elif if __GNUC__ > 2 || __GNUC_MINOR__ >= 7 # define umul_ppmm(w1, w0, u, v) \ __asm__ ("dmultu %2,%3" \ From cvs at cvs.gnupg.org Mon Dec 27 16:03:18 2010 From: cvs at cvs.gnupg.org (svn author wk) Date: Mon, 27 Dec 2010 16:03:18 +0100 Subject: [svn] GnuPG - r5503 - trunk Message-ID: Author: wk Date: 2010-12-27 16:03:18 +0100 (Mon, 27 Dec 2010) New Revision: 5503 Removed: trunk/ABOUT-NLS trunk/AUTHORS trunk/COPYING trunk/COPYING.LIB trunk/ChangeLog trunk/INSTALL trunk/Makefile.am trunk/NEWS trunk/README trunk/README.SVN trunk/README.maint trunk/THANKS trunk/TODO trunk/acinclude.m4 trunk/agent/ trunk/am/ trunk/artwork/ trunk/autogen.sh trunk/common/ trunk/configure.ac trunk/dirmngr/ trunk/doc/ trunk/g10/ trunk/g13/ trunk/gl/ trunk/include/ trunk/jnlib/ trunk/kbx/ trunk/keyserver/ trunk/m4/ trunk/po/ trunk/scd/ trunk/scripts/ trunk/sm/ trunk/tests/ trunk/tools/ Log: Migrated to git. From cvs at cvs.gnupg.org Mon Dec 27 16:04:01 2010 From: cvs at cvs.gnupg.org (svn author wk) Date: Mon, 27 Dec 2010 16:04:01 +0100 Subject: [svn] GnuPG - r5504 - trunk Message-ID: Author: wk Date: 2010-12-27 16:04:01 +0100 (Mon, 27 Dec 2010) New Revision: 5504 Added: trunk/README Log: URL of the new git repo From cvs at cvs.gnupg.org Mon Dec 27 16:09:16 2010 From: cvs at cvs.gnupg.org (svn author wk) Date: Mon, 27 Dec 2010 16:09:16 +0100 Subject: [svn] GnuPG - r5505 - branches/STABLE-BRANCH-1-4 Message-ID: Author: wk Date: 2010-12-27 16:09:16 +0100 (Mon, 27 Dec 2010) New Revision: 5505 Added: branches/STABLE-BRANCH-1-4/README Removed: branches/STABLE-BRANCH-1-4/ABOUT-NLS branches/STABLE-BRANCH-1-4/AUTHORS branches/STABLE-BRANCH-1-4/BUGS branches/STABLE-BRANCH-1-4/COPYING branches/STABLE-BRANCH-1-4/ChangeLog branches/STABLE-BRANCH-1-4/INSTALL branches/STABLE-BRANCH-1-4/Makefile.am branches/STABLE-BRANCH-1-4/NEWS branches/STABLE-BRANCH-1-4/NOTES branches/STABLE-BRANCH-1-4/OBUGS branches/STABLE-BRANCH-1-4/PROJECTS branches/STABLE-BRANCH-1-4/README branches/STABLE-BRANCH-1-4/README.SVN branches/STABLE-BRANCH-1-4/THANKS branches/STABLE-BRANCH-1-4/THOUGHTS branches/STABLE-BRANCH-1-4/TODO branches/STABLE-BRANCH-1-4/acinclude.m4 branches/STABLE-BRANCH-1-4/autogen.sh branches/STABLE-BRANCH-1-4/checks/ branches/STABLE-BRANCH-1-4/cipher/ branches/STABLE-BRANCH-1-4/configure.ac branches/STABLE-BRANCH-1-4/contrib/ branches/STABLE-BRANCH-1-4/debian/ branches/STABLE-BRANCH-1-4/doc/ branches/STABLE-BRANCH-1-4/g10/ branches/STABLE-BRANCH-1-4/gnupg.txt branches/STABLE-BRANCH-1-4/include/ branches/STABLE-BRANCH-1-4/intl/ branches/STABLE-BRANCH-1-4/keyserver/ branches/STABLE-BRANCH-1-4/m4/ branches/STABLE-BRANCH-1-4/mpi/ branches/STABLE-BRANCH-1-4/po/ branches/STABLE-BRANCH-1-4/scripts/ branches/STABLE-BRANCH-1-4/stamp-h.in branches/STABLE-BRANCH-1-4/tests/ branches/STABLE-BRANCH-1-4/tools/ branches/STABLE-BRANCH-1-4/util/ branches/STABLE-BRANCH-1-4/zlib/ Log: Migrated to git. See README for the new URL. From cvs at cvs.gnupg.org Mon Dec 27 16:17:35 2010 From: cvs at cvs.gnupg.org (svn author wk) Date: Mon, 27 Dec 2010 16:17:35 +0100 Subject: [svn] GnuPG - r5506 - branches/STABLE-BRANCH-2-0 Message-ID: Author: wk Date: 2010-12-27 16:17:35 +0100 (Mon, 27 Dec 2010) New Revision: 5506 Added: branches/STABLE-BRANCH-2-0/README Removed: branches/STABLE-BRANCH-2-0/ABOUT-NLS branches/STABLE-BRANCH-2-0/AUTHORS branches/STABLE-BRANCH-2-0/COPYING branches/STABLE-BRANCH-2-0/COPYING.LIB branches/STABLE-BRANCH-2-0/ChangeLog branches/STABLE-BRANCH-2-0/INSTALL branches/STABLE-BRANCH-2-0/Makefile.am branches/STABLE-BRANCH-2-0/NEWS branches/STABLE-BRANCH-2-0/README branches/STABLE-BRANCH-2-0/README.SVN branches/STABLE-BRANCH-2-0/README.maint branches/STABLE-BRANCH-2-0/THANKS branches/STABLE-BRANCH-2-0/TODO branches/STABLE-BRANCH-2-0/acinclude.m4 branches/STABLE-BRANCH-2-0/agent/ branches/STABLE-BRANCH-2-0/am/ branches/STABLE-BRANCH-2-0/announce.txt branches/STABLE-BRANCH-2-0/artwork/ branches/STABLE-BRANCH-2-0/autogen.sh branches/STABLE-BRANCH-2-0/common/ branches/STABLE-BRANCH-2-0/configure.ac branches/STABLE-BRANCH-2-0/doc/ branches/STABLE-BRANCH-2-0/g10/ branches/STABLE-BRANCH-2-0/gl/ branches/STABLE-BRANCH-2-0/include/ branches/STABLE-BRANCH-2-0/jnlib/ branches/STABLE-BRANCH-2-0/kbx/ branches/STABLE-BRANCH-2-0/keyserver/ branches/STABLE-BRANCH-2-0/m4/ branches/STABLE-BRANCH-2-0/po/ branches/STABLE-BRANCH-2-0/scd/ branches/STABLE-BRANCH-2-0/scripts/ branches/STABLE-BRANCH-2-0/sm/ branches/STABLE-BRANCH-2-0/tests/ branches/STABLE-BRANCH-2-0/tools/ Log: Migrated to git From cvs at cvs.gnupg.org Thu Dec 30 16:35:09 2010 From: cvs at cvs.gnupg.org (svn author wk) Date: Thu, 30 Dec 2010 16:35:09 +0100 Subject: [svn] gpgme - r1512 - trunk Message-ID: Author: wk Date: 2010-12-30 16:35:08 +0100 (Thu, 30 Dec 2010) New Revision: 1512 Added: trunk/README Removed: trunk/AUTHORS trunk/COPYING trunk/COPYING.LESSER trunk/ChangeLog trunk/INSTALL trunk/Makefile.am trunk/NEWS trunk/README trunk/README.SVN trunk/THANKS trunk/TODO trunk/acinclude.m4 trunk/autogen.sh trunk/compile trunk/complus/ trunk/config.guess trunk/config.sub trunk/configure.ac trunk/contrib/ trunk/depcomp trunk/doc/ trunk/gpgme.spec.in trunk/gpgme.txt trunk/install-sh trunk/lang/ trunk/ltmain.sh trunk/m4/ trunk/missing trunk/mkinstalldirs trunk/src/ trunk/tests/ Log: Migrated to GIT; see README.