<feed xmlns='http://www.w3.org/2005/Atom'>
<title>awwan/sudo_test.go, branch main</title>
<subtitle>Configuration management software, scriptable shell with SSH support.</subtitle>
<id>http://git.kilabit.info/awwan/atom?h=main</id>
<link rel='self' href='http://git.kilabit.info/awwan/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/awwan/'/>
<updated>2026-02-15T06:37:31Z</updated>
<entry>
<title>all: fix data race in Play and in integration tests</title>
<updated>2026-02-15T06:37:31Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2026-02-15T06:03:38Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/awwan/commit/?id=19d58e9a4c900aec1d63de45a655657c760b1235'/>
<id>urn:sha1:19d58e9a4c900aec1d63de45a655657c760b1235</id>
<content type='text'>
When the Play command executed from the web user interface, there is a
possibility that concurrent requests set the sshConfig field in Awwan
struct at the same time.

In the integration tests for TestAwwan_Play_withLocal and
TestExecLocal_sudo, the data race happens when writing to the same
buffer for stdout and stderr, so we split them into separate buffers.

There is also data race in SSE connection, when handler for ExecuteTail
write to the same buffer with worker keep alive.
This has been fixed on pakakeh.go module.
</content>
</entry>
<entry>
<title>all: replace module "share" with "pakakeh.go"</title>
<updated>2024-03-22T13:12:34Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2024-03-22T13:11:57Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/awwan/commit/?id=62bf073d3d5b55a7e76cf5d9cebefdc9c00cbcee'/>
<id>urn:sha1:62bf073d3d5b55a7e76cf5d9cebefdc9c00cbcee</id>
<content type='text'>
The "share" project has been moved to SourceHut with new name
"pakakeh.go".
</content>
</entry>
<entry>
<title>all: add [context.Context] to Local and Play</title>
<updated>2023-12-21T20:07:52Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-12-21T19:04:11Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/awwan/commit/?id=c0d336ca456093b2b7c0b585dbe08f62cbc8ca83'/>
<id>urn:sha1:c0d336ca456093b2b7c0b585dbe08f62cbc8ca83</id>
<content type='text'>
Passing context allow the command Local or Play to be cancelled when
running in asynchronous mode, in this case when awwan run with WUI.
</content>
</entry>
<entry>
<title>all: do not changes the Script path in the response of HTTP Execute</title>
<updated>2023-11-19T19:04:00Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-11-19T19:04:00Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/awwan/commit/?id=45af2385eb98994e91792e77e6912b1b74ebb677'/>
<id>urn:sha1:45af2385eb98994e91792e77e6912b1b74ebb677</id>
<content type='text'>
Previously, the ExecRequest from HTTP Execute endpoint changes the Script
value to the absolute script path in the system.
This changes fix this issue to minimize inconsistency between request
and response.
</content>
</entry>
<entry>
<title>all: refactoring, rename Request to ExecRequest</title>
<updated>2023-11-16T15:59:22Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-11-16T15:59:22Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/awwan/commit/?id=4c17c972104e2dc50dbee4138c992f620e7f10bd'/>
<id>urn:sha1:4c17c972104e2dc50dbee4138c992f620e7f10bd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>all: use "mlog.MultiLogger" to log Request output and error</title>
<updated>2023-10-26T15:24:16Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-10-26T15:23:58Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/awwan/commit/?id=f2b0021604e898e78ad53100057fd7da0b2187a6'/>
<id>urn:sha1:f2b0021604e898e78ad53100057fd7da0b2187a6</id>
<content type='text'>
By using "mlog.MultiLogger" every output or error can be written to
stdout/stderr and additional log writer that can collect both of them,
buffered and returned to the caller.

This changes simplify the HttpResponse to use only single output that
combine both stdout and stderr.
</content>
</entry>
<entry>
<title>session: use the raw statement when adding "-S" option in ExecLocal</title>
<updated>2023-10-17T14:11:07Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-10-17T14:11:07Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/awwan/commit/?id=30c3850c68973aab11031c4102684e6814dd4d2e'/>
<id>urn:sha1:30c3850c68973aab11031c4102684e6814dd4d2e</id>
<content type='text'>
Previously, when refactoring ExecLocal in bf9c8226b4d to support sudo
with -S option, we generate the raw command by concatenating Statement
args field.
This model does not works if the raw command contains double quote that
needs to be executed as is.

This changes fix this issue by adding "-S" option to raw command.
</content>
</entry>
<entry>
<title>all: add integration test for executing local command with sudo</title>
<updated>2023-10-14T10:02:44Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2023-10-14T10:02:44Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/awwan/commit/?id=0b2d4c6c3d88016fac5c9280331afe703866ffda'/>
<id>urn:sha1:0b2d4c6c3d88016fac5c9280331afe703866ffda</id>
<content type='text'>
</content>
</entry>
</feed>
