• Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

AltME groups: search

Help · search scripts · search articles · search mailing list

results summary

worldhits
r4wp32
r3wp646
total:678

results window for this page: [start: 301 end: 400]

world-name: r3wp

Group: All ... except covered in other channels [web-public]
Gabriele:
7-Jan-2005
if you want to test it, do timers.r and async-protocol.r first (from 
async-protocol it only needs the wait-start and wait-stop functions, 
but you will probably need the async-protocol anyway so...)
Gabriele:
7-Jan-2005
Chord in itself is an algorithm, we call it a protocol because it 
involves more nodes talking to each other
Pekr:
7-Jan-2005
how large is Chord in kbs? And - is that good protocol to be added 
into rebol for e.g.? How does it compare to gnutella2 or others?
Pekr:
8-Jan-2005
udp? Who uses unreliable protocol nowadays?
eFishAnt:
15-Jan-2005
protocol ...
eFishAnt:
15-Jan-2005
protocol message error: fogs not make sense.
Terry:
22-Jan-2005
I've questioned this a few times over the years now.. 

If we have a CGI script that uses the mysql protocol, is it necessary 
to load this protocol with every cgi request?  Wouldn't that add 
some burden to the server?
Terry:
22-Jan-2005
loads the mysql protocol, that is.
Terry:
22-Jan-2005
can you give me an example of a cgi script that access a db, and 
doesn't load the protocol each time?
Terry:
22-Jan-2005
Well, I wonder what has less overhead.. reading a 23kb protocol with 
each call, or taking the time to do a tcp call?
Terry:
22-Jan-2005
Forced to reduce the number of iterations to 100 for mysql sake.. 
and even then it would choke 50% of the time.. results.. 


Reading the DB used mysql-protocol.r with join mysql://.. localhost 
{select email from table where name='name' }
Reading the file used a: load %file.txt, b: select a 'email
mysql - 1.35 seconds (using time/now/precise

file - 0 seconds (timestart - 18:35:25.531, timefinish - 18:35:25.531)


Conclusion.. no contest.. loading and selecting from file wins hands 
down.
Terry:
23-Jan-2005
not only that, MySQL via the protocol couldn't handle the 'rapid 
fire' query rate.
Pekr:
24-Jan-2005
Now who was that stating few months ago that not adhering to Kyoto 
protocol is not important, as such things has no impact on Earth 
conditions ...
Pekr:
7-Jun-2005
could anyone suggest me please free sntp (time protocol) server, 
we could test our device against? Thanks ...
MichaelB:
9-Jun-2005
I think they have their own protocol - at least in regard to exchange.
MichaelB:
9-Jun-2005
symbian for instance will support from v9.0 on (at least the announced 
this) exchange protocol for exactly that reason
MichaelB:
9-Jun-2005
I think the problem with syncML is also that it got /is (I didn't 
know this before) some sync-everything protocol, which is now huge 
and probably complicated (wasn't just my opinion)
Pekr:
7-Mar-2012
This happen when the handshake protocol is not described anywhere, 
sucks big time, to do all the guesses.
Group: !AltME ... Discussion about AltME [web-public]
Edgar:
21-Dec-2007
I guess we must be seeing different things. I see three choices, 
first one is to choose the default programs, second is is detailed 
to specific extension and protocol, then the third one that has one 
of the choice is custom. I choose the custom and select the default 
browser as FF. In this option, you can even disable IE. I change 
the setting in the third option.
Maxim:
23-Nov-2009
the flaw is in handling the connections errors... altme does everything 
the wrong way.  blanks screens, looses messages, freezes up, doesn't 
properly recover, when just reconnecting to world manually actually 
brings a client back up for a little while.


the server has been noted by Carl as being afflicted by a few networking 
issues, but the server is clearly available in some way, so the server/client 
protocol isn't very fault-tolerant IMHO.
Group: RAMBO ... The REBOL bug and enhancement database [web-public]
Gabriele:
12-Jan-2007
ok, so it's not really a bug; it's just that when you have a default 
network server, rebol uses that for any protocol. (set net does not 
actually set the smtp server; it sets the default server. since the 
send function does not specify any server, the default server is 
used to send email; that's why the default server is normally set 
to the smtp server)
Bo:
23-Jan-2007
Well, there is _at least_ one bug in the FTP protocol.  I haven't 
run into the one you are talking about, but I think I did solve the 
one that I was having a problem with (425 response from the server 
causing Rebol to wait infinitely).
Graham:
24-Jan-2007
Yes, I've installed Hylafax which uses a modifed ftp protocol on 
port 4559.
Graham:
8-Feb-2007
the protocol sends a terminating "." to signify the end of an email. 
 But this is not correct.  The RFC specifies that you should send 
crlf "." crlf
Gabriele:
8-Feb-2007
it was added to http, it should to any other protocol that uses ssl.
BrianH:
8-Feb-2007
Perhaps you can use the /with refinement in your esmtps protocol, 
Graham.
BrianH:
8-Feb-2007
I'm looking at the http protocol source, and I find no indication 
of any fix to the default line ending of ssl:// - do I have the right 
source? It is dated 5-Dec-2005...
Maxim:
26-Feb-2007
but btw... in my bug (which might or not be the same) it does not 
only corrupt the http protocol... the whole exists? cmd is down, 
since I am testing files in my case!
Oldes:
19-May-2007
just found, that youtube do not respect HTTP1.0 protocol => sends 
HTTP1.1 303 response even if client require HTTP1.0 (which is Rebol 
case). As there is no response specified for 303 in Rebol's http 
handler, it can be fixed using:

use [tmp][

 tmp: select second get in system/schemes/http/handler 'open to-set-word 
 'response-actions
	if none? find tmp 303
	insert tmp reduce [303 select tmp 302]
]
Group: Core ... Discuss core issues [web-public]
Volker:
30-Oct-2005
Its a good idea to know about it. Seems its possible to path action! 
to protocol. at least i made a 'find in a  protocol once and got 
all the refinements.
BrianH:
30-Oct-2005
Volker, by protocol do you mean a port type?
Pekr:
26-Jan-2006
looking at sterling's proxy script, I somehow can't understand that 
sub-port concept :-) Looking at rebol core manual, it does not make 
my life any easier :-) Although I can understand the concept of root-protocol 
and how to establish new scheme, it does not help with understanding 
of lower level issues ...
Ingo:
8-Mar-2006
Hi Graham, yes that's it ...

I actuallly add some things to the protocol, like mailbox handling, 
the ability to fetch only specific headers, etc. so I would like 
to be able to use a unified interface. 

Additionally I'd like to fetch by uid,  and it would be nice if I 
were able to position to the read mail.
Graham:
8-May-2006
install the protocol on port 26
Pekr:
2-Jul-2006
thanks .... have you ever heard of this cid: protocol thingy?
Group: View ... discuss view related issues [web-public]
DideC:
7-Jun-2005
Hi Michael,

Delete-emails works fine on 1.2.48, but not on 1.2.119. Some changes 
in POP protocol prevents it to work.
Pekr:
25-Jun-2005
Few additional notes, to not understand me wrong. I always try to 
see the bigger picture of things, not just from the pov of current 
View user. IMO VID should develop towards general "solution containers" 
= highering common ground for further developments. So - the solution 
is not to introduce one quick hack for particular style, but generalising 
things and letting ppl to develop their own solution, but using that 
common denominator. Good example is Rebol, its network protocol, 
and Uniserve - Uniserve is good example of taking things further, 
so each user does not need to start from scratch. In VID it is e.g. 
introduction of accessor functions. I suggest to try to find other 
"solution containers" :-)


The other thing ppl should think openly about, is to sacrifice backwards 
compatibility! I do remember ppl here screaming even about single 
change, which would eventually broke their code. Man, it sound like 
some of us woul never been with bigger projects? Our SAP workflow 
engine is some 50K lines, and when I asked my co-worker to add another 
functionality, he said - I will hack-it in, but I will REWRITE whole 
engine to be more flexible. So - that's me and ppl I work with - 
let's be sane - as I stated on ML - View starts from 1.3 ;-) But 
even further - let's not be selfish to the thousands of ppl, which 
may come to Rebol in future. I don't want to explain to anyone, that 
thing x or y is there because there was some compatibility issue 
with Rebol 0000.1 alpha and som eppl got tens of scripts already 
- that is imo selfishness in bigger picture, sorry to say that. Use 
old kernels for old apps. Our code will break anyway here or there. 
I prefer PURITY of solution instead of compromisses. So that is my 
message to future developments :-)
MikeL:
15-Sep-2005
I put a VID screen on some mySQL data (using the Doc's protocol) 
and allowed paging through it using the left and right arrows. Worked 
fine for a small database; very fast refresh of the page. 

When I used the same approach on a larger DB with some TEXT fields, 
it started to hang at the same record when going '"right".   


After much trial and error and guessing, I think it is because the 
database is not quite fast enough to refresh the screen to keep up 
with holding the key down.   


I put it sub-second wait in before the screen reshows its values 
and the problem went away.   	ie wait 00:00:00.005   


I don't think it is a database problem because it could happen with 
slower devices such as files. 


Is this consistent with what others have seen or am I 'fixing' the 
wrong problem?
MikeL:
15-Sep-2005
Not using a cursor. Right key action  increments current-record-key. 
Retrieves single row for current-record-key, Displays page with data 
for row retrieved.  The database is local and only has (so far) 120 
rows but I have another with three hundred shorter records (no BLOBs) 
on it and it works well without any wait.  i.e. I can hold down the 
right key and it will flash each page by.  MySQL protocol has always 
seemed very fast to me.  Is it possible that View is stacking up 
the key actions and hanging after it gets too many?  p.s. I don't 
want to read the whole database content into memory because then 
I have to worry about locking when I allow HTML updates to it by 
others.  Single row updates with the last update 'winning' in the 
unlikely event of a collision works well for what I need to do.
Gabriele:
3-Nov-2005
Asking the user should not be done on the protocol side, but on the 
application side.
Gabriele:
3-Nov-2005
the protocol should make it easier for the user to figure out what 
kind of error is when one happens, though. http:// surely needs improvements 
on this front.
Volker:
4-Nov-2005
IMHO passwords belong into the protocol. 

- If possible they should never be exposed to the application. More 
like browsers do, with a password-manager. Unfortunally that is not 
really possible with rebol.

- urls go thru multiple layers. after read-thru you dont have any 
error-information.
Luca:
4-Nov-2005
Actually the 401 error (Unauthorized) and the HTTP Authentication 
are mentioned in the RFC 2616 - Hypertext Transfer Protocol. So maybe 
the HTTP should manage it, and it actually manages ithem a call to 
http://user:[pass-:-server] works fine: However, in my opinion, would 
be very useful if /View would manage user/pass when it access authorization 
required urls.
Volker:
15-Nov-2005
with write/binary yes. dont know what the sql-protocol does.
Pekr:
2-Feb-2006
after all, imo with either Uniserve or Beer, you could develop kind 
of rmp protocol in month or two, maybe with not so strong security, 
but .... at least with fixed red-icons problem ;-)
Group: I'm new ... Ask any question, and a helpful person will try to answer. [web-public]
joannak:
21-Jan-2010
About that "YueM's AltMe problem" .. If i did my math correctly the 
entire Rebol3 database download would take almost 3 hours.  And that's 
with optimal connection on 56K modem, not taking account any errors 
or protocol overheads at communication.
joannak:
21-Jan-2010
It also depends on protocol overhead.. Running TCP on phoneline... 
Well, it can be done, but happyly I have mostly forgotten those times. 
:)
Davide:
21-Jun-2010
thanks for the quick answers! you guys are great


I'm building a function that computes the challenging code for  web 
socket  protocol, 

It uses unsigned 32 bit integer, so I use money instead of integer, 
to avoid overflow.
Davide:
21-Jun-2010
mmm there's something strange, with the first version of the function 
the protocol works, 

with the second version every 10-20 times the protocol fails to estabilish
Davide:
21-Jun-2010
your function works well, but I'm getting random protocol fails
Davide:
22-Jun-2010
The bug was my fault, I was using a wrong variable name.
Thanks all for the help.

The complete (working) function to calculate the challenging code 
server side in web socket protocol is:

ws-chall: funct [header [string!]] [		
	
	cnt: funct [k] [
		n: copy "" 
		ns: 0 
		repeat x k [
			if all [x >= #"0" x <= #"9"][
				append n x
			] 
			if x = #" " [
				ns: ns + 1
			]
		]
		if ns = 0 [
			return none
		]			
		(to decimal! n) / ns
	]
	
	int-2-char: funct [n [integer! decimal!]] [
		;n: to decimal! n
		head insert insert insert insert make string! 4
			to char! n / 16777216
			to char! (n // 16777216) / 65536 
			to char! (n // 65536) / 256
			to char! n // 256
	]

	attempt [
		t: parse/all replace/all header crlf lf "^/"

  l: copy [] repeat x t [if n: find x ":" [insert tail l reduce [copy/part 
  x (index? n) - 1 next n]]] l: head l
		k1: next select l "Sec-WebSocket-Key1"
		k2: next select l "Sec-WebSocket-Key2"
		k3: next next find header "^/^/"
		aux1: cnt k1
		aux2: cnt k2
	]

	if any [none? aux1 none? aux2 none? k3] [return ""]

 to-string checksum/method rejoin [int-2-char aux1 int-2-char aux2 
 k3] 'md5		
]
Davide:
22-Jun-2010
the protocol is described here: http://www.whatwg.org/specs/web-socket-protocol/
mhinson:
22-Dec-2010
Hi, is anyone familiar with Frank Sievertsen Telnet protocol scheme 
please?

I am trying to use it at a really basic level at first, just issueing 
the commands manually, but I think I am missing a trick or two.
this is what I am doing
port: open telnet://192.168.2.2/
t: copy port
print t


This shows me that I connected ok & got a password prompt, however 
I cant seem to work out how to send a string to the session & read 
the response. Any suggestions much appreciated. Thanks.

Hi, is anyone familiar with Frank Sievertsen Telnet protocol scheme 
please?

I am trying to use it at a really basic level at first, just issueing 
the commands manually, but I think I am missing a trick or two.
this is what I am doing
port: open telnet://192.168.2.2/
t: copy port
print t


This shows me that I connected ok & got a password prompt, however 
I cant seem to work out how to send a string to the session & read 
the response. Any suggestions much appreciated. Thanks.
MagnussonC:
30-Nov-2011
Is there a LDAP module with authentification available for R2? I 
tried ldap-protocol.r from softinnov.org, but didn't get that to 
work (with anonymous bind) ... Not sure why I get "Error: Invalid 
port spec". I'm on Win7 (x64). Maybe it is something on OS level 
I have to config to use ldap://!?
Dockimbel:
30-Nov-2011
Anonymous login with ldap-protocol.r should work fine.
Group: Parse ... Discussion of PARSE dialect [web-public]
Pekr:
12-Nov-2008
In the past, there were Gabriele and Cyphre. Gab did initial VID3, 
http protocol and maybe other things. Cyphre did View kernel things 
- e.g. whole compositing engine was replaced by the better one - 
AGG based ...
Group: Syllable ... The free desktop and server operating system family [web-public]
Kaj:
12-Sep-2008
This release focuses on making the system usable for running a number 
of standard servers, and several innovative REBOL servers.


The development files of the system, program headers, static libraries 
and development documentation, were moved to a separate area in /system/development/ 
and are now shipped in a separate package. If you want to compile 
software on Syllable Server, you need to install and register this 
package. The development files need to match the system: you can't 
use a package of any other Syllable version. (You will also need 
to install the Developer's Delight package collection and possibly 
other packages.)


User directories were moved from /home/ to /users/. Resource packages 
are in the process of moving from /usr/ to /resources/. /resources/ 
is currently a symbolic link to /usr/ so that resource packages will 
work from both places during the migration.


Many fixes were made, including more fixes for the CUPS print server 
and GhostScript. Creation of extra user accounts is possible now.


Many packages were updated, including the Linux kernel, IPTables, 
the GCC libraries, OpenSSH, SDL and QEmu. DirectFB was not upgraded 
due to incompatibility with Links2.


CDRTools were included for burning CDs, and the NetCat networking 
tool and the Transmission BitTorrent client were added.


In addition to the Syllable-specific early initialisation scripts 
(in the early-init subdirectory of packages), the late initialisation 
scripts (in the init subdirectory of packages) are now also executed. 
Several more initialisation scripts from Linux From Scratch were 
also added. Some servers can be started with the LFS scripts, others 
with the Syllable scripts (this will be unified in later releases).


The OpenSSH server was configured and now runs by default. At the 
first system start, security keys are generated that identify the 
server.


A collection of well-known root certificates from Certification Authorities 
was added to allow OpenSSL-based programs (such as OpenSSH) to establish 
the identity of destination points for network connections.


A MIME-types database was added in /etc/mime.types that is used by 
many programs, such as web servers, to identify the MIME types of 
files based on their file name extensions.

Several REBOL software stacks were added:

- The REBOL/Services Service Oriented Architecture.

- The UniServe network server framework.
- The Cheyenne Apache-class web server.
- A CAPTCHA library.
- A MySQL network protocol.

- The QuarterMaster web programming framework, based on a Model-View-Controller 
architecture. By default, it's configured to run on Cheyenne.


- The TINY library for parsing text, abstracting data access and 
building templates of generic text formats (including HTML). This 
library is an original creation and targets both ORCA and REBOL.


Configurations, including initialisation scripts, were added for 
the OpenSSH remote access server, the CUPS print server, the BIND 
domain name server, the Apache web server, the RSync file synchronisation 
server, the SaMBa Windows-compatible file server, the INetUtils FTP 
server and the VSFTP FTP server. Several of these are not included 
in the system, but need to be installed separately (the system is 
prepared for them). The sshd, cupsd and initd servers are started 
by default.


S3Cmd/S3Sync was included, a tool for accessing the Amazon Simple 
Storage Service (S3) and synchronising files with it.


As a demo, the Genode operating system framework, its Nitpicker windowing 
server (built on SDL) and its demonstration programs were included.
Graham:
15-Sep-2008
the other way is just setup a time server on the host os and use 
the daylight protocol
BrianH:
17-Dec-2010
Hamachi only supports Windows well. Before they were bought by LogMeIn 
they were working on Mac and Linux versions, but not since then, 
and the old alphas use a different network protocol than modern Hamachi. 
This is why I've been looking for a decent replacement, but it is 
tough since there are no open-source equivalent projects.
Evgeniy Philippov:
12-Jan-2012
I will also need a pppoe protocol impl. Though I will soon change 
an ISP and will probably have different IP-related protocols.
Evgeniy Philippov:
13-Jan-2012
It may seem that I've found a sources glitch with my mouse. A kernel 
log reports "IMPS2 mouse found" which means that appserver/appserver/ps2mouse/ps2mouse.cpp 
detected an Intellimouse PS/2 mouse. Maybe developers had no Intellimouse 
to test stuff, therefore there's no code setting up the mouse for 
that clause. I.e. it gets detected, but there's no special init (which 
must be there), only the message is printed and the mouse protocol 
is not switched (it must be switched, I guess).
Kaj:
15-Jan-2012
PPP support (CONFIG_PPP), the asynchronous line discipline (CONFIG_PPP_ASYNC), 
the driver for your serial port device and/or the PPP over Ethernet 
(PPPoE) protocol driver (CONGIG_PPPOE) must be compiled into the 
kernel or loaded as kernel modules. Udev doesn't load the ppp_generic 
and pppoe modules automatically. If you compiled them as modules 
they can be loaded by the modules bootscript if they are mentioned 
in /etc/sysconfig/modules file.
Group: Linux ... [web-public] group for linux REBOL users
Anton:
17-Aug-2009
Gabriele, thanks, that's very interesting, I will check it out. (Aha 
 make Root-protocol, I forgot about that.)
Graham:
1-Sep-2010
Of course you could use my ftp protocol for Rebol3 if you're brave
Graham:
1-Sep-2010
Eg. for ftp-protocol, change this 


 open-check: [none ["220" "230"] ["USER" port/user] "331" ["PASS" 
 port/pass] "230" "SYST" "*"]

to


 open-check: [none ["220" "230"] ["USER" dehex port/user] "331" ["PASS" 
 port/pass] "230" "SYST" "*"]
Gabriele:
2-Sep-2010
Graham, the problem with url-encoding is not at the protocol level, 
it's at the URL! type parsing level. REBOL decodes characters at 
the wrong time.
Evgeniy Philippov:
27-Jan-2012
aptitude search dri|grep DRI

p   driconf                         - DRI configuration applet   
               

p   libgl1-mesa-dri-dbg             - Debugging symbols for the Mesa 
DRI modules

p   x11proto-xf86dri-dev            - X11 DRI extension wire protocol
Group: Announce ... Announcements only - use Ann-reply to chat [web-public]
Chris:
20-Aug-2010
S3 access turned R2 protocol: http://www.ross-gill.com/r/s3.html
- and a version using Graham's adapted HTTP protocol: http://www.ross-gill.com/r/s3http.r
Chris:
23-Aug-2010
Almost there: Twitter API client using OAuth (Basic Auth is being 
turned off).  Only thing I can't get working is signing a POST request 
with a body (which sucks for sending updates):

	http://www.ross-gill.com/page/Twitter_API_and_REBOL


I've tried using my rest:// protocol and the currently published 
version uses Graham's HTTP modifications (regular HTTP does not work 
as you can't use custom headers with a GET request).


Aside from that, the GET requests work, as does the authorization 
process.  Any observations welcome.
Group: DevCon2005 ... DevCon 2005 [web-public]
Graham:
1-Oct-2005
BEER is a great framework to use.  They have implented a file transfer 
protocol, authentication, and .. a working LNS profile.
Pekr:
1-Oct-2005
I fear LNS will not give us anything like Uniserve though .... although 
LNS may have some transfer layer ('send-service), imo it will not 
have kind of run-time pluggable protocol engine like Uniserve is 
.....
Graham:
2-Oct-2005
BEER is not a protocol.  It's a framework for building protocols.
Pekr:
2-Oct-2005
As Uniserve vs LNS - that is nice that LNS is more or less app level 
(services) protocol, but we need also strong, async transfer. Sadly 
I thought LNS will bring it too ...
DideC:
2-Oct-2005
- No, I was the only French (don't ask why about this : 30 guys already 
did it in Milano).


- Question : Reichards, takes note on his laptops, just wait a litle 
more.


- LNS is a sort of XMLRPC protocol (or something like that), but 
Rebol dialect based and secure. No relation with low level async 
networking at all. But it can be used asynchronously : it just mean 
your apps does not wait the answer to continue.


- I just came back a few hours ago, and days were long, but night 
very short ;-)
So I got to go to bed right now (its midnight!).
BrianH:
4-Oct-2005
Alan, do you have a firewall appliance? If so, you need to open a 
port. If the firewall appliance has UPNP support, Azureus can open 
the port for you automatically if you tell it to. BitTorrent is a 
two-way protocol.
Volker:
8-Oct-2005
from beer-docs: The design has been inspired by rough draft about 
LNS protocol developed by Rebol Technologies.
Kaj:
8-Oct-2005
But LNS is not a transport protocol
Group: Rebol School ... Rebol School [web-public]
Henrik:
27-Mar-2009
I once built a db protocol using a dialect, which would generate 
the server side code and the client side code. Both sides were dialects 
too. This was wrapped inside another dialect which could build the 
server and multiple client programs by preprocessing and putting 
together multiple other scripts. Works pretty well and it takes about 
5 minutes to add a new command to the protocol and update server 
and client.
Henrik:
27-Mar-2009
Vladimir, it's a poor explanation, so don't get a headache. :-) Basically 
REBOL allowed me to create a dialect that would flesh out a database 
protocol in one single 10k script and then use that dialect to separate 
bits and pieces out in a server and client part. That way, I didn't 
have to manually write a server script and a client script in two 
separate parts.
CharlesW:
20-Oct-2009
I am trying to retrieve email from a godaddy account. Their server 
however uses a username with the @ sign. I am not sure but I think 
this is messing up the pop protocol. 

The error I receive is:

connecting to: companyname.com
** Access Error: Cannot connect to companyname.com
** Where: open-proto



Notice that my pop statment has two @ signs in it but is needed to 
login to goDaddy's multi-tenent pop server.


foreach message read pop://[user-:-companyname-:-com]:[password-:-pop-:-secureserver-:-net] 
[
    print message
]

Any Suggestions?
Claude:
1-Jun-2010
REBOL[]


send: func [
	"Send a message to an address (or block of addresses)"
	;Note - will also be used with REBOL protocol later.
	address [email! block!] "An address or block of addresses"
	message "Text of message. First line is subject."
	/only   "Send only one message to multiple addresses"
	/header "Supply your own custom header"
	header-obj [object!] "The header to use"
	/attach "Attach file, files, or [.. [filename data]]"
	files [file! block!] "The files to attach to the message"
	/subject "Set the subject of the message"
	subj "The subject line"
	/show "Show all recipients in the TO field"
	/local smtp-port boundary make-boundary tmp from
][
	make-boundary: does []

	if file? files [files: reduce [files]] ; make it a block
	if email? address [address: reduce [address]] ; make it a block
	message: either string? message [copy message] [mold message]

	if not header [                 ; Clone system default header
		header-obj: make system/standard/email [

   subject: any [subj copy/part message any [find message newline 50]]
		]
	]
	if subject [header-obj/subject: subj]
	either none? header-obj/from [

  if none? header-obj/from: from: system/user/email [net-error "Email 
  header not set: no from address"]
		if all [string? system/user/name not empty? system/user/name][
			header-obj/from: rejoin [system/user/name " <" from ">"]
		]
	][
		from: header-obj/from
	]
	if none? header-obj/to [
		header-obj/to: tmp: make string! 20
		if show [
			foreach email address [repend tmp [email ", "]]
			clear back back tail tmp
		]
	]
	if none? header-obj/date [header-obj/date: to-idate now]

	if attach [

  boundary: rejoin ["--__REBOL--" system/product "--" system/version 
  "--" checksum form now/precise "__"]
		header-obj/MIME-Version: "1.0"

  header-obj/content-type: join "multipart/mixed; boundary=" [{"} skip 
  boundary 2 {"}]
		message: build-attach-body message files boundary
	]

	;-- Send as an SMTP batch or individually addressed:
	smtp-port: open [scheme: 'esmtp]
	either only [ ; Only one message to multiple addrs
		address: copy address
		; remove non-email values
		remove-each value address [not email? :value]

  message: head insert insert tail net-utils/export header-obj newline 
  message
		insert smtp-port reduce [from address message]
	] [
		foreach addr address [
			if email? addr [
				if not show [insert clear header-obj/to addr]

    tmp: head insert insert tail net-utils/export header-obj newline 
    message
				insert smtp-port reduce [from reduce [addr] tmp]
			]
		]
	]
	close smtp-port
]

resend: func [
	"Relay a message"
	to from message /local smtp-port
][
	smtp-port: open [scheme: 'esmtp]
	insert smtp-port reduce [from reduce [to] message]
	close smtp-port
]

build-attach-body: function [
	{Return an email body with attached files.}
	body [string!] {The message body}

 files [block!] {List of files to send [%file1.r [%file2.r "data"]]}
	boundary [string!] {The boundary divider}
][
	make-mime-header
	break-lines
	file
	val
][
	make-mime-header: func [file] [
		net-utils/export context [

   Content-Type: join {application/octet-stream; name="} [file {"}]
			Content-Transfer-Encoding: "base64"

   Content-Disposition: join {attachment; filename="} [file {"^/}]
		]
	]
	break-lines: func [mesg data /at num] [
		num: any [num 72]
		while [not tail? data] [
			append mesg join copy/part data num #"^/"
			data: skip data num
		]
		mesg
	]
	if not empty? files [
		insert body reduce [boundary "^/Content-type: text/html^/^/"]
		append body "^/^/"
		if not parse files [
			some [
				(file: none)
				[
					set file file! (val: read/binary file)
					| into [
						set file file!
						set val skip ;anything allowed
						to end
					]
				] (
					if file [
						repend body [
							boundary "^/"
							make-mime-header any [find/last/tail file #"/" file]
						]
						val: either any-string? val [val] [mold :val]
						break-lines body enbase val
					]
				)
			]
		] [net-error "Cannot parse file list."]
		append body join boundary "--^/"
	]
	body
]
shadwolf:
21-Aug-2011
not talking on SQL  protocol since you guys just don't care
Group: !REBOL3-OLD1 ... [web-public]
BrianH:
24-May-2007
In order to continue using R2 once R3 comes out, three things must 
happen:

- View installation needs to be changed to allow multiple versions 
to be installed in parallel.
- These installation changes need to be backported to R2.

- Any changes to REBOL/Services that come with R3 need to be backported 
to R2, at least those that affect the line protocol.
Pekr:
4-Jun-2007
SSL is specific protocol. I am not speaking about encryption here, 
but about the trust, that is what certificates are for. IIRC the 
api for them is inside, it was not just exposed. And IIRC2, Ladislav 
once mentioned he will do it? But I could misunderstood him ...
Gabriele:
5-Oct-2007
petr, what would having pop or imap change? (btw, ftp... that's a 
mess of a protocol. find someone wanting to write that one :P) i 
really don't understand the point. pop and imap are "trivial". VID 
is the focus. i can't wast time on pop now. that can be done later 
on. i must spend my time on what's important - VID. having an R2-like 
R3 is just crazy. R2 is already here.
Ingo:
6-Oct-2007
And Pekr, yes, everyone _can_ code a pop / imap / ... protocol in 
rebol. You may not yet be abel to, but you can. On the other hand, 
you can't code the port system, or view basics, because wou would 
need access to the c source code.
Pekr:
6-Oct-2007
Ingo - I don't agree at all. It is like saying everyone CAN code 
in C, because you have plenty of free text editors available. You 
would not probably want to see My rebol code and surely you would 
not accept it being part of official distro. So really - No - not 
everybody CAN code pop, imap protocol. If so - why did it take so 
long to get proper FTP protocol ready? Apop? etc.?
Henrik:
6-Oct-2007
yes, it is unfortunately a mess. I'm not sure what should be done 
with it, other than be implemented by someone who is an expert on 
the FTP protocol, rather than just implement a rudimentary one that 
follows the RFC.
Group: !Cheyenne ... Discussions about the Cheyenne Web Server [web-public]
Dockimbel:
13-May-2008
I don't know if current rebservices can use HTTP protocol as transport. 
Rebservices can run in the same process as Cheyenne, but processing 
rebservices requests may slow down Cheyenne's performances a lot. 
R3 threading will solve that kind of issue, so we'll see in a few 
monthes. ;-)
Graham:
23-Sep-2008
which is why I was hacking the http protocol recently to add the 
others
Dockimbel:
24-Sep-2008
Proxy: it can be done but requires a little more work, like building 
your own mod-something and implementing an async client protocol 
in Uniserve (unless you want to use the built-in HTTP async client 
protocol).
Graham:
30-Sep-2008
When I do this with the modified http protocol


page: read/custom http://localhost:8080/put.rsp [ PUT %rebview.exe 
]

I get this

<html><title> RSP PUT test </title>
file=%/D/che19/Cheyenne/incoming/zmmnfoto.tmp

</html>
Graham:
1-Oct-2008
I gather one day it might be possible to write a non-standard ftp 
hylafax protocol ... but in the meantime I guess I'm restricted to 
running the commandline utilities.
Will:
28-Nov-2008
do you query mysql with mysql-protocol.r at the same time ?
Dockimbel:
31-Jan-2009
Paul: FastCGI is implemented at low-level as an UniServe client protocol. 
It should be able to communicate with any FastCGI server like PHP.
Dockimbel:
12-Feb-2009
2. This one http://www.rebol.org/view-script.r?script=sqlite3-protocol.r
should work with RSP's DO-SQL, but untested. You still have the option 
to bypass RSP's DB layer to use any driver you like as you would 
in a normal script. Just remember that your code will be executed 
in several processes, so you can't rely on global words, nor assume 
that opening the connection just once will be enough...


Btw, doesn't SQLite have issues with write accesses from multiple 
processes? I've read that each process has to synchronize with others 
for write operations because SQLite don't provide such layer. Is 
this still true with recent SQLite version?  (Maybe I've just misunderstood, 
I have no experience using SQLite).
Graham:
7-Mar-2009
7/3-21:59:42.822-## Error in [OS-API] : OpenSCManager failed : Access 
is denied. !
7/3-21:59:42.826-[boot] Cmdline args : -v
7/3-21:59:42.835-[boot] Processed    : [verbosity 1]
7/3-21:59:42.838-[boot] Boot flags   : [verbose]

7/3-21:59:42.840-[boot] Data folder  : %/C/cheyenne-r0919/Cheyenne/
7/3-21:59:42.906-[uniserve] Async Protocol FastCGI loaded
7/3-21:59:42.936-[conf-parser] Loading extension: mod-internal
7/3-21:59:42.940-[conf-parser] Loading extension: mod-extapp
7/3-21:59:42.943-[conf-parser] Loading extension: mod-static
7/3-21:59:42.948-[conf-parser] Loading extension: mod-action
7/3-21:59:42.952-[conf-parser] Loading extension: mod-fastcgi
7/3-21:59:42.955-[conf-parser] Loading extension: mod-rsp
7/3-21:59:42.960-[conf-parser] Loading extension: mod-ssi
7/3-21:59:42.963-[conf-parser] Loading extension: mod-alias
7/3-21:59:42.972-[uniserve] Starting RConsole...

7/3-21:59:43.003-## Error in [uniserve] : Cannot open server RConsole 
on port 9801 !
7/3-21:59:43.006-[uniserve] Starting Logger...

7/3-21:59:43.009-## Error in [uniserve] : Cannot open server Logger 
on port 9802 !
7/3-21:59:43.012-[uniserve] Starting HTTPd...
7/3-21:59:43.016-[uniserve] Starting task-master...

7/3-21:59:43.019-## Error in [uniserve] : Cannot open server task-master 
on port 9799 !
Graham:
28-Mar-2009
If you want to access a web app from Rebol

page: open login-url ; a rsp session is sent to you
page/locals/headers/set-cookie contains the cookie

page: read/custom login-url compose/deep [ POST (auth) [ cookie: 
(cookie)]] ; where auth is your authentication string eg. "login=user&pass=mypassword"
you are now authenticated
and if you now what to access a page in the web app

page: read/custom web-app-url compose/deep [ GET "" [ cookie: (cookie)]]


where you need to use my modified http protocol that allows you to 
send cookies with read/custom
Dockimbel:
15-May-2009
:-) 'flag-stop is a very low-level flag for UniServe allowing to 
quit the 'wait loop. You shouldn't mess with that when working at 
Cheyenne mod level (even at Uniserve's service/protocol level).
ChristianE:
18-Jul-2009
Of course I can connect to the database directly thru mysql-protocol, 
I just don't get it up and running with cheyenne.
301 / 678123[4] 567