3 Commits
24.00 ... 24.01

6 changed files with 48 additions and 31 deletions

View File

@ -11,7 +11,7 @@ HDRS = $(wildcard include/*.h)
CFLAGS = -O3 -fstack-protector-strong -fcf-protection=full -fstack-clash-protection
LIBS = -linih -lmp
VERSION = 24.00
VERSION = 24.01
all: dist dist/pooler $(PO_OUTS)

View File

@ -4,6 +4,7 @@
addr = 0.0.0.0:5858
threads = 10
# [pool-name]
# [pool-config]
# name = pool-name
# host = pool.example.com
# dir = /srv/pools/pool-name

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-08-10 23:56+0300\n"
"POT-Creation-Date: 2024-08-18 04:11+0300\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -17,27 +17,27 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: src/config.c:130
#: src/config.c:135
#, c-format
msgid "Unknown configuration option: %s"
msgstr ""
#: src/config.c:132
#: src/config.c:137
#, c-format
msgid "Unknown configuration option: %s/%s"
msgstr ""
#: src/config.c:140
#: src/config.c:145
#, fuzzy, c-format
msgid "Failed to access the configuration file: %s"
msgstr "Kayıt dosyasını açmak başarısız oldu: %s"
#: src/config.c:145
#: src/config.c:150
#, fuzzy
msgid "Failed to parse the configuration"
msgstr "Kayıt dosyasını açmak başarısız oldu: %s"
#: src/config.c:152
#: src/config.c:160
#, fuzzy, c-format
msgid "Hostname not specified for the pool: %s"
msgstr "Ana makine adı havuz konfigürasyonunda belirtilmedi, geçiliyor: %s"
@ -82,73 +82,74 @@ msgstr ""
msgid "Request from %s: PULL (%s)"
msgstr ""
#: src/main.c:109
#. disable buffering so docker-compose logs works correctly
#: src/main.c:110
#, fuzzy, c-format
msgid "Starting pooler %s (libmp %s)"
msgstr "%lu tane havuz %s adresinde sunuluyor"
#: src/main.c:112
#: src/main.c:113
msgid "Configuration file not specified"
msgstr "Konfigürasyon dosyası belirtilmedi"
#: src/main.c:125
#: src/main.c:126
msgid "Loaded the configuration"
msgstr ""
#: src/main.c:128
#: src/main.c:129
#, fuzzy
msgid "Failed to get the temp directory configuration option (tmpdir)"
msgstr "Kayıt dosyasını açmak başarısız oldu: %s"
#: src/main.c:136
#: src/main.c:137
msgid "Please specify a valid thread count (1-1000)"
msgstr "Lütfen geçerli bir işlem sayısı belirtin (1-1000)"
#: src/main.c:141
#: src/main.c:142
msgid "Please specify at least one pool in the configuration"
msgstr "Lütfen konfigürasyonda en az bir havuz belirtin"
#: src/main.c:146
#: src/main.c:147
#, fuzzy, c-format
msgid "%s: loading the pool"
msgstr "%s: havuz bilgisi başarıyla yüklendi"
#: src/main.c:149
#: src/main.c:150
#, fuzzy, c-format
msgid "%s: hostname not specified for pool, skipping"
msgstr "Ana makine adı havuz konfigürasyonunda belirtilmedi, geçiliyor: %s"
#: src/main.c:163
#: src/main.c:164
#, fuzzy, c-format
msgid "%s: failed access the pool directory (%s)"
msgstr "Havuz dizinine erişilemiyor: %s"
#: src/main.c:168
#: src/main.c:169
#, fuzzy, c-format
msgid "%s: failed to add pool to the list (%s)"
msgstr "Havuzu listeye eklemek başarısız oldu: %s"
#: src/main.c:176
#: src/main.c:177
#, c-format
msgid "Failed to sync the pools: %s"
msgstr "Havuzları sekronize etmek başarısız oldu: %s"
#: src/main.c:181
#: src/main.c:182
#, fuzzy
msgid "None of the pools is available for serving"
msgstr "Havuzların hiçbiri sunmak için müsait değil"
#: src/main.c:185
#: src/main.c:186
#, c-format
msgid "Serving %lu pool on %s"
msgstr "%lu tane havuz %s adresinde sunuluyor"
#: src/main.c:185
#: src/main.c:186
#, c-format
msgid "Serving %lu pools on %s"
msgstr "%lu tane havuz %s adresinde sunuluyor"
#: src/main.c:188
#: src/main.c:189
#, c-format
msgid "Failed to start the server: %s"
msgstr "Sunucuyu başlatmak başarısız oldu: %s"

View File

@ -21,21 +21,21 @@ config_t config = {
.pools = NULL,
};
pool_config_t *config_pool_add(char *name) {
pool_config_t *config_pool_add(char *section) {
pool_config_t *pool = malloc(sizeof(pool_config_t));
bzero(pool, sizeof(pool_config_t));
pool->name = strdup(name);
pool->next = config.pools;
config.pools = pool;
pool->section = strdup(section);
pool->next = config.pools;
config.pools = pool;
return pool;
}
bool config_pool_contains(char *name) {
bool config_pool_contains(char *section) {
pool_config_t *cur = config.pools;
while (NULL != cur) {
if (eq(cur->name, name))
if (eq(cur->section, section))
return true;
cur = cur->next;
}
@ -105,7 +105,12 @@ int config_load_handler(void *data, const char *_section, const char *_key, cons
if (!config_pool_contains(section))
config_pool_add(section);
if (eq(key, "host")) {
if (eq(key, "name")) {
free(config.pools->name);
config.pools->name = strdup(value);
}
else if (eq(key, "host")) {
free(config.pools->host);
config.pools->host = strdup(value);
}
@ -148,10 +153,14 @@ bool config_load(char *file) {
pool_config_t *pool = config.pools;
while (NULL != pool) {
if (NULL == pool->name)
pool->name = pool->section;
if (NULL == pool->host) {
error(_("Hostname not specified for the pool: %s"), pool->name);
return false;
}
pool = pool->next;
}
@ -167,8 +176,12 @@ void config_free() {
old = cur;
cur = cur->next;
free(old->section);
if (old->section != old->name)
free(old->name);
free(old->host);
free(old->name);
free(old->path);
free(old->dir);
free(old);
}
}

View File

@ -21,6 +21,7 @@ typedef struct config_option {
typedef struct pool_config {
struct pool_config *next;
char *section;
char *name;
char *host;
char *path;

View File

@ -106,6 +106,7 @@ bool serve_callback(lm_pool_t *pool, lm_mptp_t *packet, struct sockaddr *addr, v
}
int main(int argc, char *argv[]) {
setbuf(stdout, NULL); // disable buffering so docker-compose logs works correctly
info(_("Starting pooler %s (libmp %s)"), VERSION, LM_VERSION);
if (argc != 2) {