+/*
+ * Copyright (C) 1996-2014 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.
+ */
+
/*
* -----------------------------------------------------------------------------
*
*
* -----------------------------------------------------------------------------
*/
-/*
- * Hosted at http://sourceforge.net/projects/squidkerbauth
- */
#include "squid.h"
#if HAVE_GSSAPI
-#if HAVE_STRING_H
-#include <string.h>
-#endif
-#if HAVE_STDIO_H
-#include <stdio.h>
-#endif
+#include <cerrno>
+#include <cstring>
+#include <ctime>
#if HAVE_NETDB_H
#include <netdb.h>
#endif
#if HAVE_UNISTD_H
#include <unistd.h>
#endif
-#if HAVE_TIME_H
-#include <time.h>
-#endif
-#if HAVE_ERRNO_H
-#include <errno.h>
-#endif
#include "base64.h"
#include "util.h"
+#if USE_HEIMDAL_KRB5
+#if HAVE_GSSAPI_GSSAPI_H
+#include <gssapi/gssapi.h>
+#elif HAVE_GSSAPI_H
+#include <gssapi.h>
+#endif
+#elif USE_GNUGSS
+#if HAVE_GSS_H
+#include <gss.h>
+#endif
+#else
#if HAVE_GSSAPI_GSSAPI_H
#include <gssapi/gssapi.h>
#elif HAVE_GSSAPI_H
#include <gssapi.h>
#endif
-
-#if !HAVE_HEIMDAL_KERBEROS
#if HAVE_GSSAPI_GSSAPI_KRB5_H
#include <gssapi/gssapi_krb5.h>
#endif
goto cleanup;
if (output_token.length) {
- token = (char *) xmalloc(base64_encode_len(output_token.length));
- base64_encode_str(token, base64_encode_len(output_token.length),
- (const char *) output_token.value, output_token.length);
+ token = (char *) xmalloc((size_t)base64_encode_len((int)output_token.length));
+ base64_encode_str(token, base64_encode_len((int)output_token.length),
+ (const char *) output_token.value, (int)output_token.length);
}
cleanup:
gss_delete_sec_context(&minor_status, &gss_context, NULL);
int
main(int argc, char *argv[])
{
-
const char *Token;
int count;
if (argc < 2) {
fprintf(stderr, "%s| %s: Error: No proxy server name given\n",
LogTime(), PROGRAM);
- exit(99);
+ return 99;
}
if (argc == 3) {
count = atoi(argv[2]);
while (count > 0) {
Token = (const char *) squid_kerb_proxy_auth(argv[1]);
fprintf(stdout, "YR %s\n", Token ? Token : "NULL");
- count--;
+ --count;
}
fprintf(stdout, "QQ\n");
} else {
fprintf(stdout, "Token: %s\n", Token ? Token : "NULL");
}
- exit(0);
+ return 0;
}
#else
-#include <stdlib.h>
+#include <cstdlib>
int
main(int argc, char *argv[])
{
- exit(-1);
+ return -1;
}
#endif /* HAVE_GSSAPI */