summaryrefslogtreecommitdiff
path: root/accel-pppd/extra
diff options
context:
space:
mode:
Diffstat (limited to 'accel-pppd/extra')
-rw-r--r--accel-pppd/extra/ipv6pool.c6
-rw-r--r--accel-pppd/extra/pppd_compat.c4
2 files changed, 7 insertions, 3 deletions
diff --git a/accel-pppd/extra/ipv6pool.c b/accel-pppd/extra/ipv6pool.c
index 5a9dde96..9db7b400 100644
--- a/accel-pppd/extra/ipv6pool.c
+++ b/accel-pppd/extra/ipv6pool.c
@@ -31,7 +31,7 @@ struct dppool_item_t
static LIST_HEAD(ippool);
static LIST_HEAD(dppool);
-static spinlock_t pool_lock = SPINLOCK_INITIALIZER;
+static spinlock_t pool_lock;
static struct ipdb_t ipdb;
static void generate_ippool(struct in6_addr *addr, int mask, int prefix_len)
@@ -190,7 +190,9 @@ static void ippool_init(void)
{
struct conf_sect_t *s = conf_get_section("ipv6-pool");
struct conf_option_t *opt;
-
+
+ spinlock_init(&pool_lock);
+
if (!s)
return;
diff --git a/accel-pppd/extra/pppd_compat.c b/accel-pppd/extra/pppd_compat.c
index 7bdf5974..e005e8be 100644
--- a/accel-pppd/extra/pppd_compat.c
+++ b/accel-pppd/extra/pppd_compat.c
@@ -430,6 +430,7 @@ static void write_radattr(struct pppd_compat_pd *pd, struct rad_packet_t *pack)
FILE *f;
char *fname1, *fname2 = NULL;
int i;
+ in_addr_t addr;
fname1 = _malloc(PATH_MAX);
if (!fname1) {
@@ -478,7 +479,8 @@ static void write_radattr(struct pppd_compat_pd *pd, struct rad_packet_t *pack)
fprintf(f, "\n");
break;
case ATTR_TYPE_IPADDR:
- fprintf(f, "%i.%i.%i.%i\n", attr->val.ipaddr & 0xff, (attr->val.ipaddr >> 8) & 0xff, (attr->val.ipaddr >> 16) & 0xff, (attr->val.ipaddr >> 24) & 0xff);
+ addr = ntohl(attr->val.ipaddr);
+ fprintf(f, "%i.%i.%i.%i\n", (addr >> 24) & 0xff, (addr >> 16) & 0xff, (addr >> 8) & 0xff, addr & 0xff);
break;
case ATTR_TYPE_DATE:
fprintf(f, "%lu\n", attr->val.date);