forked from vlvassilev/yuma123
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
834 lines (737 loc) · 40.1 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
yuma123 (2.11) UNRELEASED; urgency=medium
* Preliminary NMDA support draft-ietf-netmod-revised-datastores-09
* yangdump
- YANG tree format support draft-ietf-netmod-yang-tree-diagrams-04
-- Vladimir Vassilev <[email protected]> Mon, 15 Jan 2018 19:47:56 +0100
yuma123 (2.10) stable; urgency=medium
* ncx
- YANG 1.1 Xpath functions implementation.
- Fixed bug in handling of deviations.
- Fixed bug in apply_commit_deletes.
- Fixed bug in val_make_serialized_string.
- Refactored the base64 implementation. Fixed bugs and inconsistencies.
- Added support for multiple obj callback registrations.
- Fixed CDATA handling.
- Splitted yuma-netconf.yang to yuma123-netconf.yang and yuma123-netconf-types.yang
- Various ietf draft models updated. Erratas applied.
- Removed circular libyumancx dependencies on libyumamgr
* agt
- Implementation of ietf-yang-library
- Replaced proprietary notifications with the ietf-netconf-notifications.yang defined.
- Moved agt_arp.c integrated module as standalone example-modules/yuma-arp
* test
- Added netconfd testsuite netconf/test/netconfd.
- Added litenc client side session scripting python module.
* yangcli
- Implemented ietf-yang-library client side support.
- Fixed bug caused by attempted reload of already loaded module.
- Added yes/no container fill check promp.
-- Vladimir Vassilev <[email protected]> Fri, 29 Sep 2017 13:53:28 +0200
yuma123 (2.9) stable; urgency=medium
* Removed IETF copyrighted MIBs to avoid the complications related to +dfsg releases
* yangrpc API refactored for stability allowing new options passed as yangcli parameter string
* Added dump-session yangcli parameter
-- Vladimir Vassilev <[email protected]> Sat, 20 Aug 2016 11:46:34 +0200
yuma123 (2.8+dfsg) stable; urgency=medium
* Removed IETF copyrighted MIBs and YANG models derived from them
-- Vladimir Vassilev <[email protected]> Sun, 07 Aug 2016 15:17:40 +0200
yuma123 (2.8) stable; urgency=medium
* Resolved bobhash license-problem-non-free-RFC-BCP78
* Fixed unescaped dots in man pages
* Fixed debian lintian warning out-of-date-standards-version
* Separated libyangrpc from the libyuma package
-- Vladimir Vassilev <[email protected]> Thu, 28 Jul 2016 23:19:24 +0200
yuma123 (2.7-1) stable; urgency=medium
* Cleaned up debian
* Renamed yuma libraries libncx->libyumancx, libagt->libyumaagt, libmgr->libyumamgr
-- Vladimir Vassilev <[email protected]> Thu, 21 Jul 2016 18:16:16 +0200
yuma123 (2.6-1) stable; urgency=medium
* ncx
- Added val_make_serialized_string to the API
* netconfd
- Fixed a bug caused by system time adjustments and the use of nonmonotonic time function for timer callback implementation
- Fixed bugs both in netconf 1.0 and netconf 1.1 message parsers
- Added readline as default cli interface library with option to build with tecla instead
- Fixed bugs in must statement validation
* yangcli
- Added readline as default cli interface library with option to build with tecla instead
* examples
- Added standalone automake based example projects building ietf-interfaces.yang and ietf-system.yang implementations for linux
* yangrpc
- Added yangrpc_parse_cli API parsing yangcli style command lines based on the schema context of the connection
* python/perl
- Initial perl and python bindings
-- <[email protected]> Sun, 17 Jul 2016 10:10:00 +0200
yuma123 (2.5-1) stable; urgency=low
* Implemented direct-must-augment-ex:augment extension
-- <[email protected]> Thu, 18 Jun 2015 14:48:12 +0200
yuma123 (2.4-1) stable; urgency=low
* netconfd
- NACM implemented
- Debian build system cleanup
- Memory leak fixed in xml_rd_open_file
-- <[email protected]> Mon, 02 Feb 2015 13:37:12 +0100
yuma123 (2.3-1) stable; urgency=medium
* Added autotools files to build yuma in standard and portable way.
* netconfd
- functionality allowing direct connection form yangcli to netconfd over unencrypted tcp socket (--tcp-direct-address="0.0.0.0" --tcp-direct-port=12024 netconfd parameters).
- introduced agt_not_queue_notification_cb API adding functionality to allow registering global notification callback
- bug in commit_complete code causing problem when more then two different modules register calbacks
- changed AGT_TIMER_SKIP_COUNT from 10 to 1 for better resolution
- decreased NCX_DEF_VTIMEOUT from 2 to 1 second
- introduced val_set_cplxval_obj which initializes a container and populates it with subcontainers and leafs according to xml string
- fixed memory leaks caused by un xmlFree -ed buffers
- added example-modules directory and a very simple helloworld module to be used as template
- fix for the b64_encode which generated \r\n for every fourth byte after > linesize bytes are generated
- fixed bug causing memory leak when notification_count of queued notifications exceeded the limit set by agt_profile->agt_eventlog_size
- bug causing segmentation fault when session scb is agt_ses_kill_session-ed twice incase of bad <hello>
- added agt_check_feature function for getting the state of given feature
- added command line parameter --non-advertised-module=<module-name> allowing to "hide" certain modules by taking them out of the hello capabilities list
- fixed bug in get_object_string. The function was returning wrong retlen value when called with buf==NULL
- added max-sessions netconfd argument to replace the constant (1024) used
- fixed bug in log_error format string causing segmentation fault when the error happened
- fixed bug caused by unresolved/uninitialized tdef->def.simple.xrefdef members of leafref objects defined within augment sections
- added support for 'refine' objects in resolve_xpath
- added val_add_meta API function
- added autoloading of the server modules based on the received capabilities list from the <hello>
- fixed memory leak - session and reader in xml_rd_open_file were not freed
- added new API function val_get_leafref_targval
- added ncxserver-sockname parameter to netconfd and netconf-subsystem. Now multiple instances of netconfd can be started on the same system
- replaced the makeshif timplementation of val_find_node with call to xpath1_eval_expr
- fixed bug relevant to presistent commit validation check result variables not reinitialized before a new commit validation attempt was made. For example unresolved leafref causes a commit to fail then the missing leaf is added but the commit keeps failing
- fixed ancient bug in check_prune_obj causing pruning/skiping of the leafref validation. The bug can be reproduced when the leaf referenced by the leafref is deleted without making changes in the toplevel container containing the leafref.
- moved /yuma-system:system to /ieft-system:system-state/yuma-system:yuma
* yangcli
- patch allowing leaf objects which are not keys to be initialized in the predicate of create target Xpath
- taken the config=false objects out of the Xpath tab completion choices for create,replace and delete RPCs
- introduced new method for entry of container leafs: create /interfaces/interface -- name='ge0' mtu=1500
- added basic predicate tab completion and seamless tab completion of xpaths after predicate blocks
- fixed bug in yangcli tab completion in the cases when the cursor was stending under (not after) the initial '/'
- fixed tab completion for paths defined in augment modules
- fixed bug in parsing top augment leafs in var_get_script_val. val->nsid was overwritten by 0 and no xmlns meta was added to the generated xml causing netconfd to not accept the data
* YANG modules:
- replaced yuma-interfaces.yang with ietf-interfaces.yang (rfc7223)
- replaced yuma-system.yang with ietf-system.yang (rfc7317)
- replaced yuma-nacm.yang with ietf-netconf-acm.yang (rfc6536)
* yangrpc:
- added experimental blocking (non-callback) API for clients called yangrpc_* (yangrpc_connect, yangrpc_exec, yangrpc_close). An alternative to the mgr_* API suited better for certain applications
- added simple apache2 module as yangrpc usage example. Reading state and configuration root as xml and submit form for configurations
-- <[email protected]> Wed, 10 Dec 2014 17:08:11 +0100
yuma123 (2.2-5.1) stable; urgency=high
* Integrated last official yuma release 2.2-5
-- Vladimir Vassilev <[email protected]> Thu, 7 Feb 2013 18:22:00 +0100
yuma (2.2-5) stable; urgency=high
* netconfd:
- fix error-path bugs
- extra 'input' node removed from error-path
- suppress error-path for RPC access-denied
- yuma-proc.yang: add 2 missing leafs to yuma-proc that have
been added recently to /proc/cpuinfo
- fix sourceforge bug 3572696 Double free memory issue related
to subtree filtering and virtual nodes
- change server so by default it does not allow port 22 on MACOSX
* yangcli:
- fix SSH key bug reported on yuma-developers list
The filenames were not expanded with ncx_get_source
* CLI parse:
- fix error message in raw CLI handler code
- fix bug where cli_parse_raw can write past the end of
the malloced buffer
* yangdump:
- fix bug in code generation for union;
parameter should be string, not val_value_t
- fix bug with --identifiers parameter where container
with no children caused output to terminate
- put correct ietf-netconf-notifications module in ietf module dir
- converge yuma-app-common with yumapro version
* YANG modules:
- update 3 IETF modules
- fix test.yang so the default NP containers do not cause errors
- refactor yuma-app-common to support --no-config in YumaPro
- update metconfcentral YANG modules so they align with Yuma
-- Andy Bierman <[email protected]> Mon, 29 Oct 2012 11:28:00 -0700
yuma (2.2-4) stable; urgency=medium
* netconfd
* fixed bug where invalid YANG identifier strings are
allowed in NACM module. Now strings such as module-name
or rpc-name must be legal YANG identifier strings
* fixed bug where error nodes were not getting properly
pruned from the <config> element if --startup-error=continue
Instead the entire subtree from root would be deleted.
Now just the error nodes are deleted during load_running_config
* fixed bug where validation errors were not detected by
the agt_init function so it reported the startup loaded OK
* added agt_load_top_rootcheck_errors flag to profile state.
If --running-error=stop is set, the server would reject the
config if any errors occurred in agt_val_root_check.
Now only root-check failure of top-level nodes cause
an error in this case.
* fixed bug where the name field for identityref value nodes
is not getting set if the value is invalid; now saving name
for logging and error purposes (netconfd and yangcli)
* fixed bug NACM not checking always nacm:very-secure on
default data response
* fixed missing unregister-callback (benign)
* fixed bug where delete of nested node from candidate does
not always get applied to running during a commit (it
gets ignored instead)
* fixed bug where YANG bits data type (ncx_list_t) function
did not check it the embedded Q had been initializing
before accessing it
* fixed bug where check simval for union containing YANG bits
type could cause a segfault when called due to btyp getting
set to NCX_BT_BITS but the ncx_list_t was never initialized.
* fix bug in log_debug stmt that causes intermittent
segfault if log-level >= debug and build is optimized (e.g. -O2)
wrong number of printf args passed, not detected by gcc!
* fix bug 'netconfd --config=' crash due to assert-fail
now checking for empty string before trying to call ncx_get_source
updating IETF YANG modules with latest versions
* fix bug where session counters were not being returned in
the /netconf-state/sessions/session list entry
* yangcli:
* fixed bug where XPath tab completion did not find
objects from new modules loaded with the 'mgrload' command
* fixed bug in yangcli where notification nodes were not getting
found correctly.
* Added more checks in setting NCX extension flags so they are
ignored unless they appear in the proper node type.
* Fix SF bug 3459707 YangCLI crashes when replacing container
* Now allowing value=$var to be a complex type like list or container
Now checking for NULL parm val (due to type ANY corner-case)
instead of segfault in this case
* YANG Parse:
* fixed bug in error message printing and resolve_identity
that caused SET_ERROR messages to be generated because
not all NULL pointers were checked
* fixed bug in ncx_mod_exp_err where not all types of
string tokens were not being handled properly
* fix logging bugs reported by Graham Phillips
* YANG parse: fix bug where YANG modules where not getting
found sometimes if they are in the form [email protected]
* fixed XPath bug where object testing of the
must or when expression uses a top-level object from
a different submodule. Caused 'no child node' warning;
Value node testing during real XPath is not affected by this bug.
* fixed bug must-stmt was not accepted in anyxml-stmt
* Build:
* fix make distclean in makefiles
Do not use 'make superclean' from the top-dir;
Use 'make distclean' instead
* removed YUMA_HOME from toaster Makefile build dependency
* Add gitversion to build to help identify builds during debugging.
The last commit ID is used as the ID tag.
Derived from 'git describe --always'
yangdump 2.2.4f701be
If the current branch has been modified, a -M will be added
at the end:
yangdump 2.2.4f701be-M
* Make HTML docs generation part of the build
Removed the html files.
Now generating xhtml files
Need /usr/binwriter2latex12 installed
Use 'make htmls' to build out of date HTML files
Use 'make DOC=1' to update all PDF and xHTML files
update Makefile for better HTML output
-- Andy Bierman <[email protected]> Wed, 08 Aug 2012 09:12:00 -0800
yuma-transpacket (2.2-3.1-2012-07-24-27096e8e1b4ef9540489a435d058169958b641a41) stable; urgency=low
* Added non-interactive filling of created containers
-- Vladimir Vassilev <[email protected]> Tue, 24 Jul 2012 23:20:31 +0000
yuma123 (2.2-3.1) stable; urgency=high
* Fixed bug deleting list nodes from the configuration
* Added non-interactive filling of created nodes
* Added cross module dependencies validation mechanism with commit_validate
* Added rpc-aware xpath tab completion. Ignores status nodes for RPCs dealin$
* Added autoconf/automake build scripts
* Fixed printout bug in ncx.c
-- Vladimir Vassilev <[email protected]> Fri, 20 Jul 2012 18:48:00 +0100
yuma (2.2-3) stable; urgency=medium
* netconfd
* fix bug in agt_val_root_check where a 'missing-instance'
error is incorrectly generated sometimes for an NP-container.
This can happen if the NP container has children (or nested
NP-container children) which are mandatory (or min-elements > 0)
but there are also when-stmts that affect the node.
Do not generate an error for NP-container here; if child nodes
exist then instance_check for those nodes will check must/when nodes
* add 'editing' parameter to val_compare_max because it assumed
config=true meant test for editing, so any change will cause
the 2 val_value_t nodes to be different (meta-data such as
set-by-default vs. client-set-to-default).
To simply compare the values and just the config=true nodes,
use val_compare_max(val1, val2, TRUE, TRUE, FALSE)
* fix bug where edits to candidate are not applied to running
during the commit if validate is done on the candidate, e.g.:
1) create /foo
2) validate source=candidate
3) commit
* change yuma_arp so it does not build on MACOSX
* fix yuma_arp so it does not include any system files on MAC
* change SIL makefile for MacOSX to make bundle instead of dynamiclib
* change agt.c to load .so file for Mac instead of .dylib for a SIL library
* add check to prevent false SET_ERROR trace from occurring in when-check
* YANG Parse
* fixed bug 3517498
memory leak occurs when the file parsed starts with an
invalid token (not a valid module name string)
* added NULL pointer checks in typ.c to prevent SET_ERROR
and referencing a non-existent typedef in a named type.
This can happen sometimes if the YANG module has errors like
a leaf that uses a type that does not exist
-- Andy Bierman <[email protected]> Fri, 18 May 2012 15:00:00 -0800
yuma (2.2-2) stable; urgency=medium
* netconfd
* enhanced unique-stmt checking to support embedded lists
change val_unique_t to hold XPath struct instead of value back-ptr
Note: <non-unique> value in error reporting for unique-error may not
be correct if list with multiple instances has error. Will indicate
the first node in the node-set with an error, which may not be
the instance that caused a non-unique error within a nested list
* fix bug in yuma-arp: SIL callbacks not getting loaded
properly because revision date was wrong
* fix bug in new instance_check code where false when-stmt may
get ignored and falsely flag a missing mandatory node error
* yangdump
* fix bug where xpath is checked for an external augment
even if context node is NULL because of some error in the
external module, so target node not available
* removed the list-in-unique-path error check
* add auto-generated code for YANG features
Conditional code allows features to be enabled
at compile-time, boot-time, and/or module-load time
Usage:
1) Compile-time
The H file will contain a #define for <mod>_F_<feature>
The default is to enable features at compile-time.
To disable, comment out this #define. All code related
to the feature will be #ifdef removed from the image.
2) Boot-time
If --feature-enable-default=true (d), then --feature-disable
parameters should be added to turn features off.
If --feature-enable-default=false, then --feature-enable
parameters should be added to turn features on.
3) Module Load time
During the module SIL init callback, the module features
will be enabled or disabled according to the #define
constancts in step 1. However these settings will
not override any CLI/conf settings in step 2 (at this time)
* fixed bug where --feature-enable-default=false would
cause the server to shutdown if any modules with features
were loaded
* now allowing just feature name in --feature-enable and
--feature-disable parameters instead of only module-name:feature-name
* --format=uc or --format=uh now cause the notification send functions
to be generated in the user SIL files, not the yuma SIL files.
All code which may be edited by the user is now in the user SIL files
if make_sil_dir --split is used
* deprecated --feature-code-default parameter. This is ignored
by yangdump. Same init sequence is always generated.
* deprecated --feature-static and feature-dynamic parameters.
These ares ignored by yangdump. See Usage section above for new
YANG feature management procedure.
* YANG modules
* update latest NETMOD WG modules
* add 2 new test modules used to test recent code additions
* Documentation
* update developer manual
* update utility scripts and man pages
-- Andy Bierman <[email protected]> Fri, 09 Mar 2012 15:00:00 -0800
yuma (2.2-1) stable; urgency=high
* netconfd
* Added server regression testing and Coverity static code cleanup
by Marc Pashley, James Parkin, and Joe Handford
* fix bug where RPC SIL validate or invoke callback returns an error
but does not call agt_record_error; server returns <ok>
and ignores the error return status; now adding an
<rpc-error> if none, when RPC SIL validate or invoke callback returns
an error.
* fixed bug in load module where a module with errors could
sometimes be loaded anyway. Now server will exit if
initial modules loaded have errors, even if YANG parse
returns NO_ERR for a module with a non-zero error count
* fixed bug where unknown namespace error caused server to incorrectly
skip the entire rest of the XML message. During load_running_config
it is possible the server is configured to remove bad nodes
and continue to the next XML sibling node.
* implemented recoverable edits in agt_val.c;
* add transactions to cfg.c; now saving an auto-incrementing
transaction ID across reboots so new ID always used any time
a config edit request is processed;
* val_merge is now always non-destructive to the source value
* newval and curval are always rooted in a source XML tree
* add VAL_FL_DELETED to mark curval as deleted and not remove
until commit finalized
* update undo record handling so it is always used and supports
recoverable edits
* refactor edit code and move some ncx code to new module
agt/agt_cfg.c
* agt_val_root_check rewrite:
Commit tests (see RFC 6020, Sec. 8.3.3) are separated out
from agt_val_instance_check), instead of searching the
target config for nodes that need commit tests.
Started undo_rec based test pruning.
* update commit procedure to use VAL_FL_SUBTREE_DIRTY flag
to prune unchanged subtrees in the candidate config
instead of expensive subtree-compare.
* now cleaning all edit records from candidate so commit
will not get fooled by delete x, then create x
* remove agt_val_split_root_check code
* callback states AGT_CB_COMMIT_CHECK and AGT_CB_TEST_APPLY
have been removed and the agt_val code simplified
* val_clone removed; changed applied to real data tree and
undone if needed; no special test phase, just recoverable apply phase
* changed user SID to 0 (for superuser) when a commit is rolled
back; the old user id should not be used; must force all edits
to be reverted.
* now only restoring backup from disk if rollback failed,
not if commit failed
* add reverse_edit to send SIL callbacks for a reverse edit
during a rollback; needed when the SIL already returned
NO_ERR for a COMMIT callback
* optimized 'applyhere' compares to test just child nodes
and not all descendent nodes to speed up agt_val processing
* optimize unique-stmt checking to minimize data retrieval
and test duplication
* add code to prune commit tests for objects do not need new
tests because they have not changed value;
* optimized instance_check so if-feature and when-stmts
do not need to be evaluated again (done pre-root-check)
* fixed bug in delete_config_validate where error path and
error info parms are reversed; set errval for <url> if needed
* fix object ID for XPath so choices and cases are removed
from the path extression; also add module prefix to prevent
external augment with same local-name from matching expression
* fix bug where deleting a default leaf did not re-mark the leaf
as set-by-default
* fix bug in commit code where newval was not checked for NULL
before accessing a field in it
* change output buffer logging from debug4 to debug3
* updated agt_acm debug logging
* remove all #ifdefs around log_debug code
* added agt_log_acm_reads and agt_log_acm_writes
to the agt_profile to control log output for NACM access
* fixed bug in error-path generation where /nc:config node
was incorrectly added as the starting node, instead of the
top-level YANG object from the database
* fixed bug where error-path is not getting set if the
error node is the <url> parameter
* fixed bug where error-path = '/' was not generated correctly
so that field would be missing for <validate> and other rpc-error
responses
* fix error-path generation so it conforms to RFC 6241
* fix memory leak in generating unique-error
* updated error message for list within the path of a
unique statement component; clarified with YANG author that
lists not allowed since nodes from different lists cannot
be in the same unique test tuple
* added a <bad-value> element to the <error-info> for a
missing value instance error (310), containing the name of the
missing node.
* fix bug where no namespace ID is set for an <rpc-error>
where the 'select' attribute in the <filter> parameter
is invalid; set to NETCONF instead of 0
* fixed bug in XML generation where XML-safe string was not
generated in string node content
* fixed bug in copy-config where copy from inline to
candidate was not getting fully validated or applied correctly
* fix bug in val_set_canonical_order where list sometimes not
inserted in sorted order
* fixed bug in load_config where invoke could be called even
if validate phase failed
* add ncx:user-write extension
see extension 'user-write' in yuma-ncx.yang for details
Server will block user access to specific edit operations
if this extension is present in a YANG database node definition
* add /system/sysNetconfServerCLI monitoring data to
inspect the CLI parameters used at boot-time
* add boolean flags to agt_profile to track load-config
error progress so startup-error and running-error parameters
can be processed correctly:
- agt_load_validate_errors (OK if --startup-error=continue)
- agt_load_rootcheck_errors (OK if --running-error=continue)
- agt_load_apply_errors (fatal error if SIL apply/commit fails)
* fixed bug 3476123; leafrefs not getting written to XML correctly
* fixed bug where inherited when-stmt and if-feature
statements (from choice or case nodes) were not
checked when deleting dead nodes
* fixed bug in check_editop where create on duplicate leaf-list was not
properly rejected with a data-exists error
* added support to make sure modules with top-level mandatory nodes
are rejected by the server if the --running-error parameter is
set to 'stop'. This prevents a user from loading such a module
and causing the server to shutdown.
* added agt_validate_all (d:T) to agt_profile to control
<validate> op behavior. Set to false to have <validate> only
call SILs for the nodes that are changed in the candidate,
which is how <commit> validate works.
* fix bug in NACM where read or write access was wrongly denied
when read-default=deny and write-default=deny
* fixed bug where the server would terminate the <load-config> op
if parse or rpc-instance-check errors occurred, even though
--startup-error=continue and the nodes with errors were optional
so they could be removed without making the running config invalid
* yangcli:
* fixed bug in filling database content for a OBJ_TYP_CASE
when the 1 and only case member was a complex type
* fix bug deleting containers or lists where mandatory child nodes
were incorrectly filled in, instead of skipped
* enhance CLI parsing so container can be something other
than a choice of empty leafs. e.g:
validate [email protected]
myconfig.xml:
<config xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
...
</config>
This does not work if a 'source' parameter is given by
selecting a case number when filling in a choice.
* fix bug where user is prompted for a case number even if
there is only 1 enabled case in the choice
* fix bug where user is prompted if flag should be set y/n
when editing a leaf of type 'empty'; leaf value already
implicitly entered by selecting this leaf as the edit target
* fix bug in val_set_canonical_order where list sometimes not
inserted in sorted order
* fixed bug 3476123; leafrefs not getting written to XML correctly
* added XPath tab completion provided by Zesi Cai (thanks!)
When a '/' is entered instead of the start of a command,
the tab key will show all top-level objects available.
After each '/', the tab shows the next level of child nodes.
Does not support index (predicate) insertion.
* yangdump:
* fix segfault bug where stale backptr was accessed that
contained heap garbage
* fixed memory leak where submodule with errors was not freed
correctly after it was processed
* added '--full' parameter to yangdump --identifiers to show
identifiers with module name of each node expanded
* YANG Parse:
* fixed bug where conditional descendant nodes specified in
a unique-stmt are treated as an error. This is only an error
is a key-stmt test fails; For unique-stmt, missing nodes
in a unique test tuple cause the test to be skipped
* fix bug where nested leafref types within unions were not always getting
checked in final resolve steps
* fix off-by-1 bug in object-id generation when module names
are added
* Remove memory leak from consume_revision
* fix bug where default value for union data type sometimes
incorrectly flagged as invalid value; can cause segfault
* fix bug where checking if a parameter is set to its default for
an identityref, bits, or leafref always returned FALSE
* fixed bug where XPath context node for when-stmt
in an augment-stmt was not set correctly
* fixed bug where errors in consume_body_stmts were not
always rippled all the way back to ncxmod.c, causing
mod->res == NO_ERR but mod->errors > 0
* Build
* Fixed makefile.sil so that yuma symbols are always
checked first before standard library module names
Also removed extra libraries libagt and libncx from
the SIL link command. This is not needed and will
cause an error if these libraries are not found.
* Fixed bug in several Makefiles where libm is not explicitly
declared in the link command. This causes STATIC=1 builds
to fail on Ubuntu 11.10 (symbol 'round' not found from libm)
* Cleaned up static build of yangcli
-- Andy Bierman <[email protected]> Fri, 27 Jan 2012 19:55:00 -0800
yuma (2.1-2) unstable; urgency=medium
* Build
* fix bug added recently that breaks build in libtoaster
in a plain build (YUMA_HOME not set) and breaks CYGWIN
build as well
-- Andy Bierman <[email protected]> Sun, 27 Sep 2011 19:00:00 -0700
yuma (2.1-1) unstable; urgency=medium
* netconfd
* add --runpath to netconfd.yang
* fix bug reported by Sara Dickinson where leafref was
not getting validated during commit; turned out leafrefs and
instance-identifiers were not getting validated for
target=running or during commit
* fix bug where <validate> parameters were not handled correctly
and <ok> was returned without validating the target config.
* add --factory-startup CLI parameter.
Currently there is no way to rewrite the invisible
startup-cfg.xml if --with-startup=false, except
by modifying the factory settings and saving the config.
This parameter forces the startup config and the running
config to contain the factory default settings during
initialization.
* fixed bug (reported by Sara Dickinson) where must-stmt tests
for sibling nodes were getting skipped as soon as 1 must-test
failed. This could result in nodes that should be invalid
left in the running config during load_running_config
if --startup-error=continue (the default)
* fix bug in agt_proc.c where CPU cores were not causing
a new val entry to be created. Introduced with vi-cov commit
* add yuma-arp module, implemented by Igor Smolyar
* fixed bug 3404233
The client and server both incorrectly accepted
an XML node for a YANG choice or case node.
These nodes do not exist in a YANG data tree, just
in the YANG object tree
* fix bug in COMMIT phase where SIL callback functions
for nested nodes were not getting invoked for create
and merge edit operations.
* fixed bug introduced in last release where SIL validation
callbacks are being called multiple times
* fixed bug where commit callback for editop=OP_EDITOP_DELETE
the curnode is a detached node -- the parent node is NULL.
* fixed bug 3395740
* source tree specified by YUMA_HOME environment variable
no longer required to be present
* added libagt.so to shared library install location (d: /usr/lib)
* using shared libraries in default location for libagt and libncx
for ubuntu and RPM packaging. Not static libraries anymore!
* building and installing libncx.a and libagt.a if STATIC=1
present in make cmd
* updated SIL makefile so YUMA_HOME is not used unless
FORCE_YUMA_HOME=1 is present in the make cmd;
/usr/lib/yuma is used by default
* make /arp node present by default, using refactored code from agt_acm.c
* yangcli
* add JSON output support for --display-mode=json
and saving data with @foo.json
* fix bug where manager session control block not checked for NULL
* add external parameter support for RPC commands
yangcli> some-command @filespec.xml
filespec.xml (in YUMA_DATAPATH) == RPC <input> element
<input>
<a>10</a>
<b>fred</b>
</input>
* fixed bug where an edit command (e.g., create) on
a choice or case node would generate an XML node
for the choice or case. Now being removed from
the XML payload before an <edit-config> is sent
* yangdump:
* added support for split SIL files or combined (old way):
* --format=yc : Yuma SIL C file
* --format=yh : Yuma SIL H file
* --format=uc : User SIL C file
* --format=uc : User SIL H file
* --format=c : Combined Yuma/User SIL C file
* --format=h : Combined Yuma/User SIL H file
* added support for code generation for automatic retrieval
of ancestor-or-self key values in user SIL callbacks
* Remove #ifdef around #include directives for generated files.
* fixed bug 3404234
--format=c output (SIL code) was not handling nested
config=false containers (lists and leaf-lists still
not handled!). Now nested config=false containers
will automatically be created
* fixed bug for --format=c where edit callbacks were being
generated for OBJ_TYP_CHOICE and OBJ_TYP_CASE nodes.
Since these nodes never exist in a database, these callbacks
get registered but never invoked
* fixed bug where SIL code generated for boolean, union, and identityref
datatypes is incorrect -- the data type will be whatever the union
was parsed will be treated as a string; causes segfault;
!!! not fixed in v1
* union now passed to User SIL function as val_value_t
instead of string
* affected edit callback functions and notification send functions
* added __cplusplus 'extern C' wrappers to H file generation
for --format=h|uh|yh
* Build:
* added --split parameter to make_sil_dir
* make_sil_dir --split foo : makes files in foo/src/
* y_foo.c : Yuma SIL C file
* y_foo.h : Yuma SIL H file
* u_foo.c : User SIL C file
* u_foo.h : User SIL H file
* building and installing libagt as a dynamic library
* building Ubuntu package will mostly dynamic libraries
instead of STATIC=1 and FULL_STATIC=1
* bumped version to 2.1
* updated Makefiles to allow debian debuild of 3 packages
when DEBIAN=1 set:
no flag: build yuma package
DEVELOPER=1: build yuma-dev package
DOC=1: build yuma-doc package
* add HTML versions of manuals to install process
* move PDFs from /usr/share/doc/yuma to /usr/share/doc/yuma/pdf
* updated user manuals
* YANG parse:
* fix error message for leafref-stmt
* fix bug 3404231
* incorrect handling of object type when checking
leaf/leaf-list leafref loops, which could cause
the wrong struct in a union to be used
* fixed bug 3404239
All YANG data-def constructs were being checked for
config, default, mandatory, min/max-elements
before refine-stmts were applied.
Moved all relevant tests from 'resolve' phase to
'resolve_final' phase.
* Added modules/test/fail/t13.yang test case for compiler
to check mandatory+default combo after refine applied.
* fixed bug: anyxml objects were not getting checked during
resolve_final phase (mandatory-stmt warnings)
* suppress error messages when invalid XPath detected during
validation of a union datatype. Unions are only required
to be valid for 1 of N union types, not any particular type.
-- Andy Bierman <[email protected]> Sun, 25 Sep 2011 11:50:00 -0700
yuma (2.0-2) unstable; urgency=medium
* yangcli
* fixed bug where --batchmode is ignored if --run-command
is also used
* added support to connect to tailf confd servers over TCP;
added --transport=ssh|tcp parameter to connect command
and CLI parameter for startup connecting via TCP
* Fix potential double calls to free and memory leaks resulting from
calls to set_str(). In some paths the function set_str()
* fixed bugs in autoload procedure
* netconfd
* fixed 2 framing bugs in base:1.1 mode
* rewrote buffer code to pack incoming message buffers instead
of using client buffer size as-is
* fixed memory leak in new support code for malformed-message
only occurred when malformed-message error generated
* Improve logging for debug purposes from netconf-subsys.c
(by Mark Pashley)
* Many bugfixes and dead code removal detected by Coverity
static analysis (from vi-cov branch by Mark Pashley)
* Removed potential memory leak in cache_data_rules in NACM
* Summary of bugfixes to copy_config_validate():
Coverity reported the following issues:
DEAD CODE
Code with no effect.
Use after free
Null pointer dereference
Resource Leaks
* sprintf changed to snprintf and strcpy changed to strncpy
in some cases, to make sure no buffer overrun can occur
* add module yuma-time-filter.yang
* add last-modified XML attribute to <rpc-reply> for <get>
and <get-config> replies
* add if-modified-since parameter to <get> and <get-config>
protocol operations
* make logging from netconf-subsystem configurable via command line options
* updated netconfd user manual
* yangdump
* fix bug in format=html or format=yang where pattern may
not get generated in the output
* add support for path links in leafrefs in --format=html
* YANG parse:
* fixed bug where val_clone of enum sometimes had static enu.name
pointing at old.enu.dname so if old was freed, new.enu.name
would point at garbage in the heap
* fixed some memory leaks in error corner-cases
* fixed bug where valid patterns parsed as non-strings
were not correctly processed and no compiled pattern
was created
* fixed bug where unquoted prefixed string (foo:bar) would
not be saved correctly in the compiled pattern (bar)
* XML parse:
* add tracefile support to debug input fed to XML textReader
* CLI:
* Change the signature of all instances of main to meet the 'c'
standard.
-- Andy Bierman <[email protected]> Sun, 21 Aug 2011 12:02:00 -0700
yuma (2.0-1) unstable; urgency=low
* initial 2.0 release;
contains all yuma 1.15 features, plus major features
* NETCONF base:1.1 support (RFC 6241 and RFC 6242)
* with-defaults 'report-all-tagged' mode (RFC 6243)
* --urltarget path selection mechanism (UrlPath)
-- Andy Bierman <[email protected]> Wed, 20 Jul 2011 19:00:00 -0700