Changeset 1355
- Timestamp:
- 08/21/07 11:23:47 (1 year ago)
- Files:
-
- honeytrap/trunk/configure.in (modified) (1 diff)
- honeytrap/trunk/src/attack.c (modified) (4 diffs)
- honeytrap/trunk/src/conftree.c (modified) (6 diffs)
- honeytrap/trunk/src/ctrl.c (modified) (7 diffs)
- honeytrap/trunk/src/dynsrv.c (modified) (12 diffs)
- honeytrap/trunk/src/honeytrap.c (modified) (1 diff)
- honeytrap/trunk/src/honeytrap.h (modified) (1 diff)
- honeytrap/trunk/src/ipqmon.c (modified) (1 diff)
- honeytrap/trunk/src/nfqmon.c (modified) (3 diffs)
- honeytrap/trunk/src/parseconf.c (modified) (5 diffs)
- honeytrap/trunk/src/pcapmon.c (modified) (2 diffs)
- honeytrap/trunk/src/plughook.c (modified) (3 diffs)
- honeytrap/trunk/src/plugin.c (modified) (5 diffs)
- honeytrap/trunk/src/proxy.c (modified) (4 diffs)
- honeytrap/trunk/src/readconf.c (modified) (8 diffs)
- honeytrap/trunk/src/response.c (modified) (5 diffs)
- honeytrap/trunk/src/response.h (modified) (1 diff)
- honeytrap/trunk/src/signals.c (modified) (7 diffs)
- honeytrap/trunk/src/signals.h (modified) (1 diff)
- honeytrap/trunk/src/sock.c (modified) (4 diffs)
- honeytrap/trunk/src/util.c (modified) (1 diff)
- honeytrap/trunk/tools/ngram.c (modified) (2 diffs)
- honeytrap/trunk/tools/ngtrie.c (modified) (12 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
honeytrap/trunk/configure.in
r1334 r1355 541 541 AC_CHECK_LIB(efence, EF_ALIGNMENT, LIBS="${LIBS} -lefence", AC_MSG_ERROR(libefence not found)) 542 542 else 543 with_efence=" no"543 with_efence=" " 544 544 fi 545 545 honeytrap/trunk/src/attack.c
r1286 r1355 50 50 a->download = NULL; 51 51 if (time(&(a->start_time)) == ((time_t)-1)) 52 logmsg(LOG_WARN, 1, "Warning - Could not set attack start time: % s.\n", strerror(errno));52 logmsg(LOG_WARN, 1, "Warning - Could not set attack start time: %m.\n"); 53 53 54 54 return(a); … … 67 67 /* save end time and payload data in attack record */ 68 68 if (time(&(a->end_time)) == ((time_t)-1)) 69 logmsg(LOG_WARN, 1, "Warning - Could not set attack end time: % s.\n", strerror(errno));69 logmsg(LOG_WARN, 1, "Warning - Could not set attack end time: %m.\n"); 70 70 71 71 /* attack string */ … … 123 123 124 124 if ((a->download = realloc(a->download, sizeof(struct s_download) * (a->dl_count + 1))) == NULL) { 125 logmsg(LOG_ERR, 1, "Error - Unable to allocate memory: % s.\n", strerror(errno));125 logmsg(LOG_ERR, 1, "Error - Unable to allocate memory: %m.\n"); 126 126 return(-1); 127 127 } … … 132 132 (pass && ((a->download[a->dl_count].pass = strdup(pass)) == NULL)) || 133 133 ((a->download[a->dl_count].dl_payload.data = (u_char *) malloc(size)) == NULL)) { 134 logmsg(LOG_ERR, 1, "Error - Unable to allocate memory: % s.\n", strerror(errno));134 logmsg(LOG_ERR, 1, "Error - Unable to allocate memory: %m.\n"); 135 135 free(a->download[a->dl_count].dl_type); 136 136 free(a->download[a->dl_count].user); honeytrap/trunk/src/conftree.c
r1286 r1355 93 93 /* create new element */ 94 94 if ((new_entry = malloc(sizeof(list_entry))) == NULL) { 95 logmsg(LOG_ERR, 1, "Error - Unable to allocate memory: % s.\n", strerror(errno));95 logmsg(LOG_ERR, 1, "Error - Unable to allocate memory: %m.\n"); 96 96 return(NULL); 97 97 } … … 100 100 /* copy data */ 101 101 if ((new_entry->data = malloc(size+1)) == NULL) { 102 logmsg(LOG_ERR, 1, "Error - Unable to allocate memory: % s.\n", strerror(errno));102 logmsg(LOG_ERR, 1, "Error - Unable to allocate memory: %m.\n"); 103 103 return(NULL); 104 104 } … … 143 143 144 144 if (((key = (char **) malloc(sizeof(char *))) == NULL) || ((*key = strdup(keyword)) == NULL)) { 145 fprintf(stderr, " Error - Unable to allocate memory: % s.\n", strerror(errno));145 fprintf(stderr, " Error - Unable to allocate memory: %m.\n"); 146 146 return(NULL); 147 147 } … … 185 185 // check whether a prefix does already exist and if not, add it recursively 186 186 if ((key = strdup(keyword)) == NULL) { 187 logmsg(LOG_ERR, 1, "Error - Unable to allocate memory: % s.\n", strerror(errno));187 logmsg(LOG_ERR, 1, "Error - Unable to allocate memory: %m.\n"); 188 188 return(NULL); 189 189 } … … 209 209 // create new node and insert it into tree 210 210 if ((new_node = malloc(sizeof(conf_node))) == NULL) { 211 logmsg(LOG_ERR, 1, "Error - Unable to allocate memory: % s.\n", strerror(errno));211 logmsg(LOG_ERR, 1, "Error - Unable to allocate memory: %m.\n"); 212 212 free(key); 213 213 return(NULL); … … 216 216 // if keyword is a toplevel key, add it, else add subkey 217 217 if ((new_node->keyword = strdup(subkey ? subkey : key)) == NULL) { 218 logmsg(LOG_ERR, 1, "Error - Unable to allocate memory: % s.\n", strerror(errno));218 logmsg(LOG_ERR, 1, "Error - Unable to allocate memory: %m.\n"); 219 219 free(key); 220 220 return(NULL); honeytrap/trunk/src/ctrl.c
r1345 r1355 73 73 logmsg(LOG_DEBUG, 1, "Unlocking pid file.\n"); 74 74 if (lockf(pidfile_fd, F_ULOCK, 0) < 0) 75 logmsg(LOG_ERR, 1, "Error - Unable to unlock pid file: % s.\n", strerror(errno));75 logmsg(LOG_ERR, 1, "Error - Unable to unlock pid file: %m.\n"); 76 76 77 77 logmsg(LOG_DEBUG, 1, "Closing pid file.\n"); 78 78 if (close(pidfile_fd) == -1) 79 logmsg(LOG_ERR, 1, "Error - Unable to close pid file: % s.\n", strerror(errno));79 logmsg(LOG_ERR, 1, "Error - Unable to close pid file: %m.\n"); 80 80 81 81 logmsg(LOG_DEBUG, 1, "Removing pid file.\n"); 82 82 if (unlink(pidfile_name) == -1) 83 logmsg(LOG_ERR, 1, "Error - Unable to remove pid file: % s.\n", strerror(errno));83 logmsg(LOG_ERR, 1, "Error - Unable to remove pid file: %m.\n"); 84 84 } else logmsg(LOG_DEBUG, 1, "No pid file installed.\n"); 85 85 86 86 logmsg(LOG_NOTICE, 1, "---- honeytrap stopped ----\n"); 87 87 88 if (close(logfile_fd) == -1) logmsg(LOG_ERR, 1, "Error - Unable to close logfile: % s.\n", strerror(errno));88 if (close(logfile_fd) == -1) logmsg(LOG_ERR, 1, "Error - Unable to close logfile: %m.\n"); 89 89 90 90 exit(status); … … 108 108 109 109 if (getrlimit(RLIMIT_NOFILE, &rl) < 0) { 110 fprintf(stderr, " Error - Unable to daemonize: % s\n", strerror(errno));110 fprintf(stderr, " Error - Unable to daemonize: %m.\n"); 111 111 exit(EXIT_FAILURE); 112 112 } … … 114 114 /* become session leader and loose controlling TTY */ 115 115 if ((pid = myfork()) < 0) { 116 fprintf(stderr, " Error - Unable to daemonize: % s\n", strerror(errno));116 fprintf(stderr, " Error - Unable to daemonize: %m.\n"); 117 117 exit(EXIT_FAILURE); 118 118 } else if (pid != 0) exit(EXIT_SUCCESS); … … 122 122 /* fork again, future opens must not allocate controlling TTYs */ 123 123 if ((pid = myfork()) < 0) { 124 fprintf(stderr, " Error - Unable to daemonize: % s\n", strerror(errno));124 fprintf(stderr, " Error - Unable to daemonize: %m.\n"); 125 125 exit(EXIT_FAILURE); 126 126 } else if (pid != 0) { … … 135 135 DEBUG_FPRINTF(stdout, " Current working directory is %s, changing it to /.\n", old_cwd); 136 136 if (chdir("/") < 0) { 137 fprintf(stderr, " Error - Cannot change working directory: % s\n", strerror(errno));137 fprintf(stderr, " Error - Cannot change working directory: %m.\n"); 138 138 exit(EXIT_FAILURE); 139 139 } … … 144 144 for (i=0; i < rl.rlim_max; i++) 145 145 if ((i != logfile_fd) && (i != sigpipe[0]) && (i != sigpipe[1]) && (close(i) == -1)) 146 fprintf(stdout, " Warnging - Could not close file descriptor %d: % s.\n", i, strerror(errno));146 fprintf(stdout, " Warnging - Could not close file descriptor %d: %m.\n", i); 147 147 148 148 /* attach file descriptors 0, 1 and 2 to /dev/null to prevent accidentally standard IO */ 149 149 if ((fd0 = open("/dev/null", O_RDWR)) == -1) { 150 fprintf(stderr, " Error - Unable to set stdin to /dev/null: % s.\n", strerror(errno));150 fprintf(stderr, " Error - Unable to set stdin to /dev/null: %m.\n"); 151 151 exit(EXIT_FAILURE); 152 152 } 153 153 if ((fd1 = dup(fd0)) == -1) { 154 fprintf(stderr, " Error - Unable to set stdout to /dev/null: % s.\n", strerror(errno));154 fprintf(stderr, " Error - Unable to set stdout to /dev/null: %m.\n"); 155 155 exit(EXIT_FAILURE); 156 156 } 157 157 if ((fd2 = dup(fd0)) == -1) { 158 fprintf(stderr, " Error - Unable to set stderr to /dev/null: % s.\n", strerror(errno));158 fprintf(stderr, " Error - Unable to set stderr to /dev/null: %m.\n"); 159 159 exit(EXIT_FAILURE); 160 160 } … … 170 170 171 171 if ((pidfile_fd = open(pidfile_name, O_EXCL | O_CREAT | O_NOCTTY | O_RDWR, 0640)) == -1) { 172 logmsg(LOG_ERR, 1, "Error - Unable to open pid file: % s\n", strerror(errno));172 logmsg(LOG_ERR, 1, "Error - Unable to open pid file: %m.\n"); 173 173 exit(EXIT_SUCCESS); 174 174 } 175 175 if (lockf(pidfile_fd, F_TLOCK, 0) < 0) { 176 logmsg(LOG_ERR, 1, "Error - Unable to lock pid file: % s\n", strerror(errno));176 logmsg(LOG_ERR, 1, "Error - Unable to lock pid file: %m.\n"); 177 177 clean_exit(EXIT_SUCCESS); 178 178 } 179 179 180 parent_pid = getpid();180 master_pid = getpid(); 181 181 182 182 bzero(pid_str, 5); 183 snprintf(pid_str, 5,"%d\n", parent_pid);183 snprintf(pid_str, 5,"%d\n", master_pid); 184 184 if (!(write(pidfile_fd, pid_str, strlen(pid_str)))) { 185 logmsg(LOG_ERR, 1, "Error - Unable to write pid file: % s\n", strerror(errno));185 logmsg(LOG_ERR, 1, "Error - Unable to write pid file: %m.\n"); 186 186 return(0); 187 187 } honeytrap/trunk/src/dynsrv.c
r1354 r1355 131 131 /* a backlog queue size of 10 should give us enough time to fork */ 132 132 if ((proto == TCP) && ((listen(listen_fd, 10)) < 0)) { 133 logmsg(LOG_ERR, 1, "Error - Could not listen on socket: % s.\n", strerror(errno));133 logmsg(LOG_ERR, 1, "Error - Could not listen on socket: %m.\n"); 134 134 close(listen_fd); 135 135 exit(EXIT_FAILURE); … … 157 157 * that it's just the passed-through value of a sendmsg() */ 158 158 if (nfq_set_verdict(qh, id, NF_ACCEPT, 0, NULL) == -1) { 159 logmsg(LOG_ERR, 1, "Error - Could not set verdict on packet: % s.\n", strerror(errno));159 logmsg(LOG_ERR, 1, "Error - Could not set verdict on packet: %m.\n"); 160 160 nfq_destroy_queue(qh); 161 161 exit(EXIT_FAILURE); … … 184 184 } 185 185 logmsg(LOG_ERR, 1, 186 " %s Error - select() call failed: % s.\n", portstr, strerror(errno));186 " %s Error - select() call failed: %m.\n", portstr); 187 187 exit(EXIT_FAILURE); 188 188 case 0: … … 221 221 else { 222 222 logmsg(LOG_ERR, 1, 223 " %s Error - Could not accept tcp connection: % s\n",224 portstr , strerror(errno));223 " %s Error - Could not accept tcp connection: %m.\n", 224 portstr); 225 225 close(mirror_sock_fd); 226 226 free(attack); … … 244 244 else { 245 245 logmsg(LOG_ERR, 1, 246 " %s Error - Could not connect udp socket: % s\n",247 portstr , strerror(errno));246 " %s Error - Could not connect udp socket: %m.\n", 247 portstr); 248 248 close(mirror_sock_fd); 249 249 free(attack); … … 260 260 else { 261 261 logmsg(LOG_ERR, 1, 262 " %s Error - Could not get remote host information: % s\n",263 portstr , strerror(errno));262 " %s Error - Could not get remote host information: %m.\n", 263 portstr); 264 264 close(mirror_sock_fd); 265 265 free(attack); … … 415 415 } // for - incoming connections 416 416 } /* fork - server process */ 417 else if (pid == -1) logmsg(LOG_ERR, 1, "Error - Forking server process failed: % s.\n", strerror(errno));417 else if (pid == -1) logmsg(LOG_ERR, 1, "Error - Forking server process failed: %m.\n"); 418 418 return; 419 419 } … … 444 444 break; 445 445 } 446 logmsg(LOG_ERR, 1, " %s Error - select() failed: % s.\n", portstr, strerror(errno));446 logmsg(LOG_ERR, 1, " %s Error - select() failed: %m.\n", portstr); 447 447 close(connection_fd); 448 448 return(process_data(attack_string, total_bytes, NULL, 0, attack->a_conn.l_port, attack)); … … 459 459 if ((!send_default_response(connection_fd, port, proto, read_timeout)) == -1) { 460 460 logmsg(LOG_ERR, 1, 461 " %s Error - Sending response failed: %s.\n", 462 portstr, strerror(errno)); 461 " %s Error - Sending response failed: %m.\n", portstr); 463 462 close(connection_fd); 464 463 return(process_data … … 476 475 if (!(attack_string = (u_char *) realloc(attack_string, total_bytes))) { 477 476 logmsg(LOG_ERR, 1, 478 " %s Error - Reallocating buffer size failed: %s.\n", 479 portstr, strerror(errno)); 477 " %s Error - Reallocating buffer size failed: %m.\n", portstr); 480 478 free(attack_string); 481 479 exit(EXIT_FAILURE); … … 501 499 (attack_string, total_bytes, NULL, 0, attack->a_conn.l_port, attack)); 502 500 } else { 503 logmsg(LOG_NOISY, 1, " %s Could not read data: % s.\n", portstr, strerror(errno));501 logmsg(LOG_NOISY, 1, " %s Could not read data: %m.\n", portstr); 504 502 close(connection_fd); 505 503 return(process_data … … 559 557 break; 560 558 } 561 logmsg(LOG_INFO, 1, "%s %s Error - Select failed: % s.\n", logpre, portstr, strerror(errno));559 logmsg(LOG_INFO, 1, "%s %s Error - Select failed: %m.\n", logpre, portstr); 562 560 shutdown(server_sock_fd, SHUT_RDWR); 563 561 shutdown(connection_fd, SHUT_RDWR); honeytrap/trunk/src/honeytrap.c
r1292 r1355 84 84 85 85 86 /* install signal handlers */87 install_signal_handlers();88 89 90 86 /* configure honeytrap */ 91 87 configure(arg_c, arg_v); honeytrap/trunk/src/honeytrap.h
r1354 r1355 73 73 74 74 int pidfile_fd, first_init; 75 pid_t parent_pid;76 75 char old_cwd[1024]; 77 76 honeytrap/trunk/src/ipqmon.c
r1292 r1355 84 84 } 85 85 /* error */ 86 logmsg(LOG_ERR, 1, "Error - select() call failed in main loop: % s.\n", strerror(errno));86 logmsg(LOG_ERR, 1, "Error - select() call failed in main loop: %m.\n"); 87 87 exit(EXIT_FAILURE); 88 88 case 0: honeytrap/trunk/src/nfqmon.c
r1292 r1355 148 148 logmsg(LOG_DEBUG, 1, "Creating NFQ connection monitor.\n"); 149 149 if ((h = nfq_open()) < 0) { 150 logmsg(LOG_ERR, 1, "Error - Could not create NFQ handle: % s\n", strerror(errno));150 logmsg(LOG_ERR, 1, "Error - Could not create NFQ handle: %m.\n"); 151 151 clean_exit(EXIT_FAILURE); 152 152 } 153 153 154 154 if (nfq_unbind_pf(h, AF_INET) < 0) { 155 logmsg(LOG_ERR, 1, "Error - Could not unbind existing NFQ handle: % s\n", strerror(errno));155 logmsg(LOG_ERR, 1, "Error - Could not unbind existing NFQ handle: %m.\n"); 156 156 logmsg(LOG_ERR, 1, "Do you have root privileges?\n"); 157 157 clean_exit(EXIT_FAILURE); … … 159 159 160 160 if (nfq_bind_pf(h, AF_INET) < 0) { 161 logmsg(LOG_ERR, 1, "Error - Could not bind existing NFQ handle: % s\n", strerror(errno));161 logmsg(LOG_ERR, 1, "Error - Could not bind existing NFQ handle: %m.\n"); 162 162 clean_exit(EXIT_FAILURE); 163 163 } 164 164 165 165 if ((qh = nfq_create_queue(h, 0, &server_wrapper, NULL)) == NULL) { 166 logmsg(LOG_ERR, 1, "Error - Could not create NFQ queue handle: % s\n", strerror(errno));166 logmsg(LOG_ERR, 1, "Error - Could not create NFQ queue handle: %m.\n"); 167 167 clean_exit(EXIT_FAILURE); 168 168 } … … 197 197 } 198 198 /* error */ 199 logmsg(LOG_ERR, 1, "Error - select() call failed in main loop: % s.\n", strerror(errno));199 logmsg(LOG_ERR, 1, "Error - select() call failed in main loop: %m.\n"); 200 200 exit(EXIT_FAILURE); 201 201 case 0: honeytrap/trunk/src/parseconf.c
r1270 r1355 190 190 static enum lcfg_status lcfg_scanner_buffer_fill(struct lcfg_scanner *s) { 191 191 if( (s->size = read(s->fd, s->buffer, LCFG_BUFSIZ)) < 0 ) { 192 lcfg_error_set(s->lcfg, "read(): % s", strerror(errno));192 lcfg_error_set(s->lcfg, "read(): %m"); 193 193 return lcfg_status_error; 194 194 } else if( s->size == 0 ) s->eof = !0; … … 582 582 if( t.type == lcfg_string ) { 583 583 lcfg_parser_add_value(p, lcfg_string_cstr(current_path), t.string); 584 /*printf("adding string value for single statement\n");*/585 584 STATE_STACK_POP(); 586 585 PATH_POP(); … … 599 598 lcfg_parser_add_value(p, lcfg_string_cstr(current_path), t.string); 600 599 PATH_POP(); 601 /*printf("adding string to list pos %d\n", state_stack[ssi].list_counter);*/602 600 state_stack[ssi].list_counter++; 603 601 } else if( t.type == lcfg_sbracket_open ) { 604 602 PATH_PUSH_INT(state_stack[ssi].list_counter); 605 /*printf("adding list to list pos %d\n", state_stack[ssi].list_counter);*/606 603 state_stack[ssi].list_counter++; 607 604 STATE_STACK_PUSH(in_list); 608 605 } else if( t.type == lcfg_brace_open ) { 609 606 PATH_PUSH_INT(state_stack[ssi].list_counter); 610 /*printf("adding map to list pos %d\n", state_stack[ssi].list_counter);*/611 607 state_stack[ssi].list_counter++; 612 608 STATE_STACK_PUSH(in_map); … … 625 621 626 622 lcfg_string_delete(t.string); 627 628 /*printf(" *** pda: read %s, state is now %s\n", lcfg_token_map[t.type], state_map[state_stack[ssi].s]);*/629 623 } 630 624 … … 645 639 646 640 if( fd < 0 ) { 647 lcfg_error_set(p->lcfg, "open(): % s", strerror(errno));641 lcfg_error_set(p->lcfg, "open(): %m"); 648 642 return lcfg_status_error; 649 643 } honeytrap/trunk/src/pcapmon.c
r1292 r1355 267 267 } 268 268 /* error */ 269 logmsg(LOG_ERR, 1, "Error - select() call failed in main loop: % s.\n", strerror(errno));269 logmsg(LOG_ERR, 1, "Error - select() call failed in main loop: %m.\n"); 270 270 exit(EXIT_FAILURE); 271 271 case 0: … … 380 380 if (!(bpf_filter_string = (char *)realloc(bpf_filter_string, 381 381 strlen(bpf_filter_string)+strlen(bpf_cmd_ext)+8))) { 382 fprintf(stderr, " Error - Unable to allocate memory: % s\n", strerror(errno));382 fprintf(stderr, " Error - Unable to allocate memory: %m.\n"); 383 383 exit(EXIT_FAILURE); 384 384 } honeytrap/trunk/src/plughook.c
r1292 r1355 53 53 /* assemble full config option path */ 54 54 if ((confopt = malloc(strlen(full_name)+strlen(keywords[i])+2)) == NULL) { 55 fprintf(stderr, " Error - Unable to allocate memory: % s.\n", strerror(errno));55 fprintf(stderr, " Error - Unable to allocate memory: %m.\n"); 56 56 exit(EXIT_FAILURE); 57 57 } … … 80 80 DEBUG_FPRINTF(stdout, " Hooking %s::%s() to 'process_attack' (priority: %d).\n", plugname, funcname, priority); 81 81 if ((func_new = (PlugFuncList *) malloc(sizeof(PlugFuncList))) == NULL) { 82 logmsg(LOG_ERR, 1, " Error - Unable to allocate memory: % s\n", strerror(errno));82 logmsg(LOG_ERR, 1, " Error - Unable to allocate memory: %m.\n"); 83 83 return(NULL); 84 84 } … … 153 153 DEBUG_FPRINTF(stdout, " Hooking plugin %s to 'unload_plugins'.\n", plugname); 154 154 if ((func_new = (PlugFuncList *) malloc(sizeof(PlugFuncList))) == NULL) { 155 logmsg(LOG_ERR, 1, " Error - Unable to allocate memory: % s\n", strerror(errno));155 logmsg(LOG_ERR, 1, " Error - Unable to allocate memory: %m.\n"); 156 156 return(NULL); 157 157 } honeytrap/trunk/src/plugin.c
r1292 r1355 49 49 50 50 if ((plugindir = opendir(dir)) == NULL) { 51 fprintf(stderr, " Error - Unable to open plugin directory: % s.\n", strerror(errno));51 fprintf(stderr, " Error - Unable to open plugin directory: %m.\n"); 52 52 exit(EXIT_FAILURE); 53 53 } … … 55 55 DEBUG_FPRINTF(stdout, " Looking for plugin %s in %s\n", plugname, dir); 56 56 if ((n = scandir(dir, &namelist, 0, alphasort)) < 0) { 57 fprintf(stderr, " Error - Unable to scan plugin directory: % s\n", strerror(errno));57 fprintf(stderr, " Error - Unable to scan plugin directory: %m.\n"); 58 58 return(-1); 59 59 } else while(n--) { … … 82 82 } 83 83 if (ret != 0) { 84 fprintf(stderr, " Error - Unable to load plugin %s: % s.\n", full_name, strerror(errno));84 fprintf(stderr, " Error - Unable to load plugin %s: %m.\n", full_name); 85 85 exit(EXIT_FAILURE); 86 86 } … … 98 98 /* allocate memory for new plugin and attach it to the plugin list */ 99 99 if ((new_plugin = (Plugin *) malloc(sizeof(Plugin))) == NULL) { 100 fprintf(stderr, " Error - Unable to allocate memory: % s\n", strerror(errno));100 fprintf(stderr, " Error - Unable to allocate memory: %m.\n"); 101 101 return(-1); 102 102 } else { … … 113 113 } else { 114 114 if ((new_plugin->handle = (void *) malloc(sizeof(int))) == NULL) { 115 fprintf(stderr, " Error loading plugin - Unable to allocate memory: % s\n", strerror(errno));115 fprintf(stderr, " Error loading plugin - Unable to allocate memory: %m.\n"); 116 116 free(new_plugin); 117 117 return(-1); honeytrap/trunk/src/proxy.c
r1345 r1355 19 19 #include <strings.h> 20 20 #include <sys/socket.h> 21 //#include <unistd.h>22 21 23 22 #include "honeytrap.h" … … 95 94 sizeof(proxy_socket), timeout)) { 96 95 case -1: 97 if (errno == EINPROGRESS) break; 98 if (errno == EINTR) { 96 switch(errno) { 97 case EINPROGRESS: 98 break; 99 case EINTR: 99 100 if (check_sigpipe() == -1) exit(EXIT_FAILURE); 100 101 break; 102 case ECONNREFUSED: 103 logmsg(LOG_DEBUG, 1, "%s %s select() call failed: %m.\n", 104 logpre, portstr); 105 return(-1); 106 default: 107 logmsg(LOG_ERR, 1, "%s %s Error - select() call failed: %m.\n", 108 logpre, portstr); 109 return(-1); 101 110 } 102 logmsg(LOG_ERR, 1, "%s %s Error - select() call failed: %s \n",103 logpre, portstr, strerror(errno));104 return(-1);105 111 case 0: 106 112 logmsg(LOG_DEBUG, 1, "%s %s Unable to establish %s connection: %s.\n", … … 113 119 local_addr_len = 0; 114 120 if (getsockname(proxy_sock_fd, (struct sockaddr *) &local_socket, (socklen_t *) &local_addr_len) != 0) { 115 logmsg(LOG_ERR, 1, "%s %s Error - Unable to get local address from %s socket: % s\n",116 logpre, portstr, logact , strerror(errno));121 logmsg(LOG_ERR, 1, "%s %s Error - Unable to get local address from %s socket: %m.\n", 122 logpre, portstr, logact); 117 123 return(-1); 118 124 } … … 134 140 /* write read bytes to save_string at offset */ 135 141 if (!(*save_string = (u_char *) realloc(*save_string, offset+(*bytes_read)))) { 136 logmsg(LOG_ERR, 1, "Error - Unable to allocate memory: % s\n", strerror(errno));142 logmsg(LOG_ERR, 1, "Error - Unable to allocate memory: %m.\n"); 137 143 close(from_fd); 138 144 close(to_fd); honeytrap/trunk/src/readconf.c
r1334 r1355 147 147 148 148 /* initialilzation of variables */ 149 default_response= NULL; /* initialize default response list */149 response_list = NULL; /* initialize default response list */ 150 150 pidfile_fd = 0; 151 151 #ifdef USE_PCAP_MON … … 238 238 239 239 240 /* install signal handlers */ 241 install_signal_handlers(); 242 243 240 244 /* process remaining options now */ 241 245 optind = 1; … … 274 278 case 'u': 275 279 if ((pwd_entry = getpwnam(optarg)) == NULL) { 276 if (errno) fprintf(stderr, " Invalid user: % s\n", strerror(errno));280 if (errno) fprintf(stderr, " Invalid user: %m.\n"); 277 281 else fprintf(stderr, " User %s not found.\n", optarg); 278 282 exit(EXIT_FAILURE); … … 284 288 case 'g': 285 289 if ((grp_entry = getgrnam(optarg)) == NULL) { 286 if (errno) fprintf(stderr, " Invalid group: % s\n", strerror(errno));290 if (errno) fprintf(stderr, " Invalid group: %m.\n"); 287 291 else fprintf(stderr, " Group %s not found.\n", optarg); 288 292 exit(EXIT_FAILURE); … … 305 309 } 306 310 } 311 307 312 308 313 #ifdef USE_PCAP_MON … … 368 373 /* open logfile */ 369 374 if((logfile_fd = open(logfile_name, EXCL_FILE_RW, 0644)) == -1) { 370 fprintf(stderr, " Error - Unable to open logfile %s: % s.\n", logfile_name, strerror(errno));375 fprintf(stderr, " Error - Unable to open logfile %s: %m.\n", logfile_name); 371 376 exit(EXIT_FAILURE); 372 377 } … … 467 472 else if (OPT_IS("user")) { 468 473 if ((pwd_entry = getpwnam(value)) == NULL) { 469 if (errno) fprintf(stderr, " Error - Invalid user '%s': % s\n", value, strerror(errno));474 if (errno) fprintf(stderr, " Error - Invalid user '%s': %m.\n", value); 470 475 else fprintf(stderr, " Error - User %s not found.\n", value); 471 476 exit(EXIT_FAILURE); … … 476 481 } else if (OPT_IS("group")) { 477 482 if ((grp_entry = getgrnam(value)) == NULL) { 478 if (errno) fprintf(stderr, " Error - Invalid group '%s': % s\n", value, strerror(errno));483 if (errno) fprintf(stderr, " Error - Invalid group '%s': %m.\n", value); 479 484 else fprintf(stderr, " Error - Group %s not found.\n", value); 480 485 exit(EXIT_FAILURE); honeytrap/trunk/src/response.c
r1286 r1355 36 36 37 37 void unload_default_responses(void) { 38 struct default_resp *cur_response;38 def_resp *cur_response; 39 39 40 while( default_response) {41 cur_response = default_response->next;42 free( default_response->response);43 free( default_response);44 default_response= cur_response;40 while(response_list) { 41 cur_response = response_list->next; 42 free(response_list->response); 43 free(response_list); 44 response_list = cur_response; 45 45 } 46 46 return; … … 51 51 u_char buffer[100]; 52 52 FILE* answer_file = NULL; 53 struct default_resp *last_response, *new_response;53 def_resp *last_response, *new_response; 54 54 55 55 /* allocate memory for new response */ 56 if ((new_response = ( struct default_resp *) malloc(sizeof(struct default_resp))) == NULL) {56 if ((new_response = (def_resp *) malloc(sizeof(struct def_resp))) == NULL) { 57 57 perror(" Error - Unable to allocate memory"); 58 58 return(-1); … … 64 64 new_response->next = NULL; 65 65 } 66 if (! default_response) default_response= new_response;66 if (!response_list) response_list = new_response; 67 67 else { 68 68 /* spool to end of the list and attach new response */ 69 last_response = default_response;69 last_response = response_list; 70 70 while (last_response->next) last_response = last_response->next; 71 71 last_response->next = new_response; 72 72 } 73 74 73 75 74 /* read response */ … … 147 146 148 147 int send_default_response(int connection_fd, uint16_t port, uint16_t proto, u_char timeout) { 149 struct default_resp *cur_response;148 def_resp *cur_response = NULL; 150 149 151 150 if ((proto != TCP) && (proto != UDP)) { … … 157 156 158 157 /* advance through list to find response for port */ 159 cur_response = default_response;160 while(cur_response && ( cur_response->port != port) && (cur_response->proto != proto))158 cur_response = response_list; 159 while(cur_response && ((cur_response->port != port) || (cur_response->proto != proto))) 161 160 cur_response = cur_response->next; 162 161 honeytrap/trunk/src/response.h
r1117 r1355 21 21 #include <netinet/in.h> 22 22 23 struct default_resp {23 typedef struct def_resp { 24 24 uint16_t port; 25 25 uint16_t proto; 26 26 uint32_t size; 27 27 u_char *response; 28 struct default_resp *next; 29 } *default_response; 28 struct def_resp *next; 29 } def_resp; 30 31 def_resp *response_list; 30 32 31 33
