[svn] GnuPG - r4840 - in trunk: sm tests tests/openpgp
svn author wk
cvs at cvs.gnupg.org
Tue Sep 30 12:30:21 CEST 2008
Author: wk
Date: 2008-09-30 12:30:20 +0200 (Tue, 30 Sep 2008)
New Revision: 4840
Modified:
trunk/sm/ChangeLog
trunk/sm/call-agent.c
trunk/sm/gpgsm.h
trunk/sm/server.c
trunk/tests/ChangeLog
trunk/tests/Makefile.am
trunk/tests/openpgp/ChangeLog
trunk/tests/openpgp/clearsig.test
Log:
Add gpgsm server command GETINFO agent-check.
Fix tests.
Modified: trunk/sm/ChangeLog
===================================================================
--- trunk/sm/ChangeLog 2008-09-29 15:02:55 UTC (rev 4839)
+++ trunk/sm/ChangeLog 2008-09-30 10:30:20 UTC (rev 4840)
@@ -1,3 +1,8 @@
+2008-09-30 Werner Koch <wk at g10code.com>
+
+ * server.c (cmd_getinfo): New subcommand agent-check.
+ * call-agent.c (gpgsm_agent_send_nop): New.
+
2008-09-29 Werner Koch <wk at g10code.com>
* certcheck.c (MY_GCRY_PK_ECDSA): Remove. Change users to
Modified: trunk/tests/ChangeLog
===================================================================
--- trunk/tests/ChangeLog 2008-09-29 15:02:55 UTC (rev 4839)
+++ trunk/tests/ChangeLog 2008-09-30 10:30:20 UTC (rev 4840)
@@ -1,3 +1,7 @@
+2008-09-29 Werner Koch <wk at g10code.com>
+
+ * Makefile.am (TESTS): Remove tests.
+
2008-02-19 Werner Koch <wk at g10code.com>
* Makefile.am: Always run pkits tests.
Modified: trunk/tests/openpgp/ChangeLog
===================================================================
--- trunk/tests/openpgp/ChangeLog 2008-09-29 15:02:55 UTC (rev 4839)
+++ trunk/tests/openpgp/ChangeLog 2008-09-30 10:30:20 UTC (rev 4840)
@@ -1,3 +1,7 @@
+2008-09-29 Werner Koch <wk at g10code.com>
+
+ * clearsig.test: Replace -sat by --clearsign.
+
2008-03-19 Werner Koch <wk at g10code.com>
* import.test, bug894-test.asc: New.
Modified: trunk/sm/call-agent.c
===================================================================
--- trunk/sm/call-agent.c 2008-09-29 15:02:55 UTC (rev 4839)
+++ trunk/sm/call-agent.c 2008-09-30 10:30:20 UTC (rev 4840)
@@ -328,7 +328,7 @@
{
int rc;
char line[ASSUAN_LINELENGTH];
- membuf_t data;
+ membuf_t data;
struct cipher_parm_s cipher_parm;
size_t n, len;
char *p, *buf, *endp;
@@ -802,3 +802,21 @@
default_inq_cb, ctrl, NULL, NULL);
return rc;
}
+
+
+
+/* Return 0 if the agent is alive. This is useful to make sure that
+ an agent has been started. */
+gpg_error_t
+gpgsm_agent_send_nop (ctrl_t ctrl)
+{
+ int rc;
+
+ rc = start_agent (ctrl);
+ if (!rc)
+ rc = assuan_transact (agent_ctx, "NOP",
+ NULL, NULL, NULL, NULL, NULL, NULL);
+ return rc;
+}
+
+
Modified: trunk/sm/gpgsm.h
===================================================================
--- trunk/sm/gpgsm.h 2008-09-29 15:02:55 UTC (rev 4839)
+++ trunk/sm/gpgsm.h 2008-09-30 10:30:20 UTC (rev 4840)
@@ -393,6 +393,7 @@
int gpgsm_agent_learn (ctrl_t ctrl);
int gpgsm_agent_passwd (ctrl_t ctrl, const char *hexkeygrip, const char *desc);
gpg_error_t gpgsm_agent_get_confirmation (ctrl_t ctrl, const char *desc);
+gpg_error_t gpgsm_agent_send_nop (ctrl_t ctrl);
/*-- call-dirmngr.c --*/
int gpgsm_dirmngr_isvalid (ctrl_t ctrl,
Modified: trunk/sm/server.c
===================================================================
--- trunk/sm/server.c 2008-09-29 15:02:55 UTC (rev 4839)
+++ trunk/sm/server.c 2008-09-30 10:30:20 UTC (rev 4840)
@@ -1016,6 +1016,7 @@
version - Return the version of the program.
pid - Return the process id of the server.
+ agent-check - Return success if the agent is running.
*/
static int
@@ -1035,6 +1036,11 @@
snprintf (numbuf, sizeof numbuf, "%lu", (unsigned long)getpid ());
rc = assuan_send_data (ctx, numbuf, strlen (numbuf));
}
+ else if (!strcmp (line, "agent-check"))
+ {
+ ctrl_t ctrl = assuan_get_pointer (ctx);
+ rc = gpgsm_agent_send_nop (ctrl);
+ }
else
rc = set_error (GPG_ERR_ASS_PARAMETER, "unknown value for WHAT");
return rc;
Modified: trunk/tests/Makefile.am
===================================================================
--- trunk/tests/Makefile.am 2008-09-29 15:02:55 UTC (rev 4839)
+++ trunk/tests/Makefile.am 2008-09-30 10:30:20 UTC (rev 4840)
@@ -44,7 +44,13 @@
samplekeys/cert_g10code_test1.pem \
samplekeys/cert_g10code_theo1.pem
-TESTS = $(testscripts)
+# We used to run $(testscripts) here but tehse asschk scripts ares not
+# completely reliable in all enviromnets and thus we better disable
+# them. The tests are anyway way to minimal. We will eventually
+# write new tests based on gpg-connect-agent which has a full fledged
+# script language and thus makes it far easier to write tests than to
+# use the low--level asschk stuff.
+TESTS =
CLEANFILES = inittests.stamp x y y z out err \
*.lock .\#lk*
Modified: trunk/tests/openpgp/clearsig.test
===================================================================
--- trunk/tests/openpgp/clearsig.test 2008-09-29 15:02:55 UTC (rev 4839)
+++ trunk/tests/openpgp/clearsig.test 2008-09-30 10:30:20 UTC (rev 4840)
@@ -18,7 +18,7 @@
# it is clear text and not binary text.
# ======================================
for i in $plain_files plain-large ; do
- echo "$usrpass1" | $GPG --passphrase-fd 0 -sat -o x --yes $i
+ echo "$usrpass1" | $GPG --passphrase-fd 0 --clearsign -o x --yes $i
$GPG --verify x
done
@@ -29,7 +29,7 @@
if have_pubkey_algo "RSA"; then
for i in $plain_files plain-large ; do
- $GPG -u $usrname3 --rfc1991 --digest-algo md5 -sat -o x --yes $i
+ $GPG -u $usrname3 --rfc1991 --digest-algo md5 --clearsign -o x --yes $i
$GPG --verify x
done
fi
More information about the Gnupg-commits
mailing list