Commit Graph

251 Commits

Author SHA1 Message Date
Matthew Flatt
7153fbd4d5 net/mime: allow any subtype, exns as exn:fail subtypes; doc fixes 2012-01-08 12:14:51 -07:00
Eli Barzilay
3fcd3c04d5 Minor typo in recent new regexp. 2011-12-28 21:07:25 -05:00
Jay McCarthy
9723e939b4 Merge branch 'master' of git.racket-lang.org:plt 2011-12-26 14:33:20 -07:00
Jay McCarthy
ae31b19168 Synchronizable events from Tom McNulty 2011-12-26 14:33:07 -07:00
Eli Barzilay
ed8e3367d4 More fixes and improvements to `net/unihead'.
* In base64 encoding remove all newlines from the encoded result, avoids
  getting an invalid result.

* In qp encoding:
  - replace all spaces by underlines, not just the first (looks like a
    typo in the previous code)
  - encode "?"s and "_"s too, as required for this encoding
  - remove soft newlines (again, avoid an invalid result)

* Use `regexp-replace*' to encode the parts between the lines.  Besides
  making the code simpler, it fixes a bug in the previous code where
  multiple lines would each get encoded and the results concatenated
  without the newlines or any other whitespace.

* When the string to be encoded is longer than 70 characters, split and
  encode the sub-parts, then concatenate the encodings with a "\n "
  separator.  This is done as a poor attempt to follow the line length
  limits specified in rfc2047, or more concretely, to avoid sendmail's
  "!\n " splitting.
2011-12-21 14:46:13 -05:00
Eli Barzilay
188c65661d Fixes and improvements to `net/unihead'.
* Use `re:non-ascii' to look for a non-ascii character => faster.

* Use either CR or LF for a newline, not just LF.

* Use `regexp-replace*' to encode the parts between the lines.  Besides
  making the code simpler, it fixes a bug in the previous code where
  multiple lines would each get encoded and the results concatenated
  without the newlines or any other whitespace.
2011-12-21 14:46:13 -05:00
Eli Barzilay
ddcab952f7 Quote sender, subject, and recipients strings if needed.
There might be existing uses of `net/sendmail' that did this quoting
since this code didn't do so.  Such uses would continue to work fine,
since quoted strings would already be plain ASCII, so a second quoting
would leave it as is.

Note that the quoted strings are also used as command line arguments.
It seems that sendmail deals with these all fine when they appear as
command line arguments.  This means that any valid email address format
can be used, not just "raw" emails.  If there are some sendmails that
don't do this, then it would be better to add a `-t' flag to let
sendmail parse the text in the message.

One caveat (not a new one): since they're passed as is, it is possible
to use two emails in a single string, as in "a@b.com, c@d.com".  This
could lead to obvious problems if someone uses "Bar, Foo <foo@bar.org>"
instead of "\"Bar, Foo\" <foo@bar.org>".  (Using a `-t' to parse the
content won't help with that...)  The only way to avoid this would be to
parse the emails and quote the name part if needed.  But that's a much
hairier piece of code.
2011-12-20 16:13:13 -05:00
Eli Barzilay
f9d07d8400 Revise `net/sendmail'.
* Move the `X-Mailer' header to the top, so that the interesting headers
  are all together at the bottom (the top gets littered by server
  headers anyway).

* Use `subprocess' directly (`process*' wasn't really doing anything
  more than that).

* Allow the sender to be `#f', leaving the header out.  This makes all
  sendmails that I've used use the username that is running the process.

* Just search for a sendmail program: don't barf on windows, so it can
  be used in case there is a sendmail.exe executable there.

* Remove `no-mail-recipients' to make it in-line with other racket code
  that doesn't raise super-specific exceptions.

* Use port counting instead of doing the counts manually, much simpler
  code.
2011-12-20 15:53:40 -05:00
Jay McCarthy
12580337f2 Fixes PR9965 and a missing doc xref 2011-12-07 06:23:25 -07:00
Jay McCarthy
37a7e0a2e1 Revert "Forgot to include doc change"
This reverts commit ccd5061c87.
2011-11-23 11:13:21 -07:00
Jay McCarthy
41e04b33da Revert "This fixes 10497 and potentially breaks programs that assume the query of a URL is always a list. I have fixed uses in the Web Server, which I expect is the major thing affected, but much more could be. Therefore I am skeptical this is a good idea just for the representation of ?. So, I'd like other people to review the change and let me know if they think I should revert it."
This reverts commit 7f9818bb3e.
2011-11-23 11:13:20 -07:00
Jay McCarthy
ccd5061c87 Forgot to include doc change 2011-11-23 10:59:54 -07:00
Jay McCarthy
7f9818bb3e This fixes 10497 and potentially breaks programs that assume the query of a URL is always a list. I have fixed uses in the Web Server, which I expect is the major thing affected, but much more could be. Therefore I am skeptical this is a good idea just for the representation of ?. So, I'd like other people to review the change and let me know if they think I should revert it. 2011-11-23 10:59:54 -07:00
Rodolfo Carvalho
f43405543a Add missing word 'one', clarify behavior of the 'semi-or-amp mode. 2011-10-17 13:18:17 -04:00
Robby Findler
11a3d9b0ac add support for redirections to get-pure-port and add get-pure-port/headers 2011-10-03 13:21:30 -05:00
Robby Findler
1fa6129afc adjust the "Transfer-Encoding: chunked" code to re-use bytes more
agressively
2011-10-03 13:21:29 -05:00
Jon Zeppieri
d44a7a480a Moved `net/url' code from unit to module. 2011-09-05 15:22:39 -04:00
Jon Zeppieri
3f69d4c8e8 Moved `net/uri-codec' code from unit to module. 2011-09-05 15:22:39 -04:00
Jon Zeppieri
647d3fb365 Moved `net/smtp' code from unit to module. 2011-09-05 15:22:39 -04:00
Jon Zeppieri
9ab674fd0c Moved `net/sendmail' code from unit to module. 2011-09-05 15:22:38 -04:00
Jon Zeppieri
d034297c76 Moved `net/qp' code from unit to module. 2011-09-05 15:22:38 -04:00
Jon Zeppieri
54deaac318 Moved `net/pop3' code from unit to module. 2011-09-05 15:22:38 -04:00
Jon Zeppieri
df5fef0c95 Moved `net/nntp' code from unit to module. 2011-09-05 15:22:38 -04:00
Jon Zeppieri
67ca846fd9 Moved `net/mime' code from unit to module. 2011-09-05 15:22:38 -04:00
Jon Zeppieri
9ae3840211 Moved `net/imap' code from unit to module. 2011-09-05 15:22:38 -04:00
Jon Zeppieri
095ee4e007 Moved `net/head' code from unit to module. 2011-09-05 15:22:38 -04:00
Jon Zeppieri
03237c06f2 Moved `net/ftp' code from unit to module. 2011-09-05 15:22:38 -04:00
Jon Zeppieri
a0eac7ac5c Moved `net/dns' code from unit to module. 2011-09-05 15:22:38 -04:00
Jon Zeppieri
a5222b9481 Moved `net/cgi' code from unit to module. 2011-09-05 14:17:36 -04:00
Jon Zeppieri
0104198875 Moved `net/base64' code from unit to module. 2011-09-05 14:13:04 -04:00
Matthew Flatt
1b0abe85c7 trivial doc fix 2011-08-19 12:52:19 -06:00
Eli Barzilay
18e8b92fa1 `purify-http-port' returns a new port, so make it close the old one. 2011-08-18 18:11:09 -04:00
Eli Barzilay
cc69dfbd71 Typo in error message. 2011-08-17 10:00:55 -04:00
Jay McCarthy
b207f1051a De-unitizing cookies and making the serializable 2011-08-15 10:06:21 -06:00
Eli Barzilay
d61eb53686 Lots of documentation formatting.
Started as fixing misindented definitions, then more indentations, then
a bunch of similar things (square brackets, huge spaces at end-of-lines,
etc).
2011-08-15 07:50:04 -04:00
Matthew Flatt
1c1d1934f4 ftp: fix data download for some servers 2011-08-10 08:28:13 -06:00
Matthew Flatt
be0260792e fix doc typos 2011-08-10 08:28:13 -06:00
Eli Barzilay
5a7ddd6611 Add an optional path argument to `ftp-directory-list'. 2011-08-05 01:14:16 -04:00
Eli Barzilay
6a1336e75e Return a file size string when possible.
This takes the advice from
  http://files.stairways.com/other/ftp-list-specs-info.txt
further: search for the date by an explicit occurrence of a known month
name.  This means that we won't see files with bad names (they'd be
filtered out of the result), but the filtered out entries are ones that
would not be usable with `ftp-make-file-seconds'.

When the month is found, and the entry is a file, look for a number
preceding the month, and if found, return it as the file size string.
This is a minor change in the API.  (But it's probably better to either
revise it further, or eventually make it irrelevant by exposing the
interesting functionality via `net/url'.)
2011-08-05 01:14:16 -04:00
Eli Barzilay
4daaa84636 Removed a bunch of bytes->strings conversions since output does that anyway.
Also got rid of `filter-tcp-data', and just use `port->lines' instead.
2011-08-05 01:14:16 -04:00
Eli Barzilay
234015b34d Make `ftp-make-file-seconds' use a correct year instead of 2002.
This function was using 2002 when there's no year...  Updated it to use
the last occurrence of the guessed date, as described at
  http://files.stairways.com/other/ftp-list-specs-info.txt

This function still looks pretty bogus -- the RFC does *not* say
anything about the format of response to `LIST', so it's whatever
semi-random thing the server does.  (The above link looks like an
attempt to fix it, but I didn't see anything more official than that.)
From some looking around, it looks like ftp clients just try a bunch of
patterns against the text.  Add also warnings in the documentation about
this.
2011-08-05 01:14:16 -04:00
Eli Barzilay
99d48abcf3 Remove all mentions of `locale' from the docs.
It's utf-8 now, but that's the default in the docs anyway.
2011-08-05 01:14:16 -04:00
Eli Barzilay
ba48669ead Use UTF-8 and CRLF in the ftp client
RFC 2640 specifies that all transport strings are assumed UTF-8 if they
can be parsed as such.  To make this complete it should really send a
FEAT and check that the result has "UTF8", but it's kind of redundant
since there's not much else to do if it isn't.

Also, switch to a more correct line endings of CRLF when sending
messages to the server.
2011-08-05 01:14:16 -04:00
Ryan Culpepper
1b702a2ae3 docs reorganization
added tutorial, racket categories
  relabeled some other categories
  normalized manual names: de-bolded, changed some names
2011-07-01 17:16:53 -06:00
Robby Findler
69b5daa9e6 remove docs tests that no one was interested in 2011-07-01 11:38:09 +08:00
Eli Barzilay
40124a0619 A long overdue scan to eliminate files without terminating newlines.
(DrRacket should really do that.)
2011-06-28 02:01:41 -04:00
Eli Barzilay
a38f384a00 Finish converting scheme' -> racket'.
Everything compiles fine now even if the compatibility bindings are
gone.
2011-06-28 00:45:38 -04:00
Eli Barzilay
ac26fe7554 A ton of @scheme*' -> @racket*' and related updates.
Also, updates some of the mzlib files to point at `racket/*' libraries
rather than to `scheme/*' ones.
2011-06-25 04:08:47 -04:00
Eli Barzilay
a3c21be7f6 Avoid unintended pun. 2011-06-23 18:19:32 -04:00
Eli Barzilay
8990177c75 Correction to the small correction 2011-06-20 16:45:33 -04:00