BarracudaDrive source code now available for DD-WRT

Post new topic   Reply to topic    DD-WRT Forum Forum Index -> Contributions Upload
Author Message
surfskidude
DD-WRT Novice


Joined: 23 Jan 2014
Posts: 5

PostPosted: Thu Jan 23, 2014 18:19    Post subject: BarracudaDrive source code now available for DD-WRT Reply with quote
We have released the BarracudaDrive source code and the code can now be downloaded from SourceForge as follows:
svn export svn://svn.code.sf.net/p/mako-server/code/ mako

We include instructions on cross compilation in the two readme files. We have also setup the build environment for our test router, which is a Buffalo WZR-HP-AG300H.

After modifying the two makefiles and fixing the path to the cross compiler, the MIPS version can be built as follows:

cd mako/
rm MakoServer/mako.zip
cd plugins/BarracudaDrive/C
make DD_WRT=true MIPS=true
cd ../lua/rtl/
zip -9 -r ../../../../MakoServer/mako.zip .
cd ../../../../MakoServer
make DD_WRT=true MIPS=true



See the following pages for details:
http://barracudadrive.com/
http://makoserver.net/download/source-code/
Sponsor
BrainSlayer
Site Admin


Joined: 06 Jun 2006
Posts: 6866
Location: Dresden, Germany

PostPosted: Fri Mar 14, 2014 10:13    Post subject: Reply with quote
interesting. but the obfuscated sourcecode makes it hard to fix bugs. consider that dd-wrt is not just available for mips routers. i already have seen issues with compiling the sourcecode on 64 bit platforms
_________________
one cigarette costs 2 minutes of your life.
one bottle of beer costs 4 minutes of your life.
one working day costs 8 hours of your life.

Yummee:
Linux DD-WRT 4.14.8 #42 SMP PREEMPT Thu Dec 21 18:11:16 CET 2017 armv7l DD-WRT
root@DD-WRT:/sys# nvram get DD_BOARD
Netgear R7800
surfskidude
DD-WRT Novice


Joined: 23 Jan 2014
Posts: 5

PostPosted: Fri Mar 14, 2014 22:31    Post subject: Reply with quote
It is only the Barracuda Application Server (BAS) library that is obfuscated. All other components are delivered as standard source code. If you happen to find any bugs in BAS, please provide a test case, and the errors will be fixed promptly.

All code should work on 64 bit, but you must set the compile time macro BA_64BIT. You can find this macro in the makefile. Please elaborate on the exact problems you have with 64 bit.

BTW, is the 64 bit for a router? I was not aware of any routers that are powered by a 64 bit CPU. I want this router Smile
BrainSlayer
Site Admin


Joined: 06 Jun 2006
Posts: 6866
Location: Dresden, Germany

PostPosted: Sun Mar 23, 2014 14:42    Post subject: Reply with quote
the following targets must validated to be working

X86 32 bit/64 bit (dd-wrt is available for x64 targets already)
ARM Litte Endian (ARMV7 for broadcom bcm4708 based routers)
ARM Big Endian (Xscale)
PowerPC Big Endian (MPC85xx)
MIPS Little Endian (older broadcom devices)
MIPS Big Endian (Atheros SOC)

toolchains which are used are mainly GCC 4.8 Linaro
especially on arm routers you are dealing not just with endian problems, but also with data structure alignment problems. this is what i found out while working with these devices.
so if data structures are not correctly defined, the size may differ on this architecture and gets incompatible

_________________
one cigarette costs 2 minutes of your life.
one bottle of beer costs 4 minutes of your life.
one working day costs 8 hours of your life.

Yummee:
Linux DD-WRT 4.14.8 #42 SMP PREEMPT Thu Dec 21 18:11:16 CET 2017 armv7l DD-WRT
root@DD-WRT:/sys# nvram get DD_BOARD
Netgear R7800
BrainSlayer
Site Admin


Joined: 06 Jun 2006
Posts: 6866
Location: Dresden, Germany

PostPosted: Sun Mar 23, 2014 14:50    Post subject: Reply with quote
and regarding to source obfuscation. this is also a security concern. nobody can audit the source for backdoors etc.
_________________
one cigarette costs 2 minutes of your life.
one bottle of beer costs 4 minutes of your life.
one working day costs 8 hours of your life.

Yummee:
Linux DD-WRT 4.14.8 #42 SMP PREEMPT Thu Dec 21 18:11:16 CET 2017 armv7l DD-WRT
root@DD-WRT:/sys# nvram get DD_BOARD
Netgear R7800
<Kong>
DD-WRT Guru


Joined: 15 Dec 2010
Posts: 4354
Location: Germany

PostPosted: Sun Mar 23, 2014 15:31    Post subject: Reply with quote
I also don't see any advantage in this as we already support Owncloud and Pydio in builds for targets that have enough cpu power for this.
_________________
KONG PB's: http://www.desipro.de/ddwrt/
KONG Info: http://tips.desipro.de/
surfskidude
DD-WRT Novice


Joined: 23 Jan 2014
Posts: 5

PostPosted: Sun Mar 23, 2014 16:26    Post subject: Reply with quote
Although not tested using DD-WRT, the above mentioned platforms and HW are in use by many products based on BAS (Barracuda Application Server library). The obfuscated BAS lib is configured such that it should work regardless alignment/endian, however, you must use proper defines such as B_BIG_ENDIAN/B_LITTLE_ENDIAN and BA_64BIT for 64 bits CPUs. The company behind BAS is Real Time Logic and the purpose with releasing the obfuscated BAS lib is to enable communities such as DD-WRT to use a commercial product. Note: it's only BAS that has this restriction. All other components use MIT license. BAS is designed specifically for embedded use. BAS is not new and it is used by many large companies designing embedded system. In addition, BAS is also used by BarracudaDrive, which already supports many small embedded Linux systems. See the following for the list of pre-compiled targets: http://barracudadrive.com/download.lsp

Regarding your backdoor concern (and other concerns). BAS is just a library. It's an engine that will not work unless higher level code sets it up and configures it. All logic is in higher level code and this higher level code is released non obfuscated under MIT license. For example, opening the server's listening ports is done by a Lua script. You can find this code in either the Mako Server's ZIP file or in the BarracudaDrive's ZIP file. (The BarracudaDrive plugin completely replaces the logic in the original Mako Server).

See the following for more info on the BAS lib and its API:
http://realtimelogic.com/products/barracuda-application-server/
http://realtimelogic.com/ba/doc/

Note, the complete documentation is also included at the Mako Server site. Anyone that is interrested in learning how to make web apps for Mako Server should download the "Extended Web Application Development Tutorials" available here: http://makoserver.net/documentation/manual/

Regarding Owncloud, you'll find Mako Server and BarracudaDrive to be much faster on small devices. Also, the memory consumption is much less since BAS is designed for embedded use. In addition, the integrated SSL stack SharkSSL is very fast and supports the latest ciphers such as Elliptic Curves. Both BarracudaDrive and Mako Server are development platforms specifically designed to be extended.
surfskidude
DD-WRT Novice


Joined: 23 Jan 2014
Posts: 5

PostPosted: Fri Apr 11, 2014 23:35    Post subject: Reply with quote
Regarding security and the latest vulnerability in OpenSSL. The heartbleed is a software bug in OpenSSL, but the bug is not within the TLS specification itself.

The SharkSSL client/server TLS stack is not vulnerable to the problems found in OpenSSL. SharkSSL is the SSL/TLS stack used by BarracudaDrive.
Display posts from previous:    Page 1 of 1
Post new topic   Reply to topic    DD-WRT Forum Forum Index -> Contributions Upload All times are GMT

Navigation

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum