Olivier Gagnon <ogagnon <at>
ludia.com> writes:
> I have succeeded to cross compile the win32 client using mingw and I've
> been testing things since this morning.
> (Btw, I may have some patches to make the compiling more friendly).
The current setup is light years ahead of what it was in Bacula where
cross compiling was a art not mastered by many due to their archaic
Makefile we rewrote those from scratch but geared towards using
the SUSE Open Build Service (OBS) mingw infrastructure. So it might
not work to great if you try an other path to do cross compiling
although it should be much easier then before. As to patches if they
make sure they don't interfere with building it in OBS then we can see
if the make sense if they do I don't think its something we want to
change now as we have to much time invested in building everything
with OBS that makes it possible to rebuild a whole release in a
couple of hours including running the release through CI.
> I'm using the latest GIT code btw.
> As I have said earlier, you definitely have to use the syntax
> "UNC\Server\Share" in the File directive.
> I have set up two guest shares, one on the SAN and another using SAMBA.
> I have tried using the Domain Admin default account
> (DOMAIN\Administrator) and the Domain User we use for backup, with
> the Backup Operators rights.
> In all those situations, I can see that the Bareos-fd.exe client,
> running as a service or from the command line with debugging, is
> connecting to the network shared folder with the defined credentials
> from the logs.
>
> In all cases, I get an Access Denied error.
>
I think the whole stuff contributed to Bacula in 2008 has never seen
lots of changes ever since. We have quite a load of changes in the
development pipeline just because the code needed so much changes
to be able to cope with the new stuff Windows added over the year
(dedup, VMPs, new API's). We hope to have that ready to merge into
master before the end of the year it just needs a lot of testing as
we had to do quite some surgery to get the code in a somewhat better
shape then it was.
> However, after playing with the code, I succeeded to modify it to backup
> files directly using the form "UNC\Server\Share\file.ext". I also got
> the ACEs NT rights saved and restored.
Ok interesting. I hope if you come up with some patches that you
implement it in a somewhat generic way as I think backing up SMB
filesystems via a client is not the "wanted" way of backing up data.
Most systems like NetAPP won't like be backed up via NFS or SMB
they have other ways of doing it in a less resource intensive way
(NDMP etc.).
> According to the Microsoft API Dev Center, the function
> GetFileAttributes cannot be used on shares. By bypassing that
> call in stat2() in compat.c, I can get the listing of the
> files/directories with the subsequent FindFirstFile() and
> FindNextFile() calls.
Ok interesting I think the whole code uses quite some API that is
either not implemented on shares or implemented differently on shares.
Like I said I think it was never designed to be used in that way.
> I'm continuing my tests but there is definitely something there.
Ok great we have a big update for windows pending to make the code
a lot more clean and future proof. But due to the fact that we want
to test this new code first (and because its big it takes time.)
It should get out of the development pipeline rather sooner then
later but with new code you never know.