summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2004-01-10 16:48:49 +0000
committerLennart Poettering <lennart@poettering.net>2004-01-10 16:48:49 +0000
commitfb0a00c4feb58ea845981164fcb583b7c3fa5812 (patch)
tree719b58ac9dada2eb10d4c86ba8e69bf46df24523
parent650241b958668a5dad205dc927b254d0c99d5dc4 (diff)
fixed loggin
git-svn-id: file:///home/lennart/svn/public/ivam2/trunk@32 dbf6933d-3bce-0310-9bcc-ed052ba35b35
-rw-r--r--src/main.c4
-rw-r--r--src/modem.c79
-rw-r--r--src/modem.h1
-rw-r--r--src/modemman.c2
4 files changed, 48 insertions, 38 deletions
diff --git a/src/main.c b/src/main.c
index bc96fb5..4e28329 100644
--- a/src/main.c
+++ b/src/main.c
@@ -143,13 +143,15 @@ int main_loop(void) {
int r = -1, retval_sent = 0;
oop_source_sys *sys = NULL;
- daemon_log(LOG_INFO, "Starting up.");
+ daemon_log(LOG_INFO, "Starting up "PACKAGE" version "VERSION" <"PACKAGE_BUGREPORT">.");
if (get_target_uid_gid() < 0)
goto finish;
setenv("PATH", BINDIR":/usr/sbin:/usr/bin:/sbin:/bin/:/usr/local/sbin:/usr/local/bin", 1);
+ daemon_log(LOG_INFO, "Path set to '%s'.", getenv("PATH"));
+
if (!(sys = oop_sys_new())) {
daemon_log(LOG_ERR, "Failed to create system source.");
goto finish;
diff --git a/src/modem.c b/src/modem.c
index 260e07f..0336af2 100644
--- a/src/modem.c
+++ b/src/modem.c
@@ -153,6 +153,11 @@ struct modem *modem_open(const char *dev) {
m->dev = strdup(dev);
assert(m->dev);
+
+ if ((m->name = strrchr(m->dev, '/')))
+ m->name++;
+ else
+ m->name = m->dev;
m->child_pid = -1;
m->child_buffio = NULL;
@@ -176,7 +181,7 @@ fail:
void modem_close(struct modem *m) {
assert(m);
- daemon_log(LOG_INFO, "Closing modem on TTY device '%s'", m->dev);
+ daemon_log(LOG_INFO, "[%s] Closing modem.", m->name);
modem_timeout(m, 0);
@@ -207,7 +212,7 @@ static int error_cb(struct buffio *b, void *user) {
struct modem *m = user;
assert(m && (m->buffio == b || m->child_buffio == b));
- daemon_log(LOG_ERR, "Buffio (%s) failure, exiting...", m->buffio == b ? "modem" : "child");
+ daemon_log(LOG_ERR, "[%s] Buffio (%s) failure, exiting...", m->name, m->buffio == b ? "modem" : "child");
return -1;
}
@@ -238,7 +243,7 @@ static void modem_next_command(struct modem *m) {
buffio_command(m->buffio, hup_sequence);
else if (m->command_index == 15) {
char *l = args.listen_arg ? args.listen_arg : "*";
- daemon_log(LOG_INFO, "Listening on '%s'.", l);
+ daemon_log(LOG_INFO, "[%s] Listening on '%s'.", m->name, l);
snprintf(tmp, sizeof(tmp), p, l);
p = tmp;
}
@@ -249,7 +254,7 @@ static void modem_next_command(struct modem *m) {
static void modem_init_cycle(struct modem *m) {
assert(m);
- daemon_log(LOG_INFO, "Initializing modem.");
+ daemon_log(LOG_INFO, "[%s] Initializing modem.", m->name);
m->state = MODEM_STATE_INIT;
m->command_index = 0;
modem_timeout(m, INIT_TIMEOUT);
@@ -257,7 +262,7 @@ static void modem_init_cycle(struct modem *m) {
}
static void modem_sched_reset(struct modem *m) {
- daemon_log(LOG_INFO, "Reinitializing in %i seconds.", RESET_IDLE_TIME);
+ daemon_log(LOG_INFO, "[%s] Reinitializing in %i seconds.", m->name, RESET_IDLE_TIME);
m->state = MODEM_STATE_IDLE;
modem_timeout(m, RESET_IDLE_TIME);
}
@@ -293,20 +298,20 @@ static void modem_hangup_seq(struct modem *m) {
if (m->child_buffio && m->child_buffio->ofd != -1) {
/* Draining output is required */
- daemon_log(LOG_INFO, "Waiting for child drain.");
+ daemon_log(LOG_INFO, "[%s] Waiting for child drain.", m->name);
m->state = MODEM_STATE_CHILD_DRAIN;
modem_timeout(m, CHILD_TIMEOUT);
} else if (m->child_buffio) {
/* Draining input is required */
- daemon_log(LOG_INFO, "Waiting for child EOF.");
+ daemon_log(LOG_INFO, "[%s] Waiting for child EOF.", m->name);
m->state = MODEM_STATE_CHILD_WAIT_EOF;
buffio_close_output_fd(m->child_buffio);
buffio_flush_input(m->child_buffio);
modem_timeout(m, CHILD_TIMEOUT);
} else if (m->child_pid != (pid_t) -1) {
- daemon_log(LOG_INFO, "Killing child.");
+ daemon_log(LOG_INFO, "[%s] Killing child.", m->name);
m->state = MODEM_STATE_CHILD_KILL;
child_process_kill(m->child_pid);
modem_timeout(m, CHILD_TIMEOUT);
@@ -318,7 +323,7 @@ static void modem_hangup_seq(struct modem *m) {
static void modem_hangup(struct modem *m, int b) {
size_t l;
assert(m);
- daemon_log(LOG_INFO, "Hanging up.");
+ daemon_log(LOG_INFO, "[%s] Hanging up.", m->name);
buffio_set_input_range(m->buffio, INPUT_RANGE_DEFAULT);
buffio_set_output_range(m->buffio, OUTPUT_RANGE_DEFAULT);
@@ -343,7 +348,7 @@ static void modem_hangup(struct modem *m, int b) {
static void modem_accept(struct modem *m) {
assert(m);
- daemon_log(LOG_INFO, "Accepting call.");
+ daemon_log(LOG_INFO, "[%s] Accepting call.", m->name);
m->state = MODEM_STATE_ATA;
modem_timeout(m, ACCEPT_TIMEOUT);
@@ -358,9 +363,9 @@ static void child_exit_cb(pid_t t, int status, void *user) {
if (WIFEXITED(status))
daemon_log(WEXITSTATUS(status) == 0 ? LOG_INFO : LOG_WARNING, "Child exited with return code %i.", WEXITSTATUS(status));
else if (WIFSIGNALED(status))
- daemon_log(LOG_WARNING, "Child exited by signal %i.", WTERMSIG(status));
+ daemon_log(LOG_WARNING, "[%s] Child exited by signal %i.", m->name, WTERMSIG(status));
else
- daemon_log(LOG_ERR, "Child exited due to unknown cause.");
+ daemon_log(LOG_ERR, "[%s] Child exited due to unknown cause.", m->name);
m->child_pid = (pid_t) -1;
if (m->dtmf_fifo) {
@@ -419,7 +424,7 @@ static int child_epipe_cb(struct buffio *b, void *user) {
struct modem *m = user;
assert(m && m->child_buffio == b);
- daemon_log(LOG_INFO, "Got child EPIPE.");
+ daemon_log(LOG_INFO, "[%s] Got child EPIPE.", m->name);
assert(m->child_buffio);
buffio_flush_output(m->child_buffio);
@@ -513,7 +518,7 @@ static void* oop_timeout_cb(oop_source *source, struct timeval tv, void *user) {
case MODEM_STATE_PRE_HANGUP_ATHSEQ:
case MODEM_STATE_HANGUP:
- daemon_log(LOG_ERR, "Timeout reached for device <%s>", m->dev);
+ daemon_log(LOG_ERR, "[%s] Timeout reached.", m->name);
return OOP_HALT;
case MODEM_STATE_RINGING:
@@ -523,7 +528,7 @@ static void* oop_timeout_cb(oop_source *source, struct timeval tv, void *user) {
case MODEM_STATE_ATA:
case MODEM_STATE_VTXVRX:
- daemon_log(LOG_ERR, "Connection not established for device <%s>", m->dev);
+ daemon_log(LOG_ERR, "[%s] Connection not established.", m->name);
m->state = MODEM_STATE_IDLE;
modem_timeout(m, RESET_IDLE_TIME);
return OOP_CONTINUE;
@@ -534,7 +539,7 @@ static void* oop_timeout_cb(oop_source *source, struct timeval tv, void *user) {
return OOP_CONTINUE;
case MODEM_STATE_CHILD_DRAIN:
- daemon_log(LOG_INFO, "Child output buffer did not drain, flushing.");
+ daemon_log(LOG_INFO, "[%s] Child output buffer did not drain, flushing.", m->name);
assert(m->child_buffio);
buffio_flush_output(m->child_buffio);
@@ -543,7 +548,7 @@ static void* oop_timeout_cb(oop_source *source, struct timeval tv, void *user) {
case MODEM_STATE_CHILD_WAIT_EOF:
- daemon_log(LOG_INFO, "Child did not EOF, closing child pipes.");
+ daemon_log(LOG_INFO, "[%s] Child did not EOF, closing child pipes.", m->name);
assert(m->child_buffio);
buffio_free(m->child_buffio);
m->child_buffio = NULL;
@@ -553,7 +558,7 @@ static void* oop_timeout_cb(oop_source *source, struct timeval tv, void *user) {
return OOP_CONTINUE;
case MODEM_STATE_CHILD_KILL:
- daemon_log(LOG_INFO, "Child did not react on killing, exiting.");
+ daemon_log(LOG_INFO, "[%s] Child did not react on killing, exiting.", m->name);
return OOP_HALT;
default:
@@ -577,7 +582,7 @@ static int modem_input_ready_cb(struct buffio *b, void *user) {
m->command_index++;
if (m->command_index >= INIT_AT_COMMANDS) {
- daemon_log(LOG_INFO, "Modem successfully initialised, waiting for calls.");
+ daemon_log(LOG_INFO, "[%s] Modem successfully initialised, waiting for calls.", m->name);
m->state = MODEM_STATE_CALLER_NUMBER_EXPECT;
modem_timeout(m, 0);
modem_input_ready_cb(b, user);
@@ -642,7 +647,7 @@ static int modem_input_ready_cb(struct buffio *b, void *user) {
assert(m->ring_number);
modem_timeout(m, 0);
- daemon_log(LOG_INFO, "Incoming call from [%s] to [%s]", m->caller_number, m->ring_number);
+ daemon_log(LOG_INFO, "[%s] Incoming call from [%s] to [%s]", m->name, m->caller_number, m->ring_number);
if ((t = msntab_check_call(m->ring_number, m->caller_number)) && (t->action == CALL_ACTION_ACCEPT || t->action == CALL_ACTION_HANGUP)) {
@@ -653,7 +658,7 @@ static int modem_input_ready_cb(struct buffio *b, void *user) {
if (t->rings <= 0)
modem_accept(m);
else {
- daemon_log(LOG_INFO, "Will accept call after %u rings (%u seconds).", t->rings, t->rings*RING_TIME);
+ daemon_log(LOG_INFO, "[%s] Will accept call after %u rings (%u seconds).", m->name, t->rings, t->rings*RING_TIME);
m->state = MODEM_STATE_RINGING;
modem_timeout(m, RING_TIME*t->rings);
}
@@ -661,7 +666,7 @@ static int modem_input_ready_cb(struct buffio *b, void *user) {
break;
}
- daemon_log(LOG_INFO, "Ignoring call.");
+ daemon_log(LOG_INFO, "[%s] Ignoring call.", m->name);
if (t)
msntab_unref(t);
@@ -676,7 +681,7 @@ static int modem_input_ready_cb(struct buffio *b, void *user) {
case MODEM_STATE_RINGING:
if (buffio_find_input(m->buffio, "RUNG\r\n")) {
- daemon_log(LOG_INFO, "Peer hung up prematurely.");
+ daemon_log(LOG_INFO, "[%s] Peer hung up prematurely.", m->name);
m->state = MODEM_STATE_CALLER_NUMBER_EXPECT;
modem_timeout(m, 0);
modem_input_ready_cb(b, user);
@@ -691,18 +696,18 @@ static int modem_input_ready_cb(struct buffio *b, void *user) {
assert(m->tabentry);
if (m->tabentry->action == CALL_ACTION_ACCEPT) {
- daemon_log(LOG_INFO, "Call accepted, changing to voice mode.");
+ daemon_log(LOG_INFO, "[%s] Call accepted, changing to voice mode.", m->name);
buffio_command(m->buffio, "AT+VTX+VRX\n");
m->state = MODEM_STATE_VTXVRX;
} else if (m->tabentry->action == CALL_ACTION_HANGUP) {
modem_timeout(m, 0);
- daemon_log(LOG_INFO, "Call accepted for hang up.");
+ daemon_log(LOG_INFO, "[%s] Call accepted for hang up.", m->name);
modem_hangup(m, 0);
} else
assert(0);
} else if (buffio_find_input(m->buffio, "NO CARRIER\r\n")) {
- daemon_log(LOG_INFO, "Failed to accept call, carrier lost");
+ daemon_log(LOG_INFO, "[%s] Failed to accept call, carrier lost", m->name);
modem_sched_reset(m);
} else
buffio_dump_lines(m->buffio);
@@ -715,10 +720,10 @@ static int modem_input_ready_cb(struct buffio *b, void *user) {
modem_timeout(m, 0);
m->state = MODEM_STATE_CONNECTION;
- daemon_log(LOG_INFO, "Voice connection established.");
+ daemon_log(LOG_INFO, "[%s] Voice connection established.", m->name);
if (modem_start_child(m) < 0) {
- daemon_log(LOG_ERR, "Failed to start child process");
+ daemon_log(LOG_ERR, "[%s] Failed to start child process", m->name);
modem_hangup(m, 1);
} else {
m->dle_flag = 0;
@@ -733,7 +738,7 @@ static int modem_input_ready_cb(struct buffio *b, void *user) {
}
} else if (buffio_find_input(m->buffio, "NO CARRIER\r\n")) {
- daemon_log(LOG_INFO, "Failed to accept call, carrier lost");
+ daemon_log(LOG_INFO, "[%s] Failed to accept call, carrier lost", m->name);
modem_sched_reset(m);
}
@@ -806,7 +811,7 @@ static int modem_dle_cb(uint8_t c, void *user) {
switch (c) {
case ETX :
case DC4 :
- daemon_log(LOG_INFO, "Recieved hangup sequence from peer.");
+ daemon_log(LOG_INFO, "[%s] Recieved hangup sequence from peer.", m->name);
assert(m->state == MODEM_STATE_CONNECTION);
@@ -834,7 +839,7 @@ static void copy_modem_to_child(struct modem *m) {
if (sp && sl && (!dp || !dl)) {
if (!m->flush_msg) {
- daemon_log(LOG_INFO, "Child too slow, output buffer overflow, flushing.");
+ daemon_log(LOG_INFO, "[%s] Child too slow, output buffer overflow, flushing.", m->name);
m->flush_msg = 1;
}
@@ -885,22 +890,22 @@ static int modem_reopen(struct modem *m) {
assert(m && m->dev);
if (m->buffio) {
- daemon_log(LOG_INFO, "Closing TTY device '%s'.");
+ daemon_log(LOG_INFO, "[%s] Closing TTY device.", m->name);
buffio_close_output_fd(m->buffio);
buffio_close_input_fd(m->buffio);
}
- daemon_log(LOG_INFO, "Trying to open modem on TTY device '%s' ...", m->dev);
+ daemon_log(LOG_INFO, "[%s] Trying to open modem on TTY device ...", m->name);
if ((fd = open(m->dev, O_RDWR|O_NDELAY)) < 0) {
- daemon_log(LOG_ERR, "Failed to open device '%s': %s", m->dev, strerror(errno));
+ daemon_log(LOG_ERR, "[%s] Failed to open device: %s", m->name, strerror(errno));
goto fail;
}
- daemon_log(LOG_INFO, "TTY device '%s' successfully opened.", m->dev);
+ daemon_log(LOG_INFO, "[%s] TTY device successfully opened.", m->name);
if (tcgetattr(fd, &ts) < 0) {
- daemon_log(LOG_ERR, "Failed to get TTY attributes: %s", strerror(errno));
+ daemon_log(LOG_ERR, "[%s] Failed to get TTY attributes: %s", m->name, strerror(errno));
goto fail;
}
@@ -918,7 +923,7 @@ static int modem_reopen(struct modem *m) {
tcflush(fd, TCIOFLUSH);
if (tcsetattr(fd, TCSANOW, &ts) < 0) {
- daemon_log(LOG_ERR, "Failed to set TTY attributes: %s", strerror(errno));
+ daemon_log(LOG_ERR, "[%s] Failed to set TTY attributes: %s", m->name, strerror(errno));
goto fail;
}
diff --git a/src/modem.h b/src/modem.h
index 5b216ca..d6c71fc 100644
--- a/src/modem.h
+++ b/src/modem.h
@@ -48,6 +48,7 @@ enum modem_state {
struct modem {
char *dev;
+ char *name;
struct buffio *buffio;
diff --git a/src/modemman.c b/src/modemman.c
index ab0dd6e..a2fbf12 100644
--- a/src/modemman.c
+++ b/src/modemman.c
@@ -64,6 +64,8 @@ int modem_manager_init(int channels) {
assert(channels <= MAX_CHANNELS && channels > 0);
assert(n_llist == 0);
+ daemon_log(LOG_INFO, "Allocating %i channels.", channels);
+
for (i = TTY_START; i < TTY_START+MAX_CHANNELS && n_llist < channels; i++) {
char d[PATH_MAX];
snprintf(d, sizeof(d), "/dev/ttyI%i", i);