Re: [Harbour] Re: HBNETIO - How I tested ...

2009-09-18 Thread Viktor Szakáts

tcp is already giving you a fair piece of resiliance against
corruption. not to say more robust stuff is absolutely unimaginable,
but you are not completely naked in the dark.


Ok I painted a vague picture. I agree tcp is a proven technology but  
what

will happen with the following scenarios while creating an index:
1. Connection suddenly went off
2. Client app crash
3. Client app hang

To server and other clients?


Same thing as in a normal (file-server based)
scenario. NETIO replaces the file-IO layer, so
it can't do any more magic to solve above problems.

Brgds,
Viktor

___
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour


Re: [Harbour] Re: HBNETIO - How I tested ...

2009-09-17 Thread Przemyslaw Czerpak
On Thu, 17 Sep 2009, David Arturo Macias Corona wrote:

Hi,

 So the .dbf's are created in d: while indexs .z01's are created
 in the folder where these belong to. Now the question is why this
 behavior ? Przemek ?

It should be no difference. HBNETIO knows nothing about file type
or default file location. It simply creates files in places requested
by client.

 NetIO suggests that root of any server will never be allowed to
 be accessed. Am I correct?

By default NETIO server set as root directory the directory
which is returned by HB_DIRBASE(). In most of cases this function
should return absolute path to executed application (NETIO server).
You can test it by simple code:
   proc main()
  ? HB_DIRBASE()
   return
If HB_DIRBASE() doesn't return absolute path then the protection may
not work. In such way I suggest to set root path manually as 3-rd parameter
of NETIO_LISTEN() or NETIO_MTSERVER() functions. Please remember that
setting  disable protection and client can access whole disk.

In one of last commit I fixed typo which could cause that leading
dir separators were moved before root path, i.e. for root path c:\dir
when client was requesting \\file.xxx NETIO server was accessing file
\\c:\dir\file.xxx. I have no idea how it can be interpreted by some
OS-es. Maybe it was possible to use it to exploit the protection.

 Question remain: How you created .dbf files in d:\ (root dir) when
 netserver_os2.exe was running in d:\creative.ram\ ?

They are 4 possible answers:
1. HB_DIRBASE() does not return absolute path on your platform or
   simply returns empty dir. Can you check what it returns?
   Does it contain drive letter?
2. some strange root dir was explicitly set.
3. it was side effect of bug described above and you were using NETIO
   server without my fix (BTW please remember that you have to keep
   server and client version fixed)
4. there is still problem and in some situations (some OS/FS) it's
   possible to break NETIO root dir protection.

best regards,
Przemek
___
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour


Re: [Harbour] Re: HBNETIO - How I tested ...

2009-09-17 Thread Jerry Finuliar

Hi Przemek,

Thank you for making NETIO possible. Will directory functions be supported? 
(e.g. 
mkdir and rmdir) 

I need to scatter my tables for fast access.

Thanks




-- 
___
Surf the Web in a faster, safer and easier way:
Download Opera 9 at http://www.opera.com

Powered by Outblaze
___
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour


Re: [Harbour] Re: HBNETIO - How I tested ...

2009-09-17 Thread Przemyslaw Czerpak
On Thu, 17 Sep 2009, Jerry Finuliar wrote:

Hi,

 Thank you for making NETIO possible. Will directory functions be supported? 
 (e.g. 
 mkdir and rmdir) 
 I need to scatter my tables for fast access.

Such functionality will be available in final version of alternative
IO APIs. It will be possible to redirect any operations but now only
functionality used by core RDD code is supported.

best regards,
Przemek
___
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour


Re: [Harbour] Re: HBNETIO - How I tested ...

2009-09-17 Thread Jerry Finuliar
 
 Such functionality will be available in final version of alternative
 IO APIs. It will be possible to redirect any operations but now only
 functionality used by core RDD code is supported.


Ok I'll wait for it. One more question Are there plans to address data 
corruptions inherent in network applications?

Sorry for asking so much and taking some of your time. TIA

Best Regards,
Jerry

 




-- 
___
Surf the Web in a faster, safer and easier way:
Download Opera 9 at http://www.opera.com

Powered by Outblaze
___
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour


Re: [Harbour] Re: HBNETIO - How I tested ...

2009-09-17 Thread Tamas TEVESZ
On Fri, 18 Sep 2009, Jerry Finuliar wrote:

   Such functionality will be available in final version of alternative
   IO APIs. It will be possible to redirect any operations but now only
   functionality used by core RDD code is supported.
  
  
  Ok I'll wait for it. One more question Are there plans to address data 
  corruptions inherent in network applications?

tcp is already giving you a fair piece of resiliance against 
corruption. not to say more robust stuff is absolutely unimaginable, 
but you are not completely naked in the dark.

-- 
[-]

mkdir /nonexistent
___
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour


Re: [Harbour] Re: HBNETIO - How I tested ...

2009-09-17 Thread Jerry Finuliar
 tcp is already giving you a fair piece of resiliance against
 corruption. not to say more robust stuff is absolutely unimaginable,
 but you are not completely naked in the dark.

Ok I painted a vague picture. I agree tcp is a proven technology but what
will happen with the following scenarios while creating an index: 
1. Connection suddenly went off
2. Client app crash
3. Client app hang

To server and other clients?


Best Regards
Jerry



-- 
___
Surf the Web in a faster, safer and easier way:
Download Opera 9 at http://www.opera.com

Powered by Outblaze
___
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour


Re: [Harbour] Re: HBNETIO - How I tested ...

2009-09-02 Thread elart

On 09/02/2009 07:49 PM, Angel Pais wrote:

When trying to compile this new lib on Ubuntu I get...

an...@angel-laptop:~/src/harbour$ make
! Building Harbour 2.0.0beta2 from source - http://www.harbour-project.org
! MAKE: make 3.81 /bin/sh
! HB_INSTALL_PREFIX: /usr/bin
! HB_BIN_INSTALL: /usr/bin
! HB_LIB_INSTALL: /usr/lib
! HB_INC_INSTALL: /usr/include
! HB_HOST_PLAT: linux HB_SHELL: sh
! HB_PLATFORM: linux (autodetected)
! HB_COMPILER: gcc (autodetected: /usr/bin/)
! Component: 'openssl' found in /usr/include
! Component: 'gpm' found in /usr/include
! Component: 'slang' found in /usr/include
! Component: 'curses' found in /usr/include
! Component: 'x11' found in /usr/include
! Component: 'WATTCP/WATT-32' not supported on linux platform
! REVISION: 12394
make[2]: No se hace nada para `all'.
make[1]: No se hace nada para `all'.
make[3]: `../../../../../lib/linux/gcc/libhbcommon.a' está actualizado.
make[3]: `../../../../../lib/linux/gcc/libhbnortl.a' está actualizado.
make[3]: `../../../../../lib/linux/gcc/libhbpp.a' está actualizado.
make[3]: `../../../../../lib/linux/gcc/libhbcplr.a' está actualizado.
make[3]: `../../../../../bin/linux/gcc/harbour' está actualizado.
make[3]: `../../../../../lib/linux/gcc/libhbrtl.a' está actualizado.
make[4]: `../../../../../../lib/linux/gcc/libgtcgi.a' está actualizado.
make[4]: `../../../../../../lib/linux/gcc/libgtcrs.a' está actualizado.
! 'gtdos' library skipped
! 'gtgui' library skipped
! 'gtos2' library skipped
make[4]: `../../../../../../lib/linux/gcc/libgtpca.a' está actualizado.
make[4]: `../../../../../../lib/linux/gcc/libgtsln.a' está actualizado.
make[4]: `../../../../../../lib/linux/gcc/libgtstd.a' está actualizado.
make[4]: `../../../../../../lib/linux/gcc/libgttrm.a' está actualizado.
! 'gtwin' library skipped
! 'gtwvt' library skipped
make[4]: `../../../../../../lib/linux/gcc/libgtxwc.a' está actualizado.
make[3]: `../../../../../lib/linux/gcc/libhbvm.a' está actualizado.
make[4]: `../../../../../../lib/linux/gcc/libhbvmmt.a' está actualizado.
make[3]: `../../../../../lib/linux/gcc/libhbmacro.a' está actualizado.
make[3]: `../../../../../lib/linux/gcc/libhbcpage.a' está actualizado.
make[3]: `../../../../../lib/linux/gcc/libhblang.a' está actualizado.
make[3]: `../../../../../lib/linux/gcc/libhbrdd.a' está actualizado.
make[4]: `../../../../../../lib/linux/gcc/libhbnulrdd.a' está actualizado.
make[4]: `../../../../../../lib/linux/gcc/librddntx.a' está actualizado.
make[4]: `../../../../../../lib/linux/gcc/librddnsx.a' está actualizado.
make[4]: `../../../../../../lib/linux/gcc/librddcdx.a' está actualizado.
make[4]: `../../../../../../lib/linux/gcc/librddfpt.a' está actualizado.
make[4]: `../../../../../../lib/linux/gcc/libhbsix.a' está actualizado.
make[4]: `../../../../../../lib/linux/gcc/libhbhsx.a' está actualizado.
make[4]: `../../../../../../lib/linux/gcc/libhbusrrdd.a' está actualizado.
make[4]: `../../../../../../../lib/linux/gcc/libhbuddall.a' está
actualizado.
make[3]: `../../../../../lib/linux/gcc/libhbextern.a' está actualizado.
make[3]: `../../../../../lib/linux/gcc/libhbpcre.a' está actualizado.
make[3]: `../../../../../lib/linux/gcc/libhbzlib.a' está actualizado.
make[3]: `../../../../../lib/linux/gcc/libhbdebug.a' está actualizado.
make[3]: `../../../../../lib/linux/gcc/libharbour-2.0.0.so' está
actualizado.
make[4]: `../../../../../../lib/linux/gcc/libharbourmt-2.0.0.so' está
actualizado.
make[3]: `../../../../../bin/linux/gcc/hbrun' está actualizado.
make[3]: `../../../../../bin/linux/gcc/hbmk2' está actualizado.
make[3]: `../../../../../bin/linux/gcc/hbi18n' está actualizado.
make[3]: `../../../../../bin/linux/gcc/hbtest' está actualizado.
make[3]: `../../../../../bin/linux/gcc/hbformat' está actualizado.
! 'gtwvg' library skipped
make[3]: `../../../../../lib/linux/gcc/libhbbmcdx.a' está actualizado.
make[3]: `../../../../../lib/linux/gcc/libhbbtree.a' está actualizado.
make[3]: `../../../../../lib/linux/gcc/libhbclipsm.a' está actualizado.
make[3]: `../../../../../lib/linux/gcc/libhbct.a' está actualizado.
make[3]: `../../../../../lib/linux/gcc/libhbgt.a' está actualizado.
make[3]: `../../../../../lib/linux/gcc/libhbmisc.a' está actualizado.
make[3]: `../../../../../lib/linux/gcc/libhbmzip.a' está actualizado.
make[2]: *** No hay objetivos. Alto.
make[1]: *** [hbnetio] Error 2
make: *** [contrib] Error 2
an...@angel-laptop:~/src/harbour$

___
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour



HOW TO BUILD AND INSTALL HARBOUR FROM SOURCE AND CROSS COMPILE HARBOUR 
FOR WIN ON LINUX

===

*
( Tested on Ubuntu 9.04 and Ubuntu 9.10 )
*

To get main reference please read the INSTALL file under the harbour 
source directory


You need to be connected to the Net.

First please  

Re: [Harbour] Re: HBNETIO - How I tested ...

2009-09-02 Thread elart

On 09/02/2009 07:49 PM, Angel Pais wrote:

When trying to compile this new lib on Ubuntu I get...

an...@angel-laptop:~/src/harbour$ make
! Building Harbour 2.0.0beta2 from source - http://www.harbour-project.org
! MAKE: make 3.81 /bin/sh
! HB_INSTALL_PREFIX: /usr/bin
! HB_BIN_INSTALL: /usr/bin
! HB_LIB_INSTALL: /usr/lib
! HB_INC_INSTALL: /usr/include
! HB_HOST_PLAT: linux HB_SHELL: sh
! HB_PLATFORM: linux (autodetected)
! HB_COMPILER: gcc (autodetected: /usr/bin/)
! Component: 'openssl' found in /usr/include
! Component: 'gpm' found in /usr/include
! Component: 'slang' found in /usr/include
! Component: 'curses' found in /usr/include
! Component: 'x11' found in /usr/include
! Component: 'WATTCP/WATT-32' not supported on linux platform
! REVISION: 12394
make[2]: No se hace nada para `all'.
make[1]: No se hace nada para `all'.
make[3]: `../../../../../bin/linux/gcc/harbour' está actualizado.
make[3]: `../../../../../lib/linux/gcc/libhbrtl.a' está actualizado.
make[4]: `../../../../../../lib/linux/gcc/libgtcgi.a' está actualizado.
make[4]: `../../../../../../lib/linux/gcc/libgtcrs.a' está actualizado.
! 'gtdos' library skipped
! 'gtgui' library skipped
! 'gtos2' library skipped
...


make[3]: `../../../../../lib/linux/gcc/libhbgt.a' está actualizado.
make[3]: `../../../../../lib/linux/gcc/libhbmisc.a' está actualizado.
make[3]: `../../../../../lib/linux/gcc/libhbmzip.a' está actualizado.
make[2]: *** No hay objetivos. Alto.
make[1]: *** [hbnetio] Error 2
make: *** [contrib] Error 2
an...@angel-laptop:~/src/harbour$

___
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour


In previous reply please replace the row:

hbwmk -static -n -w -es2 netiotst

with this:

hbwmk -static -n -w -es2 -gtwin netiotst



I repost entirely here for clarity

HOW TO BUILD AND INSTALL HARBOUR FROM SOURCE AND CROSS COMPILE HARBOUR
FOR WIN ON LINUX
===

*
( Tested on Ubuntu 9.04 and Ubuntu 9.10 )
*

To get main reference please read the INSTALL file under the harbour
source directory

You need to be connected to the Net.

First please  enable the universe repositories from menu System →
Administration → Software Sources and confirm repositorie reload
Please install these deb packages... so you have almost all packages to
compile contrib libraries and related stuffs

Please open a terminal window Applications → Accessories → Terminal and
type or copy and paste (one row a time then press enter)

sudo apt-get update

When you use sudo the system ask you for a password, please typein
your user password: you will not see any feedback (i.e terminal chars)
when you type your password, so type the password, then press enter;

sudo apt-get install wget cvs rcs build-essential ncurses-dev
libslang2-dev tk8.3-dev unixodbc-dev subversion libncurses-dev
libx11-dev libgpm-dev libcurl4-openssl-dev firebird2.1-dev
libfreeimage-dev libgd2-xpm-dev libmysqlclient15-dev libpq-dev
libqt4-dev liballegro4.2-dev libsqlite3-dev wine dosemu-freedos mingw32

Then update from svn Harbour

1) - Please open a terminal window Applications → Accessories → Terminal
2) - Please check the requested packages are installed see above;
3) - Type the commands rows below you can also do a copy and paste of
the row, please copy and paste a row a time then press enter;
mkdir $HOME/src
cd $HOME/src
svn co
https://harbour-project.svn.sourceforge.net/svnroot/harbour-project/trunk/harbour 


harbour
cd $HOME/src/harbour
export HB_BIN_INSTALL=/usr/bin
export HB_INSTALL_PREFIX=/usr/bin
export HB_LIB_INSTALL=/usr/lib
export HB_INC_INSTALL=/usr/include
make
sudo -E make install

When you use sudo the system ask you for a password, please type-in
your user password: you will not see any feedback (i.e terminal chars)
when you type your password, so type the password, then press enter;

to verify your build date of harbour, type:
harbour -build

to generate Harbour for Win

cd $HOME/src/harbour/; make HB_PLATFORM=win

export HB_INSTALL_PREFIX=/tmp/hbwin; make install HB_PLATFORM=win

Possible cross-build targets: Windows, Windows CE, MS-DOS, OS/2

You can use HB_PLATFORM values to select other platforms than Linux:

win - MS Windows (all flavors)
wce - MS Windows CE
dos - MS-DOS (32-bit protected mode only)
  (MS-DOS compatible system also work, like dosemu)
os2 - OS/2


To generate the win exe files to be run with wine using Harbour

export HB_BIN_COMPILE=/tmp/hbwin/bin
export PATH=/tmp/hbwin/bin:$PATH

to your *nix PATH and then:

cd $HOME/src/harbour/contrib/hbnetio

hbwmk -static -n -w -es2 -gtwin netiotst

To check the file generated

# file netiotst.exe
netiotst.exe: PE32 executable for MS Windows (GUI) Intel 80386 32-bit

to run the file type:

wine ./netiotst.exe


Re: [Harbour] Re: HBNETIO - How I tested ...

2009-09-02 Thread Przemyslaw Czerpak
On Wed, 02 Sep 2009, Angel Pais wrote:

Hi,

 When trying to compile this new lib on Ubuntu I get...
[...]
 make[3]: `../../../../../lib/linux/gcc/libhbgt.a' está actualizado.
 make[3]: `../../../../../lib/linux/gcc/libhbmisc.a' está actualizado.
 make[3]: `../../../../../lib/linux/gcc/libhbmzip.a' está actualizado.
 make[2]: *** No hay objetivos.  Alto.
 make[1]: *** [hbnetio] Error 2
 make: *** [contrib] Error 2
 an...@angel-laptop:~/src/harbour$

It looks like a local problem with your SVN repository copy.
Check what you have in ~/src/harbour/contrib/hbnetio
directory. I.e. execute:
   svn update
and
   svn status
in this directory.
For sure the SVN code and build scripts are correct.

BTW hbnetio should be added to DEB packages too. I'll make it in a while.

best regards,
Przemek
___
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour