With this diff its possible to create a authinfo for each defined server. to get this work you have to add after the timeout vals of each server an entry with username and password. if you dont need authentification you have to add none to both. This isn't currently thze best implementation but it works for us. If somebody knows more about how nntpcache works he could improve it. I hope it will be a standard in the next release peter diff nntpcache-1.0.6/ll.h nntpcache-1.0.6/ll.h 40a41,42 > char *user; /* der User auf dem Server/ falls NULL keine authinfo */ > char *pass; /* passwort auf dem server */ diff nntpcache-1.0.6/nntpcache.c nntpcache-1.0.6/nntpcache.c 298,299c298,303 < char host[MAX_HOST], us[MAX_HOST], active_timeoutS[32], active_times_timeoutS[32], newsgroups_timeoutS[32], group_timeoutS[32], xover_timeoutS[32], article_timeoutS[32]; < int active_timeout, active_times_timeout, newsgroups_timeout, group_timeout, xover_timeout, article_timeout; --- > char host[MAX_HOST], us[MAX_HOST], active_timeoutS[32], > active_times_timeoutS[32], newsgroups_timeoutS[32], > group_timeoutS[32], xover_timeoutS[32], article_timeoutS[32], > usernameS[32], passwdS[32]; > int active_timeout, active_times_timeout, newsgroups_timeout, > group_timeout, xover_timeout, article_timeout; 320c324,327 < if (sscanf(buf, "%127s %127s %31s %31s %31s %31s %31s %31[^\t\r\n ]s", host, us, active_timeoutS, active_times_timeoutS, newsgroups_timeoutS, group_timeoutS, xover_timeoutS, article_timeoutS) != 8) --- > if (sscanf(buf, "%127s %127s %31s %31s %31s %31s %31s %31s %31s %31[^\t\r\n ]s", > host, us, active_timeoutS, active_times_timeoutS, > newsgroups_timeoutS, group_timeoutS, xover_timeoutS, > article_timeoutS, usernameS, passwdS) != 10) 379a387,396 > list->user = NULL; /* default no User */ > list->pass = NULL; /* default no Passwd */ > logw(("org %s ! %s",passwdS,usernameS)); > > if (!strEq(usernameS, "none")) { /* test if Username defined */ > list->pass=Sstrdup(passwdS); /* alloc Passw space */ > list->user=Sstrdup(usernameS); /* alloc Username */ > logw(("Name %s ! %s",list->pass, list->user)); > logw(("org %s ! %s",passwdS,usernameS)); > } 380a398 > diff nntpcache-1.0.6/sockets.c nntpcache-1.0.6/sockets.c 98c98,99 < */ --- > */ > 102a104,117 > > if (scfg->user != NULL) { /* do we need authentification */ > fprintf(scfg->fh,"AUTHINFO USER %s\r\n",scfg->user); > fflush(scfg->fh); > if (!Cfget(scfg, buf, sizeof buf)) > goto dropped; > logw(("AUTHINFO USER %s",scfg->user)); > fprintf(scfg->fh,"AUTHINFO PASS %s\r\n",scfg->pass); > fflush(scfg->fh); > if (!Cfget(scfg, buf, sizeof buf)) > goto dropped; > logw(("AUTHINFO PASS %s",scfg->pass)); > } > -- Message of the day: ~! ---- EDAG-Fulda | P. Katzmann | E-Planung | Steinauer Str.| 36003 Fulda PO.BOX 340 | tel. +49 661 6000-464 | fax -5922 | W. Germany in: pet@informatik.ee.edag.de peter.katzmann@edag.de