-
Notifications
You must be signed in to change notification settings - Fork 9
/
NEWS
1093 lines (1055 loc) · 54.7 KB
/
NEWS
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
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1.X.X - 2013-XX-XX
- General changes/additions
- API changes/additions
- Augtool/aug_srun changes/additions
- XPath changes/additions
- Lens changes/additions
* Desktop: Support dos eol
* Dovecot: New lens for dovecot configurations
* IniFile: Add lns_loose and lns_loose_multiline definitions
Support smart quotes
Warning: Smart quotes support means users should not add
escaped double quotes themselves. Tests need to be fixed
also.
Use standard Util.comment_generic and Util.empty_generic
Warning: Existing lens tests must be adapted to use standard
comments and empty lines
Allow spaces in entry_multiline* values
Add entry_generic and entry_multiline_generic
Add empty_generic and empty_noindent
Let multiline values begin with a single newline
Support dos eol
Warning: Support for dos eol means existing lenses usually
need to be adapted to exclude \r as well as \n.
* IPRoute2: Support for iproute2 files (Davide Guerri)
* JaaS: lens for the Java Authentication and Authorization Service
(Simon Vocella)
* Krb5: Use standard comments and empty lines
Support dos eol
Improve performances
* Lightdm: Use standard comments and empty lines
* LVM: New lens for LVM metadata
* MySQL: Use standard comments and empty lines
Support dos eol
* Odbc: Use standard comments and empty lines
* PHP: Support smart quotes
Use standard comments and empty lines
* Samba: Use standard comments and empty lines
Support dos eol
* Schroot: Support smart quotes
* Subversion: Support smart quotes
Use standard comments and empty lines
Use IniFile.entry_multiline_generic
Use IniFile.empty_noindent
Support dos eol
* Systemd: Support smart quotes
* Yum: Support dos eol
1.0.0 - 2012-12-21
- General changes/additions
* fix missing requirement on libxml2 in pkg-config
* do not replace pathin with '/*' unless the length is 0
or pathin is '/', bug #239
* create context path if it doesn't exist
* add missing argument to escape() to fix build on solaris, bug #242
* fix fatest linking with libfa
* don't use variables uninitialized upon error (Jim Meyering)
* bootstrap: add strchrnul gnulib module (for Solaris)
* remove Linux-isms so tests can run on Solaris
* re-open rl_outstream/stdout only when stdout isn't a tty
(fixes -e -i); use /dev/tty instead of /dev/stdout when re-opening
to prevent permission errors, bug #241
* take root into account for excludes, bug #252
* fix different errors for parse and put failure
* fix various memory leaks
* add leak test
* allocate exception instead of static const value
* improve aug_srun quoting to permit concatenation and better detect
bad quoting
* rename echo to echo_commands to fix differing types reported
with Solaris linker (Tim Mooney), bug #262
* fix excl filters that only specify a filename or wildcard
* make sure reloading discards changes after save with mode 'newfile'
* remove loop that added a second iteration around children of /files,
causing multiple saves in newfile and noop modes when editing under
/files/boot, bug #264
* support \t and \n in aug_srun tokens, bug #265
* compile_exp: don't return an uninitialized pointer upon failure
(Jim Meyering)
* include 'extern "C"' wrapper for C++, bug #272 (Igor Pashev)
* src/try: don't overwrite gdbcmds.txt if it exists
* fix behavior of set with empty strings
* allow running individual tests with test-run
* test-augtool.sh: escape all possible regular expressions before
they are sent to sed (Micah Anderson)
* add new print_tree primitive
* fix bad memory access in regexp.c
* case-insensitive regexps: fix a problem with number of groups
* prevent symlink attacks via .augnew during saving,
RedHat bug #772257, CVE-2012-0786
* prevent cross-mountpoint attacks via .augsave during saving,
RedHat bug #772261, CVE-2012-0787
* add bundled (gnulib) provides in augeas.spec.in, RedHat bug #821745
* make Travis CI builds
* src/transform.c (xread_file): catch failed fopen, e.g. EACCES
* src/augrun.c (cmd_retrieve_help): tidy line wrapping
* make get_square case insensitive on the ending key
* escape double quotes when dumping regexp
* use constants for "lens", "incl" and "excl"
* src/transform.c (filter_generate): remove duplicate variable assignment
* src/jmt.c (parse_add_item): ensure return is defined on goto error
* src/transform.c (transform_save): chmod after creating new files to
permissions implied by the umask
* ignore eclipse settings directory
* fix memory leak in dbg_visit
* build AST while visiting the parse v2
* rewrite square lens to be more generic, allowing e.g. square quoting
* tests/modules/fail_shadow_union.aug: fix unintended test failure
* src/syntax.c (compile_test): print which test failed when missing
exception
* libfa (fa_enumerate): new function
* use precise ctype of a square lens if it is indeed regula
* square: properly handle first lens matching empty string
* square lens: correctly process skeletons during put
* src/pathx.c: disallow ',' in names in path expressions
* src/pathx.c: match functions by name and arity
* src/pathx.c: pass the number of actual arguments to the func
implementation
* correctly parse escaped string literals in vim syntax file (Domen Ko¿ar)
- API changes/additions
* add aug_text_store to write string to tree
* add aug_text_retrieve to turn tree into text
* add aug_rename to rename node labels without moving them in the tree
* add aug_transform to allow specifying transforms
* add aug_label to retrieve the label from a path
- Augtool/aug_srun changes/additions
* add "touch" command to create node if it doesn't exist, bug #276
* make <VALUE> argument to "set" and "setm" optional, bug #276
* add "text_store" and "text_retrieve" commands
* add "rename" command
* add "transform" command and "-t|--transform" option
* add "label" command
* arrange commands in groups for better help
* man/augtool.pod: update mentions of default load path
* fix exit code when using autosave
* output errors when sending a command as argument
* honor --echo when sending a command as argument
- XPath changes/additions
* add support for an 'i' flag in regexp builtin function
- Lens changes/additions
* Aliases: commands can be fully enclosed in quotes, bug #229
* Anacron: new lens for /etc/anacrontab
* Apt_Update_Manager: new lens for /etc/update-manager
* AptPreferences: #comments are accepted within entries
* AuthorizedKeys: new lens for SSH's authorized_keys
* AutoMaster: new lens for auto.master files
* AutoMounter: new lens for automounter maps (/etc/auto.*)
* Avahi: new lens for /etc/avahi/avahi-daemon.conf (Athir Nuaimi)
* Build: add blocks
* Cachefilesd: new lens for /etc/cachefilesd.conf (Pat Riehecky)
* Carbon: new lens for /etc/carbon files (Marc Fournier)
* Cgconfig: add space between group and id (Filip Andres)
* Channels: new lens for channels.conf
* Collectd: new lens for /etc/collectd.conf
* Cron: exclude cron allow/deny files;
optimize typechecking;
records can be prefixed by '-' (Michal Filka)
* CronAllow: new lens for cron/at allow/deny files
* Cups: new lens for Cups files
* Cyrus_Imapd: new lens for /etc/imapd.conf, bug #296 (Jeroen van Meeuwen)
* Debctrl: fixed package paragraph keywords, allow variables
for version numbers in dependency lists,
allow DM-Upload-Allowed keyword, Debian bug #650887;
allow control extensions for Python packages, bug #267
* Dhcpd: fix primary statement arguments, bug #293;
use the Quote module to manage quoted values;
force double quotes for filename attribute, bug #311
* Dput: use Sys.getenv("HOME")
* Erlang: new generic lens to build Erlang config lenses
* Fonts: new lens for /etc/fonts files
* Fstab: handle options with empty values ("password=");
make options field optional;
allow end-of-line comment
* Fuse: new lens for fuse.conf
* Gdm: include /etc/gdm/custom.conf
* Grub: parse "password --encrypted" properly, bug #250;
optimize typechecking;
add /boot/grub/grub.conf to transform (Josh Kayse)
* GtkBookmarks: new lens for $HOME/.gtk-bookmarks
* Hosts_Access: add netmask;
permit more client list formats
(whitespace separated lists, @netgroups,
IPv6 hosts, inc. zone indices,
paths to lists of clients, wildcards,
hosts_options), bug #256
* Htpasswd: new lens for htpasswd/rsyncd.secret files (Marc Fournier)
* Httpd: support DOS eol
* IniFile: allow # and ; in quoted values, bug #243;
add entry_list and entry_list_nocomment
* Inputrc: new lens for /etc/inputrc
* Iptables: test that blank lines are accepted (Terence Haddock)
* Json: allow JSON number literals to be followed by whitespace;
correctly parse empty object and arrays (Lubomir Rintel)
* Keepalived: various improvements, optimize typechecking
* Krb5: handle host{} sections in v4_name_convert;
support ticket_lifetime;
handle multiple arguments to *_enctypes (Pat Riehecky);
better whitespace and semicolon comment support
* Ldif: new lens to read LDIF files per RFC2849
* Ldso: new lens for ld.so.conf files
* Lightdm: new lens for /etc/lightdm/*.conf, bug #302 (David Salmen)
* Logrotate: rewrite with Build, Rx, and Sep;
add su logrotate.conf option (Luc Didry);
accept integers prefixed by a sign (Michal Filka)
* Logwatch: new lens for /etc/logwatch/conf/logwatch.conf (Francois Lebel)
* Mcollective: new lens for Mcollective files (Marc Fournier)
* Memcached: new lens for /etc/memcached.conf (Marc Fournier)
* Mdadm_conf: include /etc/mdadm/mdadm.conf
* Mke2fs: add support for default_mntopts, enable_periodic_fsck,
and auto_64-bit_support
* Modprobe: support softdep command, Debian bug #641813;
allow spaces around '=' in option, RedHat bug #826752;
support multiline split commands, Ubuntu bug #1054306;
revert inner lens name change, fixes Modules_conf
* Modules: define own entry regexp as referenced Modprobe inner lens
doesn't match file format
* Multipath: allow devices to override defaults, bug #278 (Jacob M. McCann)
* NagiosCfg: support syntax for commands.cfg and resource.cfg
* Netmask: new lens for /etc/inet/netmasks on Solaris
* NetworkManager: new lens for NetworkManager files
* Networks: handle multiple missing network octets,
fix sequencing of aliases
* Nginx: new lens for /etc/nginx/nginx.conf (Ian Berry)
* Nsswitch: add passwd_compat, group_compat and shadow_compat
GNU extensions (Travis Groth);
remove long list of databases, match by regexp
* Ntp: allow deprecated 'authenticate' setting;
add tos directive, bug #297 (Jacob M. McCann)
* OpenVPN: use the Quote module to manage quoted values
* Pam: allow uppercase chars in 'types', remove /etc/pam.conf from filter;
ignore allow.pamlist;
exclude /etc/pam.d/README, bug #255
* PamConf: new lens for /etc/pam.conf
* Passwd: allow asterisk in password field, bug #255
* Pg_Hba: support multiple options, bug #313;
add a path to pg_hba.aug, bug #281 (Marc Fournier)
* Php: support include() statements
* Phpvars: map arrays with @arraykey subnodes to make working paths;
support classes and public/var values, bug #299 (aheahe)
* Postfix_Transport: new lens for Postfix transport files;
allow host:port and [host]:port syntaxes, bug #303
* Postfix_Virtual: new lens for Postfix virtual files
* Postgresql: new lens for postgresql.conf;
properly support quotes, bug #317
* Properties: improve handling of whitespace, empty props, and underscores
in keys (Brett Porter, Carlos Sanchez)
* Protocols: new lens for /etc/protocols
* Puppet: add /usr/local/etc/puppet paths (Tim Bishop)
* Puppet_Auth: new lens for /etc/puppet/auth.conf
* PuppetFileserver: add /usr/local/etc/puppet paths (Tim Bishop)
* PythonPaste: new lens for Python Paste configs (Dan Prince)
* Qpid: new lens to read Apache Qpid daemon/client configs (Andrew Replogle)
* Quote: new generic lens to manage quoted values using square lenses
* Rabbitmq: new lens for /etc/rabbitmq/rabbitmq.config
* Redis: new lens for /etc/redis/redis.conf (Marc Fournier)
* Resolv: add in single-request-reopen (Erinn Looney-Triggs)
* Rsyslog: new lens for rsyslog files
* Rx: add continous lines (cl, cl_or_space, cl_or_opt_space)
* Sep: add space_equal;
add continous lines (cl_or_space, cl_or_opt_space)
* Shellvars: support @return;
allow multiple elif statements;
parse functions;
add more includes;
autoload some SuSe and RHN specific files (Duncan Mac-Vicar P);
add BSD's /etc/rc.conf, bug #255;
remove non-shell files, up2date now has a lens,
move updatedb.conf to Simplevars;
include /etc/{default,sysconfig}/* and /etc/selinux/config;
add systemd's /etc/os-release file;
exclude bootloader from shellvars (Duncan Mac-Vicar P);
handle bash's implicit concatenation of quoted strings
(Michal Filka);
exclude /etc/default/whoopsie;
fix ambiguity by making semi-colons illegal in bquot
and arrays;
add lns_norec to check for ambiguities;
allow newlines in quoted values;
allow semi-colons in bquot and dollar_assign;
make end-of-line comments begin with a space;
allow double backquoted values;
support matching keys in var_action, bug #290;
fix empty lines after comments;
add shift and exit builtins, with optional args;
allow double quotes around variables in case statements;
fix empty comments;
add locale.conf, vconsole.conf systemd configs,
RedHat bug #881841
* Shells: permit same-line comments
* Simplelines: new lens for simple lines files
* Simplevars: new lens for simple key/value, non shellvars files
* Smbusers: new lens for Samba's smbusers
* Sssd: new lens for sssd.conf (Erinn Looney-Triggs)
* Ssh: use Sys.getenv('HOME') in filter instead of ~ since it's not
expanded (Luc Didry)
* Sshd: permit hyphens in subsystem names
* Subversion: new lens for /etc/subversion files
* Sudoers: optimize typechecking;
allow = in commands (but force ! or / as first character
if not an alias);
allow commands without full path if they begin with a lowcase
letter;
allow "!" as a type of Defaults entry, Debian bug #650079;
allow quoted strings in Defaults parameters, bug #263
* Sysconfig: handle end of line comments and semicolons; strip quotes,
RedHat bug #761246
* Sysctl: include /etc/sysctl.d files
* Syslog: allow capital letters in tokens
* Systemd: new lens to parse systemd unit files
* Thttpd: new lens for /etc/thttpd/thttpd.conf (Marc Fournier)
* Up2date: new lens for /etc/sysconfig/rhn/up2date
* Util: add comment_noindent; add delim; add doseol;
support DOS eols in various places;
add *.bak and *.old to stdexcl, to match files in /etc/sysconfig
* Vfstab: new lens for /etc/vfstab config on Solaris
* Vmware_Config: new lens for /etc/vmware/config
* Vsftpd: add require_ssl_reuse option (Danny Yates)
* Xinetd: rewrite with Build, Sep, and Rx;
make attribute names case-insensitive (Michal Filka)
* Xml: support single _and_ double quoted attribute values,
RedHat bug #799885, bug #258
* Xymon: new lens for Xymon config files, bug #266 (Jason Kincl)
* Yum: rebase on IniFile, support for comments, bug #217
0.10.0 - 2011-12-02
- support relative paths by taking them relative to the value
of /augeas/context in all API functions where paths are used
- add aug_to_xml to API: transform tree(s) into XML, exposed as dump-xml
in aug_srun and augtool. Introduces dependency on libxml2
- fix regular expression escaping. Previously, /[\/]/ match either a
backslash or a slash. Now it only matches a slash
- path expressions: add function 'int' to convert a node value (string)
to an integer
- path expressions: make sure the regexp produced by empty nodesets from
regexp() and glob() matches nothing, rather than the empty word
- fix --autosave when running single command from command line, BZ 743023
- aug_srun: support 'insert' and 'move' as aliases for 'ins' and 'mv'
- aug_srun: allow escaping of spaces, quotes and brackets with \
- aug_init: accept AUG_NO_ERR_CLOSE flag; return augeas handle even when
intialization fails so that caller gets some details about why
initialization failed
- aug_srun: tolerate trailing white space in commands
- much improved, expanded documentation of many lenses
- always interpret lens filter paths as absolute, bug #238
- fix bug in libfa that would incorrectly calculate the difference of a
case sensistive and case insensitive regexp (/[a-zA-Z]+/ - /word/i
would match 'worD')
- new builtin 'regexp_match' for .aug files to make testing regexp
matching easier during development
- fix 'span' command, bug #220
- Lens changes/additions
* Access: parse user@host and (group) in users field; field separator
need not be surrounded by spaces
* Aliases: allow spaces before colons
* Aptconf: new lens for /etc/apt/apt.conf
* Aptpreferences: support origin entries
* Backuppchosts: new lens for /etc/backuppc/hosts, bug 233 (Adam Helms)
* Bbhosts: various fixes
* Cgconfig: id allowed too many characters
* Cron: variables aren't set like shellvars, semicolons are allowed in
email addresses; fix parsing of numeric fields, previously upper case
chars were allowed; support ranges in time specs
* Desktop: new lens for .desktop files
* Dhcpd: slashes must be double-quoted; add Red Hat's dhcpd.conf
locations
* Exports: allow empty options
* Fai_diskconfig: new lens for FAI disk_config files
* Fstab: allow ',' in file names, BZ 751342
* Host_access: new lens for /etc/hosts.{allow,deny}
* Host_conf: new lens for /etc/host.conf
* Hostname: new lens for /etc/hostname
* Hosts: also load /etc/mailname by default
* Iptables: allow digits in ipt_match keys, bug #224
* Json: fix whitespace handling, removing some cf ambiguities
* Kdump: new lens for /etc/kdump.conf (Roman Rakus)
* Keepalived: support many more flags, fields and blocks
* Krb5: support [pam] section, bug #225
* Logrotate: be more tolerant of whitespace in odd places
* Mdadm_conf: new lens for /etc/mdadm.conf
* Modprobe: Parse commands in install/remove stanzas (this introduces a
backwards incompatibility); Drop support for include as it is not
documented in manpages and no unit tests are shipped.
* Modules: new lens for /etc/modules
* Multipath: add support for seveal options in defaults section, bug #207
* Mysql: includedir statements are not part of sections; support
\!include; allow indentation of entries and flags
* Networks: new lens for /etc/networks
* Nrpe: allow '=' in commands, bug #218 (Marc Fournier)
* Php: allow indented entries
* Phpvars: allow double quotes in variable names; accept case
insensitive PHP tags; accept 'include_once'; allow empty lines at
EOF; support define() and bash-style and end-of-line comments
* Postfix_master: allow a lot more chars in words/commands, including
commas
* PuppetFileserver: support same-line comments and trailing whitespace,
bug #214
* Reprepo_uploaders: new lens for reprepro's uploaders files
* Resolv: permit end-of-line comments
* Schroot: new lens for /etc/schroot/schroot.conf
* Shellvars: greatly expand shell syntax understood; support various
syntactic constructs like if/then/elif/else, for, while, until, case,
and select; load /etc/blkid.conf by default
* Spacevars: add toplevel lens 'lns' for consistency
* Ssh: new lens for ssh_config (Jiri Suchomel)
* Stunnel: new lens for /etc/stunnel/stunnel.conf (Oliver Beattie)
* Sudoers: support more parameter flags/options, bug #143
* Xendconfsxp: lens for Xen configuration (Tom Limoncelli)
* Xinetd: allow spaces after '{'
0.9.0 - 2011-07-25
- augtool: keep history in ~/.augeas/history
- add aug_srun API function; this makes it possible to run a sequence of
commands through the API
- aug_mv: report error AUG_EMVDESC on attempts to move a node into one of
its descendants
- path expressions: allow whitespace inside names, making '/files/etc/foo
bar/baz' a legal path, but parse [expr1 or expr2] and [expr1 and expr2]
as the logical and/or of expr1 and expr2
- path expressions: interpret escape sequences in regexps; since '.' does
not match newlines, it has to be possible to write '.|\n' to match any
character
- path expressions: allow concatenating strings and regexps; add
comparison operator '!~'; add function 'glob'; allow passing a nodeset
to function 'regexp'
- store the names of the functions available in path expressions under
/augeas/version
- fix several smaller memory leaks
- Lens changes/additions
* Aliases: allow spaces and commas in aliases (Mathieu Arnold)
* Grub: allow "bootfs" Solaris/ZFS extension for dataset name, bug #201
(Dominic Cleal); allow kernel path starting with a BIOS device,
bug #199
* Inifile: allow multiline values
* Php: include files from Zend community edition, bug #210
* Properties: new lens for Java properties files, bug #194 (Craig Dunn)
* Spacevars: autoload two ldap files, bug #202 (John Morrissey)
* Sudoers: support users:groups format in a Runas_Spec line, bug #211;
add CSW paths (Dominic Cleal)
* Util: allow comment_or_eol to match whitespace-only comments,
bug #205 (Dominic Cleal)
* Xorg: accept InputClass section; autoload from /etc/X11/xorg.conf.d,
bug #197
0.8.1 - 2011-04-15
- augtool: respect autosave flag in oneshot mode, bug #193; fix segfault
caused by unmatched bracket in path expression, bug #186
- eliminate a global variable in the lexer, fixes BZ 690286
- replace an erroneous assert(0) with a proper error message when none of
the alternatives in a union match during saving, bug #183
- improve AIX support
- Lens changes/additions
* Access: support the format @netgroup@@nisdomain, bug #190
* Fstab: fix parsing of SELinux labels in the fscontext option (Matt Booth)
* Grub: support 'device' directive for UEFI boot, bug #189; support
'configfile' and 'background' (Onur Küçük)
* Httpd: handle continuation lines (Bill Pemberton); autoload
httpd.conf on Fedora/RHEL, BZ 688149; fix support for single-quoted
strings
* Iptables: support --tcp-flags, bug #157; allow blank and comment
lines anywhere
* Mysql: include /etc/my.cnf used on Fedora/RHEL, BZ 688053
* NagiosCfg: parse setting multiple values on one line (Sebastien Aperghis)
* NagiosObjects: process /etc/nagios3/objects/*.cfg (Sebastien Aperghis)
* Nsswitch: support 'sudoers' as a database, bug #187
* Shellvars: autoload /etc/rc.conf used in FreeBSD (Rich Jones)
* Sudoers: support '#include' and '#includedir', bug #188
* Yum: exclude /etc/yum/pluginconf.d/versionlock.list (Bill Pemberton)
0.8.0 - 2011-02-22
- add new 'square' lens combinator
- add new aug_span API function
- augtool: short options for --nostdinc, --noload, and --noautoload
- augtool: read commands from tty after executing file with --interactive
- augtool: add --autosave option
- augtool: add --span option to load nodes' span
- augtool: add span command to get the node's span according to the input
file
- augtool: really be quiet when we shouldn't be echoing
- fix segfault in get.c with L_MAYBE lens; bug #180
- fix segfault when a path expression called regexp() with an invalid
regexp; bug #168
- improved vim syntax file
- replace augtest by test-augtool.sh to obviate the need for Ruby to run
tests
- use sys_wait module from gnulib; bug #164
- Lens changes/additions
* Access: new lens for /etc/security/access.conf (Lorenzo Dalrio)
* Crypttab: new lens for /etc/crypttab (Frederic Lespez)
* Dhcpd: new lens
* Exports: accept hostnames with dashes; bug #169 (Sergio Ballestrero)
* Grub: add various Solaris extensions (Dominic Cleal); support "map"
entries, bug #148
* Httpd: new lens for Apache config
* Inifile: new lens indented_title_label
* Interfaces: allow indentation for "iface" entries; bug #182
* Mysql: change default comment delimiter from ';' to '#'; bug #181
* Nsswitch: accept various add'l databases; bug #171
* PuppetFileserver: new lens for Puppet's fileserver.conf (Frederic Lespez)
* REsolv: allow comments starting with ';'; bug #173 (erinn)
* Shellvars: autoload various snmpd config files; bug #170 (erinn)
* Solaris_system: new lens for /etc/system on Solaris (Dominic Cleal)
* Util (comment_c_style, empty_generic, empty_c_style): new lenses
* Xml: generic lens to process XML files
* Xorg: make "position" in "screen" optional; allow "Extensions"
section; bug #175 (omzkk)
0.7.4 - 2010-11-19
- augtool: new clearm command to parallel setm
- augtool: add --file option
- Fix SEGV under gcc 4.5, caused by difficulties of the gcc optimizer
handling bitfields (bug #149; rhbz #651992)
- Preserve parse errors under /augeas//error: commit 5ee81630, released
in 0.7.3, introduced a regression that would cause the loss of parse
errors; bug #138
- Avoid losing already parsed nodes under certain circumstances; bug #144
- Properly record the new mtime of a saved file; previously the mtime in
the tree was reset to 0 when a file was saved, causing unnecessary file
reloads
- fix a SEGV when using L_MAYBE in recursive lens; bug #136
- Incompatible lens changes
* Fstab: parse option values
* Squid: various improvements, see bug #46;
* Xinetd: map service names differently
- Lens changes/additions
* Aptsources: map comments properly, allow indented lines; bug #151
* Grub: add indomU setting for Debian. Allow '=' as separator in title;
bug #150
* Fstab: also process /etc/mtab
* Inetd: support rpc services
* Iptables: allow underscore in chain names
* Keepalived: new lens for /etc/keepalived/keepalived.conf
* Krb5: allow digits in realm names; bug #139
* Login_defs: new lens for /etc/login.defs (Erinn Looney-Triggs)
* Mke2fs: new lens for /etc/mke2fs.conf
* Nrpe: new lens for Nagios nrpe (Marc Fournier)
* Nsswitch: new lens for /etc/nsswitch.conf
* Odbc: new lens for /etc/odbc.ini (Marc Fournier)
* Pg_hba: New lens; bug #140 (Aurelien Bompard). Add system path on
Debian; bug #154 (Marc Fournier)
* Postfix_master: parse arguments in double quotes; bug #69
* Resolv: new lens for /etc/resolv.conf
* Shells: new lens for /etc/shells
* Shellvars: parse ulimit builtin
* Sudoers: load file from /usr/local/etc (Mathieu Arnold) Allow
'visiblepw' parameter flag; bug #143. Read files from /etc/sudoers.d
* Syslog: new lens for /etc/syslog.conf (Mathieu Arnold)
* Util: exclude dpkg backup files; bug #153 (Marc Fournier)
* Yum: accept continuation lines for gpgkey; bug #132
0.7.3 - 2010-08-06
- aug_load: only reparse files that have actually changed; greatly speeds
up reloading
- record all variables in /augeas/variables, regardless of whether they
were defined with aug_defvar or aug_defnode; make sure
/augeas/variables always exists
- redefine all variables (by reevaluating their corresponding
expressions) after a aug_load. This makes variables 'sticky' across
loads
- fix behavior of aug_defnode to not fail when the expression evaluates
to a nonempty node set
- make gnulib a git submodule so that we record the gnulib commit off
which we are based
- allow 'let rec' with non-recursive RHS
- fix memory corruption when reloading a tree into which a variable
defined by defnode points (BZ 613967)
- plug a few small memory leaks, and some segfaults
- Lens changes/additions
* Device_map: new lens for grub's device.map (Matt Booth)
* Limits: also look for files in /etc/security/limits.d
* Mysql: new lens (Tim Stoop)
* Shellvars: read /etc/sysconfig/suseconfig (Frederik Wagner)
* Sudoers: allow escaped spaces in user/group names (Raphael Pinson)
* Sysconfig: lens for the shell subdialect used in /etc/sysconfig; lens
strips quotes automatically
0.7.2 - 2010-06-22
- new API call aug_setm to set/create multiple nodes simultaneously
- record expression used in a defvar underneath /augeas/variables
- Lens changes/additions
* Group: add test for disabled account (Raphael Pinson)
* Grub: handle comments within a boot stanza
* Iptables: also look for /etc/iptables-save (Nicolas Valcarcel)
* Modules_conf: new lens for /etc/modules.conf (Matt Booth)
* Securetty: added handling of emtpy lines/comments (Frederik Wagner)
* Shellvars: added SuSE sysconfig puppet files (Frederik Wagner),
process /etc/environment (seph)
* Shellvars_list: Shellvars-like lens that treats strings of
space-separated words as lists (Frederik Wagner)
0.7.1 - 2010-04-21
- new primitive lens 'value' to set value of a node to a constant,
similar to 'label' for the key (see http://augeas.net/docs/lenses.html)
- new builtins for printing and getting the types of a lens (see
http://augeas.net/docs/builtins.html)
- add unit type to lens language; allow '_' as an identifier in let's to
force evaluation for side effect only
- Various fixes for Solaris. Augeas now builds cleanly on Solaris 5.10,
and most of the tests pass. The three tests that fail all fail because
the test scripts have Linux idiosyncrasies. This needs to be addressed
in a future release. Much thanks to Dagobert Michelsen and the OpenCSW
project (http://www.opencsw.org/) for providing me with access to their
build farm.
- fix crash when recursive lens was used in a nonrecursive lens (bug #100)
- context free parser/recursive lenses: handle 'l?' properly (bug #119);
distinguish between successful parse and parse with an error at end of
input; do caller filtering to avoid spurious ambiguous parses with
grammars containing epsilon productions
- aug_get: return -1 when multiple nodes match (bug #121)
- much better error message when iteration stops prematurely during
put/create than the dreaded 'Short iteration'
- augtool: ignore empty lines from stdin; report error when get fails
- fix memory leak in file_info (transform.c); this was leaking a file
name every time we loaded a file (Laine Stump)
- nicer error message when typechecker spots ambiguity in atype
- libfa: handle '(a|)' and 'r{min,}' properly
- locale independence: handle a literal '|' properly on systems that lack
use_locale
- bootstrap: pull in isblank explicitly (needed on Solaris)
- src/lens.c (lns_check_rec): fix refcounting mistake on error path (bug #120)
- fix SEGV when loading empty files
- improvements in handling some OOM's
- Lens changes/additions
* Approx: lens and test for the approx proxy server (Tim Stoop)
* Cgconfig: lens and tests for libcgroup config (Ivana Hutarova Varekova)
* Cgrules: new lens and test (Ivana Hutarova Varekova)
* Cobblermodules: lens + tests for cobbler's modules.conf (Shannon Hughes)
* Debctrl: new lens and test (Dominique Dumont)
* Dput: add 'allow_dcut' parameter (bug #105) (Raphael Pinson)
* Dhclient: add rfc code parsing (bug #107) (Raphael Pinson)
* Group: handle disabled passwords
* Grub: support empty kernel parameters, Suse incl.s (Frederik Wagner)
* Inittab: allow ':' in the process field (bug #109)
* Logrotate: tolerate whitespace at the end of a line (bug #101); files
can be separated by newlines (bug #104) (Raphael Pinson)
* Modprobe: Suse includes (Frederik Wagner)
* Nagisocfg: lens and test for /etc/nagios3/nagios.cfg (Tim Stoop)
* Ntp: add 'tinker' directive (bug #103)
* Passwd: parse NIS entries on Solaris
* Securetty: new lens and test for /etc/securetty (Simon Josi)
* Shellvars: handle a bare 'export VAR'; Suse includes (Frederik
Wagner); allow spaces after/before opening/closing parens for array
* Sshd: allow optional arguments in subsystem commands (Matt Palmer)
* Sudoers: allow del_negate even if no negate_node is found (bug #106)
(Raphael Pinson); accept 'secure_path' (BZ 566134) (Stuart
Sears)
0.7.0 - 2010-01-14
- Support for context-free lenses via the 'let rec' keyword. The syntax
is experimental, though the feature is here to stay. See
lenses/json.aug for an example of what's possible with that.
- Support for case-insensitive regular expressions. Simply append 'i' to
a regexp literal to make it case-insensitive, e.g. /hello/i will match
all variations of hello, regardless of case.
- Major revamp of augtool. In particular, path expressions don't need to
be quoted anymore. The online help has been greatly improved.
- Check during load/save that each file is only matched by one transform
under /augeas/load. If there are multiple transforms for a file, the
file is skipped.
- New error codes AUG_ENOLENS and AUG_EMXFM
- Do not choke on non-existing lens during save
- Change the metadata for files under /augeas/files slightly: the node
/augeas/files/$PATH/lens now has the name of the lens used to load the
file; the source location of that lens has moved to
/augeas/files/$PATH/lens/info
- New public functions fa_nocase, fa_is_nocase, and fa_expand_nocase in
libfa
- Various smaller bug fixes, performance improvements and improved error
messages
- Lens changes/additions
* Cobblersettings: new lens and test (Bryan Kearney)
* Iptables: allow quoted strings as arguments; handle both negation
syntaxes
* Json: lens and tests for generic Json files
* Lokkit: allow '-' in arguments
* Samba: accept entry keys with ':' (Partha Aji)
* Shellvars: allow arrays that span multiple lines
* Xinetd (name): fix bad '-' in character class
0.6.0 - 2009-11-30
- Add error reporting API (aug_error and related calls); use to report
error details in a variety of places
- Path expressions: add regexp matching; add operator '|' to form union
of nodesets (ticket #89)
- Tolerate non-C locales from the environment (ticket #35); it is no
longer necessary to set the locale to C from the outside
- use stpcpy/stpncpy from gnulib (needed for building on Solaris)
- Properly check regexp literals for syntax errors (ticket #93)
- Distribute and install vim syntax files (ticket #97)
- many more bugfixes
- Lens changes/additions
* Apt_preferences: support version pin; filter out empty lines (Matt
Palmer)
* Cron: variables can contain '_' etc. (ticket #94)
* Ethers: new lens for /etc/ethers (Satoru SATOH)
* Fstab: allow '#' in spec (ticket #95)
* Group: allow empty password field (ticket #95)
* Inittab: parse end-of-line comments into a #comment
* Krb5: support kdc section; add v4_name_convert subsection to
libdefaults (ticket #95)
* Lokkit: add mising eol to forward_port; make argument for --trust
more permissive
* Pam: allow '-' before type
* Postfix_access: new lens for /etc/postfix/access (Partha Aji)
* Rx: allow '!' in device_name
* Sudoers: allow certain backslash-quoted characters in a command (Matt
Palmer)
* Wine: new lens to read Windows registry files
0.5.3 - 2009-09-14
- Match trees on label + value, not just label; see
tests/modules/pass_strip_quotes.aug for how that enables stripping
quotes
- Do not trip over symlinks to files on a different device during save;
fixes problems with writing to /etc/grub.conf on Fedora/RHEL
- API (defnode): always add the newly created node into the resulting
nodeset
- Add preceding-sibling and following-sibling axes to path expressions
- augtool, augparse: add --version option (bug #88)
- Change file info recorded under /augeas/files/FILE/*: remove lens/id
and move lens/info to lens
- Properly record new files under /augeas/files (bug #78)
- aug_load: clean up variables to avoid dangling references (bug #79)
- Make Augeas work on AIX
- Ignore anything but regular files when globbing
- Add 'clear' function to language for use in unit tests
- typechecker: print example trees in tree format
- libfa: properly support regexps with embedded NUL's
- Lens changes/additions
* Xorg: revamped, fixes various parse failures (Matt Booth)
* Inetd: new lens and test (Matt Palmer)
* Multipath: new lens and test
* Slapd: also read /etc/openldap.slapd.conf (bug #85)
0.5.2 - 2009-07-13
- Make Augeas work on Mac OS/X (bug #66) (Anders Bjoerklund)
- reduce symbols exported from libfa with linker script
- add --echo option to augtool
- require Automake 1.11 (Jim Meyering)
- avoid spurious save attempts for freshly read files
- Lens changes/additions
* Inittab: schema change: use 'id' field as name of subtree for a line,
instead of a generated number. Map comments as '#comment' (Matt Palmer)
* Logrotate: make owner/group in create statement optional, allow
filenames to be indented
* Ntp: allow additional options for server etc. (bug #72)
* Shellvars: allow backticks as quote characters (bug #74)
* Yum: also read files in /etc/yum/pluginconf.d (Marc Fournier)
0.5.1 - 2009-06-09
- augeas.h: flag AUG_NO_MODL_AUTOLOAD suppresses initial loading
of modules; exposed as --noautoload in augtool
- augtool: don't prompt when input is not from tty (Raphael Pinson)
- augparse: add --notypecheck option
- path expressions: allow things like '/foo and /bar[3]' in predicates
- Lens changes/additions
* Aliases: map comments as #comment (Raphael Pinson)
* Build, Rx, Sep: new utility modules (Raphael Pinson)
* Cron: new lens (Raphael Pinson)
* Dnsmasq: process files in /etc/dnsmasq.d/* (ticket #65)
* Grub: parse kernel and module args into separate nodes; parse
arguments for 'serial', 'terminal', and 'chainloader'; allow
optional argument for 'savedefault'
* Interfaces: make compliant with actual Debian spec (Matt Palmer)
* Iptables: relax regexp for chain names; allow comment lines mixed
in with chains and rules (ticket #51)
* Logrotate: allow '=' as separator (ticket #61); make newline at end
of scriptlet optional
* Modprobe: handle comments at end of line
* Ntp: parse fudge record (Raphael Pinson); parse all directives in
default Fedora ntp.conf; process 'broadcastdelay', 'leapfile',
and enable/disable flags (ticket #62)
* Pbuilder: new lens for Debian's personal builder (Raphael Pinson)
* Php: add default path on Fedora/RHEL (Marc Fournier)
* Squid: handle indented entries (Raphael Pinson)
* Shellvars: map 'export' and 'unset'; map comments as #comment
(Raphael Pinson)
* Sudoers: allow backslashes inside values (ticket #60) (Raphael Pinson)
* Vsftpd: map comments as #comment; handle empty lines; find
vsftpd.conf on Fedora/RHEL
* Xinetd: map comments as #comment (Raphael Pinson)
0.5.0 - 2009-03-27
- Clean up interface for libfa; the interface is now considered stable
- New aug_load API call; allows controlling which files to load by
modifying /augeas/load and then calling aug_load; on startup, the
transforms marked with autoload are reported under /augeas/load
- New flag AUG_NO_LOAD for aug_init to keep it from loading files on
startup; add --noload option to augtool
- New API calls aug_defvar and aug_defnode to define variables for
path expressions; exposed as 'defvar' and 'defnode' in augtool
- Lenses distributed with Augeas are now installed in
/usr/share/augeas/lenses/dist, which is searched after
/usr/share/augeas/lenses, so that lenses installed by other packages
take precedence
- New program examples/fadot to draw various finite automata (Francis
Giraldeau)
- Report line number and character offset in the tree when parsing a
file with a lens fails
- Fix error in propagation of dirty flag, which could lead to only
parts of a tree being saved when multiple files were modified
- Flush files to disk before moving them
- Fix a number of memory corruptions in the XPath evaluator
- Several performance improvements in libfa
- Lens changes/additions
* Grub: process embedded comments for update-grub (Raphael Pinson)
* Iptables: new lens for /etc/sysconfig/iptables
* Krb5: new lens for /etc/krb5.conf
* Limits: map dpmain as value of 'domain' node, not as label
(Raphael Pinson)
* Lokkit: new lens for /etc/sysconfig/system-config-firewall
* Modprobe: new lens for /etc/modprobe.d/*
* Sudoers: more finegrained parsing (ticket #48) (Raphael Pinson)
0.4.2 - 2009-03-09
- Do not delete files that had an error upon parsing
- For Fedora/EPEL RPM's, BuildRequire libselinux-devel (bug #26)
- Bug fixes in path expressions
* for numbers, the meaning of '<' and '<=' was reversed
- Always create an entry /files in aug_init
- New builtin 'Sys' module with functions 'getenv' and 'read_file',
the latter reads a the contents of a file into a string
- Lens changes/additions
* Postfix_main: handle continuation lines
* Bbhosts, Hosts, Logrotate, Sudoers: label comment nodes as '#comment'
* Sshd: map comments as '#comment' nodes
* Squid: add all keywords from squid 2.7 and 3 (Francois Deppierraz)
* Logrotate: process unit suffixes for 'size' and 'minsize'
0.4.1 - 2009-03-02
- Remove files when their entire subtree under /files is deleted
- Various bug fixes and syntax enhancements for path expressions
(see tests/xpath.tests for details)
- Evaluate path expressions with multiple predicates correctly
- Fix incorrect setting of /augeas/events/saved
- Major cleanup of matching during get; drastically improves
performance for very large (on the order of 10k lines) config files
- Small performance improvement in the typechecker
- Reject invalid character sets like [x-u] during typecheck
- Build with compile warnings set to 'maximum' instead of 'error', so
that builds on platforms with broken headers will work out of the box
- Lens changes/additions
* Util.stdexcl now excludes .augsave and .augnew files
* Logrotate: allow 'yearly' schedule, spaces around braces
* Ntp: fix so that it processes ntp.conf on Fedora 10
* Services: lens for /etc/services (Raphael Pinson)
* Xorg: new lens and tests (Raphael Pinson)
0.4.0 - 2009-02-06
- Much improved and expanded support for path expressions in the public
API. See doc/xpath.txt and tests/xpath.tests for details.
- Solaris support: builds at least on OpenSolaris 2008.11
- Lens changes/additions
* Grub: support color and savedefault
* DarkIce: new lens for http://darkice.tyrell.hu/ (Free Ekanayaka)
0.3.6 - 2009-01-26
- report version in /augeas/version, report legal save modes in
/augeas/version/save/mode for feature tests/version checking
- dynamically change behavior of aug_save; add noop save mode
(Bryan Kearney)
- plug memory leak, more portable SELinux test (Jim Meyering)
- fix bz #478619 - do not use abspath (Arnaud Gomes-do-Vale)
- fix segfault when branch in a union does not have a ktype
- Lens changes/additions
* Dpkg: new lens for Debian's dpkg.cfg (Robin Lee Powell)
* Limits: new lens for /etc/security/limits.conf (Free Ekanayaka)
* Soma: new lens for http://www.somasuite.org/ config
(Free Ekanayaka)
* Php, Gdm: fix minor regexp error (Marc Fournier)
expand filter for Php config files (Robin Lee Powell)
* Phpvars: whitspace fixes (Free Ekanayaka)
* Puppet: accept indented puppet.conf (ticket #25)
0.3.5 - 2008-12-23
- add an option to rewrite files by overwriting their contents instead of
putting the new file in place atomically with rename(2); file contents
are only copied after rename fails with EXDEV or EBUSY, and only if the
node /augeas/save/copy_if_rename_fails (fix #32)
- saving of backup (.augsave) files now works even if the original and
backup files are on different devices
- major refactoring of how path expressions are handled internally. Fixes
a number of bugs and oddities (e.g. tickets #7 and #23)
- fix a bug in fa_as_regexp: a '.' wasn't escaped, ultimately leading to
spurious errors from the typechecker
- Lens changes/additions
* Group: process /etc/group (Free Ekanayaka)
* Passwd: process /etc/passwd (Free Ekanayaka)
* Phpvars: process files that set PHP variables, in particular
/etc/squirrelmail/config.php (Free Ekanayaka)
* Rsyncd: process /etc/rsyncd.conf (Marc Fournier)
* Shellvars: process /etc/arno-iptables-firewall/debconf.cfg and
/etc/cron-apt/config (Free Ekanayaka), load /etc/sysconfig/sendmail
* Postfix: process postfix's main.cf and master.cf (Free Ekanayaka)
* Squid: new lens for squid.conf (Free Ekanayaka)
* Webmin: new lens (Free Ekanayaka)
* Xinetd: make sure equal sign is surrounded by spaces (#30)
* Sshd: change the structure of Condition subtrees (Dominique Dumont)
0.3.4 - 2008-11-05
- fix saving of backup files; in 0.3.3, when AUG_SAVE_BACKUP was passed
to aug_init, aug_save would always fail
0.3.3 - 2008-10-24
- restore the behavior of aug_save; in 0.3.2, aug_save broke API by
returning the number of files changed on success instead of 0
0.3.2 - 2008-10-21
- saving now reports which files were actually changed in
/augeas/events/saved; aug_save also returns the number of files
that were changed
- preserve file owner, permissions and SELinux context when changing a file.
- make saving idempotent, i.e. when a change to the tree does not result
in changes to the actual file's content, do not touch the original file
- report an error if there are nodes in the tree with a label that
is not allowed by the lens
- quietly append a newline to files that do not have one
- generate lens documentation using NaturalDocs and publish those
on the Auegas website (Raphael Pinson)
- Lens changes/additions
* Grub: support the 'password' directive (Joel Nimety)
* Grub: support 'serial' and 'terminal' directives (Sean E. Millichamp)
* Samba: change default indentation and separators (Free Ekanayaka)
* Logrotate: process tabooext, add dateext flag (Sean E. Millichamp)
* Sshd: Cleaner handling of 'Match' blocks (Dominique Dumont)
* Monit: new lens (Free Ekanayaka)
* Ldap: merge with Spacevars (Free Ekanayaka)
* Shellvars: support /etc/default (Free Ekanayaka)
* Shellvars: handle space at the end of a line
0.3.1 - 2008-09-04
- Major performance improvement when processing huge files, reducing some
O(n^2) behavior to O(n) behavior. It's now entirely feasible to
manipulate for example /etc/hosts files with 65k lines
- Handle character escapes '\x' in regular expressions in compliance with
Posix ERE
- aug_mv: fix bug when moving at the root level
- Fix endless loop when using a mixed-case module name like MyMod.lns
- Typecheck del lens: for 'del RE STR', STR must match RE
- Properly typecheck the '?' operator, especially the atype; also allow
'?' to be applied to lenses that contain only 'store', and do not
produce tree nodes.
- Many new/improved lenses
* many lenses now map comments as '#comment' nodes instead of just
deleting them
* Sudoers: added (Raphael Pinson)
* Hosts: map comments into tree, handle whitespace and comments
at the end of a line (Kjetil Homme)
* Xinetd: allow indented comments and spaces around "}" (Raphael Pinson)
* Pam: allow comments at the end of lines and leading spaces
(Raphael Pinson)
* Fstab: map comments and support empty lines (Raphael Pinson)
* Inifile: major revamp (Raphael Pinson)
* Puppet: new lens for /etc/puppet.conf (Raphael Pinson)
* Shellvars: handle quoted strings and arrays (Nahum Shalman)
* Php: map entries outside of sections to a '.anon' section
(Raphael Pinson)
* Ldap: new lens for /etc/ldap.conf (Free Ekanayaka)
* Dput: add allowed_distributions entry (Free Ekanayaka)
* OpenVPN: new lens for /etc/openvpn/{client,server}.conf (Raphael Pinson)
* Dhclient: new lens for /etc/dhcp3/dhclient.conf (Free Ekanayaka)
* Samba: new lens for /etc/samba/smb.conf (Free Ekanayaka)
* Slapd: new lens for /etc/ldap/slapd.conf (Free Ekanayaka)
* Dnsmasq: new lens for /etc/dnsmasq.conf (Free Ekanayaka)
* Sysctl: new lens for /etc/sysctl.conf (Sean Millichamp)
0.3.0 - 2008-08-07
- Add aug_mv call to public API
- Do not clobber symlinks, instead write new files to target of symlink
- Fail 'put' when tree has invalid entries
- Set exit status of augtool
- Avoid picking special characters, in particular '\0', in examples (libfa)
- Store system errors, using strerror, in the tree during writing of files
- New lenses
* Generic inifile module (Raphael Pinson)
* logrotate (Raphael Pinson)
* /etc/ntp.conf (Raphael Pinson)
* /etc/apt/preferences (Raphael Pinson)
* bbhosts for Big Brother [http://www.bb4.org/] (Raphael Pinson)
* php.ini (Raphael Pinson)
0.2.2 - 2008-07-18
- Fix segfault in store.put on NULL values
- Properly move default lens dir with DATADIR (Jim Meyering)
- Fix 'short iteration' error on get/parse of empty string; this bug
made it impossible to save into a new file
- Add 'insa' and 'insb' primitives to allow insertion from
put unit tests
- aug_insert: handle insertion before first child properly
- New lenses
* /etc/exports: NFS exports
* /etc/dput.cf: Debian's dput (Raphael Pinson)
* /etc/aliases: don't require whitespace after comma (Greg Swift)
0.2.1 - 2008-07-01
- Address some compilation issues found on Ubuntu/Debian unstable
- Fix segfault when aug_init/close are called multiple times
- Man page for augparse
- New lenses
* /etc/sysconfig/selinux
* Bugfixes for grub.conf