Ignore:
Timestamp:
2016-03-23T06:44:13Z (5 years ago)
Author:
Dennis Kaarsemaker <dennis@…>
Branches:
master
Children:
e41ba05
Parents:
d701547
git-author:
Dennis Kaarsemaker <dennis@…> (22-02-16 20:04:10)
git-committer:
Dennis Kaarsemaker <dennis@…> (23-03-16 06:44:13)
Message:

Support for locked-down accounts

In certain situations, e.g. when working with pregenerated
configurations, it is useful to be able lock down accounts so they
cannot be deleted and authentication information (user, password,
server) cannot be changed.

We mark such sensitive settings with ACC_SET_LOCKABLE and will refuse to
change them if the account is locked by setting the ACC_FLAG_LOCKED
flag.

This flag is stored in the xml files as account attribute locked="true".

File:
1 edited

Legend:

Unmodified
Added
Removed
  • protocols/account.c

    rd701547 r3ac6d9f  
    6767
    6868        s = set_add(&a->set, "password", NULL, set_eval_account, a);
    69         s->flags |= SET_NOSAVE | SET_NULL_OK | SET_PASSWORD;
     69        s->flags |= SET_NOSAVE | SET_NULL_OK | SET_PASSWORD | ACC_SET_LOCKABLE;
    7070
    7171        s = set_add(&a->set, "tag", NULL, set_eval_account, a);
     
    7373
    7474        s = set_add(&a->set, "username", NULL, set_eval_account, a);
    75         s->flags |= SET_NOSAVE | ACC_SET_OFFLINE_ONLY;
     75        s->flags |= SET_NOSAVE | ACC_SET_OFFLINE_ONLY | ACC_SET_LOCKABLE;
    7676        set_setstr(&a->set, "username", user);
    7777
Note: See TracChangeset for help on using the changeset viewer.