コード例 #1
0
ファイル: qmail-pop3d-conf.c プロジェクト: kunishi/qmail-hg
int main (int argc, char **argv)
{
    checkpassword = argv[1];
    if (!checkpassword) usage();
    loguser = argv[2];
    if (!loguser) usage();
    dir = argv[3];
    if (!dir) usage();
    if (dir[0] != '/') usage();
    ip = argv[4];
    if (!ip) ip = "0";

    pw = getpwnam(loguser);
    if (!pw) strerr_die3x(TEMP, FATAL, "unknown account ", loguser);

    init(dir, FATAL);
    makelogdir(loguser, pw->pw_uid, -1);

    makedir("env");
    perm(02755);
    start("env/DATALIMIT"); outs("250000\n"); finish();
    perm(0644);
    tcpserver_env(ip, PORT, "0");
    start("env/POPUPHOST"); finish();
    perm(0644);
    start("env/MAILDIRNAME"); finish();
    perm(0644);

    makemakefile();
    maketcp(1);
    makeaddclient();

    start("run");
    outs("#!/bin/sh\n");
    tcpserver_run((char *) 0, PORT);
    outs("    "); outs(auto_qmail); outs("/bin/qmail-popup \"${POPUPHOST-`sed 1q "); outs(auto_qmail); outs("/control/me`}\" \\\n");
    outs("    "); outs(checkpassword); outs(" \\\n");
    outs("    "); outs(auto_qmail); outs("/bin/qmail-pop3d \"${MAILDIRNAME-Maildir}\"\n");
    outs("'\n");
    finish();
    perm(0755);

    _exit(0);
    return 0;
}
コード例 #2
0
int main (int argc, char **argv)
{
    user = argv[1];
    if (!user) usage();
    loguser = argv[2];
    if (!loguser) usage();
    dir = argv[3];
    if (!dir) usage();
    if (dir[0] != '/') usage();
    ip = argv[4];
    if (!ip) ip = "0";

    pw = getpwnam(loguser);
    if (!pw) strerr_die3x(TEMP, FATAL, "unknown account ", loguser);

    if (!readme(&me)) strerr_die1(TEMP, FATAL, &readme_err);

    init(dir, FATAL);
    makelogdir(loguser, pw->pw_uid, -1);

    makedir("env");
    perm(02755);
    start("env/DATALIMIT");
    outs("250000\n");
    finish();
    perm(0644);
    tcpserver_env(ip, PORT, me.s);

    makemakefile();
    maketcp(1);
    makeaddclient();

    start("run");
    outs("#!/bin/sh\n");
    tcpserver_run(user, PORT);
    outs("    ");
    outs(auto_qmail);
    outs("/bin/qmail-qmqpd\n");
    outs("'\n");
    finish();
    perm(0755);

    _exit(0);
    return 0;
}