Posts by River~~

1) Message boards : BOINC client : Using BBCode (Message 9256)
Posted 31 Mar 2007 by River~~
Post:
I'll forward it to Rytis, but wonder why you want it. you can use the embedded url under a picture already. Why the need for alt text? Mouse-overs?

He has already explained it; graphic-less browsers or browsers with graphics disabled. Remember search engines count as graphic-less browsers, as well as screenreaders for blind people. ...


and compliance with the spirit of the RFC. (Tho Nicolas has pointed out in another thread that that is not really regarded as an issue within BOINC)

And arguably, tho I didnt mention it before, compliance with the law in England & Wales (Disability Discrimination Act). It opens up liability to litigation if we (*) don't take reasonable steps to include disabled people, and as the standards have been pushing ALT text for the convenience of blind users ever since the IMG tag came in, nobody can claim it is an unreasonable request. Now that is a huge pending litigation mountain...

Edit: (*) we = English users, especially those running projects based in England & Wales

R~~
2) Message boards : BOINC client : remote_hosts.cfg - ranges/subnets? (Message 9255)
Posted 31 Mar 2007 by River~~
Post:
Fortran if I'm not much mistaken.


Yes, its almost Fortran

Most is F IV except for one feature (array assignment). Its also almost F 77 except for another (assign char to array). So its all Fortran but would need some work to make it go properly...

R~~
3) Message boards : BOINC client : Dedicated Bonic computer question (Message 9219)
Posted 30 Mar 2007 by River~~
Post:
so *does* anyone know where the forums are for the BONIC project?

;)





/\
||
\=NB the use of a smiley to indicate humour.


Or humor, as the case may be


;)

^
|
NB the use of repetition to reinforce a suggestion made humo(u)ro(u)sly.



;) R~~

4) Message boards : BOINC client : Using BBCode (Message 9218)
Posted 30 Mar 2007 by River~~
Post:
Hi all,

here is a suggestion for our new friend, and a suggestion for the devs.

On the subject of bbcode, here is how you include an image:

[ img ] http://boinc.berkeley.edu/dev/user_profile/images/2238_avatar.jpg [ /img ]

which when you take the spaces out of the tags gives



The image can be one from the current server (sometimes called "including" an image), or from any other server on the net ("transcluding" an image). Many of us do that to make our stats appear in our sigs, for example.

Now, here comes a suggestion for the devs:

The http standards advise us always to include a text alternative to an image, for the convenience of users using Lynx, or users who can't see, or both.

For the convenience of everyone else, on most modern browsers the alt text shows in a bubble when you roll over the image.

The bbcode as currently implemented does not allow any of this. It is just an image and nowt else.

My suggestion on this would be to implement the following, in the spirit of the two forms of the [ url ] tag:

[img=http://boinc.berkeley.edu/dev/user_profile/images/2238_avatar.jpg]alt text[/img]

To future readers: if you see a graphic immediately above, you know that my suggestion has been adopted ;-)

The existing form of the [ img ] tag would remain, of course, to provide compatibility.

River~~
5) Message boards : BOINC client : remote_hosts.cfg - ranges/subnets? (Message 9217)
Posted 30 Mar 2007 by River~~
Post:
The same as Bourne shell script:

-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
#!/bin/sh
for I in `seq 1 254`; do
echo "10.23.0.${I}"
done
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-

I usually do it like this in bash:

#!/bin/bash
for (( I=1; I<=254; I++ )); do
echo "10.23.0.${I}";
done


so nobody thought of the obvious, then?

DIMENSION F(4)
F = 14H(9H 10.23.0.,I1)
DO 10 I=1,254
IF (I.EQ.10) F = 14H(9H 10.23.0.,I2)
IF (I.EQ.100) F = 14H(9H 10.23.0.,I3)
10 WRITE(6,F)I
END


;)


But seriously, thanks for passing my suggestion on to the devs, Nicolas, as my point was that the code should be written once and put in the client, not re-written every time someone wants to do it.

R~~
6) Message boards : BOINC client : leakage of private IP address (Message 9216)
Posted 30 Mar 2007 by River~~
Post:
I have been concerned for some time about the leakage of private IP addresses from the client. This occurs every time the client updates to the server, it sends the local subnet address of the host rahter than the public (NAT'ed / MASQ'ed) address.

This is useful to some users with several boxes on the same internal LAN, it helps to disambiguate them in the host listings, and indeed helps the server to do the same thing in some cases.

The IP is 'hidden' on the website, that is it is only returned to the user if the user asks for it.

On the other hand, I believe I am right in saying that the upload of the local IP address happens on every connection, and is not encrypted in any way (unless the project runs its server on https). If I am wrong, someone please let me know!

If I am right, then anyone on the route from client to server can sniff the packet and see the IP address.

Well, so what?

The issue is that crackers, like other spies, often get in by combining several small pieces of info that taken one at a time seek innocuous. One of the many simple rules that we are advised to follow in designing a firewalled LAN is not to divulge the internal addresses outside the LAN. For example, if a cracker sneaks a packet into the LAN by some other means, it is useful to him/her to be able to spoof it as coming from a genuine internal address.

This is one of the reasons that the relevant RFC says (part 3)
Indirect references to such addresses should be contained within the enterprise.

In fairness, the examples given are of indirect refs at the routing level (eg leaky routers and ISP's), but these are only examples and I'd suggest that BOINC is currently outside the spirit (at least) of the RFC.

So, what easy fixes are there?

Can this info be encrypted?

Could it be sent hashed with the user's auth, so that the server can tell IP's apart bu5t does not know the exact IP (protects against crackers from a naughty project collecting info)

Alternatively, if neither of the above are easy to implement, the user should have the option of witholding the info -- I'd suggest for backward compatibility that withheld IP's are replaced with 127.0.0.0 (clearly a dummy) or 127.0.0.1 (as if localhost, which some boxes transmit anyway).

Better, the default could be to send 127... and only release the 'true' address if specifically authorised by a new project-level preference, or by a setting that is only available in the local override XML file(s).

User/file settings could be to toggle between 127... and the true local address, or be a three way choice, localhost, local private address, or some spoof address entered directly by the user. For the astute user the last would be the best way of disambiguating his/her boxes.

R~~
7) Message boards : BOINC client : Official 64 bit clients (Message 9068)
Posted 24 Mar 2007 by River~~
Post:
Given that 32bit can/will run on 64bit - how about BOINC implementing the following support -

a client that reports itself as 64 bit (don't care if it's compiled as a 32bit or 64bit executable)...


or alternatively, add a command line option to the standard client to ask for a specified platform before it asks for the platform that is native to itself. That then allows all kinds of flexibility in future, but with it being a command line option it will only be used by those who are bright enough to figure out how to invoke it, which with any luck might even include those who know what they are doing.

R~~
8) Message boards : BOINC client : Official 64 bit clients (Message 9067)
Posted 24 Mar 2007 by River~~
Post:
...Aaron never said he needs a 64bit client. He did say he needs the 64bit OS to be able to use more than 4GB of memory. He likes to have a 64bit BOINC client, never said he needs one.


My mistake, I must have read his post half a dozen times and misread it each time.

I apologize

if that's allowed on the 'net? ;-)

R~~
9) Message boards : BOINC client : remote_hosts.cfg - ranges/subnets? (Message 9065)
Posted 24 Mar 2007 by River~~
Post:
Can we use a range of ip addresses in the remote_hosts.cfg file?

Or a subnet?

I mean I'd like to be able to say

10.23.0.0/24

or

10.23.0.1-254

or suchlike to allow any machine from a specified subnet or range to connect. neither of these work, giving an error message like

Can't resolve hostname [10.23.0.1-254] host not found

so it appears to think it is a domain not an IP range. The other format gives a similar error.

Can I make a request for at least one of these formats to be included in a later release, unless there is a pre-existing work-around.

My specific application is to allow a box that comes in on a VPN to be allowed to BoincView the boxes within that net, but apart from knowing I will be on that subnet I don't know in advance what IP I will have. If I think I trust the other folk VPN-ing in, that should be up to me, shouldn't it?

I am sure others will find a use for this extension if offered, and of course it would make no difference to people setting up a list of single IPs.

River~~
10) Message boards : BOINC Manager : Trojan boinc installation by rogue member (Message 9033)
Posted 23 Mar 2007 by River~~
Post:
If anyone is in contact with the CPDN admins, or any other major project that has already taken action, please ask them to contact the Predictor admins privately to confirm the status of Wate, and to suggest that P@h is not doing itself nor BOINC generally any favours by appearing to do nothing.

If P@h are doing some investigation behind the scenes, then that could be announced, and would reassure many, including me.

River~~
11) Message boards : BOINC client : Official 64 bit clients (Message 9029)
Posted 23 Mar 2007 by River~~
Post:

Even then, you would not need a 64bit client. A 32 bit client, using <4Gb itself, can run on a 64bit OS and can tell the OS to start/stop a 64bit app.


Don't care.

Didn't say need, said like to see. Meaning - I just want it.


Actually, you said *need* (your stars, not mine) as well as like.

You want it, that's fine, I've no problem with folks saying what they want/like, I do it myself alot; but you don't need it, not even need it in order to use all your RAM.

R~~
12) Message boards : BOINC Manager : Still doesn't detect user activity on Win98 (Message 8999)
Posted 22 Mar 2007 by River~~
Post:
Sure would be nice to have a "run as screensaver only" option.

But that's impossible, as not all BOINC projects have graphics/a screen saver. ...
So you'd see the more standard BOINC blue logo bouncing around your screen.


So it is not impossible, it would just mean that on those projects the s/s was rather uninteresting. The point of the suggestion, if I understodd it aright, was not to look at the s/s, but as a workaround to BOINC not noticing user activity to press the win98 code into service to start/stop the s/s at relevant times

Seems a viable workaround to me, if the boinc s/s can be loaded whenever the running project does not have one on offer.

R~~
13) Message boards : API : GUI API & Perl (Message 8998)
Posted 22 Mar 2007 by River~~
Post:
... Try replying to my post and see what shows up. ...


In Firefox on win2k they go to "?03"

In Firefox on KDE (Debian Linux) they show more than one behaviour
- in the setting of $/ they go to "03" (odd char disappears totally)
- in the print strings they go to a different weird symbol to yours

In IE6 on win2k they go to "03" (odd char disappears totally)

In Konqueror (KDE, Debian Linux) they go to " 03" (odd char becomes space)

The strange character must be produced by some layer in the CGI mistakenly applying the backslash and then being re-transmogrified by the various browsers.

I wonder if this is connected with two other oddities in the forum software
- the way apostrophes sometimes pick up backslashes for no apparent reason
- the way extra lines are interpolated into [ code ] and [ pre ] blocks

R~~
14) Message boards : API : GUI API & Perl (Message 8984)
Posted 22 Mar 2007 by River~~
Post:
By the way, the script is not intended to be production quality but simply a demo of how to set up a channel that can be read and written to, and one way to code the auth steps in perl.

I have already noticed two more bugs, and there are bound to be more, which I will leave the reader to find. The two I now know about are:

Sometimes the client gets upset by the message arriving in chunks, and it would therefore be better to concat all the lines into a single variable and print in one go.

It does not test the sends to see if they work, you might want to do this, one way would be something like

(print $client $message) || die ".... $!";

R~~
15) Message boards : API : GUI API & Perl (Message 8982)
Posted 22 Mar 2007 by River~~
Post:
Just because I can:...


:-)
R~~

It makes my code look a lot better, thank you!

edit - PS
Anyone copying the code please copy from the monocolour posting, as the backslashes on all the newlines got eaten in the copying / colourisation.
What is really odd is that the backslashes on the ctrl-c's ( \003 )
survived.
16) Message boards : API : GUI API & Perl (Message 8972)
Posted 21 Mar 2007 by River~~
Post:
OK, here is a demo program to help others up the learning curve I just climbed in this thread. Big thanks again to Nicolas. Enjoy!

#!/usr/bin/perl -w
#
# boincdemo
#
# (c) River 2007
#
# GPL applies, please see http://www.gnu.org/licenses/gpl.txt
#
# This script connects to the chosen BOINC client, authorizes,
# and then allows the user to enter commands as required

use IO::Socket;
use Digest::MD5 qw(md5_hex);

print "host? (name or IP or <return> for localhost)\n";

$host=<STDIN>;
if ( $host =~ /^\n$/ ) {
$host = 'localhost';
} else {
$host =~ s/\n//;
}

my $client = new IO::Socket::INET (
PeerAddr => $host,
PeerPort => '31416',
Proto => 'tcp' );

die "could not open socket to host $host" unless $client;

print "pwd? (<return> to use pwd from file in this directory)\n";

$pwd=<STDIN>;

if ( $pwd =~ /^\n$/ ) {
open (PWD, '< ./gui_rpc_auth.cfg') || die "can't read password file $!";
$pwd = <PWD>;
close PWD;
}
$pwd =~ s/\n//;

print $client "<boinc_gui_rpc_request>\n",
"<auth1/>\n",
"</boinc_gui_rpc_request>\n\003";

{
local $/ = "\003";
$reply = <$client>;
}

$reply =~ ?<nonce>(.*)</nonce>?;
$nonce = $1;
$hash = md5_hex($nonce, $pwd);
print $client "<boinc_gui_rpc_request>\n",
"<auth2>\n",
"<nonce_hash>$hash</nonce_hash>\n",
"</auth2>\n",
"</boinc_gui_rpc_request>\n\003";

{
local $/ = "\003";
$reply = <$client>;
}
die "password rejected by $host" unless $reply =~ ?<authorized/>?;

print "\nConnected to $host\n\n",
"Please enter XML for client\n",
"blank line to receive reply\n",
"(gui_rpc tags added automatically)\n\n";

$cmd = <STDIN>;

do {
print $client "<boinc_gui_rpc_request>\n",
$cmd;
until ( $cmd =~ /^$/ ) {
print $client $cmd;
$cmd = <STDIN>;
}
print $client "</boinc_gui_rpc_request>\n\003";

{
local $/ = "\003";
$reply = <$client>;
}
print $reply;

print "\nPlease enter more XML, or blank line to exit\n\n";

$cmd = <STDIN>;
} until ( $cmd =~ /^$/ );

close $client;
1
17) Message boards : API : GUI API & Perl (Message 8968)
Posted 21 Mar 2007 by River~~
Post:
... requests should be finished with ... a single byte of value 0x03. I have noticed in practice that the core client doesn't really care about that finishing byte

at least when the preceeding items are correctly presented.

When the preceeding items are wrong for some reason, like River making up the coding as it goes along, the ^C / chr(3) / 0x03 stops the client falling off the end, which is another reason why, as you say
... it's always better to follow protocol specs correctly ...


;-)

Thanks for the pointers to the C code - the most helpful thing to find was the function that prepares the hash that is used in the <auth2> response - there was no way to work that out from analysis of passing packets. I'd noticed it was a hex number of the right length to be an MD5, and hopefull I'd have guessed to simply concat the challenge with the password, but it makes it a lot easier to read the C and *know* what effect the code needs to have.

River~~
18) Message boards : BOINC client : Official 64 bit clients (Message 8967)
Posted 21 Mar 2007 by River~~
Post:
I *need* a 64-bit OS to use that much ram.. It seems rational that I would like to see a 64-bit client, since it's the reason I need a 64-bit OS.


ummmm


You need a 64bit OS to use that much RAM, true

You need a 64bit OS to use >4Gb from one task, true

You need a 64bit OS to run several tasks and take advantage of that much RAM, true

*but* the task only needs to be 64 bit if the task itself wants >4Gb. Assuming even distribution of memory across tasks, the point where you need a 64bit task is when memory > ncpu * 4Gb.

Even then, you would not need a 64bit client. A 32 bit client, using <4Gb itself, can run on a 64bit OS and can tell the OS to start/stop a 64bit app.

In that situation, where the project had an app the genuinely used >4Gb you could either run from a 64bit client, or even then you could run from a 32-bit client but you would have to make sure the client asked for 64-bit apps.

Until we get apps > 4Gb, there is only a small gain to be made by going to 64bots in the app -- and some projects would see a performance loss due to the time and cache space taken by loading the longer words.

Hope that reassures.
19) Message boards : BOINC client : Network status resumes spontaneously (Message 8966)
Posted 21 Mar 2007 by River~~
Post:
I had this same problem with BoincView on one remote linux box. I had to go to the remote box and use BOINC Manager to set the network to suspended to stop the on/off loop. After setting it locally, BV was able to change it remotely without further problems.


Not for me, tried that

(edit) I mean, tried with local boinc_cmd, I can't try with a local manager as no X on that box

...

Also, which version of BV are you using? I believe BV 1.4.1 or higher is recommended for the 5.8.x clients.


v1.2.2 - I installed an 1.4.x but couldn't get the config file to transfer from the old version, not even by pasting in the [path0] segments manually into the new one - no idea what was wrong. Haven't had time to set up all 17 locations individually again, nor time to sort out what I was doing wrong, so went back to 1.2.2. That is clearly a BV issue, not a BOINC one, so I am not expecting answers here.

OTOH, I don't see that the network resumption is a BV issue, the client gets the message and acts on it. The resume is different from a BV resume, there is no "at user request" tagged on the back of it.
20) Message boards : BOINC Manager : Device Name (Message 8955)
Posted 21 Mar 2007 by River~~
Post:
one comment was to not meddle with the localhost.localdomain name giving of 127.0.0.1. Not delved into why or why not.


The names localhost and localhost.localdomain must both resolve to 127.0.0.1 unless you really really know what you are doing. Many *nix programs connect to localhost meaning the local machine, rather fewer automatically append a domain name which defaults to localdomain.

For example, you might discover if you use a gui for Linux, KDE of gnome, it may tell X to draw the window on localhost - change the value of localhost in the hosts file and your window will come up on some other machine, if the other machine knows what to do with the request... Even if that is what you wanted, changing localhost is not the way to do it.

Certainly BoincMgr assumes localhost by default.

Adding more aliases to that ip address is no problem, as in the example I gave before. Taking away the two assumed ones is strictly for experts.

R~~


Next 20

Copyright © 2024 University of California.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.