g13: Move some function around.
authorWerner Koch <wk@gnupg.org>
Sat, 13 Aug 2016 15:39:28 +0000 (17:39 +0200)
committerWerner Koch <wk@gnupg.org>
Sat, 13 Aug 2016 15:39:28 +0000 (17:39 +0200)
* g13/keyblob.c (g13_keyblob_decrypt): Move to ...
* g13/server.c: to here.
* g13/suspend.c, g13/mount.c: Include server.h.
* g13/Makefile.am (g13_syshelp_SOURCES): Add keyblob.c
--

This is done to be able to use keyblob read code in syshelp w/o
requiring linking to call-gpg.c

Signed-off-by: Werner Koch <wk@gnupg.org>
g13/Makefile.am
g13/keyblob.c
g13/keyblob.h
g13/mount.c
g13/server.c
g13/server.h
g13/suspend.c

index 05963c8..90dd471 100644 (file)
@@ -57,7 +57,7 @@ g13_LDADD = $(libcommonpth) \
 g13_syshelp_SOURCES = \
        g13-syshelp.c g13-syshelp.h \
        g13-common.c g13-common.h \
 g13_syshelp_SOURCES = \
        g13-syshelp.c g13-syshelp.h \
        g13-common.c g13-common.h \
-       keyblob.h \
+       keyblob.c keyblob.h \
        g13tuple.c g13tuple.h \
        sh-cmd.c \
        sh-blockdev.c \
        g13tuple.c g13tuple.h \
        sh-cmd.c \
        sh-blockdev.c \
index cad0c4f..8a5b622 100644 (file)
 #include <assert.h>
 
 #include "g13.h"
 #include <assert.h>
 
 #include "g13.h"
-#include "i18n.h"
 #include "mount.h"
 
 #include "keyblob.h"
 #include "../common/sysutils.h"
 #include "mount.h"
 
 #include "keyblob.h"
 #include "../common/sysutils.h"
-#include "../common/call-gpg.h"
 #include "host2net.h"
 
 
 #include "host2net.h"
 
 
@@ -207,23 +205,3 @@ g13_keyblob_read (const char *filename,
 
   return err;
 }
 
   return err;
 }
-
-
-/*
- * Decrypt the keyblob (ENCKEYBLOB,ENCKEYBLOBLEN) and store the result
- * at (R_KEYBLOB, R_KEYBLOBLEN).  Returns 0 on success or an error
- * code.  On error R_KEYBLOB is set to NULL.
- */
-gpg_error_t
-g13_keyblob_decrypt (ctrl_t ctrl, const void *enckeyblob, size_t enckeybloblen,
-                     void **r_keyblob, size_t *r_keybloblen)
-{
-  gpg_error_t err;
-
-  /* FIXME:  For now we only implement OpenPGP.  */
-  err = gpg_decrypt_blob (ctrl, opt.gpg_program, opt.gpg_arguments,
-                          enckeyblob, enckeybloblen,
-                          r_keyblob, r_keybloblen);
-
-  return err;
-}
index 3415e9a..48f0b9c 100644 (file)
 gpg_error_t g13_is_container (ctrl_t ctrl, const char *filename);
 gpg_error_t g13_keyblob_read (const char *filename,
                               void **r_enckeyblob, size_t *r_enckeybloblen);
 gpg_error_t g13_is_container (ctrl_t ctrl, const char *filename);
 gpg_error_t g13_keyblob_read (const char *filename,
                               void **r_enckeyblob, size_t *r_enckeybloblen);
-gpg_error_t g13_keyblob_decrypt (ctrl_t ctrl,
-                                 const void *enckeyblob, size_t enckeybloblen,
-                                 void **r_keyblob, size_t *r_keybloblen);
 
 
 #endif /*G13_KEYBLOB_H*/
 
 
 #endif /*G13_KEYBLOB_H*/
index 272cd77..951a859 100644 (file)
@@ -36,6 +36,7 @@
 #include "mountinfo.h"
 #include "runner.h"
 #include "host2net.h"
 #include "mountinfo.h"
 #include "runner.h"
 #include "host2net.h"
+#include "server.h"  /*(g13_keyblob_decrypt)*/
 #include "../common/sysutils.h"
 
 
 #include "../common/sysutils.h"
 
 
index a96ec6e..5a273c2 100644 (file)
@@ -34,6 +34,8 @@
 #include "mount.h"
 #include "suspend.h"
 #include "../common/server-help.h"
 #include "mount.h"
 #include "suspend.h"
 #include "../common/server-help.h"
+#include "../common/call-gpg.h"
+
 
 /* The filepointer for status message used in non-server mode */
 static FILE *statusfp;
 
 /* The filepointer for status message used in non-server mode */
 static FILE *statusfp;
@@ -769,3 +771,28 @@ g13_proxy_pinentry_notify (ctrl_t ctrl, const unsigned char *line)
     return 0;
   return assuan_inquire (ctrl->server_local->assuan_ctx, line, NULL, NULL, 0);
 }
     return 0;
   return assuan_inquire (ctrl->server_local->assuan_ctx, line, NULL, NULL, 0);
 }
+
+
+/*
+ * Decrypt the keyblob (ENCKEYBLOB,ENCKEYBLOBLEN) and store the result
+ * at (R_KEYBLOB, R_KEYBLOBLEN).  Returns 0 on success or an error
+ * code.  On error R_KEYBLOB is set to NULL.
+ *
+ * This actually does not belong here but for that simple wrapper it
+ * does not make sense to add another source file.  Note that we do
+ * not want to have this in keyblob.c, because that code is also used
+ * by the syshelp.
+ */
+gpg_error_t
+g13_keyblob_decrypt (ctrl_t ctrl, const void *enckeyblob, size_t enckeybloblen,
+                     void **r_keyblob, size_t *r_keybloblen)
+{
+  gpg_error_t err;
+
+  /* FIXME:  For now we only implement OpenPGP.  */
+  err = gpg_decrypt_blob (ctrl, opt.gpg_program, opt.gpg_arguments,
+                          enckeyblob, enckeybloblen,
+                          r_keyblob, r_keybloblen);
+
+  return err;
+}
index af8494a..41636c8 100644 (file)
@@ -25,4 +25,8 @@ gpg_error_t g13_server (ctrl_t ctrl);
 
 gpg_error_t g13_proxy_pinentry_notify (ctrl_t ctrl, const unsigned char *line);
 
 
 gpg_error_t g13_proxy_pinentry_notify (ctrl_t ctrl, const unsigned char *line);
 
+gpg_error_t g13_keyblob_decrypt (ctrl_t ctrl,
+                                 const void *enckeyblob, size_t enckeybloblen,
+                                 void **r_keyblob, size_t *r_keybloblen);
+
 #endif /*G13_SERVER_H*/
 #endif /*G13_SERVER_H*/
index 0532c8b..39aeaeb 100644 (file)
@@ -33,6 +33,7 @@
 #include "keyblob.h"
 #include "backend.h"
 #include "g13tuple.h"
 #include "keyblob.h"
 #include "backend.h"
 #include "g13tuple.h"
+#include "server.h"  /*(g13_keyblob_decrypt)*/