update: add path section to MPTP packet

This commit is contained in:
ngn
2024-08-09 22:13:43 +03:00
parent f5d8514a27
commit 1404da3c6c
16 changed files with 382 additions and 221 deletions

View File

@ -106,9 +106,9 @@ bool lm_pool_info_download(lm_pool_t *pool, lm_mptp_transfer_callback_t callback
if((sock = lm_mptp_client_connect(pool->url.host, pool->url.port)) < 0)
return false;
lm_mptp_init(&packet, true, MPTP_C2S_INFO, true);
lm_mptp_new(&packet, true, MPTP_C2S_INFO, true);
lm_mptp_set_host(&packet, pool->url.host);
lm_mptp_set_data(&packet, pool->url.path, strlen(pool->url.path));
lm_mptp_set_path(&packet, pool->url.path);
if(!lm_mptp_client_send(sock, &packet)){
pdebug(__func__, "info file request failed for %s: %s", pool->name, lm_strerror());
@ -122,6 +122,7 @@ bool lm_pool_info_download(lm_pool_t *pool, lm_mptp_transfer_callback_t callback
ret = true;
end:
lm_mptp_free(&packet);
lm_mptp_close(sock);
if(ret)
ret = lm_pool_info_load(pool);

View File

@ -119,9 +119,9 @@ bool lm_pool_list_download(lm_pool_t *pool, char *dir, lm_mptp_transfer_callback
if((sock = lm_mptp_client_connect(pool->url.host, pool->url.port)) < 0)
return false;
lm_mptp_init(&packet, true, MPTP_C2S_LIST, true);
lm_mptp_new(&packet, true, MPTP_C2S_LIST, true);
lm_mptp_set_host(&packet, pool->url.host);
lm_mptp_set_data(&packet, pool->url.path, strlen(pool->url.path));
lm_mptp_set_path(&packet, pool->url.path);
if(!lm_mptp_client_send(sock, &packet)){
pdebug(__func__, "list file request failed for %s: %s", pool->name, lm_strerror());
@ -135,6 +135,7 @@ bool lm_pool_list_download(lm_pool_t *pool, char *dir, lm_mptp_transfer_callback
ret = true;
end:
lm_mptp_free(&packet);
lm_mptp_close(sock);
if(ret)
ret = lm_pool_list_load(pool, dir);

View File

@ -30,10 +30,10 @@ lm_pool_t *lm_pool_new(char *name, char *url) {
void lm_pool_test(lm_pool_t *pool) {
lm_mptp_t packet;
lm_mptp_init(&packet, true, MPTP_C2S_PING, true);
lm_mptp_new(&packet, true, MPTP_C2S_PING, true);
lm_mptp_set_host(&packet, pool->url.host);
lm_mptp_set_data(&packet, pool->url.path, strlen(pool->url.path));
lm_mptp_set_path(&packet, pool->url.path);
int sock = lm_mptp_client_connect(pool->url.host, pool->url.port);
if (sock == -1) {
@ -60,6 +60,7 @@ void lm_pool_test(lm_pool_t *pool) {
if(!pool->available)
lm_error_set(LM_ERR_PoolTestNotPong);
end:
lm_mptp_free(&packet);
lm_mptp_close(sock);
return;
}