summaryrefslogtreecommitdiffstats
path: root/squark-auth.c
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2010-08-10 14:49:46 +0300
committerTimo Teräs <timo.teras@iki.fi>2010-08-10 14:49:46 +0300
commit679cadbe809bdf5436b4f7c48d9722c08a59ab59 (patch)
treedc2a020fec3913112d00362a4bf7b819ec44b228 /squark-auth.c
parent9c29667d060e6f1d00a9ad7997c4b357db3aa2ac (diff)
downloadsquark-679cadbe809bdf5436b4f7c48d9722c08a59ab59.tar.bz2
squark-679cadbe809bdf5436b4f7c48d9722c08a59ab59.tar.xz
blob: use uppercase for macroes, add some functionality
Normalizing macro names to upper case and extending functionality.
Diffstat (limited to 'squark-auth.c')
-rw-r--r--squark-auth.c102
1 files changed, 51 insertions, 51 deletions
diff --git a/squark-auth.c b/squark-auth.c
index db792e7..d0b3390 100644
--- a/squark-auth.c
+++ b/squark-auth.c
@@ -102,8 +102,8 @@ static int username_format_flags;
/* ----------------------------------------------------------------- */
-#define blob_oid(objid) blob_buf(objid)
-#define blob_oid_dyn(objid,len) blob_dyn(objid, (len) * sizeof(oid))
+#define BLOB_OID(objid) BLOB_BUF(objid)
+#define BLOB_OID_DYN(objid,len) BLOB_PTR_LEN(objid, (len) * sizeof(oid))
static inline void blob_push_oid(blob_t *b, oid objid)
{
@@ -218,7 +218,7 @@ void blob_push_iana_afn(blob_t *b, sockaddr_any *addr)
}
blob_push_oid(b, type);
blob_push_oid(b, len);
- blob_push_oid_dump(b, blob_dyn(ptr, len));
+ blob_push_oid_dump(b, BLOB_PTR_LEN(ptr, len));
}
sockaddr_any *blob_pull_iana_afn(blob_t *b, sockaddr_any *addr)
@@ -237,7 +237,7 @@ sockaddr_any *blob_pull_iana_afn(blob_t *b, sockaddr_any *addr)
blob_pull_skip(b, len);
return NULL;
}
- blob_pull_oid_dump(b, blob_dyn(ptr, len));
+ blob_pull_oid_dump(b, BLOB_PTR_LEN(ptr, len));
return addr;
}
@@ -483,7 +483,7 @@ int resolve_ifName2ifIndex(struct switch_info *si, blob_t ifName)
if (vars->type != ASN_OCTET_STR)
continue;
- if (blob_cmp(ifName, blob_dyn(vars->val.string, vars->val_len)) != 0)
+ if (blob_cmp(ifName, BLOB_PTR_LEN(vars->val.string, vars->val_len)) != 0)
continue;
rc = vars->name[vars->name_length - 1];
@@ -550,31 +550,31 @@ static void blob_push_formatted_username(
struct switch_info *si = auth->current_switch;
while ((p = strchr(p, '%')) != NULL) {
- blob_push(b, blob_dyn(o, p - o));
+ blob_push(b, BLOB_PTR_LEN(o, p - o));
switch (p[1]) {
case 'I':
- blob_push(b, blob_str(addr_print(&auth->addr)));
+ blob_push(b, BLOB_STR(addr_print(&auth->addr)));
break;
case 'M':
- blob_push_hexdump(b, blob_buf(auth->mac));
+ blob_push_hexdump(b, BLOB_BUF(auth->mac));
break;
case 'N':
- blob_push(b, blob_str(si->system_name));
+ blob_push(b, BLOB_STR(si->system_name));
break;
case 'L':
- blob_push(b, blob_str(si->system_location));
+ blob_push(b, BLOB_STR(si->system_location));
break;
case 'i':
- blob_push_int_str(b, auth->local_port);
+ blob_push_uint(b, auth->local_port, 10);
break;
case 'n':
- blob_push(b, blob_str(auth->port_name));
+ blob_push(b, BLOB_STR(auth->port_name));
break;
case 'd':
- blob_push(b, blob_str(auth->port_descr));
+ blob_push(b, BLOB_STR(auth->port_descr));
break;
case 'w':
- blob_push(b, blob_str(auth->webauth_name));
+ blob_push(b, BLOB_STR(auth->webauth_name));
break;
default:
o = p;
@@ -584,7 +584,7 @@ static void blob_push_formatted_username(
p += 2;
o = p;
}
- blob_push(b, blob_str(o));
+ blob_push(b, BLOB_STR(o));
}
static int auth_ok(struct auth_context *auth)
@@ -595,17 +595,17 @@ static int auth_ok(struct auth_context *auth)
static void auth_completed(struct auth_context *auth)
{
char tmp[256];
- blob_t b = blob_buf(tmp);
+ blob_t b = BLOB_BUF(tmp);
- blob_push(&b, blob_str(auth->token));
+ blob_push(&b, BLOB_STR(auth->token));
if (auth_ok(auth)) {
- blob_push(&b, blob_str(" OK user="));
+ blob_push(&b, BLOB_STR(" OK user="));
blob_push_formatted_username(&b, username_format, auth);
- blob_push(&b, blob_dyn("\n", 1));
+ blob_push(&b, BLOB_PTR_LEN("\n", 1));
} else {
- blob_push(&b, blob_str(" ERR\n"));
+ blob_push(&b, BLOB_STR(" ERR\n"));
}
- b = blob_pushed(blob_buf(tmp), b);
+ b = blob_pushed(BLOB_BUF(tmp), b);
write(STDOUT_FILENO, b.ptr, b.len);
auth_free(auth);
@@ -638,7 +638,7 @@ static blob_t var_parse_type(netsnmp_variable_list **varptr, int asn_tag)
if (var->type != asn_tag)
return BLOB_NULL;
- return blob_dyn(var->val.string, var->val_len);
+ return BLOB_PTR_LEN(var->val.string, var->val_len);
}
static int auth_handle_portinfo_reply(int oper, netsnmp_session *s, int reqid, netsnmp_pdu *resp, void *data)
@@ -682,25 +682,25 @@ static void auth_query_port_info(struct auth_context *auth)
pdu = snmp_pdu_create(SNMP_MSG_GET);
if (username_format_flags & FORMAT_PORT_NAME) {
- query = blob_oid(query_oids);
- blob_push(&query, blob_oid(IF_MIB_ifName));
+ query = BLOB_OID(query_oids);
+ blob_push(&query, BLOB_OID(IF_MIB_ifName));
blob_push_oid(&query, auth->local_port);
- query = blob_pushed(blob_oid(query_oids), query);
+ query = blob_pushed(BLOB_OID(query_oids), query);
snmp_add_null_var(pdu, oid_blob(query));
}
if (username_format_flags & FORMAT_PORT_DESCR) {
- query = blob_oid(query_oids);
- blob_push(&query, blob_oid(IF_MIB_ifDescr));
+ query = BLOB_OID(query_oids);
+ blob_push(&query, BLOB_OID(IF_MIB_ifDescr));
blob_push_oid(&query, auth->local_port);
- query = blob_pushed(blob_oid(query_oids), query);
+ query = blob_pushed(BLOB_OID(query_oids), query);
snmp_add_null_var(pdu, oid_blob(query));
}
if (username_format_flags & FORMAT_PORT_WEBAUTH) {
- query = blob_oid(query_oids);
- blob_push(&query, blob_oid(HP_hpicfUsrAuthWebAuthSessionName));
+ query = BLOB_OID(query_oids);
+ blob_push(&query, BLOB_OID(HP_hpicfUsrAuthWebAuthSessionName));
blob_push_oid(&query, auth->local_port);
- blob_push_oid_dump(&query, blob_buf(auth->mac));
- query = blob_pushed(blob_oid(query_oids), query);
+ blob_push_oid_dump(&query, BLOB_BUF(auth->mac));
+ query = blob_pushed(BLOB_OID(query_oids), query);
snmp_add_null_var(pdu, oid_blob(query));
}
auth_talk_snmp(auth, si->session, pdu, auth_handle_portinfo_reply);
@@ -725,8 +725,8 @@ static int auth_handle_lldp_reply(int oper, netsnmp_session *s, int reqid, netsn
if (var->type != ASN_INTEGER)
continue;
/* INDEX: TimeFilter, Port, Idx, Family, Addr */
- res = blob_oid_dyn(var->name, var->name_length);
- if (blob_pull_matching(&res, blob_oid(LLDP_lldpRemManAddrIfSubtype)) &&
+ res = BLOB_OID_DYN(var->name, var->name_length);
+ if (blob_pull_matching(&res, BLOB_OID(LLDP_lldpRemManAddrIfSubtype)) &&
blob_pull_oid(&res) == 0 &&
blob_pull_oid(&res) == auth->lldp_port[i]) {
/* We have mathing LLDP neighbor */
@@ -743,8 +743,8 @@ static int auth_handle_lldp_reply(int oper, netsnmp_session *s, int reqid, netsn
if (var->type != ASN_INTEGER)
break;
/* print_variable(var->name, var->name_length, var); */
- res = blob_oid_dyn(var->name, var->name_length);
- if (!blob_pull_matching(&res, blob_oid(IF_MIB_ifStackStatus)))
+ res = BLOB_OID_DYN(var->name, var->name_length);
+ if (!blob_pull_matching(&res, BLOB_OID(IF_MIB_ifStackStatus)))
break;
if (blob_pull_oid(&res) != auth->local_port)
break;
@@ -790,21 +790,21 @@ static void auth_query_lldp(struct auth_context *auth, int root_query)
for (i = 0; i < auth->num_lldp_ports; i++) {
/* Query LLDP neighbor. lldpRemManAddrTable is INDEXed with
* [TimeFilter, LocalPort, Index, AddrSubType, Addr] */
- query = blob_oid(query_oids);
- blob_push(&query, blob_oid(LLDP_lldpRemManAddrIfSubtype));
+ query = BLOB_OID(query_oids);
+ blob_push(&query, BLOB_OID(LLDP_lldpRemManAddrIfSubtype));
blob_push_oid(&query, 0);
blob_push_oid(&query, auth->lldp_port[i]);
- query = blob_pushed(blob_oid(query_oids), query);
+ query = blob_pushed(BLOB_OID(query_oids), query);
snmp_add_null_var(pdu, oid_blob(query));
}
if (root_query) {
/* Query interface stacking in case this is aggregated trunk:
* IF-MIB::ifStackStatus.<ifUpperIndex>.<ifLowerIndex> */
- query = blob_oid(query_oids);
- blob_push(&query, blob_oid(IF_MIB_ifStackStatus));
+ query = BLOB_OID(query_oids);
+ blob_push(&query, BLOB_OID(IF_MIB_ifStackStatus));
blob_push_oid(&query, auth->local_port);
- query = blob_pushed(blob_oid(query_oids), query);
+ query = blob_pushed(BLOB_OID(query_oids), query);
snmp_add_null_var(pdu, oid_blob(query));
}
@@ -868,12 +868,12 @@ static void auth_query_fib(struct auth_context *auth)
/* FIXME: Implement Q-BRIDGE-MIB query too. */
/* BRIDGE-MIB::dot1dTpFdbPort.<MAC> = INTEGER: port */
- query = blob_oid(query_oids);
- blob_push(&query, blob_oid(BRIDGE_MIB_dot1dTpFdbPort));
+ query = BLOB_OID(query_oids);
+ blob_push(&query, BLOB_OID(BRIDGE_MIB_dot1dTpFdbPort));
if (si->flags & SWITCHF_BRIDGE_MIB_HAS_VLAN)
blob_push_oid(&query, l2_vlan_ndx);
- blob_push_oid_dump(&query, blob_buf(auth->mac));
- query = blob_pushed(blob_oid(query_oids), query);
+ blob_push_oid_dump(&query, BLOB_BUF(auth->mac));
+ query = blob_pushed(BLOB_OID(query_oids), query);
snmp_add_null_var(pdu, oid_blob(query));
auth_talk_snmp(auth, si->session, pdu, auth_handle_fib_reply);
@@ -901,7 +901,7 @@ static int auth_handle_switch_info_reply(int oper, netsnmp_session *s, int reqid
if (si->system_location)
si->info_available |= FORMAT_SWITCH_LOCATION;
b = si->system_oid;
- if (blob_pull_matching(&b, blob_oid(HP_ICF_OID_hpEtherSwitch))) {
+ if (blob_pull_matching(&b, BLOB_OID(HP_ICF_OID_hpEtherSwitch))) {
/* Hewlett-Packard ProCurve Switches */
switch (blob_pull_oid(&b)) {
case 104: /* 1810G-24 */
@@ -976,11 +976,11 @@ void start_authentication(const char *token, const char *ip)
* = STRING: 01:12:34:56:78:9a */
pdu = snmp_pdu_create(SNMP_MSG_GET);
- query = blob_oid(query_oids);
- blob_push(&query, blob_oid(IP_MIB_ipNetToPhysicalPhysAddress));
+ query = BLOB_OID(query_oids);
+ blob_push(&query, BLOB_OID(IP_MIB_ipNetToPhysicalPhysAddress));
blob_push_oid(&query, l3_if_ndx);
blob_push_iana_afn(&query, &auth->addr);
- query = blob_pushed(blob_oid(query_oids), query);
+ query = blob_pushed(BLOB_OID(query_oids), query);
snmp_add_null_var(pdu, oid_blob(query));
auth_talk_snmp(auth, l3_root_dev->session, pdu, auth_handle_arp_reply);
@@ -1080,7 +1080,7 @@ int main(int argc, char **argv)
l2_root = l3_root;
l3_root_dev = get_switch(addr_parse(l3_root, &addr));
- l3_if_ndx = resolve_ifName2ifIndex(l3_root_dev, blob_str((char *) l3_ifname));
+ l3_if_ndx = resolve_ifName2ifIndex(l3_root_dev, BLOB_STR((char *) l3_ifname));
l2_root_dev = get_switch(addr_parse(l2_root, &addr));
l2_vlan_ndx = atoi(l2_vlan);
username_format_flags = parse_format(username_format);