aidan

joined 1 year ago
[–] [email protected] 1 points 2 weeks ago

No, you're still misunderstanding what's being done. ${server_service} is an injected string, the string is the whole contents of the file. That file is not stored locally on the server, except through being injected here(by a terraform file template). And no, printf won't be any better than echo because its not format string, and I don't want any formatting from printf applied to it.

[–] [email protected] 1 points 2 weeks ago (2 children)

I’m reading this and interpreting that line 27 of that script is

And your interpretation is wrong. Line 27 is actuallly

sudo echo "${server_service}" > /lib/systemd/system/server.service

${server_service} is read from the file I posted in the 2nd image. Since it was a test script I hadn't bothered implementing any escaping tools, I wanted to make sure terraform allowed this first.

[–] [email protected] 2 points 2 weeks ago

there is no purpose other than legacy of having replaced other commands

[–] [email protected] 2 points 2 weeks ago* (last edited 2 weeks ago)

terraform(really is just a injection of a file() into a shell script)

[–] [email protected] 2 points 2 weeks ago (1 children)

I don't think I did(though sometimes I do accidentally because of the Jeroba app UX)

[–] [email protected] 4 points 2 weeks ago* (last edited 2 weeks ago) (4 children)

No, because neither of those are the inputs. The input was the systemd file in the image. The whole command was not printed in the error, only surrounding context. The single-quote was indicating the ending of that context(because it was the end of the line) printed by the error.

The same thing was done with `)' on the first line of error

[–] [email protected] 3 points 2 weeks ago (1 children)

I don't disagree, but this time its my fault

[–] [email protected] 1 points 2 weeks ago

Sadly no, its injected with terraform templatefile, I already looked for a normal way to autoescape it, but from a brief look I couldn't find one. I know there is a replace function that can take regex(RE2, which from my understanding prohibits * in lookbehinds)- but the simplest regex I could think of at nearly 6am for capturing only non-escaped quotes is /(?:^|[^\\])(?:(?:\\\\)+|[^\\]|^)(?'quote'")/gm. Though, I just realized if the quotes are escaped I would want to double escape them, so actually replacing all quotes with escaped quotes should be fine, also another limitation of this method is lines can't have trailing \

[–] [email protected] 1 points 2 weeks ago (5 children)

To avoid having it hosted separately its injected into a shell script as a string

[–] [email protected] 2 points 2 weeks ago (2 children)

dsygraphia, I meant to say escape the quotes(you can see that because the comment wasn't about comments but was instead about quotes)

[–] [email protected] 1 points 2 weeks ago

The same is true for JVM bytecode, and C operations really are just aliases for ASM operations, and ASM (sometimes) is just aliases for microcode operations

 
[–] [email protected] 1 points 3 weeks ago (1 children)

No I meant, what was the grant process? As in, just applying for it, or selected for it?

 
 
 
view more: next ›