From a4682ceae6774956461edd03b2485bbacea445f4 Mon Sep 17 00:00:00 2001 From: mharmsen Date: Tue, 4 Oct 2011 01:17:41 +0000 Subject: Bugzilla Bug #688225 - (dogtagIPAv2.1) TRACKER: of the Dogtag fixes for freeIPA 2.1 git-svn-id: svn+ssh://svn.fedorahosted.org/svn/pki/tags/IPA_v2_RHEL_6_2_20111003@2252 c9f7a03b-bd48-0410-a16d-cbbf54688b0b --- pki/base/tps/forms/esc/cgi-bin/sow/ajax-list.cgi | 78 ++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100755 pki/base/tps/forms/esc/cgi-bin/sow/ajax-list.cgi (limited to 'pki/base/tps/forms/esc/cgi-bin/sow/ajax-list.cgi') diff --git a/pki/base/tps/forms/esc/cgi-bin/sow/ajax-list.cgi b/pki/base/tps/forms/esc/cgi-bin/sow/ajax-list.cgi new file mode 100755 index 000000000..8db2d3e48 --- /dev/null +++ b/pki/base/tps/forms/esc/cgi-bin/sow/ajax-list.cgi @@ -0,0 +1,78 @@ +#! /usr/bin/perl -w +# +# --- BEGIN COPYRIGHT BLOCK --- +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301 USA +# +# Copyright (C) 2007 Red Hat, Inc. +# All rights reserved. +# --- END COPYRIGHT BLOCK --- +# + +use CGI; + +[REQUIRE_CFG_PL] + +my $ldapHost = get_ldap_host(); +my $ldapPort = get_ldap_port(); +my $basedn = get_base_dn(); +my $ldapsearch = get_ldapsearch(); + +sub main() +{ + + my $q = new CGI; + + my $letters = $q->param('letters'); + if ($letters eq "") { + # HACK: ajax.js posts parameters into POST URL + $letters = $ENV{'QUERY_STRING'}; + $letters =~ s/.*letters=//g; + $letters =~ s/\+/ /g; + } + + my $tmpfile = "/tmp/ajax-list-$$.txt"; + my $cmd = $ldapsearch . " " . + "-x " . + "-b \"" . $basedn . "\" " . + "-h \"" . $ldapHost . "\" " . + "-p \"" . $ldapPort ."\" " . + "-S \"cn\" " . + "-s sub \"(cn=" . $letters . "*)\" cn uid > " . $tmpfile; + system($cmd); + + my $result = ""; + open(F, "<$tmpfile"); + my $cn; + my $uid; + while () { + if (/cn/) { + $cn = $_; + chomp($cn); + $cn =~ s/cn: //g; + $uid = ; + chomp($uid); + $uid =~ s/uid: //g; + $result .= $uid . "###" . $cn . "|"; + } + } + close(F); + system("rm $tmpfile"); + + print "Content-Type: text/html\n\n"; + print $result; +} + +&main(); -- cgit