亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? squid_ldap_group.c

?? 代理服務器 squid-2.6.STABLE16
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* * squid_ldap_group: lookup group membership in LDAP * * (C)2002,2003 MARA Systems AB * * 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. *  * Authors: *  Flavio Pescuma <flavio@marasystems.com> *  Henrik Nordstrom <hno@marasystems.com> *  MARA Systems AB, Sweden <http://www.marasystems.com> * * With contributions from others mentioned in the ChangeLog file * * In part based on squid_ldap_auth by Glen Newton and Henrik Nordstrom. * * Latest version of this program can always be found from MARA Systems * at http://marasystems.com/download/LDAP_Group/ *  * Dependencies: You need to get the OpenLDAP libraries * from http://www.openldap.org or use another compatible * LDAP C-API library. * * 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. */#define LDAP_DEPRECATED 1#include "util.h"#include <stdio.h>#include <string.h>#include <stdlib.h>#include <ctype.h>#ifdef _SQUID_MSWIN_		/* Native Windows port and MinGW */#define snprintf _snprintf#include <windows.h>#include <winldap.h>#ifndef LDAPAPI#define LDAPAPI __cdecl#endif#ifdef LDAP_VERSION3#ifndef LDAP_OPT_X_TLS#define LDAP_OPT_X_TLS 0x6000#endif/* Some tricks to allow dynamic bind with ldap_start_tls_s entry point at * run time. */#undef ldap_start_tls_s#if LDAP_UNICODE#define LDAP_START_TLS_S "ldap_start_tls_sW"typedef WINLDAPAPI ULONG(LDAPAPI * PFldap_start_tls_s) (IN PLDAP, OUT PULONG, OUT LDAPMessage **, IN PLDAPControlW *, IN PLDAPControlW *);#else#define LDAP_START_TLS_S "ldap_start_tls_sA"typedef WINLDAPAPI ULONG(LDAPAPI * PFldap_start_tls_s) (IN PLDAP, OUT PULONG, OUT LDAPMessage **, IN PLDAPControlA *, IN PLDAPControlA *);#endif /* LDAP_UNICODE */PFldap_start_tls_s Win32_ldap_start_tls_s;#define ldap_start_tls_s(l,s,c) Win32_ldap_start_tls_s(l,NULL,NULL,s,c)#endif /* LDAP_VERSION3 */#else#include <lber.h>#include <ldap.h>#endif#if defined(LDAP_OPT_NETWORK_TIMEOUT)#include <sys/time.h>#endif#define PROGRAM_NAME "squid_ldap_group"#define PROGRAM_VERSION "2.17"/* Globals */static char *basedn = NULL;static char *searchfilter = NULL;static char *userbasedn = NULL;static char *userdnattr = NULL;static char *usersearchfilter = NULL;static char *binddn = NULL;static char *bindpasswd = NULL;static int searchscope = LDAP_SCOPE_SUBTREE;static int persistent = 0;static int noreferrals = 0;static int debug = 0;static int aliasderef = LDAP_DEREF_NEVER;#if defined(NETSCAPE_SSL)static char *sslpath = NULL;static int sslinit = 0;#endifstatic int connect_timeout = 0;static int timelimit = LDAP_NO_LIMIT;#ifdef LDAP_VERSION3/* Added for TLS support and version 3 */static int use_tls = 0;static int version = -1;#endifstatic int searchLDAP(LDAP * ld, char *group, char *user, char *extension_dn);static int readSecret(char *filename);/* Yuck.. we need to glue to different versions of the API */#ifndef LDAP_NO_ATTRS#define LDAP_NO_ATTRS "1.1"#endif#if defined(LDAP_API_VERSION) && LDAP_API_VERSION > 1823static intsquid_ldap_errno(LDAP * ld){    int err = 0;    ldap_get_option(ld, LDAP_OPT_ERROR_NUMBER, &err);    return err;}static voidsquid_ldap_set_aliasderef(LDAP * ld, int deref){    ldap_set_option(ld, LDAP_OPT_DEREF, &deref);}static voidsquid_ldap_set_referrals(LDAP * ld, int referrals){    int *value = referrals ? LDAP_OPT_ON : LDAP_OPT_OFF;    ldap_set_option(ld, LDAP_OPT_REFERRALS, value);}static voidsquid_ldap_set_timelimit(LDAP * ld, int timelimit){    ldap_set_option(ld, LDAP_OPT_TIMELIMIT, &timelimit);}static voidsquid_ldap_set_connect_timeout(LDAP * ld, int timelimit){#if defined(LDAP_OPT_NETWORK_TIMEOUT)    struct timeval tv;    tv.tv_sec = timelimit;    tv.tv_usec = 0;    ldap_set_option(ld, LDAP_OPT_NETWORK_TIMEOUT, &tv);#elif defined(LDAP_X_OPT_CONNECT_TIMEOUT)    timelimit *= 1000;    ldap_set_option(ld, LDAP_X_OPT_CONNECT_TIMEOUT, &timelimit);#endif}static voidsquid_ldap_memfree(char *p){    ldap_memfree(p);}#elsestatic intsquid_ldap_errno(LDAP * ld){    return ld->ld_errno;}static voidsquid_ldap_set_aliasderef(LDAP * ld, int deref){    ld->ld_deref = deref;}static voidsquid_ldap_set_referrals(LDAP * ld, int referrals){    if (referrals)	ld->ld_options |= ~LDAP_OPT_REFERRALS;    else	ld->ld_options &= ~LDAP_OPT_REFERRALS;}static voidsquid_ldap_set_timelimit(LDAP * ld, int timelimit){    ld->ld_timelimit = timelimit;}static voidsquid_ldap_set_connect_timeout(LDAP * ld, int timelimit){    fprintf(stderr, "Connect timeouts not supported in your LDAP library\n");}static voidsquid_ldap_memfree(char *p){    free(p);}#endif#ifdef LDAP_API_FEATURE_X_OPENLDAP#if LDAP_VENDOR_VERSION > 194#define HAS_URI_SUPPORT 1#endif#endifintmain(int argc, char **argv){    char buf[8192];    char *user, *group, *extension_dn = NULL;    char *ldapServer = NULL;    LDAP *ld = NULL;    int tryagain = 0, rc;    int port = LDAP_PORT;    int use_extension_dn = 0;    int strip_nt_domain = 0;    int err = 0;    setbuf(stdout, NULL);    while (argc > 1 && argv[1][0] == '-') {	char *value = "";	char option = argv[1][1];	switch (option) {	case 'P':	case 'R':	case 'z':	case 'Z':	case 'd':	case 'g':	case 'S':	    break;	default:	    if (strlen(argv[1]) > 2) {		value = argv[1] + 2;	    } else if (argc > 2) {		value = argv[2];		argv++;		argc--;	    } else		value = "";	    break;	}	argv++;	argc--;	switch (option) {	case 'H':#if !HAS_URI_SUPPORT	    fprintf(stderr, "ERROR: Your LDAP library does not have URI support\n");	    exit(1);#endif	    /* Fall thru to -h */	case 'h':	    if (ldapServer) {		int len = strlen(ldapServer) + 1 + strlen(value) + 1;		char *newhost = malloc(len);		snprintf(newhost, len, "%s %s", ldapServer, value);		free(ldapServer);		ldapServer = newhost;	    } else {		ldapServer = strdup(value);	    }	    break;	case 'b':	    basedn = value;	    break;	case 'f':	    searchfilter = value;	    break;	case 'B':	    userbasedn = value;	    break;	case 'F':	    usersearchfilter = value;	    break;	case 'u':	    userdnattr = value;	    break;	case 's':	    if (strcmp(value, "base") == 0)		searchscope = LDAP_SCOPE_BASE;	    else if (strcmp(value, "one") == 0)		searchscope = LDAP_SCOPE_ONELEVEL;	    else if (strcmp(value, "sub") == 0)		searchscope = LDAP_SCOPE_SUBTREE;	    else {		fprintf(stderr, PROGRAM_NAME " ERROR: Unknown search scope '%s'\n", value);		exit(1);	    }	    break;	case 'E':#if defined(NETSCAPE_SSL)	    sslpath = value;	    if (port == LDAP_PORT)		port = LDAPS_PORT;#else	    fprintf(stderr, PROGRAM_NAME " ERROR: -E unsupported with this LDAP library\n");	    exit(1);#endif	    break;	case 'c':	    connect_timeout = atoi(value);	    break;	case 't':	    timelimit = atoi(value);	    break;	case 'a':	    if (strcmp(value, "never") == 0)		aliasderef = LDAP_DEREF_NEVER;	    else if (strcmp(value, "always") == 0)		aliasderef = LDAP_DEREF_ALWAYS;	    else if (strcmp(value, "search") == 0)		aliasderef = LDAP_DEREF_SEARCHING;	    else if (strcmp(value, "find") == 0)		aliasderef = LDAP_DEREF_FINDING;	    else {		fprintf(stderr, PROGRAM_NAME " ERROR: Unknown alias dereference method '%s'\n", value);		exit(1);	    }	    break;	case 'D':	    binddn = value;	    break;	case 'w':	    bindpasswd = value;	    break;	case 'W':	    readSecret(value);	    break;	case 'P':	    persistent = !persistent;	    break;	case 'p':	    port = atoi(value);	    break;	case 'R':	    noreferrals = !noreferrals;	    break;#ifdef LDAP_VERSION3	case 'v':	    switch (atoi(value)) {	    case 2:		version = LDAP_VERSION2;		break;	    case 3:		version = LDAP_VERSION3;		break;	    default:		fprintf(stderr, "Protocol version should be 2 or 3\n");		exit(1);	    }	    break;	case 'Z':	    if (version == LDAP_VERSION2) {		fprintf(stderr, "TLS (-Z) is incompatible with version %d\n",		    version);		exit(1);	    }	    version = LDAP_VERSION3;	    use_tls = 1;	    break;#endif	case 'd':	    debug = 1;	    break;	case 'g':	    use_extension_dn = 1;	    break;	case 'S':	    strip_nt_domain = 1;	    break;	default:	    fprintf(stderr, PROGRAM_NAME " ERROR: Unknown command line option '%c'\n", option);	    exit(1);	}    }    while (argc > 1) {	char *value = argv[1];	if (ldapServer) {	    int len = strlen(ldapServer) + 1 + strlen(value) + 1;	    char *newhost = malloc(len);	    snprintf(newhost, len, "%s %s", ldapServer, value);	    free(ldapServer);	    ldapServer = newhost;	} else {	    ldapServer = strdup(value);	}	argc--;	argv++;    }    if (!ldapServer)	ldapServer = "localhost";    if (!basedn || !searchfilter) {	fprintf(stderr, "\n" PROGRAM_NAME " version " PROGRAM_VERSION "\n\n");	fprintf(stderr, "Usage: " PROGRAM_NAME " -b basedn -f filter [options] ldap_server_name\n\n");	fprintf(stderr, "\t-b basedn (REQUIRED)\tbase dn under where to search for groups\n");	fprintf(stderr, "\t-f filter (REQUIRED)\tgroup search filter pattern. %%v = user,\n\t\t\t\t%%a = group\n");	fprintf(stderr, "\t-B basedn (REQUIRED)\tbase dn under where to search for users\n");	fprintf(stderr, "\t-F filter (REQUIRED)\tuser search filter pattern. %%s = login\n");	fprintf(stderr, "\t-s base|one|sub\t\tsearch scope\n");	fprintf(stderr, "\t-D binddn\t\tDN to bind as to perform searches\n");	fprintf(stderr, "\t-w bindpasswd\t\tpassword for binddn\n");	fprintf(stderr, "\t-W secretfile\t\tread password for binddn from file secretfile\n");#if HAS_URI_SUPPORT	fprintf(stderr, "\t-H URI\t\t\tLDAPURI (defaults to ldap://localhost)\n");

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲午夜激情av| 中文一区二区完整视频在线观看| 亚洲一区中文日韩| 日本精品一区二区三区高清 | 亚洲午夜日本在线观看| 欧美这里有精品| 午夜伦欧美伦电影理论片| 91精品在线麻豆| 麻豆91在线播放免费| 国产欧美日韩另类一区| 91麻豆精品在线观看| 午夜天堂影视香蕉久久| 精品国产乱码久久| 处破女av一区二区| 亚洲va韩国va欧美va精品 | 国产午夜亚洲精品不卡| 99久久免费精品高清特色大片| 综合久久一区二区三区| 欧美巨大另类极品videosbest | 国产在线看一区| 中文字幕一区二区在线播放| 欧美三级电影网站| 国产成人啪午夜精品网站男同| 亚洲男女一区二区三区| 欧美一区二区三区四区在线观看| 成人在线综合网站| 日韩二区在线观看| 久久久久亚洲蜜桃| 欧美三级日本三级少妇99| 国产一区二区三区在线观看免费| 一区二区三区欧美日| 欧美精品一区视频| 欧美三级一区二区| 成人性生交大片免费| 日韩在线卡一卡二| 综合激情网...| 欧美精品一区二区三| 一本久久a久久免费精品不卡| 激情欧美一区二区| 亚洲成人免费看| 国产精品亲子乱子伦xxxx裸| 制服丝袜av成人在线看| 日本精品视频一区二区三区| 国产尤物一区二区在线| 五月天婷婷综合| 亚洲欧美日韩一区二区 | 精品国产青草久久久久福利| 欧美在线观看18| 风间由美性色一区二区三区| 日本欧美韩国一区三区| 亚洲一区二区三区四区五区黄 | 久久久综合精品| 欧美一卡二卡在线| 欧美日韩国产综合视频在线观看 | 不卡视频在线观看| 狠狠色狠狠色合久久伊人| 肉色丝袜一区二区| 亚洲成av人片在线| 一区二区三区.www| 一区二区三区中文字幕在线观看| 中文字幕+乱码+中文字幕一区| 26uuu国产日韩综合| 国产精品欧美精品| 久久久久久久久久久99999| 日韩欧美另类在线| 日韩一级大片在线观看| 91精品综合久久久久久| 欧美丰满嫩嫩电影| 欧美精品vⅰdeose4hd| 欧美三级蜜桃2在线观看| 欧美视频一区二区在线观看| 91黄色免费看| 欧美色爱综合网| 欧美三级韩国三级日本三斤| 欧美日本在线看| 91精品一区二区三区在线观看| 欧美人体做爰大胆视频| 7777精品伊人久久久大香线蕉 | 欧洲精品在线观看| 91久久精品网| 欧美年轻男男videosbes| 欧美日韩国产片| 日韩欧美精品三级| 久久影院电视剧免费观看| 久久精品无码一区二区三区| 欧美国产综合一区二区| 亚洲欧美日韩国产成人精品影院| 亚洲精品视频在线观看免费| 亚洲国产精品嫩草影院| 奇米888四色在线精品| 精品一区二区精品| 成人性视频免费网站| 色婷婷亚洲一区二区三区| 欧美视频你懂的| 精品乱码亚洲一区二区不卡| 中文字幕第一区| 亚洲亚洲人成综合网络| 久久精品国产网站| 成人免费视频视频| 精品视频123区在线观看| 日韩午夜精品视频| 欧美国产精品专区| 一区二区三区美女视频| 日韩中文字幕区一区有砖一区 | 日韩一区精品视频| 精品一区二区三区香蕉蜜桃| 成人午夜精品在线| 在线精品视频一区二区| 欧美不卡一区二区三区四区| 国产精品网站在线观看| 亚洲电影在线免费观看| 国产一区二区三区免费看| 色狠狠桃花综合| 日韩欧美中文一区| 综合久久国产九一剧情麻豆| 日韩国产欧美在线视频| 岛国精品在线观看| 欧美日韩国产影片| 国产精品高潮久久久久无| 日韩高清国产一区在线| av成人动漫在线观看| 欧美精品一卡二卡| 国产精品视频第一区| 日本伊人精品一区二区三区观看方式| 国产精品亚洲专一区二区三区 | 日韩精品一级中文字幕精品视频免费观看 | 蜜桃一区二区三区在线| av电影在线观看不卡| 日韩欧美国产系列| 一级做a爱片久久| 激情综合色播五月| 欧美日韩中文另类| 国产精品久久久久久久久免费相片 | 精品99一区二区| 亚洲欧美福利一区二区| 国产精品主播直播| 制服丝袜亚洲色图| 亚洲激情成人在线| 丁香婷婷深情五月亚洲| 日韩视频不卡中文| 日韩和欧美一区二区三区| 97精品电影院| 国产精品热久久久久夜色精品三区| 免费观看91视频大全| 欧美日韩激情一区二区| 自拍偷拍亚洲欧美日韩| 国产精品18久久久久久vr| 欧美xxxxxxxx| 秋霞影院一区二区| 717成人午夜免费福利电影| 亚洲一区二区在线免费观看视频| 96av麻豆蜜桃一区二区| 国产精品美女www爽爽爽| 国产麻豆视频一区二区| 2023国产精品视频| 精品影视av免费| 在线电影欧美成精品| 五月激情综合婷婷| 欧美日韩国产精品自在自线| 亚洲一区影音先锋| 在线免费观看日本一区| 亚洲一区在线电影| 欧美天堂亚洲电影院在线播放| 亚洲精品第1页| 在线观看欧美黄色| 亚洲精品一二三| 欧美亚洲尤物久久| 亚洲国产精品精华液网站| 欧美日韩免费电影| 亚洲大片免费看| 91精品国产综合久久久久| 午夜精品久久久久久久蜜桃app| 欧美日韩激情在线| 免费观看日韩电影| 久久免费的精品国产v∧| 粉嫩蜜臀av国产精品网站| 国产精品污污网站在线观看| 成人app在线| 亚洲在线中文字幕| 欧美一区二区播放| 国产一区二区三区免费播放| 久久精品亚洲精品国产欧美kt∨ | 欧美一级黄色片| 黄色日韩网站视频| 国产精品丝袜91| 欧美天堂亚洲电影院在线播放| 日日夜夜免费精品| 久久理论电影网| 91国在线观看| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产精品理论在线观看| 欧美在线制服丝袜| 久久av老司机精品网站导航| 国产免费久久精品| 在线视频欧美区| 老司机精品视频线观看86| 国产精品萝li| 91麻豆精品国产91久久久资源速度 | 日韩美一区二区三区| 成人免费视频视频在线观看免费|