Esempio n. 1
0
File: vacm.c Progetto: 274914765/C
void vacm_parse_config_group (const char *token, const char *line)
{
    struct vacm_groupEntry group;

    struct vacm_groupEntry *gptr;

    char *securityName = (char *) &group.securityName;

    char *groupName;

    size_t len;

    group.status = atoi (line);
    line = skip_token_const (line);
    group.storageType = atoi (line);
    line = skip_token_const (line);
    group.securityModel = atoi (line);
    line = skip_token_const (line);
    len = sizeof (group.securityName);
    line = read_config_read_octet_string (line, (u_char **) & securityName, &len);

    gptr = vacm_createGroupEntry (group.securityModel, group.securityName);
    if (!gptr)
        return;

    gptr->status = group.status;
    gptr->storageType = group.storageType;
    groupName = (char *) gptr->groupName;
    len = sizeof (group.groupName);
    line = read_config_read_octet_string (line, (u_char **) & groupName, &len);
}
Esempio n. 2
0
void
vacm_parse_config_view(const char *token, const char *line)
{
    struct vacm_viewEntry view;
    struct vacm_viewEntry *vptr;
    char           *viewName = (char *) &view.viewName;
    oid            *viewSubtree = (oid *) & view.viewSubtree;
    u_char         *viewMask;
    size_t          len;

    view.viewStatus = atoi(line);
    line = skip_token_const(line);
    view.viewStorageType = atoi(line);
    line = skip_token_const(line);
    view.viewType = atoi(line);
    line = skip_token_const(line);
    len = sizeof(view.viewName);
    line =
        read_config_read_octet_string(line, (u_char **) & viewName, &len);
    view.viewSubtreeLen = MAX_OID_LEN;
    line =
        read_config_read_objid_const(line, (oid **) & viewSubtree,
                               &view.viewSubtreeLen);

    vptr =
        vacm_createViewEntry(view.viewName, view.viewSubtree,
                             view.viewSubtreeLen);
    if (!vptr) {
        return;
    }

    vptr->viewStatus = view.viewStatus;
    vptr->viewStorageType = view.viewStorageType;
    vptr->viewType = view.viewType;
    viewMask = vptr->viewMask;
    vptr->viewMaskLen = sizeof(vptr->viewMask);
    line =
        read_config_read_octet_string(line, &viewMask, &vptr->viewMaskLen);
}
Esempio n. 3
0
File: vacm.c Progetto: 274914765/C
char *_vacm_parse_config_access_common (struct vacm_accessEntry **aptr, const char *line)
{
    struct vacm_accessEntry access;

    char *cPrefix = (char *) &access.contextPrefix;

    char *gName = (char *) &access.groupName;

    size_t len;

    access.status = atoi (line);
    line = skip_token_const (line);
    access.storageType = atoi (line);
    line = skip_token_const (line);
    access.securityModel = atoi (line);
    line = skip_token_const (line);
    access.securityLevel = atoi (line);
    line = skip_token_const (line);
    access.contextMatch = atoi (line);
    line = skip_token_const (line);
    len = sizeof (access.groupName);
    line = read_config_read_octet_string (line, (u_char **) & gName, &len);
    len = sizeof (access.contextPrefix);
    line = read_config_read_octet_string (line, (u_char **) & cPrefix, &len);

    *aptr = vacm_getAccessEntry (access.groupName, access.contextPrefix, access.securityModel, access.securityLevel);
    if (!*aptr)
        *aptr = vacm_createAccessEntry (access.groupName,
                                        access.contextPrefix, access.securityModel, access.securityLevel);
    if (!*aptr)
        return NULL;

    (*aptr)->status = access.status;
    (*aptr)->storageType = access.storageType;
    (*aptr)->securityModel = access.securityModel;
    (*aptr)->securityLevel = access.securityLevel;
    (*aptr)->contextMatch = access.contextMatch;
    return NETSNMP_REMOVE_CONST (char *, line);
}
Esempio n. 4
0
File: vacm.c Progetto: 274914765/C
void vacm_parse_config_auth_access (const char *token, const char *line)
{
    struct vacm_accessEntry *aptr;

    int authtype;

    char *view;

    size_t len;

    line = _vacm_parse_config_access_common (&aptr, line);
    if (!line)
        return;

    authtype = atoi (line);
    line = skip_token_const (line);

    view = (char *) aptr->views[authtype];
    len = sizeof (aptr->views[authtype]);
    line = read_config_read_octet_string (line, (u_char **) & view, &len);
}