Comments (1)
This structure is now indeed pioneered in an application... for LDAP :)
The LillyDAP routine lillyget_event()
in derbuf.c is triggered when data is ready for reading on an input file descriptor. It then harvests the first 6 bytes, demands them to contain the full header, and takes out the tag and header length. It then knows how much more it must load.
In the case of lillyget_event()
, the data is read into memory, but the mechanism may be useful for DER streams as well.
A change like this would totally upset the structure of Quick DER, however. The core assumption of Quick DER is that it can point back to contiguous areas of memory holding the elementary pieces of data. And it is not DER determining what is elementary -- it is the application's depth of using DER_PACK_ENTER
until it decides to DER_PACK_STORE
.
We find examples of that in LillyDAP too. It defines so-called shallow parsers that only get the three main fields from an LDAPMessage
, and similarly all but the to-be-determined response fields in ExtendedRequest
and EXtendedResponse
-- currently located in the msgop.c and msgop.gperf files (but likely to change name in the future, in case we separate lillyget_xxx()
from lillyput_xxx()
routines).
To conclude, yes it is interesting to consider DER streams, and no it is not feasible given the Quick DER model. If any part of the software can do this, it is the application, and the application alone.
from quick-der.
Related Issues (20)
- port asn2quickder to Pythonic argument-handling
- asn2quickder doesn't support AUTOMATIC TAGS HOT 1
- 'NoneType' object has no attribute 'symbols_imported' using latest asn1ate HOT 3
- cmaking current master fails HOT 1
- Enable travis-ci HOT 5
- Constraints ignored by Quick DER
- Generate hyperlinked ASN.1 (waiting for YOU) HOT 1
- use semantic versioning HOT 3
- der_unpack() can use const for input cursor HOT 3
- On OS X shared libraries have .dylib extension HOT 2
- Consider return-type consistency of der_pack() HOT 3
- Consider adding (very) long tags HOT 2
- Consider splitting into multiple (packages|repo) HOT 6
- Dependency sort assignments in a module by default HOT 1
- Python module doesn't install correctly when installed in developer mode HOT 2
- der_unpack() modifies dercursor HOT 3
- Add der_cmp_INTEGER() HOT 1
- Iteration is a nuisance HOT 2
- CMake EXPORT broken on POSIX HOT 1
- SEQUENCE of OPTIONs packs to 0 bytes HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from quick-der.