### Description
It would be nice if the JSONRPC-S module would support batch requests. For example if you want to set multiple values in htable simultaneously.
### Expected behavior
That the implementation is in line with JSON-RPC 2.0 specification and support batching.
For example:
`[
{"jsonrpc": "2.0", "method": "htable.stats", "id": 22},
{"jsonrpc": "2.0", "method": "htable.listTables", "id": 23}
]`
#### Actual observed behavior
Get an empty result with no error code (see Debugging data)
Only the first message is parsed when discarding the brackets (which should give a json format error anyway, but doesn't)
`
{"jsonrpc": "2.0", "method": "htable.stats", "id": 22},
{"jsonrpc": "2.0", "method": "htable.listTables", "id": 23}
`
Then I get an answer to only the first request instead of expected JSON validation error.
#### Debugging Data
`curl -X POST -H "Content-Type: application/json" -d '[{"jsonrpc": "2.0", "method": "htable.stats", "id": 22},{"jsonrpc": "2.0", "method": "htable.listTables", "id": 23}]' http://10.0.0.1:5060/RPC
{
"jsonrpc": "2.0",
"result": {
}
}`
#### Log Messages
`254(260) ERROR: jsonrpcs [jsonrpcs_mod.c:1263]: jsonrpc_dispatch(): missing or invalid jsonrpc field in request`
#### SIP Traffic
N/A
### Possible Solutions
Needs a code fix
### Additional Information
https://www.jsonrpc.org/specification
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3677
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3677(a)github.com>
```
CC (gcc) [M auth_identity.so] auth_crypt.o
auth_crypt.c: In function 'rsa_sha1_enc':
auth_crypt.c:215:9: warning: 'RSA_sign' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
215 | if (RSA_sign(NID_sha1,
| ^~
In file included from /usr/include/openssl/x509.h:36,
from /usr/include/openssl/pem.h:23,
from auth_crypt.c:33:
/usr/include/openssl/rsa.h:353:27: note: declared here
353 | OSSL_DEPRECATEDIN_3_0 int RSA_sign(int type, const unsigned char *m,
| ^~~~~~~~
auth_crypt.c: In function 'rsa_sha1_dec':
auth_crypt.c:261:9: warning: 'EVP_PKEY_get1_RSA' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
261 | hpubkey = EVP_PKEY_get1_RSA(pkey);
| ^~~~~~~
In file included from /usr/include/openssl/pem.h:22:
/usr/include/openssl/evp.h:1348:16: note: declared here
1348 | struct rsa_st *EVP_PKEY_get1_RSA(EVP_PKEY *pkey);
| ^~~~~~~~~~~~~~~~~
auth_crypt.c:269:9: warning: 'RSA_verify' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
269 | if (RSA_verify(NID_sha1,
| ^~
/usr/include/openssl/rsa.h:356:27: note: declared here
356 | OSSL_DEPRECATEDIN_3_0 int RSA_verify(int type, const unsigned char *m,
| ^~~~~~~~~~
auth_crypt.c:275:17: warning: 'RSA_free' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
275 | RSA_free(hpubkey);
| ^~~~~~~~
/usr/include/openssl/rsa.h:298:28: note: declared here
298 | OSSL_DEPRECATEDIN_3_0 void RSA_free(RSA *r);
| ^~~~~~~~
auth_crypt.c:298:9: warning: 'RSA_free' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
298 | RSA_free(hpubkey);
| ^~~~~~~~
/usr/include/openssl/rsa.h:298:28: note: declared here
298 | OSSL_DEPRECATEDIN_3_0 void RSA_free(RSA *r);
| ^~~~~~~~
CC (gcc) [M auth_identity.so] auth_dynstr.o
CC (gcc) [M auth_identity.so] auth_hdrs.o
CC (gcc) [M auth_identity.so] auth_http.o
CC (gcc) [M auth_identity.so] auth_identity.o
auth_identity.c: In function 'mod_init':
auth_identity.c:396:9: warning: 'PEM_read_RSAPrivateKey' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
396 | glb_hmyprivkey=PEM_read_RSAPrivateKey(hpemfile, NULL, NULL, NULL);
| ^~~~~~~~~~~~~~
In file included from auth_identity.c:43:
/usr/include/openssl/pem.h:447:1: note: declared here
447 | DECLARE_PEM_rw_cb_attr(OSSL_DEPRECATEDIN_3_0, RSAPrivateKey, RSA)
| ^~~~~~~~~~~~~~~~~~~~~~
auth_identity.c:408:9: warning: 'RSA_size' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
408 | if (initdynstr(&glb_encedmsg, RSA_size(glb_hmyprivkey)))
| ^~
In file included from /usr/include/openssl/x509.h:36,
from /usr/include/openssl/pem.h:23:
/usr/include/openssl/rsa.h:209:27: note: declared here
209 | OSSL_DEPRECATEDIN_3_0 int RSA_size(const RSA *rsa);
| ^~~~~~~~
auth_identity.c:412:9: warning: 'RSA_size' is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
412 | if (initdynstr(&glb_b64encedmsg, (RSA_size(glb_hmyprivkey)/3+1)*4))
| ^~
/usr/include/openssl/rsa.h:209:27: note: declared here
209 | OSSL_DEPRECATEDIN_3_0 int RSA_size(const RSA *rsa);
| ^~~~~~~~
CC (gcc) [M auth_identity.so] auth_tables.o
LD (gcc) [M auth_identity.so] auth_identity.so
```
This warning on Fedora 38
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3636
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3636(a)github.com>
### Description
It seems PCRE is not supported anymore
```
make[2]: --libs: No such file or directory
grep: unrecognized option: P
BusyBox v1.36.1 (2023-12-20 14:59:51 UTC) multi-call binary.
```
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3686
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3686(a)github.com>