Hi,
On 2/3/19 12:36, aitor_czr wrote:
This security key hasn't a high priority in the project, because all
the orders are sent from the gui through file descriptors (unix
sockets and fifos) instead of arguments in the command line.
On the other hand, the key should be generated at build time by CMake,
so that it'll be only known by that frontend built *together* with the
backend.
Copy and paste the gui binary from one computer to another one
wouldn't work with the another backend suid binary. The macro in CMake
could be as follows:
add_custom_command(
TARGET backend
COMMAND ${CMAKE_COMMAND} -E chdir ${CMAKE_CURRENT_SOURCE_DIR} cmd
COMMENT "Generating the security key..."
)
being 'cmd' the script dealing with the generation of the random
string of characters, for example, something like this:
LC_ALL=C tr -dc 'A-Za-z0-9!"#$%&'\''()*+,-./:;<=>?@[\]^_`{|}~'
</dev/urandom | head -c 100 > key.txt
But i encountered the following problem: the random string was always
generated *after* the build processes, appearing as a second action
when executing CMake doing this
method completely useless.
I was wondering if one can't interpret a CMakeLists.txt file
sequentially, but i found a possible solution to this issue by adding
the PRE_BUILD option to the custom command.
For testing purposes, i tried adding this PRE_BUILD option in the
custom command concerning to the suid permissions, that is:
add_custom_command(
OUTPUT backend_suid
PRE_BUILD
POST_BUILDCOMMAND ${CMAKE_COMMAND} -E chdir
${CMAKE_CURRENT_SOURCE_DIR} sudo chown root:root backend
COMMAND ${CMAKE_COMMAND} -E chdir ${CMAKE_CURRENT_SOURCE_DIR} sudo
chmod u+s backend
COMMENT "Giving suid permissions to the backend...\n"
)
add_custom_target(suid ALL DEPENDS backend_suid)
... and CMake failed *as expected*, due to a non existent binary
because of the use of PRE_BUILD option, instead of POST_BUILD.
However, i took a disappointment seeing how this PRE_BUILD option
doesn't affect to the random string :(
Another possible solution might be setting the target of the first
add_custom_command (the random string) as a dependency of the backend
executable...
Any hints?
Thanks in advance,
Aitor.
This issue has been solved. I'll push the commits to gitlab shortly.
Cheers,
Aitor.
_______________________________________________
Dng mailing list
Dng@lists.dyne.org
https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng