+ break;
+ case 'N': /* Notice to client */
+ if(parv != 3)
+ {
+ iwarn("authd sent us a result with wrong number of arguments: got %d", parc);
+ restart_authd();
+ return;
+ }
+
+ if((lcid = strtol(parv[1], NULL, 16)) > UINT32_MAX)
+ {
+ iwarn("authd sent us back a bad client ID");
+ restart_authd();
+ return;
+ }
+
+ /* cid to uid */
+ if((id = rb_dictionary_retrieve(cid_clients, RB_UINT_TO_POINTER((uint32_t)lcid))) == NULL)
+ {
+ iwarn("authd sent us back an unknown client ID");
+ restart_authd();
+ return;
+ }
+
+ if((client_p = find_id(id)) == NULL)
+ /* Client vanished... we'll let the timeout code handle it */
+ return;
+
+ sendto_one_notice(client_p, ":%s", parv[2]);
+ break;