diff options
Diffstat (limited to 'hcid')
-rw-r--r-- | hcid/main.c | 74 | ||||
-rw-r--r-- | hcid/parser.y | 2 | ||||
-rw-r--r-- | hcid/security.c | 65 |
3 files changed, 74 insertions, 67 deletions
diff --git a/hcid/main.c b/hcid/main.c index 95f21656..21da79ad 100644 --- a/hcid/main.c +++ b/hcid/main.c @@ -84,8 +84,8 @@ struct device_opts *alloc_device_opts(char *ref) device = malloc(sizeof(struct device_list)); if (!device) { - syslog(LOG_INFO, "Can't allocate devlist opts buffer. %s(%d)", - strerror(errno), errno); + syslog(LOG_INFO, "Can't allocate devlist opts buffer: %s (%d)", + strerror(errno), errno); exit(1); } @@ -168,8 +168,8 @@ static void configure_device(int hdev) case 0: break; case -1: - syslog(LOG_ERR, "Fork failed. Can't init device hci%d. %s(%d)\n", - hdev, strerror(errno), errno); + syslog(LOG_ERR, "Fork failed. Can't init device hci%d: %s (%d)", + hdev, strerror(errno), errno); default: return; } @@ -177,7 +177,8 @@ static void configure_device(int hdev) set_title("hci%d config", hdev); if ((s = hci_open_dev(hdev)) < 0) { - syslog(LOG_ERR, "Can't open device hci%d. %s(%d)\n", hdev, strerror(errno), errno); + syslog(LOG_ERR, "Can't open device hci%d: %s (%d)", + hdev, strerror(errno), errno); exit(1); } @@ -187,8 +188,8 @@ static void configure_device(int hdev) /* Set scan mode */ dr.dev_opt = device_opts->scan; if (ioctl(s, HCISETSCAN, (unsigned long) &dr) < 0) { - syslog(LOG_ERR, "Can't set scan mode on hci%d. %s(%d)\n", - hdev, strerror(errno), errno); + syslog(LOG_ERR, "Can't set scan mode on hci%d: %s (%d)", + hdev, strerror(errno), errno); } /* Set authentication */ @@ -198,8 +199,8 @@ static void configure_device(int hdev) dr.dev_opt = AUTH_DISABLED; if (ioctl(s, HCISETAUTH, (unsigned long) &dr) < 0) { - syslog(LOG_ERR, "Can't set auth on hci%d. %s(%d)\n", - hdev, strerror(errno), errno); + syslog(LOG_ERR, "Can't set auth on hci%d: %s (%d)", + hdev, strerror(errno), errno); } /* Set encryption */ @@ -209,8 +210,8 @@ static void configure_device(int hdev) dr.dev_opt = ENCRYPT_DISABLED; if (ioctl(s, HCISETENCRYPT, (unsigned long) &dr) < 0) { - syslog(LOG_ERR, "Can't set encrypt on hci%d. %s(%d)\n", - hdev, strerror(errno), errno); + syslog(LOG_ERR, "Can't set encrypt on hci%d: %s (%d)", + hdev, strerror(errno), errno); } /* Set device class */ @@ -247,8 +248,8 @@ static void init_device(int hdev) case 0: break; case -1: - syslog(LOG_ERR, "Fork failed. Can't init device hci%d. %s(%d)\n", - hdev, strerror(errno), errno); + syslog(LOG_ERR, "Fork failed. Can't init device hci%d: %s (%d)", + hdev, strerror(errno), errno); default: return; } @@ -256,15 +257,15 @@ static void init_device(int hdev) set_title("hci%d init", hdev); if ((s = hci_open_dev(hdev)) < 0) { - syslog(LOG_ERR, "Can't open device hci%d. %s(%d)\n", - hdev, strerror(errno), errno); + syslog(LOG_ERR, "Can't open device hci%d: %s (%d)", + hdev, strerror(errno), errno); exit(1); } /* Start HCI device */ if (ioctl(s, HCIDEVUP, hdev) < 0 && errno != EALREADY) { - syslog(LOG_ERR, "Can't init device hci%d. %s(%d)\n", hdev, - strerror(errno), errno); + syslog(LOG_ERR, "Can't init device hci%d: %s (%d)", + hdev, strerror(errno), errno); exit(1); } @@ -275,8 +276,8 @@ static void init_device(int hdev) if (device_opts->pkt_type) { dr.dev_opt = device_opts->pkt_type; if (ioctl(s, HCISETPTYPE, (unsigned long) &dr) < 0) { - syslog(LOG_ERR, "Can't set packet type on hci%d. %s(%d)\n", - hdev, strerror(errno), errno); + syslog(LOG_ERR, "Can't set packet type on hci%d: %s (%d)", + hdev, strerror(errno), errno); } } @@ -284,8 +285,8 @@ static void init_device(int hdev) if (device_opts->link_mode) { dr.dev_opt = device_opts->link_mode; if (ioctl(s, HCISETLINKMODE, (unsigned long) &dr) < 0) { - syslog(LOG_ERR, "Can't set link mode on hci%d. %s(%d)\n", - hdev, strerror(errno), errno); + syslog(LOG_ERR, "Can't set link mode on hci%d: %s (%d)", + hdev, strerror(errno), errno); } } @@ -293,8 +294,8 @@ static void init_device(int hdev) if (device_opts->link_policy) { dr.dev_opt = device_opts->link_policy; if (ioctl(s, HCISETLINKPOL, (unsigned long) &dr) < 0) { - syslog(LOG_ERR, "Can't set link policy on hci%d. %s(%d)\n", - hdev, strerror(errno), errno); + syslog(LOG_ERR, "Can't set link policy on hci%d: %s (%d)", + hdev, strerror(errno), errno); } } @@ -308,16 +309,16 @@ static void init_all_devices(int ctl) int i; if (!(dl = malloc(HCI_MAX_DEV * sizeof(struct hci_dev_req) + sizeof(uint16_t)))) { - syslog(LOG_INFO, "Can't allocate devlist buffer. %s(%d)", - strerror(errno), errno); + syslog(LOG_INFO, "Can't allocate devlist buffer: %s (%d)", + strerror(errno), errno); exit(1); } dl->dev_num = HCI_MAX_DEV; dr = dl->dev_req; if (ioctl(ctl, HCIGETDEVLIST, (void *) dl) < 0) { - syslog(LOG_INFO, "Can't get device list. %s(%d)", - strerror(errno), errno); + syslog(LOG_INFO, "Can't get device list: %s (%d)", + strerror(errno), errno); exit(1); } @@ -325,10 +326,12 @@ static void init_all_devices(int ctl) if (hcid.auto_init) init_device(dr->dev_id); - if (hcid.auto_init && hci_test_bit(HCI_UP, &dr->dev_opt)) + if (hcid.auto_init && hci_test_bit(HCI_UP, &dr->dev_opt) && + !hci_test_bit(HCI_RAW, &dr->dev_opt)) configure_device(dr->dev_id); - if (hcid.security && hci_test_bit(HCI_UP, &dr->dev_opt)) + if (hcid.security && hci_test_bit(HCI_UP, &dr->dev_opt) && + !hci_test_bit(HCI_RAW, &dr->dev_opt)) start_security_manager(dr->dev_id); } @@ -418,8 +421,8 @@ static gboolean io_stack_event(GIOChannel *chan, GIOCondition cond, gpointer dat if (err == G_IO_ERROR_AGAIN) return TRUE; - syslog(LOG_ERR, "Read from control socket failed. %s(%d)", - strerror(errno), errno); + syslog(LOG_ERR, "Read from control socket failed: %s (%d)", + strerror(errno), errno); g_main_quit(event_loop); return FALSE; } @@ -527,7 +530,8 @@ int main(int argc, char *argv[], char *env[]) /* Create and bind HCI socket */ if ((hcid.sock = socket(AF_BLUETOOTH, SOCK_RAW, BTPROTO_HCI)) < 0) { - syslog(LOG_ERR, "Can't open HCI socket. %s(%d)", strerror(errno), errno); + syslog(LOG_ERR, "Can't open HCI socket: %s (%d)", + strerror(errno), errno); exit(1); } @@ -536,14 +540,16 @@ int main(int argc, char *argv[], char *env[]) hci_filter_set_ptype(HCI_EVENT_PKT, &flt); hci_filter_set_event(EVT_STACK_INTERNAL, &flt); if (setsockopt(hcid.sock, SOL_HCI, HCI_FILTER, &flt, sizeof(flt)) < 0) { - syslog(LOG_ERR, "Can't set filter. %s(%d)", strerror(errno), errno); + syslog(LOG_ERR, "Can't set filter: %s (%d)", + strerror(errno), errno); exit(1); } addr.hci_family = AF_BLUETOOTH; addr.hci_dev = HCI_DEV_NONE; if (bind(hcid.sock, (struct sockaddr *) &addr, sizeof(addr)) < 0) { - syslog(LOG_ERR, "Can't bind HCI socket. %s(%d)\n", strerror(errno), errno); + syslog(LOG_ERR, "Can't bind HCI socket: %s (%d)", + strerror(errno), errno); exit(1); } diff --git a/hcid/parser.y b/hcid/parser.y index b56bd588..136a8571 100644 --- a/hcid/parser.y +++ b/hcid/parser.y @@ -294,7 +294,7 @@ bool: K_YES { $$ = 1; } | K_NO { $$ = 0; }; int yyerror(char *s) { - syslog(LOG_ERR, "%s line %d\n", s, lineno); + syslog(LOG_ERR, "%s line %d", s, lineno); return 0; } diff --git a/hcid/security.c b/hcid/security.c index eaa791b7..8cc25036 100644 --- a/hcid/security.c +++ b/hcid/security.c @@ -84,8 +84,8 @@ static struct link_key *__get_link_key(int f, bdaddr_t *sba, bdaddr_t *dba) while ((r = read_n(f, &k, sizeof(k)))) { if (r < 0) { - syslog(LOG_ERR, "Link key database read failed. %s(%d)", - strerror(errno), errno); + syslog(LOG_ERR, "Link key database read failed: %s (%d)", + strerror(errno), errno); break; } @@ -106,8 +106,8 @@ static struct link_key *get_link_key(bdaddr_t *sba, bdaddr_t *dba) if (f >= 0) key = __get_link_key(f, sba, dba); else if (errno != ENOENT) - syslog(LOG_ERR, "Link key database open failed. %s(%d)", - strerror(errno), errno); + syslog(LOG_ERR, "Link key database open failed: %s (%d)", + strerror(errno), errno); close(f); return key; } @@ -118,7 +118,7 @@ static void link_key_request(int dev, bdaddr_t *sba, bdaddr_t *dba) char sa[18], da[18]; ba2str(sba, sa); ba2str(dba, da); - syslog(LOG_INFO, "link_key_request (sba=%s, dba=%s)\n", sa, da); + syslog(LOG_INFO, "link_key_request (sba=%s, dba=%s)", sa, da); if (key) { /* Link key found */ @@ -142,8 +142,8 @@ static void save_link_key(struct link_key *key) f = open(hcid.key_file, O_RDWR | O_CREAT, S_IRUSR | S_IWUSR); if (f < 0) { - syslog(LOG_ERR, "Link key database open failed. %s(%d)", - strerror(errno), errno); + syslog(LOG_ERR, "Link key database open failed: %s (%d)", + strerror(errno), errno); return; } @@ -159,14 +159,14 @@ static void save_link_key(struct link_key *key) err = fcntl(f, F_SETFL, O_APPEND); if (err < 0) { - syslog(LOG_ERR, "Link key database seek failed. %s(%d)", - strerror(errno), errno); + syslog(LOG_ERR, "Link key database seek failed: %s (%d)", + strerror(errno), errno); goto failed; } if (write_n(f, key, sizeof(*key)) < 0) { - syslog(LOG_ERR, "Link key database write failed. %s(%d)", - strerror(errno), errno); + syslog(LOG_ERR, "Link key database write failed: %s (%d)", + strerror(errno), errno); } ba2str(&key->sba, sa); ba2str(&key->dba, da); @@ -184,7 +184,7 @@ static void link_key_notify(int dev, bdaddr_t *sba, void *ptr) char sa[18]; ba2str(sba, sa); - syslog(LOG_INFO, "link_key_notify (sba=%s)\n", sa); + syslog(LOG_INFO, "link_key_notify (sba=%s)", sa); memcpy(key.key, evt->link_key, 16); bacpy(&key.sba, sba); @@ -204,8 +204,8 @@ int read_pin_code(void) int len; if (!(f = fopen(hcid.pin_file, "r"))) { - syslog(LOG_ERR, "Can't open PIN file %s. %s(%d)", - hcid.pin_file, strerror(errno), errno); + syslog(LOG_ERR, "Can't open PIN file %s: %s (%d)", + hcid.pin_file, strerror(errno), errno); return -1; } @@ -215,8 +215,8 @@ int read_pin_code(void) memcpy(hcid.pin_code, buf, len); hcid.pin_len = len; } else { - syslog(LOG_ERR, "Can't read PIN file %s. %s(%d)", - hcid.pin_file, strerror(errno), errno); + syslog(LOG_ERR, "Can't read PIN file %s: %s (%d)", + hcid.pin_file, strerror(errno), errno); len = -1; } fclose(f); @@ -245,15 +245,15 @@ static void call_pin_helper(int dev, struct hci_conn_info *ci) case 0: break; case -1: - syslog(LOG_ERR, "Can't fork PIN helper. %s(%d)", - strerror(errno), errno); + syslog(LOG_ERR, "Can't fork PIN helper: %s (%d)", + strerror(errno), errno); default: return; } if (access(hcid.pin_helper, R_OK | X_OK)) { - syslog(LOG_ERR, "Can't exec PIN helper %s. %s(%d)", - hcid.pin_helper, strerror(errno), errno); + syslog(LOG_ERR, "Can't exec PIN helper %s: %s (%d)", + hcid.pin_helper, strerror(errno), errno); goto reject; } @@ -273,7 +273,8 @@ static void call_pin_helper(int dev, struct hci_conn_info *ci) pipe = popen(str, "r"); if (!pipe) { - syslog(LOG_ERR, "Can't exec PIN helper. %s(%d)", strerror(errno), errno); + syslog(LOG_ERR, "Can't exec PIN helper: %s (%d)", + strerror(errno), errno); goto reject; } @@ -326,7 +327,7 @@ static void pin_code_request(int dev, bdaddr_t *sba, bdaddr_t *dba) char sa[18], da[18]; ba2str(sba, sa); ba2str(dba, da); - syslog(LOG_INFO, "pin_code_request (sba=%s, dba=%s)\n", sa, da); + syslog(LOG_INFO, "pin_code_request (sba=%s, dba=%s)", sa, da); cr = malloc(sizeof(*cr) + sizeof(*ci)); if (!cr) @@ -335,8 +336,8 @@ static void pin_code_request(int dev, bdaddr_t *sba, bdaddr_t *dba) bacpy(&cr->bdaddr, dba); cr->type = ACL_LINK; if (ioctl(dev, HCIGETCONNINFO, (unsigned long) cr) < 0) { - syslog(LOG_ERR, "Can't get conn info %s(%d)", - strerror(errno), errno); + syslog(LOG_ERR, "Can't get conn info: %s (%d)", + strerror(errno), errno); goto reject; } ci = cr->conn_info; @@ -465,8 +466,8 @@ void start_security_manager(int hdev) syslog(LOG_INFO, "Starting security manager %d", hdev); if ((dev = hci_open_dev(hdev)) < 0) { - syslog(LOG_ERR, "Can't open device hci%d. %s(%d)", - hdev, strerror(errno), errno); + syslog(LOG_ERR, "Can't open device hci%d: %s (%d)", + hdev, strerror(errno), errno); return; } @@ -478,24 +479,24 @@ void start_security_manager(int hdev) hci_filter_set_event(EVT_LINK_KEY_NOTIFY, &flt); hci_filter_set_event(EVT_REMOTE_NAME_REQ_COMPLETE, &flt); if (setsockopt(dev, SOL_HCI, HCI_FILTER, &flt, sizeof(flt)) < 0) { - syslog(LOG_ERR, "Can't set filter on hci%d. %s(%d)", - hdev, strerror(errno), errno); + syslog(LOG_ERR, "Can't set filter on hci%d: %s (%d)", + hdev, strerror(errno), errno); close(dev); return; } di = malloc(sizeof(*di)); if (!di) { - syslog(LOG_ERR, "Can't allocate device info buffer. %s(%d)", - strerror(errno), errno); + syslog(LOG_ERR, "Can't allocate device info buffer: %s (%d)", + strerror(errno), errno); close(dev); return; } di->dev_id = hdev; if (ioctl(dev, HCIGETDEVINFO, (void *)di)) { - syslog(LOG_ERR, "Can't get device info. %s(%d)", - strerror(errno), errno); + syslog(LOG_ERR, "Can't get device info: %s (%d)", + strerror(errno), errno); close(dev); return; } |