-
- ok = cram_md5_auth(ua, director->password) &&
- cram_md5_get_auth(ua, director->password);
-
+// Dmsg2(000, "Console=%s addr=%s\n", name, inet_ntoa(ua->client_addr.sin_addr));
+ name[sizeof(name)-1] = 0; /* terminate name */
+ if (strcmp(name, "*UserAgent*") == 0) { /* default console */
+ ok = cram_md5_auth(ua, director->password, ssl_need) &&
+ cram_md5_get_auth(ua, director->password, ssl_need);
+ } else {
+ unbash_spaces(name);
+ CONRES *cons = (CONRES *)GetResWithName(R_CONSOLE, name);
+ if (cons) {
+ ok = cram_md5_auth(ua, cons->password, ssl_need) &&
+ cram_md5_get_auth(ua, cons->password, ssl_need);
+ if (ok) {
+ uac->cons = cons; /* save console resource pointer */
+ }
+ } else {
+ ok = false;
+ }
+ }