[IntelMQ-dev] Help for fixing configuration of intelmq-manager 3.0.1-1

Mika Silander mika.silander at csc.fi
Wed Nov 3 13:50:34 CET 2021


Hi Sebastian, all,

 Yes, I had a regexp in one of my bots although I don't understand why it should be prohibited to set these in a bot's parameter. It doesn't sound good to be limited to what can be serialized to JSON - most advanced Python features get excluded based on this criterion. Anyway, after moving the regexp into the init method, the URL

https://ourimq/intelmq/v1/api/bots

 gets downloaded correctly. The only thing remaining is https://ourimq/intelmq/v1/api/positions accessed from within the Configuration tab:

 Apache returns the response happily with HTTP 200 status, the JSON corresponding to /etc/intelmq/manager/positions.conf is returned but an error still
appears in the browser tab:

"Failed to load config file properly"

 For the positions URL the Javascript console of the browser states two TypeError(s):

edge_map[path] is not iterable

and

app.network is null

 Also, an attempt to load https://ourimq/intelmq_manager/js/var.js shows up but this file doesn't exist under /usr/share/intelmq_manager/html/js. A left-over from earlier versions?

 Hints welcome as before.

Br, Mika


----- Original Message -----
From: "Sebastian Wagner" <wagner at cert.at>
To: "Mika Silander" <mika.silander at csc.fi>, "intelmq-dev" <intelmq-dev at lists.cert.at>
Sent: Tuesday, 2 November, 2021 15:15:52
Subject: Re: [IntelMQ-dev] Help for fixing configuration of intelmq-manager 3.0.1-1

Hi,

On 11/2/21 1:38 PM, Mika Silander wrote:
>  Getting back to this anew. I've revised and rerevised all imaginable intelmq-manager configurations and problems remain. After debugging it looks like I still have issues
> with intelmq-manager's Configuration tab, all other tabs are ok. From within the Configuration tab https://ourimq/intelmq/v1/api/bots is accessed which in turn invokes (under the hood)
>
> sudo -u www-data -u intelmq intelmqctl --type json list bots
>
>  This, I gather, is for generating the list of bots available on the right-hand side of the Configuration tab. Running this command from the command line gives:
>
> Traceback (most recent call last):
>   File "/usr/bin/intelmqctl", line 11, in <module>
>     load_entry_point('intelmq==3.0.2', 'console_scripts', 'intelmqctl')()
>   File "/usr/lib/python3/dist-packages/intelmq/bin/intelmqctl.py", line 1909, in main
>     return x.run()
>   File "/usr/lib/python3/dist-packages/intelmq/bin/intelmqctl.py", line 1051, in run
>     print(json.dumps(results))
>   File "/usr/lib/python3.8/json/__init__.py", line 231, in dumps
>     return _default_encoder.encode(obj)
>   File "/usr/lib/python3.8/json/encoder.py", line 199, in encode
>     chunks = self.iterencode(o, _one_shot=True)
>   File "/usr/lib/python3.8/json/encoder.py", line 257, in iterencode
>     return _iterencode(o, 0)
>   File "/usr/lib/python3.8/json/encoder.py", line 179, in default
>     raise TypeError(f'Object of type {o.__class__.__name__} '
> TypeError: Object of type Pattern is not JSON serializable
>
>
>  I assume this is the reason why the Configuration tab in my instance is dysfunctional.
Yes.
> Any hints?

Do you have a custom bot which has a parameter that is of type
re.Pattern[0]? json.dumps fails serialzing this value. The solution is
to use a string as parameter type, then you are even able to configure
it :) You can compile the parameter's value at initialization.

Sebastian

[0]: https://docs.python.org/3/library/re.html#regular-expression-objects

-- 
// Sebastian Wagner <wagner at cert.at> - T: +43 676 898 298 7201
// CERT Austria - https://www.cert.at/
// Eine Initiative der nic.at GmbH - https://www.nic.at/
// Firmenbuchnummer 172568b, LG Salzburg


More information about the IntelMQ-dev mailing list