Comments (3)
If we really want to go all-out on this, we should should actually recreate the MIME hierarchy. Items like "Body" and "Attachments" are an incredibly useful abstraction in many applications, but the RFC 5322 format can't be 100% faithfully represented in CybOX. If we create a MIMEPartType, which could contain nested parts, I think it would help a lot.
from schemas.
Agree with you Greg - I guess the question is whether we want to 100% recreate RFC 5322 or have some abstraction of it. Another possibility may be to create a relatively simple AttachmentType in the Email Object with the following notional properties:
*Content_Description (String; provides a brief textual description of a given attachment.)
*Content_Disposition (String; provides a description of the presentation method used in the mime message content. A bodypart is marked "inline" if it is intended to be displayed automatically upon display of the message. Bodyparts can be designated "attachment" to indicate that they are separate from the main body of the email message, and that their display should not be automatic, but contingent upon some further action of the user.)
*Content_Transfer_Encoding (String; specifies an auxiliary encoding that was applied to the data to allow it to pass through mail transport mechanisms which may have data or character set limitations.)
*Description (String; used to identify the contents of a attachment file.)
*File (FileObjectType; describes the actual attachment file)
*forwarded (boolean; describes whether the attachment was received as a result of forwarding)
*MIME_Type (String; the MIME type of the attachment)
from schemas.
"Attachment" is a useful notion in email clients, but what I'm really talking about is each MIME part, including the ones that never get presented to the displayed to the user, such as multipart/*. If you changed the name of the type to MIMEPartType
, and allowed recursive inclusion of additional MIME parts, I'd be 98% of the way with you
- I don't see the need for both
Content_Description
andDescription
, particularly since both are human-written and cannot be "automated". For that reason, I'm not 100% convinced that either is necessary. Unless I misunderstand what you mean. - I'm not sure if I'd want to reuse the "FileObject" here, since a lot of those properties are assuming the file is on disk, rather than a MIME part. I would be content with Name + Hashes.
- I don't know if
forwarded
is really applicable
from schemas.
Related Issues (20)
- WhoisObj:WhoisContactType is defined in a non-standard way
- No default Controlled Vocabulary for LinuxPackageObjectType.Architecture
- VolumeObj:VolumeOptionType is abstract, but never extended
- Use of xs:choice when only one element is specified
- Choice implemented in a non-standard way for NetworkFlowObj:NetflowV9DataRecordType
- Issues around Object Subclassing
- Inconsistency in Object Relationship Expression HOT 1
- IANAPortNumberRegistryType Data Type is used only in Network Flow, but defined in Network Packet
- Consider Deprecating Socket Address Object
- Consider Simplifying/Refactoring ExtractedFeaturesType
- Refactor/Deprecate Base DataTypes HOT 1
- Consider Refactoring/Clarifying User Session
- Consider Deprecating Pools
- WindowExecutableFileType/DOSHeaderType is specified incorrectly.
- Create Separate Patterning Syntax/Language
- Determine Patterning Language Operators HOT 2
- Determine Patterning Language Syntax HOT 1
- We need a way of recording web forum postings and credential dumps HOT 1
- Typo in DOS Header Schema
- No data XML representation for PDFIndirectObject of PDFFile HOT 2
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 schemas.