Time |
Nick |
Message |
07:14 |
|
collum joined #evergreen |
08:07 |
|
cbrown-isl joined #evergreen |
08:09 |
|
BDorsey joined #evergreen |
08:10 |
|
kworstell-isl joined #evergreen |
08:49 |
|
Dyrcona joined #evergreen |
09:20 |
csharp_ |
eeevil: highlighting this for you: https://bugs.launchpad.net/evergreen/+bug/2067905 |
09:20 |
pinesol |
Launchpad bug 2067905 in Evergreen "extra parameter added to container ID in search string causes error" [High,New] |
09:20 |
csharp_ |
PINES had what amounted to a DoS over the weekend because Google crawlers were attempting bad searches over and over (details in bug report above) |
09:32 |
|
dguarrac joined #evergreen |
10:37 |
eeevil |
csharp_: the main problem is something upstream (something probably in the mod_perl layer, but maybe even higher in the templates) is sending extra url stuff to the search query by constructing a contaner() filter expression badly. GIGO |
10:39 |
eeevil |
if you can connect that container id with a thread trace in the opensrf logs, you might be able to trace it back to the "bad" page that is the entry point for the naive search string builder |
10:40 |
eeevil |
I suspect this is in the templates, because it feels very similar to the "sometimes our link builders use semicolon for some dumb reason" problem |
10:46 |
eeevil |
re the QP-layer issue, there's nothing special (and no way, today, to say there is something special) about the container() filter in QP -- it's just a registered filter keyword, the params are just like other filters at parse time, just a comma separated list. if we added type checking to the parser, we could ... do something? maybe ignore bad params, maybe cast to int so we make a best guess. (we could blindly do the latter now, I suppose, but it |
10:46 |
eeevil |
doesn't address the fact that something upstream is confused) |
11:00 |
csharp_ |
eeevil: I agree that the QP layer is not the main issue, and I agree that it could do with some type checking, especially since the quoting function is already kinda looking |
11:02 |
eeevil |
csharp_: just putting int() around the $cid, or adding 0 to it (0+$cid) should be enough to get you past the bad input |
11:02 |
eeevil |
of course, then undef is an issue in the other direction :P |
11:02 |
csharp_ |
yeah |
11:08 |
csharp_ |
eeevil: I think I've tracked it to a PINES boopac customization |
11:09 |
eeevil |
does it involve a ? getting url-encoded? |
11:11 |
csharp_ |
https://pastebin.com/YsuK5YXV |
11:39 |
eeevil |
ah, yeah, I'm pretty sure that mkurl expects to do all the construction, and you can't put ? in the first param to that. |
11:41 |
eeevil |
berick might know off the top of his head, though? |
11:46 |
berick |
ideally those params would be passed invididually to mkurl (inside the {}), but passing the params via the base URL string should also work |
11:46 |
|
mantis1 joined #evergreen |
11:48 |
mantis1 |
when testing action triggers/notices, what would it take for something to fall into 'invalid' status? |
11:49 |
berick |
mantis1: the event def will have a validator |
11:49 |
berick |
and its check(s) failed |
11:50 |
berick |
e.g. hold ready for pickup notice, but the hold was canceled in the meantime |
11:50 |
Dyrcona |
mantis1: The validator fails. Look at the event_definition and you can find the code somewhere under OpenILS/Application/Trigger/Validator.pm or OpenILS/Application/Trigger/Validator/* |
11:51 |
Dyrcona |
The event definition validator field value corresponds to a subroutine name. |
11:51 |
* Dyrcona |
is testing a custom db upgrade from 3.10.3 to main, and stuff keeps failing left and right. |
11:51 |
mantis1 |
I'm trying to test a pre-overdue but it seems like it should have passed |
11:51 |
mantis1 |
I checked out an item that would be due within the right time frame |
11:51 |
mantis1 |
but I'm also trying out a new HTML format for it |
11:52 |
Dyrcona |
What's the validator? |
11:52 |
mantis1 |
CircIsOpen |
11:56 |
Dyrcona |
Are there action_trigger.event_params entries specifying 'target_age_field' and 'min_target_age' for the event_definition? |
11:57 |
Dyrcona |
if target_age_field is missing, the delay_field will be used instead. |
11:58 |
Dyrcona |
if min_target_age is missing, it will fail to validate. |
12:03 |
mantis1 |
the thing is it does work but in a testing environment, it's just coming up invalid |
12:03 |
mantis1 |
not sure what the difference between this and production would be |
12:03 |
Dyrcona |
action_trigger.filters in /openils/conf ? |
12:05 |
mantis1 |
it's the same as production it looks like |
12:06 |
mantis1 |
also in that table, we have max_delay_age and min_target_age |
12:06 |
mantis1 |
in event_params |
12:06 |
csharp_ |
berick: eeevil: thanks |
12:06 |
csharp_ |
berick++ eeevil++ |
12:06 |
Dyrcona |
Does the action_triggers filter file still end in .example and there isn't on that doesn't? |
12:07 |
Dyrcona |
I often forget to copy/rename the file, myself. |
12:07 |
* csharp_ |
adds .example to the end of his name so he can be an example to others |
12:07 |
Dyrcona |
mantis1: If it's not the filters file, check the timezone. |
12:08 |
|
jihpringle joined #evergreen |
12:08 |
Dyrcona |
csharp_.example++ |
12:09 |
Dyrcona |
Recent, 22.04 and 24.04, Ubuntu releases don't set the time zone during installation. It's UTC. |
12:10 |
mantis1 |
ahhh ok |
12:10 |
mantis1 |
Dyrcona++ |
12:11 |
mantis1 |
berick++ |
12:12 |
Dyrcona |
mantis1: if none of that turns out to be the issue, keep asking. I'll keep looking. :) |
12:12 |
mantis1 |
sorry how do you check for timezone in the GUI? I didn't see anything in the docs about it |
12:13 |
Dyrcona |
I use timedatectl on the command line |
12:14 |
mantis1 |
looks like it's set right; EDT |
12:14 |
mantis1 |
I also ran some tests with a notification from production on this server without any changes and it's also giving an invalid status |
12:14 |
Dyrcona |
OK. It's under Settings -> "Date & Time" in the GUI. |
12:15 |
Dyrcona |
There are some warnings you grep the logs for. |
12:16 |
Dyrcona |
"'min_target_age' parameter required for MinPassiveTargetAge validator" |
12:16 |
Dyrcona |
"'target_age_field' parameter or delay_field required for MinPassiveTargetAge validator" |
12:16 |
Dyrcona |
It won't warn you if the date validation failed. |
12:17 |
Dyrcona |
If it succeeds, CircIsOpen should log this as INFO: "AUTORENEW: CircIsOpen is TRUE!" |
12:18 |
Dyrcona |
You could also try grepping for "open-is\\.trigger.* [ERR :" in the Evergreen logs. |
12:19 |
Dyrcona |
Well this , actually: "open-ils\\.trigger.* [ERR :" |
13:44 |
|
kworstell-isl joined #evergreen |
13:44 |
|
mantis1 left #evergreen |
14:22 |
Dyrcona |
snap-- |
15:22 |
|
kworstell_isl joined #evergreen |
15:24 |
* Dyrcona |
just realized this afternoon that the Ubuntu 24.04 branch for Evergreen has not actually been started, yet. |
15:26 |
|
kworstell_isl_ joined #evergreen |
15:27 |
|
kworstell-isl joined #evergreen |
15:36 |
|
kworstell-isl joined #evergreen |