* Netconf lock/unlock behaviour changed to adhere to RFC 6241

* Changed commit lock error tag from "lock denied" to "in-use".
  * Changed unlock error message from "lock is already held" to #lock not active" or "lock held by other session".
  * Fixed [lock candidate succeeded even though it is modified #110](https://github.com/clicon/clixon/issues/110)
This commit is contained in:
Olof hagsand 2020-07-28 13:56:44 +02:00
parent 6bd9306423
commit 23bcee8185
7 changed files with 178 additions and 69 deletions

View file

@ -46,10 +46,15 @@
/*
* Types
*/
/* Struct per database in hash */
/* Struct per database in hash
* Semantics of de_modified is to implement this from RFC 6241 Sec 7.5:
* The target configuration is <candidate>, it has already been
* modified, and these changes have not been committed or rolled back.
*/
typedef struct {
uint32_t de_id; /* session id */
cxobj *de_xml; /* cache */
uint32_t de_id; /* session id */
cxobj *de_xml; /* cache */
int de_modified;
} db_elmnt;
/*

View file

@ -69,4 +69,10 @@ int xmldb_create(clicon_handle h, const char *db);
/* utility functions */
int xmldb_db_reset(clicon_handle h, char *db);
cxobj *xmldb_cache_get(clicon_handle h, const char *db);
int xmldb_modified_get(clicon_handle h, const char *db);
int xmldb_modified_set(clicon_handle h, const char *db, int value);
#endif /* _CLIXON_DATASTORE_H */