diff options
Diffstat (limited to 'main/squark')
-rw-r--r-- | main/squark/0001-auth-snmp-use-ifIndex-as-ifName-if-that-MIB-entry-is.patch | 129 | ||||
-rw-r--r-- | main/squark/0002-all-fix-includes-for-strict-compliance.patch | 52 | ||||
-rw-r--r-- | main/squark/APKBUILD | 20 |
3 files changed, 6 insertions, 195 deletions
diff --git a/main/squark/0001-auth-snmp-use-ifIndex-as-ifName-if-that-MIB-entry-is.patch b/main/squark/0001-auth-snmp-use-ifIndex-as-ifName-if-that-MIB-entry-is.patch deleted file mode 100644 index 1b11d516dc..0000000000 --- a/main/squark/0001-auth-snmp-use-ifIndex-as-ifName-if-that-MIB-entry-is.patch +++ /dev/null @@ -1,129 +0,0 @@ -From c43e15006ee6f36f74de12928687f16c8338eadf Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi> -Date: Tue, 26 Feb 2013 09:00:20 +0200 -Subject: [PATCH 1/2] auth-snmp: use ifIndex as ifName if that MIB entry is not - support - -E.g. HP ProCurve 1800 does not seem to support ifName. ---- - src/squark-auth-snmp.c | 56 ++++++++++++++++++++++++++++++++++++++------------ - 1 file changed, 43 insertions(+), 13 deletions(-) - -diff --git a/src/squark-auth-snmp.c b/src/squark-auth-snmp.c -index 2ac1a7f..9a35d33 100644 ---- a/src/squark-auth-snmp.c -+++ b/src/squark-auth-snmp.c -@@ -64,6 +64,7 @@ - #define SWITCHF_NO_LLDP_MIB 0x01 - #define SWITCHF_QBRIDGE_MIB_HAS_VLAN_NUMBER 0x02 - #define SWITCHF_BRIDGE_MIB_HAS_VLAN 0x04 -+#define SWITCHF_NO_IF_MIB_IFNAME 0x08 - - /* IANA-AddressFamilyNumbers */ - #define IANA_AFN_OTHER 0 -@@ -291,6 +292,17 @@ struct auth_context { - struct auth_context * next_sleeper; - }; - -+void switchinfo_create_ifname(struct auth_context *auth) -+{ -+ char name[64]; -+ -+ if (auth->info_available & FORMAT_PORT_INDEX) { -+ sprintf(name, "%d", auth->local_port); -+ auth->port_name = strdup(name); -+ auth->info_available |= FORMAT_PORT_NAME; -+ } -+} -+ - static void cache_update_time(void) - { - current_time = time(NULL); -@@ -695,6 +707,13 @@ static void auth_force_reauthentication(struct auth_context *auth) - snmp_free_pdu(pdu); - } - -+static int auth_need_info(struct auth_context *auth, int needed_flags) -+{ -+ if ((auth->info_available & needed_flags) == needed_flags) -+ return 0; -+ return username_format_flags & needed_flags; -+} -+ - static int auth_handle_portinfo_reply(int oper, netsnmp_session *s, int reqid, netsnmp_pdu *resp, void *data) - { - struct auth_context *auth = data; -@@ -704,18 +723,25 @@ static int auth_handle_portinfo_reply(int oper, netsnmp_session *s, int reqid, n - goto done; - - var = resp->variables; -- if (username_format_flags & FORMAT_PORT_NAME) -+ if (auth_need_info(auth, FORMAT_PORT_NAME)) { - auth->port_name = blob_cstr_dup(var_parse_type(&var, ASN_OCTET_STR)); -- if (auth->port_name) -- auth->info_available |= FORMAT_PORT_NAME; -- if (username_format_flags & FORMAT_PORT_DESCR) -+ if (auth->port_name) { -+ auth->info_available |= FORMAT_PORT_NAME; -+ } else { -+ auth->current_switch->flags |= SWITCHF_NO_IF_MIB_IFNAME; -+ switchinfo_create_ifname(auth); -+ } -+ } -+ if (auth_need_info(auth, FORMAT_PORT_DESCR)) { - auth->port_descr = blob_cstr_dup(var_parse_type(&var, ASN_OCTET_STR)); -- if (auth->port_descr) -- auth->info_available |= FORMAT_PORT_DESCR; -- if (username_format_flags & FORMAT_PORT_WEBAUTH) -+ if (auth->port_descr) -+ auth->info_available |= FORMAT_PORT_DESCR; -+ } -+ if (auth_need_info(auth, FORMAT_PORT_WEBAUTH)) { - auth->webauth_name = blob_cstr_dup(var_parse_type(&var, ASN_OCTET_STR)); -- if (auth->webauth_name) -- auth->info_available |= FORMAT_PORT_WEBAUTH; -+ if (auth->webauth_name) -+ auth->info_available |= FORMAT_PORT_WEBAUTH; -+ } - - snprintf(auth->status_msg, sizeof(auth->status_msg)-1, - "required info missing: info_available=%08x", -@@ -737,27 +763,31 @@ static void auth_query_port_info(struct auth_context *auth) - oid query_oids[MAX_OID_LEN]; - blob_t query; - -- if (auth_ok(auth)) { -+ if (si->flags & SWITCHF_NO_IF_MIB_IFNAME) -+ switchinfo_create_ifname(auth); -+ -+ if (auth_ok(auth) || -+ !auth_need_info(auth, FORMAT_PORT_NAME | FORMAT_PORT_DESCR | FORMAT_PORT_WEBAUTH)) { - auth_completed(auth); - return; - } - - pdu = snmp_pdu_create(SNMP_MSG_GET); -- if (username_format_flags & FORMAT_PORT_NAME) { -+ if (auth_need_info(auth, FORMAT_PORT_NAME)) { - 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); - snmp_add_null_var(pdu, oid_blob(query)); - } -- if (username_format_flags & FORMAT_PORT_DESCR) { -+ if (auth_need_info(auth, FORMAT_PORT_DESCR)) { - 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); - snmp_add_null_var(pdu, oid_blob(query)); - } -- if (username_format_flags & FORMAT_PORT_WEBAUTH) { -+ if (auth_need_info(auth, FORMAT_PORT_WEBAUTH)) { - query = BLOB_OID(query_oids); - blob_push(&query, BLOB_OID(HP_hpicfUsrAuthWebAuthSessionName)); - blob_push_oid(&query, auth->local_port); --- -1.8.5.1 - diff --git a/main/squark/0002-all-fix-includes-for-strict-compliance.patch b/main/squark/0002-all-fix-includes-for-strict-compliance.patch deleted file mode 100644 index c57c78b3cf..0000000000 --- a/main/squark/0002-all-fix-includes-for-strict-compliance.patch +++ /dev/null @@ -1,52 +0,0 @@ -From 7efc2ebeda4414bf3c633a6cf86b49c033973f52 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi> -Date: Thu, 19 Dec 2013 22:20:39 +0200 -Subject: [PATCH 2/2] all: fix #includes for strict compliance - ---- - src/authdb.c | 3 ++- - src/blob.c | 2 +- - src/blob.h | 1 + - 3 files changed, 4 insertions(+), 2 deletions(-) - -diff --git a/src/authdb.c b/src/authdb.c -index a0c0478..b9d38c8 100644 ---- a/src/authdb.c -+++ b/src/authdb.c -@@ -1,7 +1,8 @@ - #include <sys/mman.h> - #include <sys/stat.h> - #include <unistd.h> --#include <malloc.h> -+#include <stdlib.h> -+#include <stdio.h> - #include <sched.h> - #include <fcntl.h> - #include <ctype.h> -diff --git a/src/blob.c b/src/blob.c -index a6ccc62..c526d9b 100644 ---- a/src/blob.c -+++ b/src/blob.c -@@ -1,6 +1,6 @@ - #include <time.h> - #include <ctype.h> --#include <malloc.h> -+#include <stdlib.h> - #include <string.h> - #include <arpa/inet.h> - -diff --git a/src/blob.h b/src/blob.h -index 971ce61..6a8e51c 100644 ---- a/src/blob.h -+++ b/src/blob.h -@@ -2,6 +2,7 @@ - #define BLOB_H - - #include <string.h> -+#include <time.h> - - struct in_addr; - --- -1.8.5.1 - diff --git a/main/squark/APKBUILD b/main/squark/APKBUILD index 69d93eb986..5e91d71dcf 100644 --- a/main/squark/APKBUILD +++ b/main/squark/APKBUILD @@ -1,14 +1,12 @@ # Maintainer: Timo Teras <timo.teras@iki.fi> pkgname=squark -pkgver=0.5 -pkgrel=1 +pkgver=0.6 +pkgrel=0 pkgdesc="Squark - Squid User Authentication and Rating Kit" subpackages= depends="haserl" makedepends="net-snmp-dev cmph-dev lua-dev pkgconfig" -source="http://dev.alpinelinux.org/archive/$pkgname/$pkgname-$pkgver.tar.bz2 - 0001-auth-snmp-use-ifIndex-as-ifName-if-that-MIB-entry-is.patch - 0002-all-fix-includes-for-strict-compliance.patch +source="http://dev.alpinelinux.org/archive/$pkgname/$pkgname-$pkgver.tar.xz " url="http://git.alpinelinux.org/cgit/squark/" arch="all" @@ -38,12 +36,6 @@ package() { make FULL_VERSION="$pkgver-r$pkgrel" DESTDIR="$pkgdir" install } -md5sums="da9ff8ceaa277781dcebd8d3c0e886d1 squark-0.5.tar.bz2 -badc55a43f2eee9b7b02083bc6879f51 0001-auth-snmp-use-ifIndex-as-ifName-if-that-MIB-entry-is.patch -2b6c8d5d8136fa8450c4fbb95936c3d7 0002-all-fix-includes-for-strict-compliance.patch" -sha256sums="327b6578ace9629cefce3f67489b030ac33efb66b813087b3d7a451917df09ec squark-0.5.tar.bz2 -1c6733e2d0afed808a2ed89de35c2ac203b42b720ff8bc6208cf4e329aa01d64 0001-auth-snmp-use-ifIndex-as-ifName-if-that-MIB-entry-is.patch -323b34c54f30b31e16b51ea6de7488aca42397ea3336db0bc0dfc1cc256bd34d 0002-all-fix-includes-for-strict-compliance.patch" -sha512sums="772696730612fc67ca63dd8c843a3596e37f2f0a02df1a3e0bf2156987bb728ae6213efc7ab556d7cb8c9d9fe83cd75bfe45aa09b4ffde2cefc20f54ba509819 squark-0.5.tar.bz2 -ccb1f3d742f2ed4452c435e5f543570ba43becbbc22ba8d6d78d006774b8e2115bdbb3461dcaf9376efda4f5223c012b43c02e439ffdd3d9398ed3fba085f62b 0001-auth-snmp-use-ifIndex-as-ifName-if-that-MIB-entry-is.patch -046d38073cbd1ece2c2464c3f3861d040ceabd82849aff4efa0c3f18ac8ed5159e0bb2b772d9fb373e6141f9fdcd06888a89729d14254752ecf0aec1d564fb3f 0002-all-fix-includes-for-strict-compliance.patch" +md5sums="8e34e77741ec043362b5554b58206ae1 squark-0.6.tar.xz" +sha256sums="6349f7b2d840712ef3f0f0eb32cbed4d53ede586a06f42807f1cfda888fd2952 squark-0.6.tar.xz" +sha512sums="ba671d961b1b2d3026625b21336369e3b3dedc867dd8f68e85db3badcdb13afae8565a068e9337de6ba909c8780ff5ff0e59e4bab42f7f02a415f396654ead19 squark-0.6.tar.xz" |