Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | sid.ml: rectify string used to derive constant | Philipp Gesang | 2018-12-11 | 2 | -1/+5 |
| | | | | | Ugh, experiments show that MS will parse arbitrarily short hex encoded IAs which in turn revealed miscalculation in our sloppy parsing mode. | ||||
* | bump versionv2.0 | Philipp Gesang | 2018-12-09 | 2 | -2/+2 |
| | | | | Increment major version due to API breakage. | ||||
* | sid.ml: give hex ia reader enough leeway for sloppy parsing | Philipp Gesang | 2018-12-09 | 1 | -2/+12 |
| | | | | | In MS mode we need for much shorter strings to pass through to the hex parser. | ||||
* | doc: outline usage | Philipp Gesang | 2018-12-09 | 2 | -1/+13 |
| | |||||
* | sidparse: flush linewise when run interactively | Philipp Gesang | 2018-12-09 | 1 | -1/+4 |
| | | | | | Provide immediate feedback on stdout when running in an interactive terminal the assumption being we’re dealing with a human. | ||||
* | sid: sid_test: add conformance mode imitating MS API | Philipp Gesang | 2018-11-29 | 3 | -67/+257 |
| | | | | | | | | | | | | Add a conformance handler “Con_MS” to achieve a behavior that mimicks that of MS’s implementation bug-for-bug. Aspects of reading and formatting governd by the conformance: - Validation of ident auths, - validation of subauths, - validation of leading zeros in decimal numbers, - zero-padding of hex numbers. | ||||
* | sid: functorize well-formedness checks | Philipp Gesang | 2018-11-08 | 2 | -33/+59 |
| | | | | | | Offload the test for member count and size constraints of sas and ia, respectively, into a separate validation module. This is a preparatory step toward adding less rigid parsing modes. | ||||
* | sid.mli: add short module blurb | Philipp Gesang | 2018-11-07 | 1 | -0/+9 |
| | |||||
* | sid: sid_test: make subauthorities mandatory | Philipp Gesang | 2018-11-07 | 5 | -174/+207 |
| | | | | | | | | | | | | | | | | | Both the constructor “Sid.create” and the string format parser must reject inputs lacking a subauthorities array of at least size one. Since the array is no longer optional, reorder the the constructor arguments to match the data representation. It is still possible to create SIDs without subauthorities via the “Sid.create_unsafe” constructor. Also, the packet representation will happily accept them because their definition (as well as that that of the identical RPC version) does not specify a minimum count. This is all rather ambiguous and exacerbated by the fact that [MS-DTYP] happily specifies an invalid SID “S-1-5” as the “NT_AUTHORITY”. However, both the grammar and the Win API “ConvertStringSidToSidA()” function reject SA-less inputs as invalid, so we should too. | ||||
* | sid: sid_test: handle large ias correctly | Philipp Gesang | 2018-11-07 | 3 | -39/+197 |
| | | | | | In string format, the “identifier authority” is quirky: from 1 << 32 on the spec requires that exactly 12 hex digits be printed. | ||||
* | sid: add Sid.{of,to}_bytes aliases | Philipp Gesang | 2018-11-06 | 2 | -0/+9 |
| | | | | Establish symmetry with of_string / to_string and the StringFmt module. | ||||
* | opam: raise minimum compiler version to 4.03 | Philipp Gesang | 2018-11-06 | 1 | -1/+1 |
| | | | | | | | Apparently, the “result” type was not introduced until after the 4.02 series. Suggested-By: @kit-ty-kate on github | ||||
* | sid: sid_test: validate identifier authority on create() | Philipp Gesang | 2018-11-06 | 3 | -4/+22 |
| | | | | Reject ia’s greater than six bytes can encompass. | ||||
* | sid.opam: add ocamlfind to opam deps | Philipp Gesang | 2018-11-06 | 1 | -0/+1 |
| | | | | | | | | This change reflects: https://github.com/ocaml/opam-repository/pull/12935/commits/5d761aa7bc982d40514787c8340b00374dbf1f0b Suggested-By: @kit-ty-kate on github | ||||
* | readme: add sections describing build and dev repo | Philipp Gesang | 2018-11-06 | 1 | -0/+33 |
| | |||||
* | fix opam build, bump versionv1.1 | Philipp Gesang | 2018-11-06 | 2 | -3/+4 |
| | | | | | | - Add cmdliner to deps, - set {with-test} filter on unit tests, - version 1 → 1.1. | ||||
* | fix tests and bump versionv1 | Philipp Gesang | 2018-11-05 | 2 | -5/+8 |
| | | | | | Also set minimum compiler version to 4.02 for package since that’s when the bytes type was introduced. | ||||
* | sid: add channel handlers for binary representation | Philipp Gesang | 2018-11-03 | 2 | -0/+38 |
| | |||||
* | add linking exception to license | Philipp Gesang | 2018-11-03 | 9 | -7/+25 |
| | |||||
* | sid: predefine more well known constants | Philipp Gesang | 2018-11-03 | 2 | -17/+471 |
| | | | | Add the constants from MS-DTYP 2.4.2.4 to Sid.WellKnown. | ||||
* | oasis: add documentation target | Philipp Gesang | 2018-11-03 | 2 | -9/+19 |
| | |||||
* | gitignore: mask more side-effects | Philipp Gesang | 2018-11-03 | 1 | -0/+13 |
| | |||||
* | sid_test: unit test string format version numbers some more | Philipp Gesang | 2018-10-30 | 1 | -2/+18 |
| | |||||
* | sid_test: prefer Stdint module shorthands | Philipp Gesang | 2018-10-30 | 1 | -12/+11 |
| | |||||
* | sid: catch more boundary violations | Philipp Gesang | 2018-10-30 | 2 | -1/+48 |
| | |||||
* | sid: fix off by one parsing bug | Philipp Gesang | 2018-10-30 | 2 | -1/+6 |
| | | | | | In the string representation, hyphen is always succeeded by a number so we need to terminate at input length minus one. | ||||
* | sid.mli: document module | Philipp Gesang | 2018-10-30 | 1 | -3/+34 |
| | |||||
* | sid: sid_test: move conversion functions to result | Philipp Gesang | 2018-10-30 | 4 | -68/+59 |
| | | | | | | Get rid of all “StringFmt” APIs involving exceptions. There is now only the “decode” function which returns a result type. | ||||
* | sid_test: add unit tests for Sid.create | Philipp Gesang | 2018-10-30 | 1 | -0/+17 |
| | |||||
* | add readme and license text | Philipp Gesang | 2018-10-30 | 7 | -2/+196 |
| | |||||
* | sid: define more constant authorities from MS-DTYP | Philipp Gesang | 2018-10-30 | 2 | -6/+18 |
| | |||||
* | sid: optionally handle big endian in packet format codec | Philipp Gesang | 2018-10-30 | 3 | -37/+97 |
| | | | | | Oddly enough this only has an effect on the sub_auths since the 48 bits of “identifier authority” are always handled in big endian. | ||||
* | util: sidparse_test. add trivial test wrapper | Philipp Gesang | 2018-10-28 | 2 | -0/+350 |
| | |||||
* | util/sidparse: add cli SID utility | Philipp Gesang | 2018-10-28 | 2 | -0/+140 |
| | |||||
* | sid: implement decoder for “packet representation” | Philipp Gesang | 2018-10-28 | 3 | -10/+164 |
| | |||||
* | sid_test: unit test packed representation | Philipp Gesang | 2018-10-28 | 1 | -2/+34 |
| | |||||
* | xxd: add binary-text conversion helper | Philipp Gesang | 2018-10-28 | 3 | -19/+112 |
| | |||||
* | sid: add interface definition | Philipp Gesang | 2018-10-28 | 1 | -0/+44 |
| | |||||
* | _oasis: opam: nix: add build and env setup | Philipp Gesang | 2018-10-28 | 3 | -0/+72 |
| | |||||
* | sid: sid_test: add current state to repo | Philipp Gesang | 2018-10-28 | 2 | -0/+294 |
| | |||||
* | initial: gitignore | Philipp Gesang | 2018-10-19 | 1 | -0/+13 |