Hacker GitHub

← All repos

rurban/libu8ident

View on GitHub ↗ ★ 36 C

Unicode security guidelines for identifiers, following TR39 (and TR31)

15 mentions on Hacker News by 3 people: 1 story, 14 comments · first 2022-01-01 · latest 2026-10-26

Mentions per year 15 mentions · busiest year 2022 (5)
20082026
  1. I compiled an overview who uses it, and who should: https://github.com/rurban/libu8ident/blob/master/doc/c11.md
    comment by rurban · 2026-10-26 · in UTS #39: Unicode Security Mechanisms
  2. …will become non identifiable. Only zig recognized that. Nim allows insecure identifiers. https://github.com/rurban/libu8ident/blob/master/doc/c11.md#...
  3. https://github.com/rurban/libu8ident Search for homoglyph attacks and the unicode security guidelines for identifiers
    comment by rurban · 2025-08-02 · in Hardening mode for the compiler
  4. ▲ 3
    Libu8ident: Unicode security guidelines for programming language identifiers
    story by fanf2 · 2025-07-27 · 0 comments
  5. …to stay identifiable, and thus need to adhere to unicode rules. TR 39. Case-insensitivity aside. https://github.com/rurban/libu8ident
  6. rurban/libu8ident : https://github.com/rurban/libu8ident : > unicode security guidelines for identifiers
    comment by westurner · 2024-12-07 · in Debian opens a can of username worms
  7. Just use the unicode identifier rules, my libu8ident. https://github.com/rurban/libu8ident Windows folks need to convert to UTF—8 first
    comment by rurban · 2024-11-24 · in Charset="WTF-8"
  8. …it also has spoofing security implications for all names. C and C++11 are insecure since C11. https://github.com/rurban/libu8ident/blob/master/doc/c11.md Most other programming languages and OS kernels also.
    comment by rurban · 2024-03-25 · in The ü/ü Conundrum
  9. …of ints or bools, a simple binary search in such ranges is usually faster than roaring bitmaps. https://github.com/rurban/libu8ident/blob/master/perf.c
  10. …on identifiers, UTF-39, is buggy and has too many interpretations, leading to a complete disaster. https://github.com/rurban/libu8ident/blob/master/doc/c11.md In punycode domain names it's quite simple still. With other names, it's even…
  11. On Unicode TR39 https://unicode.org/reports/tr39/ (secure identifiers). https://github.com/rurban/libu8ident/ Also on perfect hashes: https://github.com/rurban/nbperf , also gperf and cmph improvements.
  12. …that this table is of extremely bad quality and can NOT be used in production without patches. See https://github.com/rurban/libu8ident/#confusables
    comment by rurban · 2022-08-21 · in Unicode Utilities: Confusables
  13. …Everybody else is vulnerable. Esp. most other programming languages, filesystems and login systems. https://github.com/rurban/libu8ident/blob/master/doc/c11.md
  14. …and so on. Here is an overview of the sad state of Unicode unsafeties in programming languages: https://github.com/rurban/libu8ident/blob/master/c11.md
  15. …people bought it for its stability argument. I'm just writing a library and linter for such issues: https://github.com/rurban/libu8ident Also note that C++23 will most likely enforce NFC identifiers only. Same problem as with this…