![]() |
s/qmail 4.3.20
Next generation secure email transport
|
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/stat.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
#include "sig.h"
#include "stralloc.h"
#include "buffer.h"
#include "error.h"
#include "auto_qmail.h"
#include "auto_queue.h"
#include "control.h"
#include "str.h"
#include "exit.h"
#include "case.h"
#include "constmap.h"
#include "uint_t.h"
#include "fd.h"
#include "logmsg.h"
#include "open.h"
#include "fmt.h"
#include "fmtqfn.h"
#include "readwrite.h"
#include "qmail.h"
#include "wait.h"
#include "pathexec.h"
#include "rcpthosts.h"
Go to the source code of this file.
Macros | |
#define | WHO "qmail-dksign" |
#define | DOMAINKEYS "/ssl/domainkeys/" |
Functions | |
int | main (int argc, char *const *args) |
Variables | |
char | inbuf [BUFSIZE_LINE] |
buffer | bi = BUFFER_INIT(buffer_unixread,0,inbuf,sizeof(inbuf)) |
char | outbuf [BUFSIZE_MESS] |
buffer | bo = BUFFER_INIT(buffer_unixwrite,1,outbuf,sizeof(outbuf)) |
stralloc | fndkin = {0} |
stralloc | fndkout = {0} |
stralloc | sender = {0} |
stralloc | senddomain = {0} |
stralloc | originator = {0} |
stralloc | dkimdomains = {0} |
struct constmap | mapdkimdomains |
stralloc | ecckey = {0} |
stralloc | rsakey = {0} |
char * | dkimparams = 0 |
stralloc | selector = {0} |
stralloc | selectore = {0} |
stralloc | sdid = {0} |
stralloc | auid = {0} |
stralloc | expire = {0} |
stralloc | canon = {0} |
stralloc | hash = {0} |
stralloc | length = {0} |
-- generate signature and attach in DKIM header to outgoing message
a) DKIM controls: get private key for sending domain b) Prepare two staging files at queue/dkim (before and after signing) c) Read input at fd0 and insert CR for every line and store at dkim/x/pre d) DKIM sign the message with provided private key and store at dkim/y/post e) Copy signed file from fd to 0 f) Invoke qmail-remote (respecting the \r
) g) Remove staging files (pre/post)
a) selector is a link to RSA private key b) selector2 is a link to Ed25519 private key c) Both are provided in the 'selector' field of dkimdomains separated by colon d) The coupled selector information is provided to qmail-dkim as: -yselector ,-Yselector2 e) The RSA privat key is given unaltered f) The Ed25519 private is supplied as additional argument
Definition in file qmail-dksign.c.
#define DOMAINKEYS "/ssl/domainkeys/" |
Definition at line 32 of file qmail-dksign.c.
#define WHO "qmail-dksign" |
Definition at line 30 of file qmail-dksign.c.
stralloc auid = {0} |
Definition at line 231 of file qmail-dksign.c.
Definition at line 58 of file qmail-dksign.c.
Definition at line 60 of file qmail-dksign.c.
stralloc canon = {0} |
Definition at line 233 of file qmail-dksign.c.
stralloc dkimdomains = {0} |
Definition at line 75 of file qmail-dksign.c.
char* dkimparams = 0 |
Definition at line 80 of file qmail-dksign.c.
stralloc ecckey = {0} |
Definition at line 78 of file qmail-dksign.c.
stralloc expire = {0} |
Definition at line 232 of file qmail-dksign.c.
stralloc fndkin = {0} |
Definition at line 69 of file qmail-dksign.c.
stralloc fndkout = {0} |
Definition at line 70 of file qmail-dksign.c.
stralloc hash = {0} |
Definition at line 234 of file qmail-dksign.c.
char inbuf[BUFSIZE_LINE] |
Definition at line 57 of file qmail-dksign.c.
stralloc length = {0} |
Definition at line 235 of file qmail-dksign.c.
struct constmap mapdkimdomains |
Definition at line 76 of file qmail-dksign.c.
stralloc originator = {0} |
Definition at line 74 of file qmail-dksign.c.
char outbuf[BUFSIZE_MESS] |
Definition at line 59 of file qmail-dksign.c.
stralloc rsakey = {0} |
Definition at line 79 of file qmail-dksign.c.
stralloc sdid = {0} |
Definition at line 230 of file qmail-dksign.c.
stralloc selector = {0} |
Definition at line 228 of file qmail-dksign.c.
stralloc selectore = {0} |
Definition at line 229 of file qmail-dksign.c.
stralloc senddomain = {0} |
Definition at line 73 of file qmail-dksign.c.
stralloc sender = {0} |
Definition at line 72 of file qmail-dksign.c.