+/*
+ * Copyright (C) 1996-2015 The Squid Software Foundation and contributors
+ *
+ * Squid software is distributed under GPLv2+ license and includes
+ * contributions from numerous individuals and organizations.
+ * Please see the COPYING and CONTRIBUTORS files for details.
+ */
+
/*
* ext_ldap_group_acl: lookup group membership in LDAP
*
*
* If you want to make a TLS enabled connection you will also need the
* OpenSSL libraries linked into openldap. See http://www.openssl.org/
- *
- * License: squid_ldap_group is free software; you can redistribute it
- * and/or modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2,
- * or (at your option) any later version.
*/
#include "squid.h"
#include "helpers/defines.h"
#define LDAP_DEPRECATED 1
-#if HAVE_STDIO_H
-#include <stdio.h>
-#endif
-#if HAVE_STRING_H
-#include <string.h>
-#endif
-#if HAVE_CTYPE_H
-#include <ctype.h>
-#endif
+#include <cctype>
+#include <cstring>
-#if _SQUID_MSWIN_ /* Native Windows port and MinGW */
+#if _SQUID_WINDOWS_ && !_SQUID_CYGWIN_
#define snprintf _snprintf
#include <windows.h>
#endif
-#if defined(LDAP_OPT_NETWORK_TIMEOUT)
-#include <sys/time.h>
-#endif
-
#define PROGRAM_NAME "ext_ldap_group_acl"
-#define PROGRAM_VERSION "2.17"
+#define PROGRAM_VERSION "2.18"
/* Globals */
fprintf(stderr, "FATAL: Your LDAP library does not have URI support\n");
exit(1);
#endif
- /* Fall thru to -h */
+ /* Fall thru to -h */
case 'h':
if (ldapServer) {
int len = strlen(ldapServer) + 1 + strlen(value) + 1;
/* On Windows ldap_start_tls_s is available starting from Windows XP,
* so we need to bind at run-time with the function entry point
*/
-#if _SQUID_MSWIN_
+#if _SQUID_WINDOWS_
if (use_tls) {
HMODULE WLDAP32Handle;
n += 3;
size -= 3;
if (size > 0) {
- *escaped++ = '\\';
- snprintf(escaped, 3, "%02x", (unsigned char) *src++);
+ *escaped = '\\';
+ ++escaped;
+ snprintf(escaped, 3, "%02x", (unsigned char) *src);
+ ++src;
escaped += 2;
}
break;
default:
- *escaped++ = *src++;
+ *escaped = *src;
+ ++escaped;
+ ++src;
++n;
--size;
}
case '\\':
++templ;
if (*templ) {
- *filter++ = *templ++;
+ *filter = *templ;
+ ++filter;
+ ++templ;
--size;
}
break;
default:
- *filter++ = *templ++;
+ *filter = *templ;
+ ++filter;
+ ++templ;
--size;
break;
}
}
}
-
int
readSecret(const char *filename)
{
return 0;
}
+