$Revision: 1.43 $
gpg.c - core of the PA module. Contains functions that are used to check the PGP authentication in a message.
Status: COMPLETE, REVUED, TESTED
| Defined in: | ep/mail_parser.c |
EP_Node_ID
extern int EP_Node_ID
| Defined in: | ep/mail_parser.c |
EP_Debug
extern int EP_Debug
| Defined in: | ep/mail_parser.c |
sd1
extern int sd1[2]
| Used in: | NT_add_to_cross_hash() |
| NT_add_to_frwd_hash() | |
| NT_add_to_ntfy_hash() | |
| NT_forw_create_req() | |
| PA_SetTmpDir() | |
| PA_VerifySignature() |
outputPrefix
static char* outputPrefix
| Used in: | PA_ParseMessage() |
| PA_SetOutputPrefix() |
| Used in: | PA_SetKeyRing() |
| PA_VerifySignature() | |
| VerifySignAndExplodeFile() |
| Used in: | GetFingerPrint() |
| GetKeyID() | |
| GetKeyOwner() | |
| PA_Decrypt() | |
| PA_ImportKey() | |
| PA_RemoveKey() | |
| PA_RemoveKey_withKeyID() | |
| PA_SetGPGCmd() | |
| PA_VerifySignature() | |
| VerifySignAndExplodeFile() |
Get the fingerprint of a PGP key.void GetFingerPrint ( struct ImportKeyObject* iKO )
ImportKeyObject *iKO The imported key object
| Prototyped in: | /home/shane/release/RIP/include/gpg.h | |
| Calls: | ER_perror() | er/er.c |
| ___errno(), exit(), fdopen(), fdwrap_close(), fgets(), spawn_job(), sprintf(), sscanf(), strcpy(), strerror(), strlen(), strstr(), waitpid() | ||
| Called by: | PA_ImportKey() | pa/gpg.c |
| References Variables: | gpgCmd | pa/gpg.c |
| sd1 | ||
Get the KeyID of a PGP key.void GetKeyID ( struct ImportKeyObject* iKO )
| Prototyped in: | pa/gpg.c | |
| Calls: | ER_perror() | er/er.c |
| ___errno(), exit(), fdopen(), fdwrap_close(), fgets(), nfslock(), nfsunlock(), spawn_job(), sscanf(), strcpy(), strerror(), strrchr(), strstr(), waitpid() | ||
| Called by: | PA_RemoveKey() | pa/gpg.c |
| References Variables: | gpgCmd | pa/gpg.c |
| sd1 | ||
Get the owner of a PGP key.void GetKeyOwner ( struct ImportKeyObject* iKO )
ImportKeyObject *iKO The imported key object
| Prototyped in: | /home/shane/release/RIP/include/gpg.h | |
| Calls: | ER_perror() | er/er.c |
| ___errno(), exit(), fdopen(), fdwrap_close(), fgets(), spawn_job(), sprintf(), sscanf(), strcpy(), strerror(), strlen(), strstr(), waitpid() | ||
| Called by: | PA_ImportKey() | pa/gpg.c |
| References Variables: | gpgCmd | pa/gpg.c |
| sd1 | ||
Decrypt a PGP-encrypted file.void PA_Decrypt ( struct ReadCryptedObject* rDO )
Note: This functions is not used by PA/EP/MM It can be useful in the future.... (FP)
| Prototyped in: | /home/shane/release/RIP/include/gpg.h | |
| Calls: | ER_perror() | er/er.c |
| ___errno(), exit(), fdopen(), fdwrap_close(), fgets(), spawn_job(), strcat(), strcpy(), strerror(), waitpid() | ||
| References Variables: | gpgCmd | pa/gpg.c |
| sd1 | ||
Import a PGP key.void PA_ImportKey ( struct ImportKeyObject* iKO )
| Prototyped in: | /home/shane/release/RIP/include/gpg.h | |
| Calls: | ER_perror() | er/er.c |
| GetFingerPrint() | pa/gpg.c | |
| GetKeyOwner() | pa/gpg.c | |
| PA_RemoveKey_withKeyID() | pa/gpg.c | |
| ___errno(), exit(), fdopen(), fdwrap_close(), fgets(), g_list_append(), nfslock(), nfsunlock(), printf(), spawn_job(), sscanf(), strcpy(), strerror(), strrchr(), strstr(), waitpid() | ||
| References Variables: | gpgCmd | pa/gpg.c |
| sd1, tracing | ||
Parse a file and look for PGP-signed elements inside.EPNodePtr PA_ParseMessage ( EPNodePtr ptr )
| Prototyped in: | /home/shane/release/RIP/include/gpg.h | |
| Calls: | EP_DefineNewNode() | ep/mail_parser.c |
| EP_MIMEParse() | ep/mail_parser.c | |
| ER_dbg_va() | er/er.c | |
| PA_ParseMessage() | pa/gpg.c | |
| VerifySignAndExplodeFile() | pa/gpg.c | |
| fdwrap_fclose(), fgets(), fopen(), fputs(), strstr() | ||
| Called by: | EP_MIMEParse() | ep/mail_parser.c |
| EP_ParseText() | ep/mail_parser.c | |
| PA_ParseMessage() | pa/gpg.c | |
| parse_text_plain() | mm/mm.c | |
| References Variables: | EP_Node_ID | ep/mail_parser.c |
| outputPrefix | pa/gpg.c | |
Remove a PGP key.void PA_RemoveKey ( struct ImportKeyObject* iKO )
| Prototyped in: | /home/shane/release/RIP/include/gpg.h | |
| Calls: | ER_perror() | er/er.c |
| GetKeyID() | pa/gpg.c | |
| ___errno(), exit(), fdopen(), fdwrap_close(), fgets(), nfslock(), nfsunlock(), spawn_job(), sprintf(), strcpy(), strerror(), strrchr(), strstr(), waitpid() | ||
| References Variables: | gpgCmd | pa/gpg.c |
| sd1 | ||
Remove a PGP key, using its KeyID (otherwise it's the same as PA_RemoveKeyvoid PA_RemoveKey_withKeyID ( struct ImportKeyObject* iKO )
| Prototyped in: | /home/shane/release/RIP/include/gpg.h | |
| Calls: | ER_perror() | er/er.c |
| ___errno(), exit(), fdopen(), fdwrap_close(), fgets(), nfslock(), nfsunlock(), spawn_job(), sprintf(), strcpy(), strerror(), strrchr(), strstr(), waitpid() | ||
| Called by: | PA_ImportKey() | pa/gpg.c |
| References Variables: | gpgCmd | pa/gpg.c |
| sd1 | ||
Set the GPG command line.void PA_SetGPGCmd ( char* path )
This memory allocated is never freed, maybe a PA_end function?
| Prototyped in: | /home/shane/release/RIP/include/gpg.h | |
| Calls: | pa_strcpy() | pa/gpg.c |
| References Variables: | gpgCmd | pa/gpg.c |
Set the path to the Keyring.void PA_SetKeyRing ( char* path )
| Prototyped in: | /home/shane/release/RIP/include/gpg.h | |
| Calls: | pa_strcpy() | pa/gpg.c |
| References Variables: | keyRing | pa/gpg.c |
Set the path to the output file.void PA_SetOutputPrefix ( char* path )
| Prototyped in: | /home/shane/release/RIP/include/gpg.h | |
| Calls: | pa_strcpy() | pa/gpg.c |
| Called by: | EP_MIMEParse() | ep/mail_parser.c |
| EP_ParseMail() | ep/mail_parser.c | |
| EP_ParseText() | ep/mail_parser.c | |
| References Variables: | outputPrefix | pa/gpg.c |
Set the GPG temporary directory.void PA_SetTmpDir ( char* dir )
This memory allocated is never freed, maybe a PA_end function?
| Calls: | pa_strcpy() | pa/gpg.c |
| References Variables: | tmpdir | pa/gpg.c |
Verify a detached PGP signature.void PA_VerifySignature ( struct VerifySignObject* vSO )
| Prototyped in: | /home/shane/release/RIP/include/gpg.h | |
| Calls: | ER_perror() | er/er.c |
| ___errno(), exit(), fdopen(), fdwrap_close(), fgets(), mkstemp(), open(), read(), spawn_job(), sprintf(), sscanf(), strcat(), strcmp(), strcpy(), strerror(), strstr(), unlink(), waitpid(), write() | ||
| Called by: | parse_multipart_signed() | mm/mm.c |
| References Variables: | gpgCmd | pa/gpg.c |
| keyRing | pa/gpg.c | |
| tmpdir | pa/gpg.c | |
| sd1 | ||
Verify the PGP signature and extract the signed part in a file.void VerifySignAndExplodeFile ( EPNodePtr ptr )
| Prototyped in: | pa/gpg.c | |
| Calls: | ER_perror() | er/er.c |
| UT_free_real(), UT_strdup_real(), ___errno(), exit(), fdopen(), fdwrap_close(), fdwrap_fclose(), fgets(), fopen(), fprintf(), spawn_job(), sprintf(), sscanf(), strcpy(), strerror(), strstr(), unlink(), waitpid() | ||
| Called by: | PA_ParseMessage() | pa/gpg.c |
| References Variables: | gpgCmd | pa/gpg.c |
| keyRing | pa/gpg.c | |
| sd1 | ||
Copies a string with memory allocation care.void pa_strcpy ( char** dest, char* orig )
char* dest The destination string char* orig The origin string
| Calls: | free(), malloc(), strcpy(), strlen() | |
| Called by: | PA_SetGPGCmd() | pa/gpg.c |
| PA_SetKeyRing() | pa/gpg.c | |
| PA_SetOutputPrefix() | pa/gpg.c | |
| PA_SetTmpDir() | pa/gpg.c | |
| Included from: | /usr/include/time.h | |
| Calls: | __posix_asctime_r() | |
| Included from: | /usr/include/time.h | |
| Calls: | __posix_ctime_r() | |
| Included from: | /usr/include/unistd.h | |
| Calls: | __posix_getlogin_r() | |
| Included from: | /usr/include/dirent.h | |
| Calls: | __posix_readdir_r() | |
| Included from: | /usr/include/signal.h | |
| Calls: | __posix_sigwait() | |
| Included from: | /usr/include/unistd.h | |
| Calls: | __posix_ttyname_r() | |