geocar
Joined 18 years ago
Joined 18 years ago
Google said they weren't smart enough to implement it, or pay anyone to fix the one they forked a decade ago.
I definitely do not.
> This resulted in a different value being read in compared to the value expected by the developer
> the developer was unaware of the locale sensitive nature of these functions
> causing issues in the rest of the program
Still sounds like "the programmer caused the bugs in those programs and nobody else" and they would not have that the problem you describe had they either used strtod() correctly or had used my parser.
Are you trying to tell me someone else put the bug in that programmers' code? Or do you actually think you have a pair of locales and a single floating point value that will produce two valid but different floats with my parser?
I would not agree. That sounds to me like the floating point values were not valid, because they were stored in the user's locale and were not intended for the user themselves to consume, but for the developer (who is not the user), or another person (who is also not the user, even if they are a user).
I understand maybe they "should be" valid, but they weren't, and the programmer should not have written files in the users locale that they did not expect the user to edit personally; that they intended to consume mechanically, even if they found it convenient as a human being to edit the file on occasion.
> differently (i.e. using comma for decimal separator) they would return incorrect values.
My suggestion reports an error. strtod() can also detect this error (that's what the second argument is for), so the programmer was not checking if they were using strtod(). This is also not the kind of error the article is talking about detecting.
Four years ago, I needed 256gb of ram, and it was costing about $1-2k a month in the cloud, which I replaced with a server on ebay with 1,5tb of ram for about €2k- which I was pricing against equivalent to what I was renting for about $6k or so on newegg. And I think the dumbest IT procurement manager in the planet could've gotten it from Lenovo or HPE or something for $10k providing the easiest 20% savings if they move on-prem.
How much is your $96k server on AWS?
And why, pray tell, would those games and applications ship with text files containing floating point values that were invalid?
Certainly if they produce the values, strtod() is sure to work, and worrying about errors at that level just doesn't make any sense at all.
> This has caused bugs in those programs
I'm sorry this just isn't true: The programmer caused the bugs in those programs and nobody else.
Meanwhile users who produce text files with floating point numbers in their locale expect program that load those text files to tolerate their locale, and those programs should not be using strtod()!
A trivial change does though: Just round-trip it.
int s2d(double*restrict out,const char*restrict in){
char tmp[99];int r,q=sscanf(in,"%lf%n",out,&r),s=sprintf(tmp,"%lf.",*out);
return q&&!((r>s)||memcmp(in,tmp,r)||tmp[r]>'0');
}
> Also changes based on locale,That's a feature: Where did the string come from if not the user?
> you cannot set locale, convert, then unset locale
So what? You're not handling multiple locales: You're using the user's locale. If you're making a server, using anything but LANG=C or a utf8 variant is asking for trouble.
I think the point is it's absolutely possible to portably detect errors, some libc's strtod() just don't which ain't the same thing.
You mean, hypothetically if Letsencrypt suddenly loses the ability to sign new requests from me?
Well, then I have around 30 days to detect that and choose a new signer.
> Or, if the signer's keys are compromised, how do you switch to a non-compromised signer without alarms triggering?
Again, to be clear, you're talking about Letsencrypt's own signing keys in this case, being compromised and them being denied access to them. That seems incredibly unlikely to have both failures at the same time, but again: I have 30 days to find a new signer.
> The problem is almost exactly the same as one with a delegated CA -- if the CA keys are compromised
No! In fact, if Letsencrypt sublicenses signing to a third-party that certificate would be considered separate and so the switcheroo would be detected!
> When the client pins the CA key then the chain of trust is permanently broken
That's why it is important to extend TLS to allow multiple keypairs and certificates to be used to mutually authenticate the session key, so that any of the previous pinned keys can be used to update the pin. I did not say I wanted this for no reason!
But a compromise of Google's users.
I think we are potentially being told Google has domain names but no employees in those countries. This otherwise sounds quite implausible, and I don't know enough to say Google is lying.
What I'd like to see is the ability to use and utilise multiple TLS certificates and host keys on the same session so that all the keys could be rotated/phased in-band with cross-signing providing the authority.
Seeing any mere change in the signers faster than (say) 30 days should allow the browser/client-stack to generate a warning that "google.com may be actively under attack please call this number on the old certificate, codeword banana-alpha-lima-lima-sigma". No need to cross-publish the keys, just cross-sign and don't forget what you've seen previously.
The browser would be able to take policy of simply never trust a certificate whose signer has changed (since phasing is possible), and it wouldn't then need to consult more public oracles (DNS, certificate transparency, etc, that leak privacy).
I'd also like to get that webauthn hooked back into TLS client certificates: If we had 1997 again instead of passkeys that also would've stopped this.
I can't think how anyone is going to be confused and think I want them to check the bins or something, but maybe we search for different things on the web.
Why so low?
I think it is higher than 99%
> Can't post honest questions anymore without posting obviously phony pandering banter first to increase your karma
Or just buy a "pre aged" account. They're only a few cents each if you buy them in bulk.
> Young accounts, or accounts with histories that are hidden or wiped.
DDG search "buy pre-aged reddit accounts" and you will find all of these. You can even search reddit for this.
The author of the article has no fucking idea what they are talking about. Buying "comments" is for chumps.
> I score it this way because an account that keeps bringing up the same brand is the product the vendors above are selling.
Or man, I just like my knife: It's older than my kid, and I've never had to do anything but hone it, and it'll still cut a piece of paper or a tomato no sweat. The next comment will be someone asking what brand of knife it is.
geocar at sdf.org
if you used to email me at lonestar, that address no longer works.