- /* clean up buffer for IDENT result */
- len = strlen(bufptr) + 1;
- assert(len <= array_bytes(&s->buffer));
- array_moveleft(&s->buffer, 1, len);
-
- /* Don't close pipe and clean up, but
- * instead wait for IDENT result */
- s->stage = 1;
- goto try_resolve;
-
- case 1: /* IDENT user name */
- if (array_bytes(&s->buffer)) {
- bufptr = (char*) array_start(&s->buffer);
- Log( LOG_INFO, "IDENT lookup for connection %ld: \"%s\".", i, bufptr);
- Client_SetUser( c, bufptr, true );
- }
- else Log( LOG_INFO, "IDENT lookup for connection %ld: no result.", i );
-#endif
- break;
- default:
- Log( LOG_ERR, "Resolver: got result for unknown stage %d!?", s->stage );
+ ++identptr;
+ if (*identptr) {
+ Log( LOG_INFO, "IDENT lookup for connection %ld: \"%s\".", i, identptr);
+ Client_SetUser( c, identptr, true );
+ } else {
+ Log( LOG_INFO, "IDENT lookup for connection %ld: no result.", i );