Hacker Newsnew | past | comments | ask | show | jobs | submit | icedchai's commentslogin

You certainly can. My parents don't use online banking or even ATMs.

I don't think the tide has turned, it's just being assumed that you use them now.

I'm pretending to drink the koolaid, faking interest in agentic coding while I figure out something else to do. It's okay for personal projects but professionally, I honestly hate reviewing slop, being sent 10+ page documents full of junk that nobody has read.

It may be more common than you think. The latest version of pfSense CE is on 16.0-CURRENT.

PFsense gleefully ships vulnerable code to their own customers. They are an even worse data point

https://arstechnica.com/gadgets/2021/03/buffer-overruns-lice...


I've been using FreeBSD since 1996, both commercially and as a hobbyist. Early on, back in the CVS days, I would do a you describe, building STABLE out of /usr/src.

These days, I always use RELEASE and apply patches with freebsd-update.


Even with DNSSEC, it still is. Example: https://blog.cloudflare.com/de-tld-outage-dnssec/

Yep, SMTP itself doesn't have any security.

Anyone else remember the open SMTP relays of the 90's?


One could use aol's smtp servers to send mail as clinton@whitehouse.gov

This. It's concise and I don't have to think about "which Auth" we're talking about.

I'm curious, what would be the point of having a zero-sized array if you can't access it?

It depends what is meant by "compatible." Is the memory layout the same? Yes. Can I memcpy between them? Yes...

We mean compatible as defined by the C language standard. It is much more restrictive than having the same layout. In particular, you may not pass a pointer to a type where a pointer to an incompatible type is expected, even if the types have the same layout, which prevents the sort of sharing between two libraries that is being discussed.

Moreover, there is no guarantee that two distinct structure types with the same list of members have the same size or alignment (although in practice they do). The members must nevertheless be laid out in the same way (same offsets, and in the case of bit-fields, same layout inside storage units) due to an obscure constraint on common initial sequences. So the layouts of the structures may differ in the alignment requirement and the amount of trailing padding.


    Furthermore, two structure, union, or enumerated types declared in separate translation units are
    compatible in the following cases:
        — both are declared without tags and they fulfill the preceding requirements;
the preceding requirements being

    — there shall be a one-to-one correspondence between their members such that each pair of
        corresponding members are declared with compatible types;
    — if one member of the pair is declared with an alignment specifier, the other is declared with an
        equivalent alignment specifier;
    — and, if one member of the pair is declared with a name, the other is declared with the same
        name.

    For two structures, corresponding members shall be declared in the same order. For two unions
    declared in the same translation unit, corresponding members shall be declared in the same order. For
    two structures or unions, corresponding bit-fields shall have the same widths. For two enumerations,
    corresponding members shall have the same values; if one has a fixed underlying type, then the
    other shall have a compatible fixed underlying type. For determining type compatibility, anonymous
    structures and unions are considered a regular member of the containing structure or union type,
    and the type of an anonymous structure or union is considered compatible with the type of another
    anonymous structure or union, respectively, if their members fulfill the preceding requirements.
Seems to me that those two structs satisfy all of those requirements, so they're compatible. Otherwise, struct declarations in the header files would've been completely useless from the very beginning.

> declared in separate translation units

Now if I include both library headers in code that attempts to plug them together, the types will be incompatible.

Although not a proof in itself, GCC and Clang seem to agree: https://godbolt.org/z/1ocr5Go5b.


Yes, I figured that's what you meant... I wasn't sure about the other guy.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: