Age | Commit message (Collapse) | Author |
|
The ctypes binding makes a copy of the string return value; the
originating C memory allocation needs to be explicitly managed.
|
|
Separate the application of validators from the cstore update.
|
|
Legacy set/delete methods write errors to stdout; capture for
redirection in return value.
|
|
Expose legacy set/delete functions in a form suitable for external
calls.
|
|
|
|
related task: T5660: add marker for last element of priority queues
|
|
|
|
|
|
|
|
Fixes compile error: void operator delete(void*, std::size_t)' called on pointer returned from a mismatched allocation function
|
|
|
|
|
|
Kernel 5.15, and probably newer, present an EXEDEV error when the
vyatta-cfg code tries to boost::filesystem::copy_file on UnionFS
FUSE mounts. This completely breaks operation on newer kernels, and
is therefore a blocker to the rest of the project moving on to new
Linux LTS versions.
Boost is complex and fraught, this code behaves inconsistently in
verious operating environments, and can be a nightmare to debug.
Handle the concerns above using binary streaming in C++ to copy the
source to the destination if an exception occurs during the
existing Boost copy_file operation.
Testing:
Built ISO (cloud target), packer install, booted in OpenStack on
KVM, booted in AWS on Xen, verified configurations are committed in
both cases and that error logs are being generated to inform users
about the fall-through being utilized to write-out configurations.
Notes:
Logging may be dropped to avoid flooding storage on often-updated
systems. It is left in-place to aid developers in debugging the root
concern underpinning Boot breakage (which may impact other areas of
the code).
|
|
1. Use chrono library instead of basic C library to improve accuracy
2. Introduce the tracing helpers
3. Add tracing calls to the main processing points
NOTE: loger is writing to the stdout, and for bootloader it is
redirected to - /var/log/vyatta/vyos-boot-config-loader.log
|
|
|
|
In release v1.0 of unionfs-fuse, the meta directory was renamed from
.unionfs to .unionfs-fuse. Consequently, the clean up of the directory
following a commit vacuously succeeds, and the meta data remains. On a
subsequent commit, this hidden directory will be copied into the tmp
directory structure. As permissions on the whiteout files belong solely
to the user, commit actions in a multiuser environment may encounter
permission errors, leading to a failure in commit. Change the meta
directory name here to accord with the change in unionfs-fuse, but
beware that the change is reverted in release v2.0 of unionfs-fuse.
|
|
|
|
|
|
|
|
Use vyos-1x migration script runner.
|
|
|
|
|
|
|
|
|
|
|
|
the return codes?
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Configurations that contain double quoted values that ended in \ were
causing parse errors on load / reboot, resulting in a failure to load
the config file and an empty config.
This commit adds extra logic to the lex parsing of the config file to
catch this particular case whilst still allowing escaped quotes in the
middle of quoted values.
Bug #593 http://bugzilla.vyos.net/show_bug.cgi?id=593
|
|
If a configuration session is exited uncleanly, either as a result of a
network disconnect / timeout or other forced quit from within config
mode, the unionfs mount is left in place. These remain until the
system is rebooted, giving an error when unmounting the config
directory.
This commit checks for old configuartion directories when a user enters
config mode, removing any found that are owned by that user but not
part of any active configuration seesion.
Bug #564 http://bugzilla.vyos.net/show_bug.cgi?id=564
|
|
|
|
When changes are made to the system by more than one user, only the
first user after a reboot is able to commit successfully, the others
fail with "Failed to generate committed config". This is caused as
a result of the underlying unionfs-fuse mount used for the system
configuration and the fact that a .unionfs directory if left in the
active configuration with permissions set such that only the original
committing user can change them.
Bug #403 http://bugzilla.vyos.net/show_bug.cgi?id=403
|
|
Use Build-iso to create /etc/fuse.conf file.
Use pipe(),fork(),execl() functions instead of system() function to
call unionfs-fuse.
|
|
|
|
|
|
|
|
1. Bugfix 8254: Show the help text first so users don't think there is
only one completion for a value when it exists with non-comps
2. Fix config mode inconsistencies with operational mode. Show all
values in help text.
3. Fix "exists_only" command handling. Only show nodes that exist when
doing completion for show, comment, and delete.
|
|
|
|
Don't fail if lock file already exists
|
|
1. Make local functions static
2. Use C standard for function with no-args versus old K&R style
3. Make some arguments const
|
|
Bug 8204
Make sure we don't handle unnecessary file descriptors to child
processes. This is done by marking file descriptors as close on
exec, and closing pipe before exec.
|
|
Bug 8192
Put message in log about failed node
|