cwclientlib issueshttps://forge.extranet.logilab.fr/cubicweb/cwclientlib/-/issues2024-02-08T17:29:04Zhttps://forge.extranet.logilab.fr/cubicweb/cwclientlib/-/issues/11Ne plus gérer MD5 dans la prochaine version mineure ou majeure2024-02-08T17:29:04ZNicola SpantiNe plus gérer MD5 dans la prochaine version mineure ou majeure[MD5 est cassé depuis 2004](https://fr.wikipedia.org/wiki/MD5#Cryptanalyse). [La version 1.0.0](https://forge.extranet.logilab.fr/cubicweb/cwclientlib/-/blob/branch/default/CHANGELOG.md?ref_type=heads#version-100-2020-10-07), publiée fin...[MD5 est cassé depuis 2004](https://fr.wikipedia.org/wiki/MD5#Cryptanalyse). [La version 1.0.0](https://forge.extranet.logilab.fr/cubicweb/cwclientlib/-/blob/branch/default/CHANGELOG.md?ref_type=heads#version-100-2020-10-07), publiée fin 2020, gère MD5 et SHA512. Elle assure donc la rétro-compatibilité. La prochaine version non-corrective (donc une mineure ou une majeure) ne devrait plus gérer MD5. D'ailleurs, [ça a déjà été viré du cube `signedrequest`](https://forge.extranet.logilab.fr/cubicweb/cubes/signedrequest/-/commit/6c88a5ef83f2d74bcf6bcd3ba1e1874dfe4d92f2) et [c'est effectif depuis la version 0.5.2](https://forge.extranet.logilab.fr/cubicweb/cubes/signedrequest/-/commit/7e36fa7d204afb6e2404e2d6c387263e74ea6ea1).https://forge.extranet.logilab.fr/cubicweb/cwclientlib/-/issues/10Mettre la construction de requêtes RQL dans des fonctions dédiées2024-01-23T13:22:53ZNicola SpantiMettre la construction de requêtes RQL dans des fonctions dédiéesDes méthodes utilitaires ont été ajoutées sur `class CWProxy` (`find`, `exists`, etc.). On voudrait que la partie qui construit les requêtes RQL soit à part, probablement dans `builders.py`.Des méthodes utilitaires ont été ajoutées sur `class CWProxy` (`find`, `exists`, etc.). On voudrait que la partie qui construit les requêtes RQL soit à part, probablement dans `builders.py`.https://forge.extranet.logilab.fr/cubicweb/cwclientlib/-/issues/9Version 2.02024-01-23T13:43:05ZNicola SpantiVersion 2.0- [ ] Gérer le cube API (et publier une version 1.X avec ça, en gérant l'API historique tant celle HTTP que celle Python) : https://forge.extranet.logilab.fr/cubicweb/cwclientlib/-/issues/7
- [ ] Tout typer en Python : https://forge.extr...- [ ] Gérer le cube API (et publier une version 1.X avec ça, en gérant l'API historique tant celle HTTP que celle Python) : https://forge.extranet.logilab.fr/cubicweb/cwclientlib/-/issues/7
- [ ] Tout typer en Python : https://forge.extranet.logilab.fr/cubicweb/cwclientlib/-/issues/8
- [ ] Mettre à part la construction de requêtes RQL des méthodes utilitaires (`find`, `exists`, etc.) : https://forge.extranet.logilab.fr/cubicweb/cwclientlib/-/issues/10
- [ ] Faire que la version la plus basse gérée de Python soit la 3.11 ([celle par défaut de Debian 12](https://packages.debian.org/bookworm/python3))
- [ ] Séparer ce qui a trait au cube `web`
- [ ] Fournir une API par défaut qui nous semble plus adaptéhttps://forge.extranet.logilab.fr/cubicweb/cwclientlib/-/issues/8Type everything2024-01-23T13:19:15ZNicola SpantiType everythinghttps://forge.extranet.logilab.fr/cubicweb/cwclientlib/-/issues/7Manage cube API2024-02-28T09:08:30ZNicola SpantiManage cube API## What we want
Currently we only manage rqlcontroller + signedrequest. We should also add support for the new API cube.
## Steps
- [ ] Add an option use `rqlcontroller` or `api`
- [ ] Manage requests without parameter
- [ ] Manage re...## What we want
Currently we only manage rqlcontroller + signedrequest. We should also add support for the new API cube.
## Steps
- [ ] Add an option use `rqlcontroller` or `api`
- [ ] Manage requests without parameter
- [ ] Manage requests with simple parameters
- [ ] Manage binaries
- [ ] Manage references to other requests
We may have forget one or some.https://forge.extranet.logilab.fr/cubicweb/cwclientlib/-/issues/6Better analyze grab CSRF token error2023-09-21T09:51:34ZNicola SpantiBetter analyze grab CSRF token error`_grab_csrf_token` does `self._requests_session.get(self._base_url, allow_redirects=False)` to hope to have `self._requests_session.cookies.get("csrf_token")`. The result of `self._requests_session.get` is not checked. There may be no co...`_grab_csrf_token` does `self._requests_session.get(self._base_url, allow_redirects=False)` to hope to have `self._requests_session.cookies.get("csrf_token")`. The result of `self._requests_session.get` is not checked. There may be no cookie because the request failed and not because the cookie was not set due to a too old CubicWeb instance. If the request has failed, we should have a clear message about this and could retry.https://forge.extranet.logilab.fr/cubicweb/cwclientlib/-/issues/4Doesn't work with python 3.82020-12-16T15:01:49ZOlivier CAYROLDoesn't work with python 3.8In Python 3.8, the `digestmod` parameter of the `hmac.new` function is mandatory. cf. https://docs.python.org/release/3.8.5/library/hmac.html?highlight=hmac#hmac.new
Therefore, in `cwclientlib/cwproxy.py` file, the line #69 should now b...In Python 3.8, the `digestmod` parameter of the `hmac.new` function is mandatory. cf. https://docs.python.org/release/3.8.5/library/hmac.html?highlight=hmac#hmac.new
Therefore, in `cwclientlib/cwproxy.py` file, the line #69 should now be:
```python
content_signed = hmac.new(self.secret.encode('utf-8'),
content_to_sign.encode('utf-8'),
digestmod="MD5").hexdigest()
```
or something similar.https://forge.extranet.logilab.fr/cubicweb/cwclientlib/-/issues/1Debian package with GitLab CI2021-05-04T08:50:15ZArthur LutzDebian package with GitLab CI