diff options
author | watcherhd <watcherhd@e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb> | 2011-11-26 14:19:43 +0000 |
---|---|---|
committer | watcherhd <watcherhd@e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb> | 2011-11-26 14:19:43 +0000 |
commit | 7aff1e4cb053394db57c2814d5fe1e6493e0cc75 (patch) | |
tree | c8585e44049b37e4da152495c954242204c2c38d /cryptopp/GPGw/gpg.c | |
parent | 6f3d69266933ef120d229e0daf2da164b77214d0 (diff) |
Project folders rename part 2
git-svn-id: http://miranda-plugins.googlecode.com/svn/trunk@214 e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb
Diffstat (limited to 'cryptopp/GPGw/gpg.c')
-rw-r--r-- | cryptopp/GPGw/gpg.c | 366 |
1 files changed, 0 insertions, 366 deletions
diff --git a/cryptopp/GPGw/gpg.c b/cryptopp/GPGw/gpg.c deleted file mode 100644 index 354e455..0000000 --- a/cryptopp/GPGw/gpg.c +++ /dev/null @@ -1,366 +0,0 @@ -#include "commonheaders.h"
-#include <stdio.h>
-
-char *txtgpgargslistpublickeys=
- "--homedir \"%home%\""
- " --with-colon" // felder durch : voneinander abgetrennt
- " --list-public-keys"; // oeffentliche schluessel auflisten
-char *txtgpgargslistsecretkeys=
- "--homedir \"%home%\""
- " --with-colon"
- " --list-secret-keys"; // geheime schluessel auflisten
-char *txtgpgargsimportpublickey=
- "--homedir \"%home%\""
- " --import \"%keyfile%\""; // schluessel importieren
-char *txtgpgargsexportpublickey=
- "--homedir \"%home%\""
- " --batch"
- " --yes" // abfragen mit ja beantworten
- " --armor" // ausgabe als text
- " --comment \"\"" // kommentar unterdruecken ("Comment: For info see http://www.gnupg.org")
- " --no-version" // ausgabe der version unterdruecken ("Version: GnuPG v1.0.6 (MingW32)")
- " --export \"%userid%\""; // export des schluessels %userid%
-char *txtgpgargsdetectuserid=
- "--homedir \"%home%\""
- " --batch" // interaktion verhindern (daraus folgt fehler)
- " --decrypt \"%cipherfile%\""; // datei %cipherfile% entschluesseln
-char *txtgpgargsencrypt=
- "--homedir \"%home%\""
- " --batch"
- " --yes" // abfragen mit ja beantworten
- " --armor" // textausgabe
- " --comment \"\"" // kein kommentar hinzufuegen
- " --no-version" // keine versions informationen hinzufuegen
- " --recipient \"%userid%\"" // %userid% des empfaengers
- " --output \"%cipherfile%\"" // ausgabe in datei %cipherfile%
- " --encrypt \"%plainfile%\""; // eingabe kommt aus %plainfile%
-char *txtgpgargsdecrypt=
- "--homedir \"%home%\""
- " --yes" // abfragen mit ja beantworten
- " --passphrase-fd 0" // passphrase von stdin
- " --output \"%plainfile%\"" // ausgabe in datei %plainfile%
- " --decrypt \"%cipherfile%\""; // eingabe kommt aus %cipherfile%
-
-// oeffentliche zeichenketten
-char gpgExecutable[argumentsize];
-char gpgHomeDirectory[argumentsize];
-
-
-// zeichenketten fuer den internen gebrauch
-char *txtpub="pub";
-char *txtsec="sec";
-char *txtcrlf="\r\n";
-char *txtcolon=":";
-char *txtquotationmark="\"";
-char *txtgpgcolon="gpg:";
-char *txtplainfile="%plainfile%";
-char *txtcipherfile="%cipherfile%";
-char *txtuserid="%userid%";
-char *txtkeyfile="%keyfile%";
-char *txthome="%home%";
-char *txtidseparator=", ";
-
-
-void assembleCommandLine(char *aresult, const char *aexecutable, const char *aargs)
-{
- strcpy(aresult, aexecutable);
- strcat(aresult, " ");
- strcat(aresult, aargs);
-}
-
-
-void detectKeys(char *aresult, char *aoutput, const char *alabel)
-{
- char line[linesize];
- char part[linesize];
- char *linepos;
- char *partpos;
- long i;
-
- strcpy(aresult, "");
- linepos=aoutput;
-
- do
- {
- linepos=getNextPart(line, linepos, txtcrlf);
- if(linepos==NULL) break;
-
- partpos=line;
- partpos=getNextPart(part, partpos, txtcolon);
-
- if(strcmp(part, alabel)==0)
- for(i=1; i<=10; i++)
- {
- partpos=getNextPart(part, partpos, txtcolon);
-
- switch(i)
- {
- case 4:
- strcat(aresult, part);
- strcat(aresult, txtidseparator);
- break;
- case 9:
- strcat(aresult, part);
- strcat(aresult, txtcrlf);
- break;
- }
- }
- }
- while(linepos!=NULL);
-
- replace(aresult, "\\x3a", ":");
-}
-
-
-gpgResult gpgListPublicKeys(char *aresult)
-{
- pxResult pxresult;
- char commandline[commandlinesize];
- DWORD exitcode;
- char *output;
-
- LogMessage(">>> ", "list public keys", "\n");
- output=(char *)malloc(1);
- strcpy(output, "");
- assembleCommandLine(commandline, gpgExecutable, txtgpgargslistpublickeys);
- replace(commandline, txthome, gpgHomeDirectory);
- pxresult=pxExecute(commandline, "", &output, &exitcode);
-
- if((pxresult!=pxSuccess)||(exitcode!=0))
- {
- free(output);
- return gpgExecuteFailed;
- }
-
- detectKeys(aresult, output, txtpub);
-
- free(output);
- return gpgSuccess;
-}
-
-
-gpgResult gpgListSecretKeys(char *aresult)
-{
- pxResult pxresult;
- char commandline[commandlinesize];
- DWORD exitcode;
- char *output;
-
- LogMessage(">>> ", "list secret keys", "\n");
- output=(char *)malloc(1);
- strcpy(output, "");
- assembleCommandLine(commandline, gpgExecutable, txtgpgargslistsecretkeys);
- replace(commandline, txthome, gpgHomeDirectory);
- pxresult=pxExecute(commandline, "", &output, &exitcode);
-
- if((pxresult!=pxSuccess)||(exitcode!=0))
- {
- free(output);
- return gpgExecuteFailed;
- }
-
- detectKeys(aresult, output, txtsec);
-
- free(output);
- return gpgSuccess;
-}
-
-
-gpgResult gpgImportPublicKey(const char *akey)
-{
- pxResult pxresult;
- char commandline[commandlinesize];
- char filename[fullfilenamesize];
- DWORD exitcode;
- char *output;
-
- LogMessage(">>> ", "import public key", "\n");
- if(! writeToFile(filename, akey)) return gpgWriteToFileFailed;
-
- output=(char *)malloc(1);
- strcpy(output, "");
- assembleCommandLine(commandline, gpgExecutable, txtgpgargsimportpublickey);
- replace(commandline, txtkeyfile, filename);
- replace(commandline, txthome, gpgHomeDirectory);
- pxresult=pxExecute(commandline, "", &output, &exitcode);
- remove(filename);
- free(output);
-
- if((pxresult!=pxSuccess)||(exitcode!=0))
- return gpgExecuteFailed;
-
- return gpgSuccess;
-}
-
-
-gpgResult gpgExportPublicKey(char *aresult, const char *auserid)
-{
- pxResult pxresult;
- char commandline[commandlinesize];
- DWORD exitcode;
- char *output;
-
- LogMessage(">>> ", "export public key", "\n");
- output=(char *)malloc(1);
- strcpy(output, "");
- assembleCommandLine(commandline, gpgExecutable, txtgpgargsexportpublickey);
- replace(commandline, txtuserid, auserid);
- replace(commandline, txthome, gpgHomeDirectory);
- pxresult=pxExecute(commandline, "", &output, &exitcode);
-
- if((pxresult!=pxSuccess)||(exitcode!=0))
- {
- strcpy(aresult, "");
- free(output);
- return gpgExecuteFailed;
- }
-
- strcpy(aresult, output);
-
- free(output);
- return gpgSuccess;
-}
-
-
-gpgResult gpgDetectUserID(char *aresult, const char *aciphertext)
-{
- pxResult pxresult;
- char commandline[commandlinesize];
- char filename[fullfilenamesize];
- char line[linesize];
- char part[linesize];
- char *linepos;
- char *partpos;
- DWORD exitcode;
- char *output;
-
- LogMessage(">>> ", "detect user id", "\n");
- strcpy(aresult, "");
-
- if(! writeToFile(filename, aciphertext))
- return gpgWriteToFileFailed;
-
- output=(char *)malloc(1);
- strcpy(output, "");
- assembleCommandLine(commandline, gpgExecutable, txtgpgargsdetectuserid);
- replace(commandline, txtcipherfile, filename);
- replace(commandline, txthome, gpgHomeDirectory);
- pxresult=pxExecute(commandline, "", &output, &exitcode);
- remove(filename);
-
- if((pxresult!=pxSuccess)&&(pxresult!=pxSuccessExitCodeInvalid))
- {
- free(output);
- return gpgExecuteFailed;
- }
-
- linepos=output;
-
- do
- {
- linepos=getNextPart(line, linepos, txtcrlf);
- if(strncmp(line, txtgpgcolon, strlen(txtgpgcolon))!=0 && strstr(line, txtgpgcolon)==0)
- {
- partpos=line;
- partpos=getNextPart(part, partpos, txtquotationmark);
- getNextPart(part, partpos, txtquotationmark);
- linepos=NULL;
- }
- }
- while(linepos!=NULL);
- strcpy(aresult, part);
-
- free(output);
- return gpgSuccess;
-}
-
-
-gpgResult gpgEncrypt(char *aresult, const char *auserid, const char *aplaintext)
-{
- pxResult pxresult;
- char commandline[commandlinesize];
- char plainfile[fullfilenamesize];
- char cipherfile[fullfilenamesize];
- DWORD exitcode;
- char *output;
-
- LogMessage(">>> ", "encrypt", "\n");
- strcpy(aresult, "");
-
- if(! writeToFile(plainfile, aplaintext))
- return gpgWriteToFileFailed;
-
- output=(char *)malloc(1);
- strcpy(output, "");
- getTemporaryFileName(cipherfile);
- assembleCommandLine(commandline, gpgExecutable, txtgpgargsencrypt);
- replace(commandline, txtcipherfile, cipherfile);
- replace(commandline, txtplainfile, plainfile);
- replace(commandline, txtuserid, auserid);
- replace(commandline, txthome, gpgHomeDirectory);
- pxresult=pxExecute(commandline, "", &output, &exitcode);
- remove(plainfile);
- free(output);
-
- if((pxresult!=pxSuccess)||(exitcode!=0))
- {
- remove(cipherfile);
- return gpgExecuteFailed;
- }
-
- if(! readFromFile(aresult, cipherfile))
- {
- remove(cipherfile);
- return gpgReadFromFileFailed;
- }
-
- remove(cipherfile);
- return gpgSuccess;
-}
-
-
-gpgResult gpgDecrypt(char *aresult, const char *aciphertext, const char *apassphrase)
-{
- pxResult pxresult;
- char commandline[commandlinesize];
- char plainfile[fullfilenamesize];
- char cipherfile[fullfilenamesize];
- char passphrase[linesize];
- DWORD exitcode;
- char *output;
-
- LogMessage(">>> ", "decrypt", "\n");
- strcpy(aresult, "");
-
- if(! writeToFile(cipherfile, aciphertext))
- return gpgWriteToFileFailed;
-
- output=(char *)malloc(1);
- strcpy(output, "");
- getTemporaryFileName(plainfile);
- assembleCommandLine(commandline, gpgExecutable, txtgpgargsdecrypt);
- replace(commandline, txtcipherfile, cipherfile);
- replace(commandline, txtplainfile, plainfile);
- replace(commandline, txthome, gpgHomeDirectory);
- strcpy(passphrase, apassphrase);
- strcat(passphrase, txtcrlf);
- pxresult=pxExecute(commandline, passphrase, &output, &exitcode);
- remove(cipherfile);
- free(output);
-
- if((pxresult!=pxSuccess)||(exitcode!=0))
- {
- remove(plainfile);
- return gpgExecuteFailed;
- }
-
- if(! readFromFile(aresult, plainfile))
- {
- remove(plainfile);
- return gpgReadFromFileFailed;
- }
-
- remove(plainfile);
- return gpgSuccess;
-}
-
|