Chris Frey | 11 Jul 2012 00:29

Re: linberry's source code

Hi Israel,

I've finally had time to take a look at the source code you've released
so far, for linberry beta2.  Unfortunately, it does not appear to contain
everything needed to build linberry completely from source.

I found some source code to bbtether (now known as Barry4All)
and I found Barry's source code included, which was merely renamed to
"linberry"... both the library name and the C++ namespaces were renamed,
but the code was mostly the same.

I found a 20MB linberry binary in the .deb release package, which does
not match the 17MB linberry binary in the Source tarball.  It is unclear
how to rebuild that binary from the source tarball, since there are no
Makefiles included, except the ones copied from Barry.  Nor can I find
the source files to that large binary.

I found a libtar.so library under the patch directory, but there is no
source code included to show what was patched.

In fact, there are a lot of .so files, but the source code to them appears
to be missing.  Some of these .so files are linked to Barry as well, which
is GPL.

I grabbed the Source tarball from the link on your website here:

	http://linberry.webcindario.com/pages/descargar.html

which gave me the download link here:

(Continue reading)

Chris Frey | 11 Jul 2012 02:10

Re: linberry's source code

On Tue, Jul 10, 2012 at 11:03:41PM +0000, Israel Marrero M  wrote:
> The libtar, is the same project of the libtar for debian... I have no
> make modifications. I Just use the binary
> 
> Is included as a patch for the ubuntu libtar beacause an error on
> backup... But is the same libtar for debian

Good to know, thanks.

> Excuse my english is not good.

No problem.

- Chris

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
Chris Frey | 11 Jul 2012 02:15

Re: linberry's source code

On Tue, Jul 10, 2012 at 10:52:57PM +0000, Israel Marrero M  wrote:
> Everithing  you need to see and compile  the source of linbeery is in
> the tarball but for the ide you need a professional license of realstudio
> 2011 r4.1 for linux.

Didn't know that, thanks.

> there in the root of the tarball is de rbl file: Linberry.rbl

The only *.rbl files I can find are:

	~/linberry/Source$ find . -name "*.rbl"
	./traducciones lingua/linberry2frances.rbl
	./traducciones lingua/linberry2ingles.rbl
	./traducciones lingua/linberry2aleman~.rbl
	./traducciones lingua/linberry2italiano.rbl
	./traducciones lingua/linberry2protugues~.rbl
	./traducciones lingua/linberry2protugues.rbl
	./traducciones lingua/linberry2aleman.rbl
	./traducciones lingua/linberry2italiano~.rbl

> Other parts  are in phyton compiled with cxfreezze, but there is the source.

The only *.py files I can see are under the "Blackberry modem/bbtether/"
directory.  Are these the files you mean?

Is there a different source tarball that I missed?

Thanks,
- Chris
(Continue reading)

Chris Frey | 11 Jul 2012 03:17

Re: linberry's source code

On Tue, Jul 10, 2012 at 07:47:11PM -0430, Israel Marrero wrote:
> excuseme the file is  linberryB.rbp in the root of the tarball

Thanks.  I see it now... unfortunately I don't have realstudio yet, so
it's a little hard to read. :-)

In the linberryB.rbp file, you write:

	Linberry Desktop Manager

	Is an alternative to RIM Blackberry Desktop manager . It has been
	designed for ubuntu, but maybe	work on other Linux distributions.

	Linberry was designed by Israel Marrero (PuntoAzul)
	israel_marrero@... and has released the first alpha in
	December 2010.

	The author allows the use of this software without any warranty
	and is not responsible for damage that may cause the software
	to any device or PC, use it at your own risk!

	- LinBerry DM is a software created by Israel Marrero.
	- BlackBerry is a trademark of Research In Motion Inc.
	-Tux is the official Linux mascot created by Larry Ewing

	Acknowledgements:
	* To Jehova, the lord of Universe, without Him nothing is possible.
	* To Yelitze My wife, my son Misael and my parents Marcelina
	and Tito for standme always.
	* to my friend Erik Muoz, brother: you're always there when I needed
(Continue reading)

Bojan Vondra | 11 Jul 2012 15:34
Picon
Favicon

Re: Barry-0.18.3 on openSUSE-12.1

Hi Chris

Yes, kdesu or gnomesu are both graphical front ends for executing
command as another user, usually root.

Rgds
Bojan

On Uto, 2012-07-10 at 16:50 -0400, Chris Frey wrote:
> Upon checking my notes, it seems kdesu is the way it is done on openSUSE.
> Is this true in your experience?
> 
> Thanks,
> - Chris
> 
> 
> On Tue, Jul 10, 2012 at 04:40:52PM -0400, Chris Frey wrote:
> > Hi Bojan,
> > 
> > Thanks very much for your patches.  I'll take some time to go through them.
> > 
> > It would be really nice if it were possible to avoid compiling beesu
> > specifically for openSUSE.  Do you know of any similar program which
> > is available by default in the openSUSE repositories?  That's what I'd
> > really like to use, and that should only require a ./configure option
> > change in the spec file, instead of compiling a whole new dependency.
> > 
> > How does openSUSE request the root password when doing system changes?
> > 
> > Thanks,
(Continue reading)

Toby Gray | 16 Jul 2012 13:10
Favicon

WinCE port of Barry

Hi,

I've been working on a port of Barry to WinCE. It's currently sitting in the "wince" branch on my github:
https://github.com/tobygray/barry/tree/wince

I don't think it's currently in a state to merge back into barry as I've made a few changes which I'm not entirely sure about if they are the best thing to do.

The main commit which adds WinCE support is https://github.com/tobygray/barry/commit/d660a40f21b823510e5b81113f20fe4af3c3974a. This adds a wince directory in the root to contain the build files and implementations of some functions not present on WinCE, such as getopt and sleep. I have a feeling that these headers and source code should probably be moved into /src, to go near pre-existing support code such as getpwuidandroid.cc. Would that make sense?

I have already done similarily for configfile.cc, splitting it up into common code, code for unix systems and code for win32 systems in https://github.com/tobygray/barry/commit/36131b090c3d6c1c34af441b40868b3b094fa66b

As WinCE doesn't have tr1 support I had to change how the shared_ptr support in Barry was referenced. Instead of directly referencing tr1::shared_ptr, I changes this so that there is Barry::tr1::shared_ptr which is provided by boost::shared_ptr on WinCE and by tr1::shared_ptr on all pre-existing platforms.

This was done in https://github.com/tobygray/barry/commit/b4a70d9f7feedaa52bebe46d78e7dce880e73b74. I'm not entirely happy with this, especially as it changes the external API for libbarry, but I couldn't think of an alternative solution.

I added support for brawchannel to read and write the channel data over TCP, instead of STDIN and STDOUT as WinCE doesn't have great terminal support. This has made tools/brawchannel.cc a bit of a mess of #ifdef WIN32. I think the best thing to do is to split it into tools/brawchannel.cc, tools/brawchannel_unix.cc and tools/brawchannel_win32.cc. Does that make sense?

I noticed a couple of issues with routing of data and sequence packets early on in channel setup if the device sends data to the PC quickly. I fixed these in https://github.com/tobygray/barry/commit/ebbdf4c9d5868a69d636119da354547918c70e1a and https://github.com/tobygray/barry/commit/6dff36f6c2cd1ef2c0006af2baebbf5ee0c0c291

The rest of the commits are a combination of changes to the code to fix warnings or errors from the Microsoft compiler. If the commit messages aren't detailed enough for any of these then let me know and I'll fill in the gaps (and update the commit messages).

Regards,

Toby
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Barry-devel mailing list
Barry-devel@...
https://lists.sourceforge.net/lists/listinfo/barry-devel
Chris Frey | 17 Jul 2012 05:56

Re: WinCE port of Barry

On Mon, Jul 16, 2012 at 12:10:28PM +0100, Toby Gray wrote:
> Hi,
> 
> I've been working on a port of Barry to WinCE. It's currently sitting in 
> the "wince" branch on my github:
> https://github.com/tobygray/barry/tree/wince

Thanks Toby!  Looks like a fair bit of code... I'll probably have more
comments after I review it more closely.

> The main commit which adds WinCE support is 
> https://github.com/tobygray/barry/commit/d660a40f21b823510e5b81113f20fe4af3c3974a. 
> This adds a wince directory in the root to contain the build files and 
> implementations of some functions not present on WinCE, such as getopt and 
> sleep. I have a feeling that these headers and source code should probably 
> be moved into /src, to go near pre-existing support code such as 
> getpwuidandroid.cc. Would that make sense?
> 
> I have already done similarily for configfile.cc, splitting it up into 
> common code, code for unix systems and code for win32 systems in 
> https://github.com/tobygray/barry/commit/36131b090c3d6c1c34af441b40868b3b094fa66b

With all the headers in wince/, I'm tempted to try to keep wince-specific
code in its own directory, since it will likely be larger than a simple
file here or there like android.

None of Barry is specifically written with '/' vs. '\' in mind, so you
kind of have your work cut out for you, in those spots. :-)  Fortunately,
most of that code is in the GUI code, I think.  I would sincerely like to
keep such things as low level and out of the way as possible, so I like
what you've done with configfile.cc so far.

What do you think of creating a static library in wince/ which is linked
to the main library when building for Windows?  Maybe that's what you're
doing already.

> As WinCE doesn't have tr1 support I had to change how the shared_ptr 
> support in Barry was referenced. Instead of directly referencing 
> tr1::shared_ptr, I changes this so that there is Barry::tr1::shared_ptr 
> which is provided by boost::shared_ptr on WinCE and by tr1::shared_ptr 
> on all pre-existing platforms.
> 
> This was done in 
> https://github.com/tobygray/barry/commit/b4a70d9f7feedaa52bebe46d78e7dce880e73b74. 
> I'm not entirely happy with this, especially as it changes the external API 
> for libbarry, but I couldn't think of an alternative solution.

I think it's better to go in the other direction.  For systems that don't
have tr1, then:

namespace std {
	namespace tr1 {
		using boost::shared_ptr;
	}
}

I hope that's possible. :-)  It might even prevent the need to bump to 0.19.

> I added support for brawchannel to read and write the channel data over 
> TCP, instead of STDIN and STDOUT as WinCE doesn't have great terminal 
> support. This has made tools/brawchannel.cc a bit of a mess of #ifdef 
> WIN32. I think the best thing to do is to split it into 
> tools/brawchannel.cc, tools/brawchannel_unix.cc and 
> tools/brawchannel_win32.cc. Does that make sense?

Yes, avoid #ifdefs if at all possible, please. :-)

More comments as I read through the code.

Thanks!
- Chris

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
Chris Frey | 21 Jul 2012 08:46

Re: WinCE port of Barry

On Mon, Jul 16, 2012 at 12:10:28PM +0100, Toby Gray wrote:
> The rest of the commits are a combination of changes to the code to fix 
> warnings or errors from the Microsoft compiler. If the commit messages 
> aren't detailed enough for any of these then let me know and I'll fill 
> in the gaps (and update the commit messages).

I'm merging in the obvious fixes into master, and the changes that I think
might need to wait until version 0.19.0 (due to abi changes, etc), I've put
in a new branch v0.19.0.  Expect that branch to be rebased on master
periodically.  I'm not quite done yet.

You should be able to rebase your branch onto the v0.19.0 branch to see
what I haven't processed yet.

Some questions:

1)

Can you explain why you need a lock() member in scoped_lock?
The idea behind scoped_lock is to force its use in a scoped section,
to prevent forgotten unlocks and to make the sections obvious.

Was there a real need for it?

2)

Author: Toby Gray <toby.gray@...>
Date:   Thu Jun 7 15:46:53 2012 +0100

    lib: Fixing incorrect forward declaration of ProbeResult as a struct, it's r
eally a class.

diff --git a/src/controller.h b/src/controller.h
index 8e3ba85..41727c7 100644
--- a/src/controller.h
+++ b/src/controller.h
 <at>  <at>  -32,7 +32,7  <at>  <at>  namespace Barry {

 // forward declarations
 class SocketRoutingQueue;
-class ProbeResult;
+struct ProbeResult;

 class PrivateControllerData;

Is this a problem with the Microsoft compiler?  I believe that strictly
speaking, according to the C++ spec, class and struct can be used
interchangeably.

Thanks,
- Chris

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
Chris Frey | 25 Jul 2012 08:25

Re: WinCE port of Barry

On Mon, Jul 16, 2012 at 12:10:28PM +0100, Toby Gray wrote:
> I noticed a couple of issues with routing of data and sequence packets 
> early on in channel setup if the device sends data to the PC quickly. I 
> fixed these in 
> https://github.com/tobygray/barry/commit/ebbdf4c9d5868a69d636119da354547918c70e1a 
> and 
> https://github.com/tobygray/barry/commit/6dff36f6c2cd1ef2c0006af2baebbf5ee0c0c291

I'm not overly keen on the TransferInterest() function.  For one it
requires the non-scoped version of the scope_lock class, which I haven't
merged.  And for another, it adds a new call point for callbacks.

Ideally, callbacks should occur from the same thread that calls DoRead,
whatever application thread is doing that main processing.  I don't
think it is guaranteed that the worker thread will call TransferInterest().
In fact, I think it is likely that it won't.

Is there a way to avoid TransferInterest completely?  The application is
in control of its read thread, and so is the raw channel code, if I'm
not mistaken.  Is there no way to drain the incoming queue before we
transfer interest to a callback?

Thanks,
- Chris

P.S.  I haven't heard much from you in response to my queries.  If you're
	just busy, that's ok, but if you're waiting for something from me,
	please do let me know. :-)  I've merged all I can so far.

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
Toby Gray | 25 Jul 2012 12:30
Favicon

Re: WinCE port of Barry

On 25/07/12 07:25, Chris Frey wrote:
> On Mon, Jul 16, 2012 at 12:10:28PM +0100, Toby Gray wrote:
>> I noticed a couple of issues with routing of data and sequence packets
>> early on in channel setup if the device sends data to the PC quickly. I
>> fixed these in
>> https://github.com/tobygray/barry/commit/ebbdf4c9d5868a69d636119da354547918c70e1a
>> and
>> https://github.com/tobygray/barry/commit/6dff36f6c2cd1ef2c0006af2baebbf5ee0c0c291
>
> I'm not overly keen on the TransferInterest() function.  For one it
> requires the non-scoped version of the scope_lock class, which I haven't
> merged.  And for another, it adds a new call point for callbacks.

Both of those are good points.

> Ideally, callbacks should occur from the same thread that calls DoRead,
> whatever application thread is doing that main processing.  I don't
> think it is guaranteed that the worker thread will call TransferInterest().
> In fact, I think it is likely that it won't.

That's also a very good point.

> Is there a way to avoid TransferInterest completely?  The application is
> in control of its read thread, and so is the raw channel code, if I'm
> not mistaken.  Is there no way to drain the incoming queue before we
> transfer interest to a callback?

I did start by trying to do something similar but couldn't work out how 
to avoid the race between draining the incoming queue and registering 
the callback interest. If the registering of the callback is done first 
then it's possible for callbacks for new data to occur before the 
incoming queue is flushed.

I think the alternative would be to support registering the callback 
before the socket is opened so that the packets can be routed correctly 
by the read thread while the thread opening the socket is still inside 
SocketZero::Open(). Unless I hear otherwise, I'll have a go at doing it 
this way and send an email to the list once I get some spare time.

> P.S.  I haven't heard much from you in response to my queries.  If you're
> 	just busy, that's ok, but if you're waiting for something from me,
> 	please do let me know. :-)  I've merged all I can so far.

Sorry about taking so long to respond, I'm not waiting for anything from 
you, I'm just busy. I wanted to respond to your comments with suggested 
code fixes, but just as I think I've got time to do that something else 
turns up.

Regards,

Toby

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/

Gmane