Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(343)

Side by Side Diff: dhcpcd-dbus.c

Issue 2965010: Various dhcpcd fixups. (Closed) Base URL: ssh://git@chromiumos-git//dhcpcd.git
Patch Set: Created 10 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « dhcpcd.conf ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * dhcpcd-dbus 2 * dhcpcd-dbus
3 * Copyright 2009 Roy Marples <roy@marples.name> 3 * Copyright 2009 Roy Marples <roy@marples.name>
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 1. Redistributions of source code must retain the above copyright 8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright 10 * 2. Redistributions in binary form must reproduce the above copyright
(...skipping 464 matching lines...) Expand 10 before | Expand all | Expand 10 after
475 if (dbus_message_is_method_call(msg, DBUS_INTERFACE_INTROSPECTABLE, 475 if (dbus_message_is_method_call(msg, DBUS_INTERFACE_INTROSPECTABLE,
476 "Introspect")) { 476 "Introspect")) {
477 return introspect(con, msg); 477 return introspect(con, msg);
478 } else if (IsMethod(msg, "GetVersion")) { 478 } else if (IsMethod(msg, "GetVersion")) {
479 return version(con, msg, VERSION); 479 return version(con, msg, VERSION);
480 } else if (IsMethod(msg, "GetInterfaces")) { 480 } else if (IsMethod(msg, "GetInterfaces")) {
481 return dhcpcd_get_interfaces(con, msg); 481 return dhcpcd_get_interfaces(con, msg);
482 } else if (IsMethod(msg, "GetStatus")) { 482 } else if (IsMethod(msg, "GetStatus")) {
483 return return_status(con, msg); 483 return return_status(con, msg);
484 } else if (IsMethod(msg, "Rebind")) { 484 } else if (IsMethod(msg, "Rebind")) {
485 » » bind_interface(ifaces);»» /* XXX */ 485 » » start_interface(ifaces);
486 return dbus_ack(con, msg); 486 return dbus_ack(con, msg);
487 } else if (IsMethod(msg, "Release")) { 487 } else if (IsMethod(msg, "Release")) {
488 » » raise(SIGHUP); 488 » » send_release(ifaces);
489 » » stop_interface(ifaces);
489 return dbus_ack(con, msg); 490 return dbus_ack(con, msg);
490 } else if (IsMethod(msg, "Stop")) { 491 } else if (IsMethod(msg, "Stop")) {
491 » » /* NB: must ack first 'cuz handle_signal exit's */ 492 » » stop_interface(ifaces);
492 (void) dbus_ack(con, msg); 493 (void) dbus_ack(con, msg);
493 » » raise(SIGINT); 494 » » exit(EXIT_FAILURE);
494 » » /*NOTREACHED*/ 495 » } else if (dbus_message_is_signal(msg, DBUS_INTERFACE_LOCAL,
496 » » » » » "Disconnected")) {
497 » » stop_interface(ifaces);
498 » » exit(EXIT_FAILURE);
495 } 499 }
496 return return_dbus_error(con, msg, S_EINVAL, S_ARGS); 500 return return_dbus_error(con, msg, S_EINVAL, S_ARGS);
497 #undef IsMethod 501 #undef IsMethod
498 } 502 }
499 503
500 static void 504 static void
501 dbus_event(int revents, void *watch) 505 dbus_event(int revents, void *watch)
502 { 506 {
503 int flags; 507 int flags;
504 508
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
571 connection = dbus_bus_get(DBUS_BUS_SYSTEM, &err); 575 connection = dbus_bus_get(DBUS_BUS_SYSTEM, &err);
572 if (connection == NULL) { 576 if (connection == NULL) {
573 if (dbus_error_is_set(&err)) 577 if (dbus_error_is_set(&err))
574 syslog(LOG_ERR, "%s", err.message); 578 syslog(LOG_ERR, "%s", err.message);
575 else 579 else
576 syslog(LOG_ERR, "failed to get a dbus connection"); 580 syslog(LOG_ERR, "failed to get a dbus connection");
577 return -1; 581 return -1;
578 } 582 }
579 atexit(dhcpcd_dbus_close); 583 atexit(dhcpcd_dbus_close);
580 584
581 #if 0
582 ret = dbus_bus_request_name(connection, DHCPCD_SERVICE,
583 DBUS_NAME_FLAG_REPLACE_EXISTING, &err);
584 if (dbus_error_is_set(&err)) {
585 syslog(LOG_ERR, "%s", err.message);
586 return -1;
587 }
588 #endif
589 if (!dbus_connection_set_watch_functions(connection, 585 if (!dbus_connection_set_watch_functions(connection,
590 add_watch, remove_watch, NULL, NULL, NULL)) 586 add_watch, remove_watch, NULL, NULL, NULL))
591 { 587 {
592 syslog(LOG_ERR, "dbus: failed to set watch functions"); 588 syslog(LOG_ERR, "dbus: failed to set watch functions");
593 return -1; 589 return -1;
594 } 590 }
595 if (!dbus_connection_register_object_path(connection, 591 if (!dbus_connection_register_object_path(connection,
596 DHCPCD_PATH, &vt, NULL)) 592 DHCPCD_PATH, &vt, NULL))
597 { 593 {
598 syslog(LOG_ERR, "dbus: failed to register object path"); 594 syslog(LOG_ERR, "dbus: failed to register object path");
(...skipping 11 matching lines...) Expand all
610 606
611 if (write_lease(ifp, ifp->state->new) == -1) 607 if (write_lease(ifp, ifp->state->new) == -1)
612 syslog(LOG_ERR, "write_lease: %m"); 608 syslog(LOG_ERR, "write_lease: %m");
613 } 609 }
614 return 0; 610 return 0;
615 } 611 }
616 612
617 int 613 int
618 run_script(const struct interface *ifp) 614 run_script(const struct interface *ifp)
619 { 615 {
620 syslog(LOG_DEBUG, "executing `%s', reason %s",
621 ifp->name, ifp->state->reason);
622 #if 0
623 /* push state over d-bus */
624 dhcpcd_dbus_configure(ifp, ifp->state->reason);
625 #endif
626 return 0; 616 return 0;
627 } 617 }
OLDNEW
« no previous file with comments | « dhcpcd.conf ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698