Hello Chris,

I prepared a patch that should solve this issue. You can find it in the
attachment. It is for 9.6.x versions.

The issue in this case is maximum value of 32-bit integer.

Best regards,
Marcin Haba (gani)

On Tue, 15 Mar 2022 at 11:21, Chris Wilkinson <winstonia...@gmail.com>
wrote:

> Yes, Raspbian is 32 bit but I understand that a 64 bit version has been
> released recently. That may be the best option for me as probably very few
> would want to use Bacula on a 32 bit environment and it would be too much
> work to port Baculum.
>
> Bacula btw runs perfectly.
>
> I'd be interested to know what the basic issue is with Baculum on 32 bit
> arch.
>
> Best
> Chris.
>
>
> On Tue, 15 Mar 2022, 6:04 am Marcin Haba, <ganius...@gmail.com> wrote:
>
>> Hello Chris,
>>
>> It looks you are using 32-bit environment. I will check what can be done
>> here from the Baculum side. I will let know soon.
>>
>> Best regards,
>> Marcin
>>
>> On Mon, 14 Mar 2022 at 23:46, Chris Wilkinson <winstonia...@gmail.com>
>> wrote:
>>
>>> I wondered if this behaviour might be due to using an older version of
>>> bdirjson (bacula v9.4.4 is the Raspbian default) so I compiled
>>> v9.6.7+postgres. The behaviour is exactly the same, ie same error is logged
>>> by API.
>>>
>>> Best
>>> Chris
>>>
>>> On Mon, 14 Mar 2022, 9:35 am Chris Wilkinson, <winstonia...@gmail.com>
>>> wrote:
>>>
>>>> Hello Marcin
>>>>
>>>> Thanks very much for that explanation. I hadn’t realised this was
>>>> essentially a working directory for Baculum.
>>>>
>>>> Having got the API and WEB set up, I’ve run into a strange error with
>>>> WEB. If I set up a very simple pool definition Baculum can save it
>>>> correctly. As soon as I add a ‘MaximumVolumeBytes = 10GB’, WEB crashes out
>>>> with an error. Smaller values such as 500M are OK.
>>>>
>>>> Following some advice you once gave me about another error, I have
>>>> enabled logging in the API. The relevant extract is below.
>>>>
>>>> The error appears to be that a parameter is being assigned an
>>>> unsupported value of type ‘double’. WEB is writing this value back to the
>>>> config via the process you described.
>>>>
>>>> Is it possible to deduce from this output, the offending config file
>>>> line?
>>>>
>>>> >>
>>>> Mar 14 08:40:10 [Debug] [Application] Command=formatDirectiveValue,
>>>> Output=Attemp to format a directive value with not supported value type
>>>> 'double'., File=/var/www/baculum/protected/API/Class/BaculaSetting.php,
>>>> Line=516 (line 74, /var/www/baculum/protected/Common/Class/Logging.php)
>>>> Mar 14 08:40:10 [Debug] [Execute] Command=sudo /usr/lib/bacula/bdirjson
>>>> -c /var/www/baculum/configs/config_4W8e6b "-t" 2>&1, Output=Array
>>>> (
>>>>     [0] => bacula-dir: ERROR TERMINATION at parse_conf.c:805
>>>>     [1] => Config error: expected a size, got: }
>>>>     [2] =>             : line 172, col 1 of file
>>>> /var/www/baculum/configs/config_4W8e6b
>>>>     [3] => }
>>>>     [4] =>
>>>>     [5] => 14-Mar 08:40 bacula-dir: ERROR TERMINATION at
>>>> parse_conf.c:805
>>>>     [6] => Config error: expected a size, got: }
>>>>     [7] =>             : line 172, col 1 of file
>>>> /var/www/baculum/configs/config_4W8e6b
>>>>     [8] => }
>>>>     [9] =>
>>>> )
>>>> , File=/var/www/baculum/protected/API/Class/JSONTools.php, Line=114
>>>> (line 74, /var/www/baculum/protected/Common/Class/Logging.php)
>>>> Mar 14 08:40:10 [Debug] [Application] Command=validateConfig,
>>>> Output=ERROR [dir] JSON tool returned wrong exitcode.
>>>>  Output:bacula-dir: ERROR TERMINATION at parse_conf.c:805
>>>> Config error: expected a size, got: }
>>>>             : line 172, col 1 of file
>>>> /var/www/baculum/configs/config_4W8e6b
>>>> }
>>>>
>>>> 14-Mar 08:40 bacula-dir: ERROR TERMINATION at parse_conf.c:805
>>>> Config error: expected a size, got: }
>>>>             : line 172, col 1 of file
>>>> /var/www/baculum/configs/config_4W8e6b
>>>> }
>>>> , File=/var/www/baculum/protected/API/Class/BaculaConfig.php, Line=110
>>>> (line 74, /var/www/baculum/protected/Common/Class/Logging.php)
>>>> >>
>>>>
>>>> Best
>>>> -Chris-
>>>>
>>>>
>>>>
>>>>
>>>> On 13 Mar 2022, at 07:18, Marcin Haba <ganius...@gmail.com> wrote:
>>>>
>>>> Hello Chris,
>>>>
>>>> Yes, I think we are talking about the same field.
>>>>
>>>> In this path Baculum saves Bacula config files, validates them and if
>>>> they are valid, saves them to the destination path (in your case it is
>>>> /etc/bacula).
>>>>
>>>> The configuration sent to API is merged with existing configuration,
>>>> the result is temporarily saved in the Baculum API working directory, there
>>>> it is validated by Bacula tools and if it is valid, next the Bacula config
>>>> is saved to the destination Bacula configuration path. This process is for
>>>> saving only valid configuration. In case of unexpected errors in the config
>>>> file, the configuration will not be saved.
>>>>
>>>> It is the main task realized in this directory, but not the only one.
>>>> If Baculum API needs to save something, it uses this directory. I would
>>>> suggest to treat it just as a Baculum API working directory.
>>>>
>>>> Best regards,
>>>> Marcin Haba (gani)
>>>>
>>>> On Sat, 12 Mar 2022 at 18:08, Chris Wilkinson <winstonia...@gmail.com>
>>>> wrote:
>>>>
>>>>> Not exactly,  the field I was referring to is at the top of the API
>>>>> wizard step 4 under 'General Configuration. It is a directory path for 
>>>>> 'new
>>>>> config files'.
>>>>>
>>>>> I'm unclear if this refers to the path where Baculum will save new
>>>>> config files or save mods to files taken from /etc/bacula.
>>>>>
>>>>> Perhaps you are referring to v11? I'm using v9.6.
>>>>>
>>>>> Best
>>>>> Chris
>>>>>
>>>>>
>>>>> On Sat, 12 Mar 2022, 4:30 pm Marcin Haba, <ganius...@gmail.com> wrote:
>>>>>
>>>>>> Hello Chris,
>>>>>>
>>>>>> If you mean the field in API install wizard labeled "Baculum working
>>>>>> directory for Bacula config", here you can find full answer:
>>>>>>
>>>>>> https://sourceforge.net/p/bacula/mailman/message/37359134/
>>>>>>
>>>>>> Best regards,
>>>>>> Marcin Haba (gani)
>>>>>>
>>>>>> On Sat, 12 Mar 2022 at 09:59, Chris Wilkinson <winstonia...@gmail.com>
>>>>>> wrote:
>>>>>>
>>>>>>> What is the purpose of the 'new configs' path? Should this point to
>>>>>>> the default /etc/bacula?
>>>>>>>
>>>>>>> Best
>>>>>>> Chris
>>>>>>>
>>>>>>> On Sat, 12 Mar 2022, 5:16 am Marcin Haba, <ganius...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hello Chris,
>>>>>>>>
>>>>>>>> Thanks for reporting this problem.
>>>>>>>>
>>>>>>>> Yes, the b*json and bconsole paths can be different in various
>>>>>>>> operating systems. It is the reason why those fields are editable that
>>>>>>>> everybody can adjust paths to own needs.
>>>>>>>>
>>>>>>>> Best regards,
>>>>>>>> Marcin Haba (gani)
>>>>>>>>
>>>>>>>> On Fri, 11 Mar 2022 at 15:43, Chris Wilkinson <
>>>>>>>> winstonia...@gmail.com> wrote:
>>>>>>>>
>>>>>>>>> I should have realised this sooner but I found that the
>>>>>>>>> pre-populated fields in the API wizard point to incorrect locations 
>>>>>>>>> for the
>>>>>>>>> jsons.
>>>>>>>>>
>>>>>>>>> The jsons are located at /usr/lib/bacula/.. not /usr/sbin/..
>>>>>>>>>
>>>>>>>>> pi@raspberrypi-b:~ $ locate bsdjson
>>>>>>>>> /usr/lib/bacula/bsdjson
>>>>>>>>> etc..
>>>>>>>>>
>>>>>>>>> This means that the file /etc/sudoers.d/bacula-api should be:
>>>>>>>>>
>>>>>>>>> Defaults:www-data !requiretty
>>>>>>>>> www-data ALL=NOPASSWD: /usr/sbin/bconsole     <==Note that
>>>>>>>>> bconsole is still @ /usr/sbin/..
>>>>>>>>> www-data ALL=NOPASSWD: /usr/lib/bacula/bdirjson
>>>>>>>>> www-data ALL=NOPASSWD: /usr/lib/bacula/bsdjson
>>>>>>>>> www-data ALL=NOPASSWD: /usr/lib/bacula/bfdjson
>>>>>>>>> www-data ALL=NOPASSWD: /usr/lib/bacula/bbconsjson
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> The API wizard needs these paths too.
>>>>>>>>>
>>>>>>>>> With these changes, the API wizard now proceeds without error and
>>>>>>>>> the remainder of the setup goes OK.
>>>>>>>>>
>>>>>>>>> Best
>>>>>>>>> -Chris-
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 11 Mar 2022, at 12:48, Chris Wilkinson <winstonia...@gmail.com>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>> Hello Marcin
>>>>>>>>>
>>>>>>>>> I ran into a difficulty with the PI sudo set up when using the API
>>>>>>>>> wizard at step 4.
>>>>>>>>>
>>>>>>>>> General configuration
>>>>>>>>> Directory path for new config files:
>>>>>>>>> Use sudo:
>>>>>>>>> x
>>>>>>>>>
>>>>>>>>> I checked the ‘use sudo’ box. One example is below but the other
>>>>>>>>> fields are the same.
>>>>>>>>> Director
>>>>>>>>> bdirjson binary file path:
>>>>>>>>> Main Director config file path (usually bacula-dir.conf):
>>>>>>>>> We trust you have received the usual lecture from the local System
>>>>>>>>> Administrator. It usually boils down to these three things: #1) 
>>>>>>>>> Respect the
>>>>>>>>> privacy of others. #2) Think before you type. #3) With great power 
>>>>>>>>> comes
>>>>>>>>> great responsibility. sudo: no tty present and no askpass program 
>>>>>>>>> specified
>>>>>>>>>
>>>>>>>>> The error is in the last sentence. I am also unclear on what is
>>>>>>>>> expected in the directory path for new configs at the top of this 
>>>>>>>>> page.
>>>>>>>>> This appears to require a path that is writeable by www-data (for 
>>>>>>>>> Apache2).
>>>>>>>>>
>>>>>>>>> This is the /etc/sudoers file (unmodified from stock)
>>>>>>>>> '
>>>>>>>>> #
>>>>>>>>> # This file MUST be edited with the 'visudo' command as root.
>>>>>>>>> #
>>>>>>>>> # Please consider adding local content in /etc/sudoers.d/ instead
>>>>>>>>> of
>>>>>>>>> # directly modifying this file.
>>>>>>>>> #
>>>>>>>>> # See the man page for details on how to write a sudoers file.
>>>>>>>>> #
>>>>>>>>> Defaults env_reset
>>>>>>>>> Defaults mail_badpass
>>>>>>>>> Defaults
>>>>>>>>> secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
>>>>>>>>>
>>>>>>>>> # Host alias specification
>>>>>>>>>
>>>>>>>>> # User alias specification
>>>>>>>>>
>>>>>>>>> # Cmnd alias specification
>>>>>>>>>
>>>>>>>>> # User privilege specification
>>>>>>>>> root ALL=(ALL:ALL) ALL
>>>>>>>>>
>>>>>>>>> # Allow members of group sudo to execute any command
>>>>>>>>> %sudo ALL=(ALL:ALL) ALL
>>>>>>>>>
>>>>>>>>> # See sudoers(5) for more information on "#include" directives:
>>>>>>>>>
>>>>>>>>> #includedir /etc/sudoers.d
>>>>>>>>> ‘
>>>>>>>>>
>>>>>>>>> www-data is a member of the sudo group.
>>>>>>>>>
>>>>>>>>> I created a new file /etc/sudoers.d/baculum-api containing:
>>>>>>>>>
>>>>>>>>> Defaults:www-data !requiretty
>>>>>>>>> www-data ALL=NOPASSWD: /usr/sbin/bconsole
>>>>>>>>> www-data ALL=NOPASSWD: /usr/sbin/bdirjson
>>>>>>>>> www-data ALL=NOPASSWD: /usr/sbin/bsdjson
>>>>>>>>> www-data ALL=NOPASSWD: /usr/sbin/bfdjson
>>>>>>>>> www-data ALL=NOPASSWD: /usr/sbin/bbconsjson
>>>>>>>>>
>>>>>>>>> The above are the same as I have in a Debian/Apache2 configuration
>>>>>>>>> that works just fine.
>>>>>>>>>
>>>>>>>>> Any suggestions where I went wrong ?
>>>>>>>>>
>>>>>>>>> Best
>>>>>>>>> -Chris-
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On 7 Mar 2022, at 05:36, Marcin Haba <ganius...@gmail.com> wrote:
>>>>>>>>>
>>>>>>>>> Hello Chris,
>>>>>>>>>
>>>>>>>>> In bacula.org repositories we don't provide Baculum packages for
>>>>>>>>> Raspbian. But you can try manual installation using source tar 
>>>>>>>>> archive.
>>>>>>>>> Here you can find install instruction:
>>>>>>>>>
>>>>>>>>> https://baculum.app/doc/brief/installation.html#manual-installation
>>>>>>>>>
>>>>>>>>> Best regards,
>>>>>>>>> Marcin Haba (gani)
>>>>>>>>>
>>>>>>>>> On Sat, 5 Mar 2022 at 22:49, Chris Wilkinson <
>>>>>>>>> winstonia...@gmail.com> wrote:
>>>>>>>>>
>>>>>>>>>> Is it feasible to install Baculum (v9.x) on Raspbian? It is not
>>>>>>>>>> listed in the official packages list (Bacula is). This is armf so the
>>>>>>>>>> Debian repo package will not work.
>>>>>>>>>>
>>>>>>>>>> I have Bacula running with reasonable performance backing up to a
>>>>>>>>>> local USB disk.
>>>>>>>>>>
>>>>>>>>>> Regards
>>>>>>>>>> Chris Wilkinson
>>>>>>>>>> _______________________________________________
>>>>>>>>>> Bacula-users mailing list
>>>>>>>>>> Bacula-users@lists.sourceforge.net
>>>>>>>>>> https://lists.sourceforge.net/lists/listinfo/bacula-users
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> "Greater love hath no man than this, that a man lay down his life
>>>>>>>>> for his friends." Jesus Christ
>>>>>>>>>
>>>>>>>>> "Większej miłości nikt nie ma nad tę, jak gdy kto życie swoje
>>>>>>>>> kładzie za przyjaciół swoich." Jezus Chrystus
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> "Greater love hath no man than this, that a man lay down his life
>>>>>>>> for his friends." Jesus Christ
>>>>>>>>
>>>>>>>> "Większej miłości nikt nie ma nad tę, jak gdy kto życie swoje
>>>>>>>> kładzie za przyjaciół swoich." Jezus Chrystus
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>> --
>>>>>> "Greater love hath no man than this, that a man lay down his life for
>>>>>> his friends." Jesus Christ
>>>>>>
>>>>>> "Większej miłości nikt nie ma nad tę, jak gdy kto życie swoje kładzie
>>>>>> za przyjaciół swoich." Jezus Chrystus
>>>>>>
>>>>>
>>>>
>>>> --
>>>> "Greater love hath no man than this, that a man lay down his life for
>>>> his friends." Jesus Christ
>>>>
>>>> "Większej miłości nikt nie ma nad tę, jak gdy kto życie swoje kładzie
>>>> za przyjaciół swoich." Jezus Chrystus
>>>>
>>>>
>>>>
>>
>> --
>> "Greater love hath no man than this, that a man lay down his life for his
>> friends." Jesus Christ
>>
>> "Większej miłości nikt nie ma nad tę, jak gdy kto życie swoje kładzie za
>> przyjaciół swoich." Jezus Chrystus
>>
>

-- 
"Greater love hath no man than this, that a man lay down his life for his
friends." Jesus Christ

"Większej miłości nikt nie ma nad tę, jak gdy kto życie swoje kładzie za
przyjaciół swoich." Jezus Chrystus
diff --git a/gui/baculum/protected/API/Class/BaculaSetting.php b/gui/baculum/protected/API/Class/BaculaSetting.php
index 0c7296927d..e5400ed52b 100644
--- a/gui/baculum/protected/API/Class/BaculaSetting.php
+++ b/gui/baculum/protected/API/Class/BaculaSetting.php
@@ -487,7 +487,7 @@ class BaculaSetting extends APIModule {
 		$directive_value = null;
 		if (is_bool($value)) {
 			$directive_value = Params::getBoolValue($value);
-		} elseif (is_int($value)) {
+		} elseif (is_int($value) || is_float($value)) {
 			$directive_value = $value;
 		} elseif (is_string($value)) {
 			if (!key_exists($resource_type, $this->unquoted_string_directives) || !in_array($directive_name, $this->unquoted_string_directives[$resource_type])) {
_______________________________________________
Bacula-users mailing list
Bacula-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-users

Reply via email to