Diff for /embedaddon/dhcp/server/bootp.c between versions 1.1 and 1.1.1.1

version 1.1, 2012/02/21 22:30:18 version 1.1.1.1, 2012/10/09 09:06:54
Line 3 Line 3
    BOOTP Protocol support. */     BOOTP Protocol support. */
   
 /*  /*
 * Copyright (c) 2004,2005,2007,2009 by Internet Systems Consortium, Inc. ("ISC") * Copyright (c) 2009,2012 by Internet Systems Consortium, Inc. ("ISC")
  * Copyright (c) 2004,2005,2007 by Internet Systems Consortium, Inc. ("ISC")
  * Copyright (c) 1995-2003 by Internet Software Consortium   * Copyright (c) 1995-2003 by Internet Software Consortium
  *   *
  * Permission to use, copy, modify, and distribute this software for any   * Permission to use, copy, modify, and distribute this software for any
Line 176  void bootp (packet) Line 177  void bootp (packet)
         }          }
   
         /* Execute the host statements. */          /* Execute the host statements. */
        execute_statements_in_scope ((struct binding_value **)0,        if (hp != NULL) {
                                     packet, lease, (struct client_state *)0,                execute_statements_in_scope (NULL, packet, lease, NULL,
                                     packet -> options, options,                                             packet->options, options,
                                     &lease -> scope,                                             &lease->scope,
                                     hp -> group, lease -> subnet -> group);                                             hp->group, lease->subnet->group);
         }
                   
         /* Drop the request if it's not allowed for this client. */          /* Drop the request if it's not allowed for this client. */
         if ((oc = lookup_option (&server_universe, options, SV_ALLOW_BOOTP)) &&          if ((oc = lookup_option (&server_universe, options, SV_ALLOW_BOOTP)) &&
Line 361  void bootp (packet) Line 363  void bootp (packet)
         }          }
   
         /* Report what we're doing... */          /* Report what we're doing... */
        log_info ("%s", msgbuf);        log_info("%s", msgbuf);
        log_info ("BOOTREPLY for %s to %s (%s) via %s",        log_info("BOOTREPLY for %s to %s (%s) via %s",
              piaddr (lease->ip_addr), hp -> name,                 piaddr(lease->ip_addr),
              print_hw_addr (packet -> raw -> htype,                 ((hp != NULL) && (hp->name != NULL)) ? hp -> name : "unknown",
                             packet -> raw -> hlen,                 print_hw_addr (packet->raw->htype,
                             packet -> raw -> chaddr),                                packet->raw->hlen,
              packet -> raw -> giaddr.s_addr                                packet->raw->chaddr),
              ? inet_ntoa (packet -> raw -> giaddr)                 packet->raw->giaddr.s_addr
              : packet -> interface -> name);                 ? inet_ntoa (packet->raw->giaddr)
                  : packet->interface->name);
   
         /* Set up the parts of the address that are in common. */          /* Set up the parts of the address that are in common. */
         to.sin_family = AF_INET;          to.sin_family = AF_INET;
Line 384  void bootp (packet) Line 387  void bootp (packet)
                 to.sin_port = local_port;                  to.sin_port = local_port;
   
                 if (fallback_interface) {                  if (fallback_interface) {
                        result = send_packet (fallback_interface,                        result = send_packet (fallback_interface, NULL, &raw,
                                              (struct packet *)0,                                              outgoing.packet_length, from,
                                              &raw, outgoing.packet_length,                                              &to, &hto);
                                              from, &to, &hto);                        if (result < 0) {
                                 log_error ("%s:%d: Failed to send %d byte long "
                                            "packet over %s interface.", MDL,
                                            outgoing.packet_length,
                                            fallback_interface->name);
                         }
 
                         goto out;                          goto out;
                 }                  }
   
Line 407  void bootp (packet) Line 416  void bootp (packet)
         }          }
   
         errno = 0;          errno = 0;
        result = send_packet (packet -> interface,        result = send_packet(packet->interface, packet, &raw,
                              packet, &raw, outgoing.packet_length,                             outgoing.packet_length, from, &to, &hto);
                              from, &to, &hto);        if (result < 0) {
                 log_error ("%s:%d: Failed to send %d byte long packet over %s"
                            " interface.", MDL, outgoing.packet_length,
                            packet->interface->name);
         }
 
       out:        out:
   
         if (options)          if (options)
                 option_state_dereference (&options, MDL);                  option_state_dereference (&options, MDL);
         if (lease)          if (lease)

Removed from v.1.1  
changed lines
  Added in v.1.1.1.1


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>