Register a SA Forums Account here!
JOINING THE SA FORUMS WILL REMOVE THIS BIG AD, THE ANNOYING UNDERLINED ADS, AND STUPID INTERSTITIAL ADS!!!

You can: log in, read the tech support FAQ, or request your lost password. This dumb message (and those ads) will appear on every screen until you register! Get rid of this crap by registering your own SA Forums Account and joining roughly 150,000 Goons, for the one-time price of $9.95! We charge money because it costs us money per month for bills, and since we don't believe in showing ads to our users, we try to make the money back through forum registrations.
 
  • Post
  • Reply
Dans Macabre
Apr 24, 2004


code:
			if (value + 1 == 40) {
				if (specialForumBool) {
					$elem.text("SNIPER " + originalValue);
					$elem.css("color", "red");
				} else {
					$elem.css("background-color", "green");
				}
			}

Adbot
ADBOT LOVES YOU

fart simpson
Jul 2, 2005

DEATH TO AMERICA
:xickos:

green?

Dans Macabre
Apr 24, 2004


you got a problem put in a pull request

Cold on a Cob
Feb 6, 2006

i've seen so much, i'm going blind
and i'm brain dead virtually

College Slice

nvrgrls posted:

you got a problem put in a pull request

reminds me of something i came across today

quote:

"I have tested this a fair amount but clearly more tests are needed," Kernighan wrote in the email, posted in late May as a kind of pseudo-commit on the onetrueawk repo by longtime maintainer Arnold Robbins. "Once I figure out how ... I will try to submit a pull request. I wish I understood git better, but in spite of your help, I still don't have a proper understanding, so this may take a while."

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost
leadership and power lead directly to the inability to learn anything, volume MCCXI

Zlodo
Nov 25, 2006
hell project status update: we are using one of our company's proprietary engine which is perfectly serviceable and does a bunch of things well, but the project suffers from massive NIH and is slowly using "our architecture ~vision~" as a pretext to needlessly replace mature systems from that engine that solves many problems pretty well with half-assed reimplementations and a couple months into the project it's already driving me crazy

distortion park
Apr 25, 2011


the last developer on the team responsible for our key strategic product just announced they are quitting, going to have to get my job search into full gear I think.

champagne posting
Apr 5, 2006

YOU ARE A BRAIN
IN A BUNKER

distortion park posted:

the last developer on the team responsible for our key strategic product just announced they are quitting, going to have to get my job search into full gear I think.

good for them !

Powerful Two-Hander
Mar 10, 2004

Mods please change my name to "Tooter Skeleton" TIA.


distortion park posted:

the last developer on the team responsible for our key strategic product just announced they are quitting, going to have to get my job search into full gear I think.

congrats on your promotion to lead strategic product dev

Powerful Two-Hander
Mar 10, 2004

Mods please change my name to "Tooter Skeleton" TIA.


Powerful Two-Hander posted:

also I pulled the latest logs to send to everyone involved in this stupid issue and noticed that in one batch we sent 3 files then got "token expired" for the rest within a timespan of like a few seconds, but the expiry date given was an hour in the past

then for another one run a few hours laters it failed and gave a token expiry date from 23 hours earlier :psyduck:

I don't know what the gently caress they're doing here unless they've somehow managed to create a set of load balanced servers that share a common cache or something hosed up like that

5 days later I got them to actually look at the code and after admitting that they "don't know where the library we're using came from" they decompiled it and it's an idiot caching mechanism that checks for the age of the provided token if the token exists in cache, but it's not clear what that expiry actually is.

Even better though, if the token in the cache has "expired" it just throws an exception it doesn't actually validate and cache the new token , so basically if you ever supply the same token twice (like if you just supply the account name and password) you're in a crapshoot as to whether the seemingly random expiry has been hit and whether your call works or not

but what this does mean is that spamming retries might actually work.

sb hermit
Dec 13, 2016





Powerful Two-Hander posted:

5 days later I got them to actually look at the code and after admitting that they "don't know where the library we're using came from" they decompiled it and it's an idiot caching mechanism that checks for the age of the provided token if the token exists in cache, but it's not clear what that expiry actually is.

Even better though, if the token in the cache has "expired" it just throws an exception it doesn't actually validate and cache the new token , so basically if you ever supply the same token twice (like if you just supply the account name and password) you're in a crapshoot as to whether the seemingly random expiry has been hit and whether your call works or not

but what this does mean is that spamming retries might actually work.

:psyduck:

mystes
May 31, 2006

Powerful Two-Hander posted:

after admitting that they "don't know where the library we're using came from" they decompiled it
the actual brokenness is good too but this is my favorite part

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang



lmao at admitting that

outhole surfer
Mar 18, 2003

Carthag Tuek posted:

lmao at admitting that

people admit to and are even proud of the dumbest poo poo.

colleague at a past gig had been responsible for their iam infrastructure for years doing everything by hand, from building to deploying to operating services. acted like it was unreasonable to config manage an environment that was only a half dozen servers and a dozen services and was proud of constantly having to hero the shitshow he made

dude would also proudly talk about how the shibboleth deployment was stuck on a hella old version because he wrote a plugin that the deployment depended on, then lost the source.

he of course blamed everything on not having enough time to do everything that needed to be done.

Powerful Two-Hander
Mar 10, 2004

Mods please change my name to "Tooter Skeleton" TIA.


ah and I bet they are using a load balancer as well which is why the "expiry time" is anything from 30 minutes to 23 hours - must be hitting different server so even sequential retries are no guarantee that you'll get a success (if the cache has "expired" the key is removed so if you try and fail a retry to the same cache should succeed because if there's no cache hit the token gets validated and added to it)

I think other service users are getting round this because they're using our hosed up LDAP token generation tool that (I was told) only exists because we won't pay for a proper directory system that lets windows and Unix hosts negotiate or something, and that generates a new token every time.

Powerful Two-Hander fucked around with this message at 17:41 on Aug 24, 2022

Powerful Two-Hander
Mar 10, 2004

Mods please change my name to "Tooter Skeleton" TIA.


mystes posted:

the actual brokenness is good too but this is my favorite part

yeah I gave them a bit of a bollocking for that.

The team that are supposed to be the ones that manage the authentication environment contributed by pulling up an implementation guide that was so old that it targeted dotnet 2.0, and then admitted that they didn't know what that did either

Deep Dish Fuckfest
Sep 6, 2006

Advanced
Computer Touching


Toilet Rascal
i gotta say, that's a pretty impressive shitshow you've got there

Corla Plankun
May 8, 2007

improve the lives of everyone
can you just add some poo poo to the token so that it busts the cachebut doesn't break auth? whats the cache key?

they're probably just using some dumb poo poo like
code:
user = decode(authstring).split(':')[0]
pass = decode(authstring).split(':')[1]
so if they're caching on the authstring you might be able to send up a b64encoded "user:password:c-c-c-c-c-c-cachebuster324839423" that would fix it without even having to get them to do anything

sb hermit
Dec 13, 2016





invalid authentication attempts might cause spurious warnings on IDS detection systems so it might give the security people headaches

then again, that could be a plus if you dislike security people

also, this assumes that someone or something is actually reviewing logs

Powerful Two-Hander
Mar 10, 2004

Mods please change my name to "Tooter Skeleton" TIA.


Corla Plankun posted:

can you just add some poo poo to the token so that it busts the cachebut doesn't break auth? whats the cache key?

they're probably just using some dumb poo poo like
code:
user = decode(authstring).split(':')[0]
pass = decode(authstring).split(':')[1]
so if they're caching on the authstring you might be able to send up a b64encoded "user:password:c-c-c-c-c-c-cachebuster324839423" that would fix it without even having to get them to do anything

no because get this, they check if the item is in cache by comparing both parts post decode. There's no source validation, it's just "does username and pass match any other cache item", and if it does they just assume valid. I can't be bothered to check right now but idk if it is actually failing if any token is sent twice or the expiry amount is somehow linked to it

honestly how this ended up being used is a mystery to me, it's like 5 lines to do the validation with a basic LDAP bind that negates all of this

Corla Plankun
May 8, 2007

improve the lives of everyone

sb hermit posted:

invalid authentication attempts might cause spurious warnings on IDS detection systems so it might give the security people headaches

new plan: spam this with spurious auth attempts until they have to explain their crimes to the security team


Powerful Two-Hander posted:

no because get this

lmao and oof

Powerful Two-Hander
Mar 10, 2004

Mods please change my name to "Tooter Skeleton" TIA.


Corla Plankun posted:

new plan: spam this with spurious auth attempts until they have to explain their crimes to the security team


we're literally patching all our components tomorrow to spam retries on failure, idk if it will get picked up though because they're not actually using non-cached tokens to do a bind they just throw them away.

the only way I can see that this hasn't been a problem is that nobody has ever tried to send the same token outside the expiry time, either because they use a fresh one every time or just dumb luck

Powerful Two-Hander
Mar 10, 2004

Mods please change my name to "Tooter Skeleton" TIA.


btw the "actual" solution is, and I'm not making this up, "do an impersonation logon with the account, then call this other blackbox dll installed on the host to get a temporary token, then send that instead of the actual account password".

but I wasn't going to do that until I'd established what the hell was going on because, as I told them, "computers don't just do stuff for no reason"

Deep Dish Fuckfest
Sep 6, 2006

Advanced
Computer Touching


Toilet Rascal
so are you documenting this, other than in this thread i mean, or are you keeping it to yourself for enhanced (job) security?

Powerful Two-Hander
Mar 10, 2004

Mods please change my name to "Tooter Skeleton" TIA.


Deep Dish Fuckfest posted:

so are you documenting this, other than in this thread i mean, or are you keeping it to yourself for enhanced (job) security?

oh yeah. I already sent an all seniors chat saying "btw if you do this then you get random failures" because we're supposed to be doing a mass migration to this service by end of next month (!)

also to satisfy Bob Dobbs, I have an accidental semi interview tomorrow on account of someone I used to work with on the user side hitting me up but idk what it actually is, except that the person I'm talking to is an MD sooooo

Gaukler
Oct 9, 2012


Powerful Two-Hander posted:

the person I'm talking to is an MD sooooo

Excellent, even if you accept we’ll have plenty of content for the thread

Powerful Two-Hander
Mar 10, 2004

Mods please change my name to "Tooter Skeleton" TIA.


Gaukler posted:

Excellent, even if you accept we’ll have plenty of content for the thread

it will never stop, this I can promise.

it's like I'm magnetically attracted to bad code and dumb ideas

Sapozhnik
Jan 2, 2005

Nap Ghost
good money, interesting work, ethically clean-ish
choose two

Deep Dish Fuckfest
Sep 6, 2006

Advanced
Computer Touching


Toilet Rascal
at most two

sb hermit
Dec 13, 2016





Corla Plankun posted:


lmao and oof

bob dobbs is dead
Oct 8, 2017

I love peeps
Nap Ghost
im not even gonna say it. i'ma like telepathically voice it at you

Bloody
Mar 3, 2013

Sapozhnik posted:

good money, interesting work, ethically clean-ish
choose two

add a couple letters and you can have all three :haw:

matti
Mar 31, 2019



huh using the mdoc macros is actually really easy and now i can set MANPATH to "$PWD/man:$MANPATH" and look up documentation ive written in the terminal without a thought

i always avoided learning how to write manpages because troff looked like hell but i learned enough of it in an evening to be content, would recommend

matti fucked around with this message at 03:37 on Aug 25, 2022

sb hermit
Dec 13, 2016





MANPATH

CRIP EATIN BREAD
Jun 24, 2002

Hey stop worrying bout my acting bitch, and worry about your WACK ass music. In the mean time... Eat a hot bowl of Dicks! Ice T



Soiled Meat
mdoc is pretty good

MrQueasy
Nov 15, 2005

Probiot-ICK
M'DOC

MODOK

matti
Mar 31, 2019


thats i

matti
Mar 31, 2019

https://illumos.org/man/3C/getopt
https://illumos.org/man/3C/getopt_long

sun always wrote good documentation

matti fucked around with this message at 06:27 on Aug 25, 2022

matti
Mar 31, 2019

https://www.man7.org/linux/man-pages/man3/getopt.3.html

gently caress whatever this is

Adbot
ADBOT LOVES YOU

Carthag Tuek
Oct 15, 2005

Tider skal komme,
tider skal henrulle,
slægt skal følge slægters gang




i write `man date` a couple of times a year

  • 1
  • 2
  • 3
  • 4
  • 5
  • Post
  • Reply