Renamed to olgpgmain and olgpgcore. Added fucntion to retrieve the
authorWerner Koch <wk@gnupg.org>
Fri, 12 Aug 2005 11:26:06 +0000 (11:26 +0000)
committerWerner Koch <wk@gnupg.org>
Fri, 12 Aug 2005 11:26:06 +0000 (11:26 +0000)
version and a stub to allow displaying a custom version dialog.

14 files changed:
README
olflange/GPGExch.cpp
olflange/GPGExch.rc
src/ChangeLog
src/Makefile.am
src/MapiGPGME.cpp
src/MapiGPGME.h
src/config-dialog.c
src/olgpgcore.def [moved from src/libgpgmedlgs.def with 78% similarity]
src/olgpgcoredlgs.h [moved from src/resource.h with 86% similarity]
src/olgpgcoredlgs.rc [moved from src/gpgmedlgs.rc with 99% similarity]
src/passphrase-dialog.c
src/recipient-dialog.c
src/verify-dialog.c

diff --git a/README b/README
index 5782af7..365b4f1 100644 (file)
--- a/README
+++ b/README
@@ -8,12 +8,24 @@ thus we started to rewrite it from scratch.
 
 .          Top directory with build scripts and information files.
 
-src/       The actual code of this plugin.
+src/       Code to build the actual core of the plugin.  The resulting
+           DLL will be named "olgpgcore.dll".  It is to build using
+           the Mingw toolchain.
 
-
-olflange/  Code to build "gpgolfla.dll".  This DLL used to connect the
-           actual plugin to Outlook.  This is expected not to change
+olflange/  Code to build "olgpgmain.dll".  This DLL is used to connect
+           the actual plugin to Outlook.  It is expected not to change
            too often.  Special tools (read: a native MS Windows
            compiler) is required to build it.
 
 bin/       Precompiled binaries.
+
+
+
+Note: For building in src/ you need to throw an orginal mapi32.dll
+into this directory.  This is due to a bug in the binutiuls: ld is not
+able to properly read an DEF file but will happily use the same
+information from an actual DLL.  The problem is that symbols like
+HrSetOneProp@8 are actually written without the "@8" into the import
+table when used with a DEF file and generated import lib.  Needs more
+debugging - any BFD cracks who can lend me a helping hand?  (wk).
+
index 9a59e40..c6beaf4 100644 (file)
@@ -104,7 +104,7 @@ DllRegisterServer (void)
     }\r
     DWORD dwTemp = 0;\r
     dwTemp = lstrlen (szEntry) + 1;\r
-    RegSetValueEx (hKey, "GPG Exchange", 0, REG_SZ, (BYTE*) szEntry, dwTemp);\r
+    RegSetValueEx (hKey, "OutlGPG", 0, REG_SZ, (BYTE*) szEntry, dwTemp);\r
 \r
     /* set outlook update flag */\r
     strcpy(szEntry, "4.0;Outxxx.dll;7;000000000000000;0000000000;OutXXX");\r
@@ -133,7 +133,7 @@ DllUnregisterServer (void)
        ExchLogInfo ("DllUnregisterServer: access denied.\n");\r
        return E_ACCESSDENIED;\r
     }\r
-    RegDeleteValue (hKey, "GPG Exchange");\r
+    RegDeleteValue (hKey, "OutlGPG");\r
     /* set outlook update flag */\r
     CHAR szEntry[512];\r
     strcpy (szEntry, "4.0;Outxxx.dll;7;000000000000000;0000000000;OutXXX");\r
index d208155..3be941b 100644 (file)
@@ -84,14 +84,14 @@ BEGIN
         BEGIN\r
             VALUE "Comments", "\0"\r
             VALUE "CompanyName", "\0"\r
-            VALUE "FileDescription", "Outlook GPG Exchange DLL\0"\r
+            VALUE "FileDescription", "Outlook GPG Main DLL\0"\r
             VALUE "FileVersion", "0.99.4\0"\r
-            VALUE "InternalName", "GPGExch\0"\r
+            VALUE "InternalName", "olgpgmain\0"\r
             VALUE "LegalCopyright", "Copyright (C) 2004-5 g10 Code GmbH, 2003 Timo Schulz, 2000-1 G-DATA\0"\r
             VALUE "LegalTrademarks", "\0"\r
-            VALUE "OriginalFilename", "GPGExch.DLL\0"\r
+            VALUE "OriginalFilename", "olgpgmain.dll\0"\r
             VALUE "PrivateBuild", "\0"\r
-            VALUE "ProductName", "Outlook GPG Dynamic Link Library\0"\r
+            VALUE "ProductName", "Outlook GPG plugin\0"\r
             VALUE "ProductVersion", "0.99.4\0"\r
             VALUE "SpecialBuild", "\0"\r
         END\r
@@ -150,7 +150,7 @@ BEGIN
     LTEXT           "Logdatei",IDC_STATIC,18,146,28,8\r
     EDITTEXT        IDC_DEBUG_LOGFILE,48,145,138,13,ES_AUTOHSCROLL\r
     PUSHBUTTON      "&Erweitert...",IDC_GPG_OPTIONS,202,166,50,14\r
-    LTEXT           "Maintainer of the this version: g10 Code GmbH",\r
+    LTEXT           "By g10 Code GmbH; available under the LGPL",\r
                     IDC_STATIC,8,185,148,8\r
     LTEXT           "Version 0.99",IDC_VERSION_INFO,161,185,98,9\r
 END\r
@@ -267,7 +267,7 @@ BEGIN
     LTEXT           "Logfile",IDC_STATIC,18,146,22,8\r
     EDITTEXT        IDC_DEBUG_LOGFILE,48,145,138,13,ES_AUTOHSCROLL\r
     PUSHBUTTON      "Ad&vanced..",IDC_GPG_OPTIONS,202,166,50,14\r
-    LTEXT           "Maintainer of the this version: g10 Code GmbH",\r
+    LTEXT           "By g10 Code GmbH; available under the LGPL",\r
                     IDC_STATIC,8,185,148,8\r
     LTEXT           "Version 0.99",IDC_VERSION_INFO,161,185,98,9\r
 END\r
index 55e9a9f..5dc3d51 100644 (file)
@@ -1,3 +1,20 @@
+2005-08-12  Werner Koch  <wk@g10code.com>
+
+       * config-dialog.c (store_extension_value, load_extension_value):
+       Changed key to "OutlGPG".
+
+       * MapiGPGME.h (class MapiGPGME): New methods versionString and
+       showVersion.  Breaks ABI but it doesn't matter as we are also
+       going to change the name of the project.
+
+       * Makefile.am: Renamed target to olgpgcore.
+       * resource.h: Renamed to ...
+       * olgpgcoredlgs.h: .. and removed cruft from generator.
+       * gpgmedlgs.rc: Renamed to ..
+       * olgpgcoredlgs.rc: ... and removed cruft.
+       * libgpgmedlgs.def: Renamed to ..
+       * olgpgcore.def: .. this.
+       
 2005-08-11  Werner Koch  <wk@g10code.com>
 
        * MapiGPGME.cpp (log_debug): New.  Rewrote the whole log stuff.
index 7da20f9..d34a4d6 100644 (file)
 
 ## Process this file with automake to produce Makefile.in
 
-bin_PROGRAMS = libgpgmedlgs 
+bin_PROGRAMS = olgpgcore 
 EXEEXT = .dll
 
 AM_CFLAGS = $(GPGME_CFLAGS) -shared
 AM_CXXFLAGS = $(GPGME_CFLAGS) -shared
 
-libgpgmedlgs_SOURCES = \
-              MapiGPGME.cpp        \
-              MapiGPGME.h         \
-             mymapi.h             \
-              mymapitags.h         \
-              gpgmedlgs.rc        \
-              libgpgmedlgs.def    \
-              common.c            \
-              config-dialog.c     \
-              engine-gpgme.c      \
-              engine.h            \
-              intern.h            \
-       HashTable.h HashTable.cpp  \
-              keycache.c          \
-              keycache.h          \
-             usermap.c            \
-             usermap.h            \
-              main.c              \
-              passphrase-dialog.c  \
-              recipient-dialog.c   \
-              resource.h           \
-              verify-dialog.c      \
-       vasprintf.c
-
-libgpgmedlgs_LDADD = libgpgmedlgs.def mapi32.dll $(GPGME_LIBS)  \
-                      -lshell32 -lgdi32 -lcomdlg32
+olgpgcore_SOURCES = \
+         main.c  olgpgcore.def       \
+        MapiGPGME.cpp  MapiGPGME.h   \
+         engine-gpgme.c        engine.h      \
+         common.c intern.h           \
+         HashTable.cpp HashTable.h    \
+         keycache.c keycache.h       \
+        usermap.c  usermap.h         \
+         olgpgcoredlgs.rc             \
+         olgpgcoredlgs.h              \
+         config-dialog.c             \
+         passphrase-dialog.c          \
+         recipient-dialog.c           \
+         verify-dialog.c              \
+        mymapi.h  mymapitags.h       \
+         vasprintf.c          
+
+olgpgcore_LDADD = olgpgcore.def olgpgcoredlgs.o mapi32.dll $(GPGME_LIBS) \
+                  -lshell32 -lgdi32 -lcomdlg32
+
+
+.rc.o:
+       $(WINDRES) `test -f '$<' || echo '$(srcdir)/'`$< $@
+
 
 
 
index 12fd54c..887e08a 100644 (file)
@@ -139,6 +139,11 @@ public:
 
   
 public:
+  const char * __stdcall versionString (void)
+  {
+    return PACKAGE_VERSION;
+  }
+    
   int __stdcall encrypt (void);
   int __stdcall decrypt (void);
   int __stdcall sign (void);
@@ -287,6 +292,8 @@ public:
     return NULL;
   }
 
+  void  __stdcall showVersion (void);
+
   int __stdcall startKeyManager ();
   void __stdcall startConfigDialog (HWND parent);
 
@@ -1885,6 +1892,13 @@ MapiGPGMEImpl::saveDecryptedAttachment (HWND root, const char *srcname)
 }
 
 
+void  
+MapiGPGMEImpl::showVersion (void)
+{
+  /* Not yet available. */
+}
+
+
 int
 MapiGPGMEImpl::startKeyManager (void)
 {
index 74b4d00..dd7aab5 100644 (file)
@@ -49,6 +49,8 @@ class MapiGPGME
 public:    
   virtual void __stdcall destroy () = 0;
 
+  virtual const char * __stdcall versionString (void) = 0;
+
   virtual int __stdcall encrypt (void) = 0;
   virtual int __stdcall decrypt (void) = 0;
   virtual int __stdcall sign (void) = 0;
@@ -78,6 +80,7 @@ public:
   virtual void __stdcall clearPassphrase (void) = 0;
 
   virtual void __stdcall logDebug (const char *fmt, ...) = 0;
+  virtual void __stdcall logDebug (const char *fmt, va_list a) = 0;
 
   virtual int __stdcall readOptions (void) = 0;
   virtual int __stdcall writeOptions (void) = 0;
@@ -103,9 +106,12 @@ public:
   virtual void __stdcall setDefaultKey (const char *key) = 0;
   virtual char * __stdcall getDefaultKey (void) = 0;
 
+  virtual void  __stdcall showVersion (void) = 0;
+
   virtual int __stdcall startKeyManager () = 0;
   virtual void __stdcall startConfigDialog (HWND parent) = 0;
 
+
   void operator delete (void *p)
     {
       if (p)
@@ -115,8 +121,6 @@ public:
         }
     }
 
-  /* Fixme: Move this. */
-  virtual void __stdcall logDebug (const char *fmt, va_list a) = 0;
 };
 
 
index fe7bd10..eb689fa 100644 (file)
@@ -25,7 +25,7 @@
 #include <sys/stat.h>
 #include <gpgme.h>
 
-#include "resource.h"
+#include "olgpgcoredlgs.h"
 #include "keycache.h"
 #include "intern.h"
 
@@ -394,7 +394,7 @@ int
 store_extension_value (const char *key, const char *val)
 {
     return store_config_value (HKEY_LOCAL_MACHINE, 
-       "Software\\Microsoft\\Exchange\\Client\\Extensions\\GPG Exchange", 
+       "Software\\Microsoft\\Exchange\\Client\\Extensions\\OutlGPG", 
        key, val);
 }
 
@@ -404,6 +404,6 @@ int
 load_extension_value (const char *key, char **val)
 {
     return load_config_value (HKEY_LOCAL_MACHINE, 
-       "Software\\Microsoft\\Exchange\\Client\\Extensions\\GPG Exchange", 
+       "Software\\Microsoft\\Exchange\\Client\\Extensions\\OutlGPG", 
        key, val);
 }
similarity index 78%
rename from src/libgpgmedlgs.def
rename to src/olgpgcore.def
index 834367d..003c48b 100644 (file)
@@ -1,4 +1,4 @@
-LIBRARY libgpgmedlgs.dll
+LIBRARY olgpgcore.dll
 
 ;SECTIONS
 ;      .SHARDAT READ WRITE SHARED
similarity index 86%
rename from src/resource.h
rename to src/olgpgcoredlgs.h
index ba8a6e1..427fb4b 100644 (file)
@@ -1,7 +1,6 @@
-//{{NO_DEPENDENCIES}}
-// Microsoft Developer Studio generated include file.
-// Used by gpgmedlgs.rc
-//
+/* olgpgcoredlgs.h - constants used with the dialogs. */
+
+
 #define IDD_ENC                         101
 #define IDD_MAIN                        102
 #define IDD_SYMENC                      103
 #define IDC_DECEXT_HINT                 1046
 #define IDC_DECEXT_PASSINF              1047
 
-// Next default values for new objects
-// 
-#ifdef APSTUDIO_INVOKED
-#ifndef APSTUDIO_READONLY_SYMBOLS
-#define _APS_NEXT_RESOURCE_VALUE        116
-#define _APS_NEXT_COMMAND_VALUE         40001
-#define _APS_NEXT_CONTROL_VALUE         1048
-#define _APS_NEXT_SYMED_VALUE           101
-#endif
-#endif
similarity index 99%
rename from src/gpgmedlgs.rc
rename to src/olgpgcoredlgs.rc
index eddb07d..e2fba18 100644 (file)
@@ -1,6 +1,6 @@
 //Microsoft Developer Studio generated resource script.
 //
-#include "resource.h"
+#include "olgpgcoredlgs.h"
 
 #define APSTUDIO_READONLY_SYMBOLS
 /////////////////////////////////////////////////////////////////////////////
@@ -77,9 +77,9 @@ BEGIN
             VALUE "InternalName", "GPGMEDLGS\0"
             VALUE "LegalCopyright", "Copyright © 2005 g10 Code GmbH, 2004 Timo Schulz\0"
             VALUE "LegalTrademarks", "\0"
-            VALUE "OriginalFilename", "gpgmedlgs.dll\0"
+            VALUE "OriginalFilename", "olgpgcore.dll\0"
             VALUE "PrivateBuild", "\0"
-            VALUE "ProductName", "GPGME Dialogs\0"
+            VALUE "ProductName", "Outlgpg Core\0"
             VALUE "ProductVersion", "0.99.4\0"
             VALUE "SpecialBuild", "2005-07-20-15-49-10\0"
         END
index 965ac2d..ec27159 100644 (file)
@@ -21,7 +21,7 @@
 #include <windows.h>
 #include <time.h>
 
-#include "resource.h"
+#include "olgpgcoredlgs.h"
 #include "gpgme.h"
 #include "keycache.h"
 #include "intern.h"
index 3ac3140..ad827b2 100644 (file)
@@ -22,7 +22,7 @@
 #include <commctrl.h>
 #include <time.h>
 
-#include "resource.h"
+#include "olgpgcoredlgs.h"
 #include "gpgme.h"
 #include "keycache.h"
 #include "intern.h"
index 3fcfd47..7ba8ca7 100644 (file)
@@ -1,14 +1,14 @@
 /* verify-dialog.c
  *     Copyright (C) 2005 g10 Code GmbH
  *
- * This file is part of GPGME Dialogs.
+ * This file is part of OutlGPG.
  *
- * GPGME Dialogs is free software; you can redistribute it and/or
+ * OutlGPG is Free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public License
  * as published by the Free Software Foundation; either version 2.1 
  * of the License, or (at your option) any later version.
  *  
- * GPGME Dialogs is distributed in the hope that it will be useful,
+ * OutlGPG is distributed in the hope that it will be useful,
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  * General Public License for more details.
@@ -21,7 +21,7 @@
 #include <windows.h>
 #include <time.h>
 
-#include "resource.h"
+#include "olgpgcoredlgs.h"
 #include "gpgme.h"
 #include "keycache.h"
 #include "intern.h"