add: msg2("USER ", username.s);
context: static void filter_client_data(char* data, ssize_t size){  const char* ptr;  const char* cr;  if (!strncasecmp(data, "PASS ", 5))    saw_command = 1;  else if (!strncasecmp(data, "AUTH ", 5))    saw_auth = saw_command = 1;  else if (!strncasecmp(data, "USER ", 5)) {    saw_command = 0;    if ((cr = memchr(data, CR, size)) == 0)      cr = memchr(data, LF, size);    if (cr != 0) {      if (local_name) {	str_copyb(&linebuf, data, cr-data);	if (memchr(data, '@', size) == 0) {	  str_catc(&linebuf, '@');	  str_cats(&linebuf, local_name);	  str_catb(&linebuf, cr, size-(cr-data));	  msg1(linebuf.s);	}	msg1(linebuf.s);	str_catb(&linebuf, cr, size-(cr-data));	data = linebuf.s;	size = linebuf.len;      }    }  }  else if (saw_auth) {    if ((ptr = base64decode(data, size)) != 0)      str_copys(&username, ptr);    saw_auth = 0;  }  write_server(data, size);}