Fairly new here, but I have stuff to say.
On the actual subject:
Any massive effort to get root execution across a list of hosts, is
going to be an attractive attack vector. I think it was mentioned,
but a robust key management solution is necessary, at least for ssh,
but likely also for something else, like (p(gp)g). Weighing the
benefits of this with the utility of the need is going to be a
different threshold for different people/organizations. Sudo is NOT a
security program, it is a convenience mechanism. Similarly dropping a
SUID target out there is also a convenience mechanism.
The only way I would trust something like this on my network is if the
payload is signed, by a central authority/user. The signature can be
verified with a public key, and it should be able to verify that the
payload was not altered since the signature was applied. Even better
is if the payload is actually encrypted, but that would require
machine private keys for unencryption (not ideal on edge nodes). Any
other thing that is done to allow escalated run authority should be
carefully written to NOT allow bypass of the signature and must
actively check for cert/key revocations before UID escalation.
This can be as simple as a .signature file delivered with or before
the payload. If it can be guaranteed delivered last, then it can also
act as a semaphore to allow the client to know the transfer is
actually complete, and to not waste cycles trying to verify things
before the transfer is done.
On language:
It seems sufficient to me that as a project, suckless.org is C. Every
project (with the exception of Init scripts) on suckless.org is in C.
It seems that the most active users (owners?) want to keep it that
way, so it seems fruitless to argue about it.
So, a thread about 'go' being cool is probably not going to get
push-back much. The line seems to be where the not-C is suggested as
something that belongs on suckless.org. I think few had an issue when
this thread started out on using 'go' as a proof of concept or
pseudo-code. But the moment it was considered that maybe the PoC
would not be ported to 'C', that is where the line was hit. Maybe I'm
being generous, but what I got out of this thread was in the spirit
of, ~We encourage you to do it, talk about solving the problems, but
it won't be part of suckless.org unless it is in C~.
The obvious requirement for participating in the existing suckless.org
project space is knowing C well enough to keep it succinct and
readable. Adding a new project in not-C is going to have some
chilling effect on existing community members. The desire to learn a
new language really well may not be true for everyone, and for some,
clearly, a not-C project on suckless.org would be seen as being
against what suckless.org stands for. That makes sense to me. This
place is for C. Not-C have many robust communities where such
projects would be welcome.
Thank you,
Gary Allen
On Tue, Sep 26, 2017 at 5:28 PM, Josuah Demangeon wrote:
>> Other people make different choices than you.
>
>
> That is great.
>
>> Imagine that! Especially if they have other priorities than you.
>
>
> This as well, but I feel large side effects of these choice is being
> hidden to the people that make them: the cost of maintaining
> all of these different languages in a same system.
>
>> P.S.: My stance is that whatever language gets the job done and works
>> for the developers involved is best, and don't let people from outside
>> the project convince you otherwise. I just noticed that all the
>> languages I learned except C don't get the job done for me.
>
>
> I want to stick to C both because I like it (matter of tastes), but
> also because it is the language the system is written in.
>
> If all we had was OS written in Lisps for hardware efficient at
> executing Lisp, I guess I would learn to love Lisp and write
> everything in Lisp for not raising the complexity of the system
> while writing programs...
>