Exemplo n.º 1
0
static void SaveSetuid(void)
{
    char filename[CF_BUFSIZE];
    snprintf(filename, CF_BUFSIZE, "%s/cfagent.%s.log", GetLogDir(), VSYSNAME.nodename);
    MapName(filename);

    PurgeItemList(&VSETUIDLIST, "SETUID/SETGID");

    Item *current = RawLoadItemList(filename);
    if (!ListsCompare(VSETUIDLIST, current))
    {
        RawSaveItemList(VSETUIDLIST, filename, NewLineMode_Unix);
    }

    DeleteItemList(VSETUIDLIST);
    VSETUIDLIST = NULL;
}
Exemplo n.º 2
0
static PromiseResult SaveSetuid(EvalContext *ctx, Attributes a, Promise *pp)
{
    Attributes b = a;

    b.edits.backup = BACKUP_OPTION_NO_BACKUP;
    b.edits.maxfilesize = 1000000;

    char filename[CF_BUFSIZE];
    snprintf(filename, CF_BUFSIZE, "%s/cfagent.%s.log", GetLogDir(), VSYSNAME.nodename);
    MapName(filename);

    PurgeItemList(ctx, &VSETUIDLIST, "SETUID/SETGID");

    PromiseResult result = PROMISE_RESULT_NOOP;
    if (!CompareToFile(ctx, VSETUIDLIST, filename, a, pp, &result))
    {
        SaveItemListAsFile(VSETUIDLIST, filename, b);
    }

    DeleteItemList(VSETUIDLIST);
    VSETUIDLIST = NULL;

    return result;
}