+
+ case 2: // Async-Control-Character-Map
+ if (!ntohl(*(u32 *)(o + 2))) // all bits zero is OK
+ break;
+
+ if (response && response != ConfigNak) // rej already queued
+ break;
+
+ LOG(2, session[s].ip, s, t, " Remote requesting asyncmap. Rejecting.\n");
+ if (!response)
+ {
+ q = makeppp(b, sizeof(b), NULL, 0, t, s, PPPLCP);
+ if (!q) break;
+ response = *q++ = ConfigNak;
+ }
+
+ if ((q - b + 11) > sizeof(b))
+ {
+ LOG(2, session[s].ip, s, t, "LCP overflow for asyncmap ConfigNak.\n");
+ break;
+ }
+
+ *q++ = type;
+ *q++ = 6;
+ memset(q, 0, 4); // asyncmap 0
+ q += 4;
+ break;
+