--- embedaddon/mpd/src/auth.c 2012/02/21 23:32:47 1.1.1.1 +++ embedaddon/mpd/src/auth.c 2013/07/22 08:44:29 1.1.1.2 @@ -179,6 +179,9 @@ ACLDestroy(struct acl *acl) void authparamsInit(struct authparams *ap) { memset(ap,0,sizeof(struct authparams)); + ap->eapmsg = NULL; + ap->state = NULL; + ap->class = NULL; ap->msdomain = NULL; #ifdef SIOCSIFDESCR ap->ifdescr = NULL; @@ -602,6 +605,9 @@ AuthDataNew(Link l) Auth a = &l->lcp.auth; auth = Malloc(MB_AUTH, sizeof(*auth)); + auth->reply_message = NULL; + auth->mschap_error = NULL; + auth->mschapv2resp = NULL; auth->conf = l->lcp.auth.conf; if (l->lcp.auth.conf.extauth_script) auth->conf.extauth_script = Mstrdup(MB_AUTH, l->lcp.auth.conf.extauth_script); @@ -613,6 +619,7 @@ AuthDataNew(Link l) strlcpy(auth->info.session_id, l->session_id, sizeof(auth->info.session_id)); strlcpy(auth->info.peer_ident, l->lcp.peer_ident, sizeof(l->lcp.peer_ident)); auth->info.originate = l->originate; + auth->info.downReason = NULL; if (l->bund) { strlcpy(auth->info.ifname, l->bund->iface.ifname, sizeof(auth->info.ifname)); @@ -725,7 +732,9 @@ AuthStat(Context ctx, int ac, char *av[], void *arg) Printf("\tInterface descr.: \"%s\"\r\n", au->params.ifdescr != NULL ? au->params.ifdescr : ""); #endif +#ifdef SIOCAIFGROUP Printf("\tInterface group : %s\r\n", au->params.ifgroup); +#endif Printf("\tIP range : %s\r\n", (au->params.range_valid)? u_rangetoa(&au->params.range,buf,sizeof(buf)):""); Printf("\tIP pool : %s\r\n", au->params.ippool); @@ -898,8 +907,7 @@ AuthAccountStart(Link l, int type) if (paction_start(&a->acct_thread, &gGiantMutex, AuthAccount, AuthAccountFinish, auth) == -1) { - Log(LG_ERR, ("[%s] ACCT: Couldn't start thread: %d", - l->name, errno)); + Perror("[%s] ACCT: Couldn't start thread", l->name); AuthDataDestroy(auth); } } @@ -1119,8 +1127,7 @@ AuthAsyncStart(Link l, AuthData auth) if (paction_start(&a->thread, &gGiantMutex, AuthAsync, AuthAsyncFinish, auth) == -1) { - Log(LG_ERR, ("[%s] AUTH: Couldn't start thread: %d", - l->name, errno)); + Perror("[%s] AUTH: Couldn't start thread", l->name); auth->status = AUTH_STATUS_FAIL; auth->why_fail = AUTH_FAIL_NOT_EXPECTED; auth->finish(l, auth); @@ -1337,7 +1344,8 @@ AuthSystem(AuthData auth) err=errno; GIANT_MUTEX_UNLOCK(); /* We must release lock before Log() */ if (err) - Perror("[%s] AUTH: Error retrieving passwd", auth->info.lnkname); + Log(LG_ERR, ("[%s] AUTH: Error retrieving passwd: %s", + auth->info.lnkname, strerror(err))); else Log(LG_AUTH, ("[%s] AUTH: User \"%s\" not found in the systems database", auth->info.lnkname, auth->params.authname)); @@ -1500,7 +1508,7 @@ AuthPAM(AuthData auth) return; } - if (pam_start("mpd", auth->params.authname, &pamc, &pamh) != PAM_SUCCESS) { + if (pam_start(gPamService, auth->params.authname, &pamc, &pamh) != PAM_SUCCESS) { Log(LG_ERR, ("[%s] AUTH: PAM error", auth->info.lnkname)); auth->status = AUTH_STATUS_FAIL; auth->why_fail = AUTH_FAIL_NOT_EXPECTED; @@ -1569,7 +1577,7 @@ AuthPAMAcct(AuthData auth) return (0); } - if (pam_start("mpd", auth->params.authname, &pamc, &pamh) != PAM_SUCCESS) { + if (pam_start(gPamService, auth->params.authname, &pamc, &pamh) != PAM_SUCCESS) { Log(LG_ERR, ("[%s] ACCT: PAM error", auth->info.lnkname)); return (-1); }