aboutsummaryrefslogtreecommitdiffstats
path: root/vendor/ruby-msg/TODO
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/ruby-msg/TODO')
-rw-r--r--vendor/ruby-msg/TODO184
1 files changed, 0 insertions, 184 deletions
diff --git a/vendor/ruby-msg/TODO b/vendor/ruby-msg/TODO
deleted file mode 100644
index 2e4309c21..000000000
--- a/vendor/ruby-msg/TODO
+++ /dev/null
@@ -1,184 +0,0 @@
-= Newer Msg
-
-* a lot of the doc is out of sync given the Mapi:: changes lately. need to
- fix.
-
-* extend msgtool with support for the other kinds of msg files. things like,
- - dump properties to yaml / xml (with option on how the keys should be dumped).
- should be fairly easy to implement. hash, with array of attach & recips.
- - just write out the mime type
- - convert to the automatically guessed output type, also allowing an override
- of some sort. have a batch mode that converts all arguments, using automatic
- extensions, eg .vcf, .eml etc.
- - options regarding preferring rtf / html / txt output for things. like, eg
- the output for note conversion, will be one of them i guess.
-
-* fix nameid handling for sub Properties objects. needs to inherit top-level @nameid.
-
-* better handling for "Untitled Attachments", or attachments with no filename at all.
- maybe better handling in general for attached messages. maybe re-write filename with
- subject.
-
-* do the above 2, then go for a new release.
- for this release, i want it to be pretty robust, and have better packaging.
- have the gem install 2 tools - oletool (--tree, --read, --write, --repack)
- and msgtool (--convert, --dump-attachments etc)
- fix docs, add option parsing etc etc.
- submit to the usual gem repositories etc, announce project as usable.
-
-* better handling for other types of embedded ole attachments. try to recognise .wmf to
- start with. etc. 2 goals, form .eml, and for .rtf output.
-
-* rtf to text support, initially. just simple strip all the crap out approach. maybe html
- later on. sometimes the only body is rtf, which is problematic. is rtf an allowed body
- type?
-
-* better encoding support (i'm thinking, check some things like m-dash in the non-wide
- string type. is it windows codepage?. how to know code page in general? change
- ENCODER[] to convert these to utf8 i think). I'm trying to just move everything to utf8.
- then i need to make sure the mime side of that holds up.
-
-* certain parsing still not correct, especially small properties directory,
- things like bools, multiavlue shorts etc.
-
-* test cases for msg/properties.rb msg/rtf.rb and mime.rb
-* regarding the mime fix ups. check out:
-
-- http://rubyforge.org/projects/rubymail/, and
-- http://rubyforge.org/projects/mime-alt-lite/
-
-both haven't been touched in 2 years though.
-
-* get some sort of working From: header
- there doesn't appear to be a way to get an smtp address for the sender in an
- internal mail. you need to query the exchanger server, using the sender_entryid
- as far as i can tell.
- you may also get these so called "X.400" addresses for external recipients
- that are on the GAL (Global Address List), as custom recipients.
- (mostly complete. better way?)
-* check lots of little details: encoding issues with code pages etc other
- than ascii stuff. consider Msg, Mime, Vcard etc, to check its clean. check
- timezones, inaccuracies in date handling.
-* http://msdn2.microsoft.com/en-us/library/ms526761.aspx
- import guids for these?
-PS_ROUTING_EMAIL_ADDRESSES
-PS_ROUTING_ADDRTYPE
-PS_ROUTING_SEARCH_KEY
-PS_ROUTING_DISPLAY_NAME
-PS_ROUTING_ENTRYID
-* check this thing i wrote:
- creating ones in ps_mapi works strangely, as ps_mapi is the top levels ones.
- don't get entries in nameid. as should match the definitions.
- however still get allocated an 8 number. that number becomes permanent...
-* do something about the message class-specific range, 0x6800 through 0x7FFF.
-* multivalue encoding may explain some of the unknown data in properties objs
-* get some clean test msgs from somewhere
-* tackle other types of msgs, such as appointments, contacts etc, converting
- to their appropriate standard types too.
- would like to look at this next. see about the content specific range
- http://en.wikipedia.org/wiki/ICalendar
- is it better/easier to go through micro formats? there are libraries for ruby
- already i think. check this out. although using IMC standards seem to make
- more sense. encoding issues?
- try contact => vcf,
- note => ?? icalendar. VTODO? / VJOURNAL?
- appointment => VEVENT?
- (initial try done. really basic vcard output supported. not difficult)
-* ole code is suppopsed to be able to return guids for something too. supporting
- all this probably means creating a new file for ole/types.rb, containing all
- the various classes, and binary conversion code.
-* some dubiously useful info about some unknown codes i wrote:
-unknown property 5ff6
- * appears to be equal to display_name, and transmitable_display_name
-unknown property 5ff7
- * recipient.properties[0x5ff7].upcase == recipient.properties.entryid
- is equivalent, but not all uppercase.
- everything else is upper though. maybe a displayname kind of thing.
-* common relationship
- CGI.escape(msg.properties.subject.strip).tr('+', ' ') + '.EML' == msg.properties.url_comp_name
-
-(28 bytes binary data and msg.properties.sender_email_address and "\000")
-entryids are a strange format. for internal or from exchange whatever, they have that
-EX:/O=XXXXXX/...
-otherwise, they may have SMTP in them.
- such as msg.properties.sent_representing_search_key
- == "SMTP:SOMEGUY@XXX.COM\000"
- but Ole::UTF16_TO_UTF8[msg2.properties.sender_entryid[/.*\000\000(.+)\000/, 1][0..-2]]
- == "SomeGuy@XXX.COM"
- for external people, entry ids have displayname and address.
-
-longer term, i want to investigate the overlap with PST stuff, like libpst,
-which seems to be another kind of mapi tag property storage, and try to
-understand the relationship with existing TNEF work also.
-
-hmmmm for future work:
-http://blogs.msdn.com/stephen_griffin/archive/2005/10/25/484656.aspx
-
-
-= Older
-
-- set 'From' in Msg#populate_headers.
- Notes:
- # ways to get the sender of a mail.
- # if external, you can do this (different for internal).
- name, protocol, email = Ole::UTF16_TO_UTF8[msg.props.sender_entryid[24..-1]].split(/\x00/)
- # here is an excerpt from a yaml dump.
- # need to consider how to get it. also when its a draft, and other stuff.
- creator_name:
- sent_representing_name:
- last_modifier_name:
- sender_email_address:
- sent_representing_email_address:
- sender_name:
-- fill out some of the tag holes. mostly done
-- properly integrate rtf decompression, and the html conversion from rtf
-- figure out some things, like entryids, and the properties directories,
- and the ntsecurity data 0e27.
- http://peach.ease.lsoft.com/scripts/wa.exe?A2=ind0207&L=mapi-l&P=24515
- "In case anybody is interested, Exchange stores PR_NT_SECURITY_DESCRIPTOR as a header plus the regular self=-relative SECURITY_DESCRIPTOR structure. The first two bytes of the header (WORD) is the length of the header; Read these two bytes to find out how many bytes you must skip to get to the real data. Many thanks to Stephen Griffin for this info."
- using outlook spy gives an actual dump. for example:
- <<
- Control: SE_DACL_AUTO_INHERITED | SE_DACL_DEFAULTED | SE_DACL_PRESENT | SE_GROUP_DEFAULTED | SE_OWNER_DEFAULTED | SE_SACL_AUTO_INHERITED | SE_SACL_DEFAULTED | SE_SELF_RELATIVE
- Owner:
- SID: S-1-5-21-1004336348-602609370-725345543-44726
- Name: lowecha
- DomainName: XXX
- Group:
- SID: S-1-5-21-1004336348-602609370-725345543-513
- Name: Domain Users
- DomainName: XXX
- Dacl:
- Header:
- AceType: ACCESS_DENIED_ACE_TYPE
- AceFlags: INHERITED_ACE
- Mask: fsdrightReadBody (fsdrightListContents) | fsdrightWriteBody (fsdrightCreateItem) | fsdrightAppendMsg (fsdrightCreateContainer) | fsdrightReadProperty | fsdrightWriteProperty | fsdrightExecute | fsdrightReadAttributes | fsdrightWriteAttributes | fsdrightWriteOwnProperty | fsdrightDeleteOwnItem | fsdrightViewItem | fsdrightWriteSD | fsdrightDelete | fsdrightWriteOwner | fsdrightReadControl | fsdrightSynchronize
- Sid:
- SID: S-1-5-7
- Name: ANONYMOUS LOGON
- DomainName: NT AUTHORITY
- >>
- Not something i care about at the moment.
-
-- conversion of inline images.
- Content-Location, cid: urls etc etc.
- what would be cool, is conversion of outlooks text/rtf's only real "feature" over
- text/html - convert inline attachments to be <a href> links, using cid: urls to the
- actual content data, and using an <img with cid: url to a converted image from the
- attach_rendering property (image data), along with the text itself. (although i think
- the rendering may actually include the text ??. that would explain why its always clipped.
- can these be used for contact pictures too?
-- entryid format cf. entry_id.h. another serialized structure.
- entryids are for the addressbook connection. EMS (exchange message something), AB
- address book. MUIDEMSAB. makes sense.
-
-mapidefs.h:
-
- 174 /* Types of message receivers */
- 175 #ifndef MAPI_ORIG
- 176 #define MAPI_ORIG 0 /* The original author */
- 177 #define MAPI_TO 1 /* The primary message receiver */
- 178 #define MAPI_CC 2 /* A carbon copy receiver */
- 179 #define MAPI_BCC 3 /* A blind carbon copy receiver */
- 180 #define MAPI_P1 0x10000000 /* A message resend */
- 181 #define MAPI_SUBMITTED 0x80000000 /* This message has already been sent */
- 182 #endif