Beagle Networking

Hey guys,

I just committed experimental networking support for beagled. It allows
you to search other beagled peers for data.



1. NetworkService - Provides a network interface to beagled. Inserts a
query coming in on the wire into querydriver and uses HitAuthenticators
to authenticate hits sent back to the peer that sent the query. Note
that it's only the hit that is sent back, and no acual files. 

2. HitAuthenticators - Authenticates hits that are about to be returned
to the peer sending the query. HitAuthenticators should rewrite the
Hits' Uris into something meaningfull and allows the remote peer to
access the data. 

User authentication is not yet implementend but I've checked in a
BasicAuthenticator that can be use to share public data. The BA reads
~/.beagle/shares.cfg for data that is allowed to be returned. The
configuration file might look like this:


This works great if you're sharing a directory with Apache. In a
workgroup, it's also pretty nice to be able to install beagled on the
workgroup server where the data is shared with Samba.


Where the /home/shared must be the $HOME of the user running beagle.

3. NetworkDriver - Provides an interface to query remote beagled peers.
It maintains a list of both dynamic and static peers. Static peers are
read from ~/.beagle/peers.cfg and looks like this:

And the dynamic peers are loaded with Rendezvous. The mDnsResponder
package must be present (I'm currently running CVS) and the
mDnsResponderExe must be running. 


As a precausion, you have to add a --enable-network flag at both
configure, and compile time to load the network service.

That's pretty much it. It's very experimental so feedback's very
welcome, there is a lot left to fix. First of all, we need to make sure
the Tiles aren't asuming that hits are local files all the time.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]