X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Fconnection.c;h=465693e4ede506c0ef0848841d18bd90abebcf4e;hb=9907f1b6ede0d789a7b794d3eab873ee257a3c4e;hp=d5b5be2ea4a428197aa7770d5499e65c02ae4d53;hpb=0f6803c7688b9ea110673c3f4a3812d6e7c5fc53;p=pazpar2-moved-to-github.git diff --git a/src/connection.c b/src/connection.c index d5b5be2..465693e 100644 --- a/src/connection.c +++ b/src/connection.c @@ -441,7 +441,24 @@ static int connection_connect(struct connection *con, iochan_man_t iochan_man) ZOOM_options_set(zoptions, "apdulog", apdulog); if ((auth = session_setting_oneval(sdb, PZ_AUTHENTICATION))) - ZOOM_options_set(zoptions, "user", auth); + { + const char *cp1 = strchr(auth, ' '); + if (!cp1) + ZOOM_options_set(zoptions, "user", auth); + else + { + const char *cp2 = strchr(cp1 + 1, ' '); + + ZOOM_options_setl(zoptions, "user", auth, cp1 - auth); + if (!cp2) + ZOOM_options_set(zoptions, "password", cp1 + 1); + else + { + ZOOM_options_setl(zoptions, "group", cp1 + 1, cp2 - cp1 - 1); + ZOOM_options_set(zoptions, "password", cp2 + 1); + } + } + } if ((sru = session_setting_oneval(sdb, PZ_SRU)) && *sru) ZOOM_options_set(zoptions, "sru", sru); if ((sru_version = session_setting_oneval(sdb, PZ_SRU_VERSION))