Merge branch 'master' into bip08
Conflicts: src/log.c
This commit is contained in:
commit
a6bb697f5d
20
src/bip.c
20
src/bip.c
@ -228,6 +228,7 @@ pid_is_there:
|
|||||||
if (c != 1 || p == 0) {
|
if (c != 1 || p == 0) {
|
||||||
mylog(LOG_INFO, "pid file found but invalid "
|
mylog(LOG_INFO, "pid file found but invalid "
|
||||||
"data inside. Continuing...\n");
|
"data inside. Continuing...\n");
|
||||||
|
fclose(f);
|
||||||
if (unlink(conf_pid_file)) {
|
if (unlink(conf_pid_file)) {
|
||||||
fatal("Cannot delete pid file '%s', "
|
fatal("Cannot delete pid file '%s', "
|
||||||
"check permissions.\n",
|
"check permissions.\n",
|
||||||
@ -1379,7 +1380,7 @@ void adm_print_connection(struct link_client *ic, struct link *lnk,
|
|||||||
noroom: /* that means the line is larger that RET_STR_LEN. We're not likely to
|
noroom: /* that means the line is larger that RET_STR_LEN. We're not likely to
|
||||||
even read such a long line */
|
even read such a long line */
|
||||||
buf[RET_STR_LEN] = 0;
|
buf[RET_STR_LEN] = 0;
|
||||||
bip_notify(ic, buf);
|
bip_notify(ic, "%s", buf);
|
||||||
|
|
||||||
// TODO: on_connect_send
|
// TODO: on_connect_send
|
||||||
|
|
||||||
@ -1396,13 +1397,13 @@ noroom: /* that means the line is larger that RET_STR_LEN. We're not likely to
|
|||||||
(ch->backlog ? "" : "`"));
|
(ch->backlog ? "" : "`"));
|
||||||
if (t_written > LINE_SIZE_LIM) {
|
if (t_written > LINE_SIZE_LIM) {
|
||||||
buf[RET_STR_LEN] = 0;
|
buf[RET_STR_LEN] = 0;
|
||||||
bip_notify(ic, buf);
|
bip_notify(ic, "%s", buf);
|
||||||
t_written = 0;
|
t_written = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
noroomchan:
|
noroomchan:
|
||||||
buf[RET_STR_LEN] = 0;
|
buf[RET_STR_LEN] = 0;
|
||||||
bip_notify(ic, buf);
|
bip_notify(ic, "%s", buf);
|
||||||
|
|
||||||
t_written = snprintf(buf, RET_STR_LEN, " Status: ");
|
t_written = snprintf(buf, RET_STR_LEN, " Status: ");
|
||||||
if (t_written >= RET_STR_LEN)
|
if (t_written >= RET_STR_LEN)
|
||||||
@ -1462,7 +1463,7 @@ noroomchan:
|
|||||||
}
|
}
|
||||||
noroomstatus:
|
noroomstatus:
|
||||||
buf[RET_STR_LEN] = 0;
|
buf[RET_STR_LEN] = 0;
|
||||||
bip_notify(ic, buf);
|
bip_notify(ic, "%s", buf);
|
||||||
}
|
}
|
||||||
|
|
||||||
void adm_list_all_links(struct link_client *ic)
|
void adm_list_all_links(struct link_client *ic)
|
||||||
@ -1521,8 +1522,7 @@ void adm_info_user(struct link_client *ic, const char *name)
|
|||||||
|
|
||||||
noroom:
|
noroom:
|
||||||
buf[RET_STR_LEN] = 0;
|
buf[RET_STR_LEN] = 0;
|
||||||
bip_notify(ic, buf);
|
bip_notify(ic, "%s", buf);
|
||||||
t_written = 0;
|
|
||||||
|
|
||||||
#ifdef HAVE_LIBSSL
|
#ifdef HAVE_LIBSSL
|
||||||
bip_notify(ic, "SSL check mode '%s', stored into '%s'",
|
bip_notify(ic, "SSL check mode '%s', stored into '%s'",
|
||||||
@ -1590,13 +1590,13 @@ void adm_list_users(struct link_client *ic)
|
|||||||
goto noroom;
|
goto noroom;
|
||||||
if (t_written > LINE_SIZE_LIM) {
|
if (t_written > LINE_SIZE_LIM) {
|
||||||
buf[RET_STR_LEN] = 0;
|
buf[RET_STR_LEN] = 0;
|
||||||
bip_notify(ic, buf);
|
bip_notify(ic, "%s", buf);
|
||||||
t_written = 0;
|
t_written = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
noroom:
|
noroom:
|
||||||
buf[RET_STR_LEN] = 0;
|
buf[RET_STR_LEN] = 0;
|
||||||
bip_notify(ic, buf);
|
bip_notify(ic, "%s", buf);
|
||||||
}
|
}
|
||||||
bip_notify(ic, "-- End of User list");
|
bip_notify(ic, "-- End of User list");
|
||||||
}
|
}
|
||||||
@ -1640,13 +1640,13 @@ void adm_list_networks(struct link_client *ic)
|
|||||||
goto noroom;
|
goto noroom;
|
||||||
if (t_written > LINE_SIZE_LIM) {
|
if (t_written > LINE_SIZE_LIM) {
|
||||||
buf[RET_STR_LEN] = 0;
|
buf[RET_STR_LEN] = 0;
|
||||||
bip_notify(ic, buf);
|
bip_notify(ic, "%s", buf);
|
||||||
t_written = 0;
|
t_written = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
noroom:
|
noroom:
|
||||||
buf[RET_STR_LEN] = 0;
|
buf[RET_STR_LEN] = 0;
|
||||||
bip_notify(ic, buf);
|
bip_notify(ic, "%s", buf);
|
||||||
}
|
}
|
||||||
bip_notify(ic, "-- End of Network list");
|
bip_notify(ic, "-- End of Network list");
|
||||||
}
|
}
|
||||||
|
@ -2469,7 +2469,7 @@ void irc_main(bip_t *bip)
|
|||||||
char *l;
|
char *l;
|
||||||
|
|
||||||
while ((l = list_remove_first(&bip->errors)))
|
while ((l = list_remove_first(&bip->errors)))
|
||||||
bip_notify(bip->reloading_client, l);
|
bip_notify(bip->reloading_client, "%s", l);
|
||||||
bip->reloading_client = NULL;
|
bip->reloading_client = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
33
src/log.c
33
src/log.c
@ -29,6 +29,7 @@ static int _log_write(log_t *logdata, logstore_t *lf, const char *d,
|
|||||||
const char *str);
|
const char *str);
|
||||||
static char *_log_wrap(const char *dest, const char *line);
|
static char *_log_wrap(const char *dest, const char *line);
|
||||||
void logfile_free(logfile_t *lf);
|
void logfile_free(logfile_t *lf);
|
||||||
|
static void log_drop(log_t *log, const char *storename);
|
||||||
|
|
||||||
#define BOLD_CHAR 0x02
|
#define BOLD_CHAR 0x02
|
||||||
#define LAMESTRING "!bip@bip.bip.bip PRIVMSG "
|
#define LAMESTRING "!bip@bip.bip.bip PRIVMSG "
|
||||||
@ -131,13 +132,11 @@ void replace_var(char *str, char *var, char *value, unsigned int max)
|
|||||||
char *log_build_filename(log_t *logdata, const char *destination)
|
char *log_build_filename(log_t *logdata, const char *destination)
|
||||||
{
|
{
|
||||||
char *logfile, year[5], day[3], month[3], *tmp, *logdir;
|
char *logfile, year[5], day[3], month[3], *tmp, *logdir;
|
||||||
int log_format_len;
|
|
||||||
struct tm *now;
|
struct tm *now;
|
||||||
time_t s;
|
time_t s;
|
||||||
char *dest = bip_strdup(destination);
|
char *dest = bip_strdup(destination);
|
||||||
strtolower(dest);
|
strtolower(dest);
|
||||||
|
|
||||||
log_format_len = strlen(conf_log_format);
|
|
||||||
logfile = (char *)bip_malloc(MAX_PATH_LEN + 1);
|
logfile = (char *)bip_malloc(MAX_PATH_LEN + 1);
|
||||||
|
|
||||||
time(&s);
|
time(&s);
|
||||||
@ -459,8 +458,11 @@ void log_nick(log_t *logdata, const char *ircmask, const char *channel,
|
|||||||
{
|
{
|
||||||
char *oldnick = nick_from_ircmask(ircmask);
|
char *oldnick = nick_from_ircmask(ircmask);
|
||||||
|
|
||||||
if (hash_includes(&logdata->logfgs, oldnick))
|
if (hash_includes(&logdata->logfgs, oldnick)) {
|
||||||
|
if (hash_includes(&logdata->logfgs, newnick))
|
||||||
|
log_drop(logdata, newnick);
|
||||||
hash_rename_key(&logdata->logfgs, oldnick, newnick);
|
hash_rename_key(&logdata->logfgs, oldnick, newnick);
|
||||||
|
}
|
||||||
free(oldnick);
|
free(oldnick);
|
||||||
|
|
||||||
snprintf(logdata->buffer, LOGLINE_MAXLEN,
|
snprintf(logdata->buffer, LOGLINE_MAXLEN,
|
||||||
@ -654,6 +656,27 @@ void log_client_disconnected(log_t *logdata)
|
|||||||
mylog(LOG_DEBUG, "A client disconnected");
|
mylog(LOG_DEBUG, "A client disconnected");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void log_store_free(logstore_t *store)
|
||||||
|
{
|
||||||
|
logfile_t *lf;
|
||||||
|
|
||||||
|
log_reset(store);
|
||||||
|
if ((lf = list_remove_first(&store->file_group)))
|
||||||
|
logfile_free(lf);
|
||||||
|
free(store->name);
|
||||||
|
if (store->memlog)
|
||||||
|
list_free(store->memlog);
|
||||||
|
free(store);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void log_drop(log_t *log, const char *storename)
|
||||||
|
{
|
||||||
|
logstore_t *store;
|
||||||
|
|
||||||
|
store = hash_remove(&log->logfgs, storename);
|
||||||
|
log_store_free(store);
|
||||||
|
}
|
||||||
|
|
||||||
void log_reinit_all(log_t *logdata)
|
void log_reinit_all(log_t *logdata)
|
||||||
{
|
{
|
||||||
logstore_t *store;
|
logstore_t *store;
|
||||||
@ -1130,7 +1153,6 @@ void log_free(log_t *log)
|
|||||||
{
|
{
|
||||||
hash_iterator_t it;
|
hash_iterator_t it;
|
||||||
logstore_t *store;
|
logstore_t *store;
|
||||||
logfile_t *lf;
|
|
||||||
|
|
||||||
list_remove(log_all_logs, log);
|
list_remove(log_all_logs, log);
|
||||||
|
|
||||||
@ -1140,8 +1162,7 @@ void log_free(log_t *log)
|
|||||||
for (hash_it_init(&log->logfgs, &it); (store = hash_it_item(&it));
|
for (hash_it_init(&log->logfgs, &it); (store = hash_it_item(&it));
|
||||||
hash_it_next(&it)) {
|
hash_it_next(&it)) {
|
||||||
log_reset(store);
|
log_reset(store);
|
||||||
while ((lf = list_remove_first(&store->file_group)))
|
log_store_free(store);
|
||||||
logfile_free(lf);
|
|
||||||
}
|
}
|
||||||
hash_clean(&log->logfgs);
|
hash_clean(&log->logfgs);
|
||||||
free(log);
|
free(log);
|
||||||
|
Loading…
Reference in New Issue
Block a user