diff --git a/.gitignore b/.gitignore index 036f12a..b20233e 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ config.h* config.log config.status configure +*.tar.gz *.o *.exe *~ diff --git a/Makefile.in b/Makefile.in index ef50d01..294f197 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,11 +1,9 @@ -ifndef VERSION - VERSION = @PACKAGE_VERSION@ -endif -EXE = @PACKAGE_TARNAME@.exe +SNAPSHOT = $(shell test -f SNAPSHOT && cat SNAPSHOT) +VERSION = @PACKAGE_VERSION@$(SNAPSHOT) +EXE = @PACKAGE_TARNAME@$(SNAPSHOT).exe CC = @CC@ WINDRES = @WINDRES@ -ZIP = @ZIP@ LDFLAGS = @CRYPTO_LDFLAGS@ @LDFLAGS@ LIBS = @CRYPTO_LIBS@ @LIBS@ @@ -29,7 +27,7 @@ EXTRA = connected.ico connecting.ico disconnected.ico reconnecting.ico openvpn-g OpenVPN\ GUI\ ReadMe.txt changes.txt COPYING COPYRIGHT.GPL all : ${OBJS} - ${CC} $(CFLAGS) $(LDFLAGS) -o ${EXE} ${OBJS} ${LIBS} + ${CC} $(CFLAGS) $(LDFLAGS) -o $(EXE) ${OBJS} ${LIBS} %.o : %.c %.h $(CC) $(CFLAGS) -c $< @@ -38,19 +36,17 @@ openvpn-gui-res.o : openvpn-gui-res.h *.rc *.ico *.manifest $(WINDRES) -i openvpn-gui-res.rc -o openvpn-gui-res.o dist: - @test -x "$(ZIP)" || { \ - echo "zip(1) was not found on your system"; \ - echo "please install and run configure again"; \ - exit 1; \ - } rm -rf @PACKAGE_TARNAME@-*/ mkdir @PACKAGE_TARNAME@-$(VERSION) cp $(SOURCES) $(EXTRA) @PACKAGE_TARNAME@-$(VERSION) - $(ZIP) -qr @PACKAGE_TARNAME@-$(VERSION).zip @PACKAGE_TARNAME@-$(VERSION) + test ! -f SNAPSHOT || cp SNAPSHOT openvpn-gui-$(VERSION) + tar -czf @PACKAGE_TARNAME@-$(VERSION).tar.gz @PACKAGE_TARNAME@-$(VERSION) rm -rf @PACKAGE_TARNAME@-$(VERSION) snapshot: - $(MAKE) dist VERSION="$(VERSION).git`git log --format=format:"%h" HEAD -1`" + echo "-`date +%Y%m%d%H%M%S`" > SNAPSHOT + $(MAKE) dist + rm -f SNAPSHOT clean : rm -f *.o *.exe diff --git a/configure.ac b/configure.ac index 4758c44..96112b1 100644 --- a/configure.ac +++ b/configure.ac @@ -30,7 +30,6 @@ CPPFLAGS="$CPPFLAGS -mno-cygwin" LDFLAGS="$LDFLAGS -mno-cygwin -mwindows" AC_PATH_PROG([WINDRES], [windres]) -AC_PATH_PROG([ZIP], [zip]) AC_CHECK_HEADER([windows.h], , [AC_MSG_FAILURE([Target system must be Win32])]) diff --git a/shellapi.h b/shellapi.h deleted file mode 100644 index 8dbd7b1..0000000 --- a/shellapi.h +++ /dev/null @@ -1,326 +0,0 @@ -#ifndef _SHELLAPI_H -#define _SHELLAPI_H -#if __GNUC__ >= 3 -#pragma GCC system_header -#endif - -#ifdef __cplusplus -extern "C" { -#endif -#define WINSHELLAPI DECLSPEC_IMPORT -#define ABE_LEFT 0 -#define ABE_TOP 1 -#define ABE_RIGHT 2 -#define ABE_BOTTOM 3 -#define ABS_AUTOHIDE 1 -#define ABS_ALWAYSONTOP 2 -#define SEE_MASK_CLASSNAME 1 -#define SEE_MASK_CLASSKEY 3 -#define SEE_MASK_IDLIST 4 -#define SEE_MASK_INVOKEIDLIST 12 -#define SEE_MASK_ICON 0x10 -#define SEE_MASK_HOTKEY 0x20 -#define SEE_MASK_NOCLOSEPROCESS 0x40 -#define SEE_MASK_CONNECTNETDRV 0x80 -#define SEE_MASK_FLAG_DDEWAIT 0x100 -#define SEE_MASK_DOENVSUBST 0x200 -#define SEE_MASK_FLAG_NO_UI 0x400 -#define SEE_MASK_NO_CONSOLE 0x8000 -#define SEE_MASK_UNICODE 0x10000 -#define SEE_MASK_ASYNCOK 0x100000 -#define SEE_MASK_HMONITOR 0x200000 -#define ABM_NEW 0 -#define ABM_REMOVE 1 -#define ABM_QUERYPOS 2 -#define ABM_SETPOS 3 -#define ABM_GETSTATE 4 -#define ABM_GETTASKBARPOS 5 -#define ABM_ACTIVATE 6 -#define ABM_GETAUTOHIDEBAR 7 -#define ABM_SETAUTOHIDEBAR 8 -#define ABM_WINDOWPOSCHANGED 9 -#define ABN_STATECHANGE 0 -#define ABN_POSCHANGED 1 -#define ABN_FULLSCREENAPP 2 -#define ABN_WINDOWARRANGE 3 -#define NIM_ADD 0 -#define NIM_MODIFY 1 -#define NIM_DELETE 2 -#if _WIN32_IE >= 0x0500 -#define NOTIFYICON_VERSION 3 -#define NIM_SETFOCUS 3 -#define NIM_SETVERSION 4 -#endif -#define NIF_MESSAGE 1 -#define NIF_ICON 2 -#define NIF_TIP 4 -#define NIF_STATE 8 -#define NIS_HIDDEN 1 -#define NIS_SHAREDICON 2 -#define SE_ERR_FNF 2 -#define SE_ERR_PNF 3 -#define SE_ERR_ACCESSDENIED 5 -#define SE_ERR_OOM 8 -#define SE_ERR_DLLNOTFOUND 32 -#define SE_ERR_SHARE 26 -#define SE_ERR_ASSOCINCOMPLETE 27 -#define SE_ERR_DDETIMEOUT 28 -#define SE_ERR_DDEFAIL 29 -#define SE_ERR_DDEBUSY 30 -#define SE_ERR_NOASSOC 31 -#define FO_MOVE 1 -#define FO_COPY 2 -#define FO_DELETE 3 -#define FO_RENAME 4 -#define FOF_MULTIDESTFILES 1 -#define FOF_CONFIRMMOUSE 2 -#define FOF_SILENT 4 -#define FOF_RENAMEONCOLLISION 8 -#define FOF_NOCONFIRMATION 16 -#define FOF_WANTMAPPINGHANDLE 32 -#define FOF_ALLOWUNDO 64 -#define FOF_FILESONLY 128 -#define FOF_SIMPLEPROGRESS 256 -#define FOF_NOCONFIRMMKDIR 512 -#define FOF_NOERRORUI 1024 -#define FOF_NOCOPYSECURITYATTRIBS 2048 -#define PO_DELETE 19 -#define PO_RENAME 20 -#define PO_PORTCHANGE 32 -#define PO_REN_PORT 52 -#define SHGFI_ICON 256 -#define SHGFI_DISPLAYNAME 512 -#define SHGFI_TYPENAME 1024 -#define SHGFI_ATTRIBUTES 2048 -#define SHGFI_ICONLOCATION 4096 -#define SHGFI_EXETYPE 8192 -#define SHGFI_SYSICONINDEX 16384 -#define SHGFI_LINKOVERLAY 32768 -#define SHGFI_SELECTED 65536 -#define SHGFI_ATTR_SPECIFIED 131072 -#define SHGFI_LARGEICON 0 -#define SHGFI_SMALLICON 1 -#define SHGFI_OPENICON 2 -#define SHGFI_SHELLICONSIZE 4 -#define SHGFI_PIDL 8 -#define SHGFI_USEFILEATTRIBUTES 16 -#define SHERB_NOCONFIRMATION 1 -#define SHERB_NOPROGRESSUI 2 -#define SHERB_NOSOUND 4 - -typedef WORD FILEOP_FLAGS; -typedef WORD PRINTEROP_FLAGS; -#include -typedef struct _AppBarData { - DWORD cbSize; - HWND hWnd; - UINT uCallbackMessage; - UINT uEdge; - RECT rc; - LPARAM lParam; -} APPBARDATA,*PAPPBARDATA; -DECLARE_HANDLE(HDROP); - -typedef struct _NOTIFYICONDATAA { - DWORD cbSize; - HWND hWnd; - UINT uID; - UINT uFlags; - UINT uCallbackMessage; - HICON hIcon; -#if _WIN32_IE >= 0x0500 - CHAR szTip[128]; - DWORD dwState; - DWORD dwStateMask; - CHAR szInfo[256]; - _ANONYMOUS_UNION union { - UINT uTimeout; - UINT uVersion; - } DUMMYUNIONNAME; - CHAR szInfoTitle[64]; - DWORD dwInfoFlags; -#else - CHAR szTip[64]; -#endif -#if _WIN32_IE >= 0x600 - GUID guidItem; -#endif -} NOTIFYICONDATAA,*PNOTIFYICONDATAA; - -typedef struct _NOTIFYICONDATAW { - DWORD cbSize; - HWND hWnd; - UINT uID; - UINT uFlags; - UINT uCallbackMessage; - HICON hIcon; -#if _WIN32_IE >= 0x0500 - WCHAR szTip[128]; - DWORD dwState; - DWORD dwStateMask; - WCHAR szInfo[256]; - _ANONYMOUS_UNION union { - UINT uTimeout; - UINT uVersion; - } DUMMYUNIONNAME; - WCHAR szInfoTitle[64]; - DWORD dwInfoFlags; -#else - WCHAR szTip[64]; -#endif -#if _WIN32_IE >= 0x600 - GUID guidItem; -#endif -} NOTIFYICONDATAW,*PNOTIFYICONDATAW; - -typedef struct _SHELLEXECUTEINFOA { - DWORD cbSize; - ULONG fMask; - HWND hwnd; - LPCSTR lpVerb; - LPCSTR lpFile; - LPCSTR lpParameters; - LPCSTR lpDirectory; - int nShow; - HINSTANCE hInstApp; - PVOID lpIDList; - LPCSTR lpClass; - HKEY hkeyClass; - DWORD dwHotKey; - HANDLE hIcon; - HANDLE hProcess; -} SHELLEXECUTEINFOA,*LPSHELLEXECUTEINFOA; -typedef struct _SHELLEXECUTEINFOW { - DWORD cbSize; - ULONG fMask; - HWND hwnd; - LPCWSTR lpVerb; - LPCWSTR lpFile; - LPCWSTR lpParameters; - LPCWSTR lpDirectory; - int nShow; - HINSTANCE hInstApp; - PVOID lpIDList; - LPCWSTR lpClass; - HKEY hkeyClass; - DWORD dwHotKey; - HANDLE hIcon; - HANDLE hProcess; -} SHELLEXECUTEINFOW,*LPSHELLEXECUTEINFOW; -typedef struct _SHFILEOPSTRUCTA { - HWND hwnd; - UINT wFunc; - LPCSTR pFrom; - LPCSTR pTo; - FILEOP_FLAGS fFlags; - BOOL fAnyOperationsAborted; - PVOID hNameMappings; - LPCSTR lpszProgressTitle; -} SHFILEOPSTRUCTA,*LPSHFILEOPSTRUCTA; -typedef struct _SHFILEOPSTRUCTW { - HWND hwnd; - UINT wFunc; - LPCWSTR pFrom; - LPCWSTR pTo; - FILEOP_FLAGS fFlags; - BOOL fAnyOperationsAborted; - PVOID hNameMappings; - LPCWSTR lpszProgressTitle; -} SHFILEOPSTRUCTW,*LPSHFILEOPSTRUCTW; -typedef struct _SHFILEINFOA { - HICON hIcon; - int iIcon; - DWORD dwAttributes; - CHAR szDisplayName[MAX_PATH]; - CHAR szTypeName[80]; -} SHFILEINFOA; -typedef struct _SHFILEINFOW { - HICON hIcon; - int iIcon; - DWORD dwAttributes; - WCHAR szDisplayName[MAX_PATH]; - WCHAR szTypeName[80]; -} SHFILEINFOW; -typedef struct _SHQUERYRBINFO { - DWORD cbSize; - __int64 i64Size; - __int64 i64NumItems; -} SHQUERYRBINFO, *LPSHQUERYRBINFO; -#include - -LPWSTR * WINAPI CommandLineToArgvW(LPCWSTR,int*); -void WINAPI DragAcceptFiles(HWND,BOOL); -void WINAPI DragFinish(HDROP); -UINT WINAPI DragQueryFileA(HDROP,UINT,LPSTR,UINT); -UINT WINAPI DragQueryFileW(HDROP,UINT,LPWSTR,UINT); -BOOL WINAPI DragQueryPoint(HDROP,LPPOINT); -HICON WINAPI DuplicateIcon(HINSTANCE,HICON); -HICON WINAPI ExtractAssociatedIconA(HINSTANCE,LPCSTR,PWORD); -HICON WINAPI ExtractAssociatedIconW(HINSTANCE,LPCWSTR,PWORD); -HICON WINAPI ExtractIconA(HINSTANCE,LPCSTR,UINT); -HICON WINAPI ExtractIconW(HINSTANCE,LPCWSTR,UINT); -UINT WINAPI ExtractIconExA(LPCSTR,int,HICON*,HICON*,UINT); -UINT WINAPI ExtractIconExW(LPCWSTR,int,HICON*,HICON*,UINT); -HINSTANCE WINAPI FindExecutableA(LPCSTR,LPCSTR,LPSTR); -HINSTANCE WINAPI FindExecutableW(LPCWSTR,LPCWSTR,LPWSTR); -UINT WINAPI SHAppBarMessage(DWORD,PAPPBARDATA); -BOOL WINAPI Shell_NotifyIconA(DWORD,PNOTIFYICONDATAA); -BOOL WINAPI Shell_NotifyIconW(DWORD,PNOTIFYICONDATAW); -int WINAPI ShellAboutA(HWND,LPCSTR,LPCSTR,HICON); -int WINAPI ShellAboutW(HWND,LPCWSTR,LPCWSTR,HICON); -HINSTANCE WINAPI ShellExecuteA(HWND,LPCSTR,LPCSTR,LPCSTR,LPCSTR,INT); -HINSTANCE WINAPI ShellExecuteW(HWND,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,INT); -BOOL WINAPI ShellExecuteExA(LPSHELLEXECUTEINFOA); -BOOL WINAPI ShellExecuteExW(LPSHELLEXECUTEINFOW); -int WINAPI SHFileOperationA(LPSHFILEOPSTRUCTA); -int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW); -void WINAPI SHFreeNameMappings(HANDLE); -DWORD WINAPI SHGetFileInfoA(LPCSTR,DWORD,SHFILEINFOA*,UINT,UINT); -DWORD WINAPI SHGetFileInfoW(LPCWSTR,DWORD,SHFILEINFOW*,UINT,UINT); -HRESULT WINAPI SHQueryRecycleBinA(LPCSTR, LPSHQUERYRBINFO); -HRESULT WINAPI SHQueryRecycleBinW(LPCWSTR, LPSHQUERYRBINFO); -HRESULT WINAPI SHEmptyRecycleBinA(HWND,LPCSTR,DWORD); -HRESULT WINAPI SHEmptyRecycleBinW(HWND,LPCWSTR,DWORD); - -#ifdef UNICODE -typedef NOTIFYICONDATAW NOTIFYICONDATA,*PNOTIFYICONDATA; -typedef SHELLEXECUTEINFOW SHELLEXECUTEINFO,*LPSHELLEXECUTEINFO; -typedef SHFILEOPSTRUCTW SHFILEOPSTRUCT,*LPSHFILEOPSTRUCT; -typedef SHFILEINFOW SHFILEINFO; -#define DragQueryFile DragQueryFileW -#define ExtractAssociatedIcon ExtractAssociatedIconW -#define ExtractIcon ExtractIconW -#define ExtractIconEx ExtractIconExW -#define FindExecutable FindExecutableW -#define Shell_NotifyIcon Shell_NotifyIconW -#define ShellAbout ShellAboutW -#define ShellExecute ShellExecuteW -#define ShellExecuteEx ShellExecuteExW -#define SHFileOperation SHFileOperationW -#define SHGetFileInfo SHGetFileInfoW -#define SHQueryRecycleBin SHQueryRecycleBinW -#define SHEmptyRecycleBin SHEmptyRecycleBinW - -#else -typedef NOTIFYICONDATAA NOTIFYICONDATA,*PNOTIFYICONDATA; -typedef SHELLEXECUTEINFOA SHELLEXECUTEINFO,*LPSHELLEXECUTEINFO; -typedef SHFILEOPSTRUCTA SHFILEOPSTRUCT,*LPSHFILEOPSTRUCT; -typedef SHFILEINFOA SHFILEINFO; -#define DragQueryFile DragQueryFileA -#define ExtractAssociatedIcon ExtractAssociatedIconA -#define ExtractIcon ExtractIconA -#define ExtractIconEx ExtractIconExA -#define FindExecutable FindExecutableA -#define Shell_NotifyIcon Shell_NotifyIconA -#define ShellAbout ShellAboutA -#define ShellExecute ShellExecuteA -#define ShellExecuteEx ShellExecuteExA -#define SHFileOperation SHFileOperationA -#define SHGetFileInfo SHGetFileInfoA -#define SHQueryRecycleBin SHQueryRecycleBinA -#define SHEmptyRecycleBin SHEmptyRecycleBinA -#endif -#ifdef __cplusplus -} -#endif -#endif diff --git a/tray.c b/tray.c index 477c838..d658e58 100644 --- a/tray.c +++ b/tray.c @@ -30,7 +30,6 @@ #include "config.h" #include "tray.h" #include "service.h" -#include "shellapi.h" #include "main.h" #include "options.h" #include "openvpn.h"