Actions containing Plug-ins?

I'd like to be able to construct some Actions which use third-party Plug-ins - can anyone point me to a tutorial on this? Is it even generally possible ....? The simpler the construction scheme the better. I'm working with CS5. Thanks for any assistance.

Jeff Schewe wrote:
The only limitation with recording actions with 3rd part plug-ins is the dependency on having those plug-ins installed. If you record an action with a 3rd party plug-in and that plug-in is not available, it will error out. An example would be if 3rd party plug-in with only 32 bit support is recorded and you try running the action in 64 bit.
There is more to it then that. As Noel pointed out the plug-in must include code that will record the setting used during recording an action into the action step.  Without that code the action may record a step but it will not have recorded setting.  I have one old free prugin from Reindeer Graphics "SelectEdges.8bs" installed on my system which I cam use without a problem manually.  However if I try to record using it in an action no step is recorded into the action. I have to insert a stop message to have the user use menu Select>OPTIPIX>Select Edges and also include instruction for the setting to use. Then have the user continue the action by clicking on play.
There are several types of plug-ins those the are compiled and others that are scripted interpeted code.  Compile code may have a dependency on 32bit support or 64bit support.   Photoshop Scripting in CS3 Adobe added  Prug-in support and changed the compiled Fit Image Plugin to a script. Additionaly some changes to scripting plug-in support were made in CS4 and CS5.  Changes were also may to the way the Action recorded records these step. CS3, and CS5 do not record these step the same way CS3 recorded the script full path into the action step so the script can be any where on your system.  CS5 does not record the path so the script must be in Photoshop script path which can be extended to other path by adding shortcut links to the script folder in Photoshop scripts folder.   Window 7 or Photoshop also through in a monkey wrench with 64 and 32 bit support when resolving "Program File" in the path name.  Scripts will work with both versions of Photoshop 64 and 32 Bit so there is no need for two version or script folders.  I created a folder C:\Programs Files\Adobe\Scripts\ where I store my scripts and I placed a link to this tree into Photoshop Presets/Scripts  I did the same when I upgraded to Windows 7.   I added this link to both versions of Photoshop 32 and 64 bit thogh both links are to C:\Programs Files\Adobe\Scripts\  when Photoshop 32bit exe is run some peice of code  add a " (x86)" to "Program Files"   so I created the path and dupe my tree there. I may try moving where I store my script from C:\Programs Files\Adobe\Scripts\   to C:\Adobe\Scripts\  to get "Programs Files" out of the picture.

Similar Messages

  • Up-grading to CS5 and about actions and plug-ins

    Is there a fast, easy way to import my actions and additional plug-ins from my CS4 photoshop to my new upgraded CS5 photoshop.  Or do I have to install them all over, individually?  HELP!

    Don't try for "fast and easy".  You will more likely get into trouble - this has been shown time and again.
    Plug-ins:
    See if the manufacturer has released an update that's Photoshop CS5-compatible and get that if so.
    Run the installer if they provided one.
    If the installer doesn't see the new Photoshop, you may have to isolate the plug-in files (there may be supporting files) and copy them manually.  If this is the case, let us know here in a follow-up message - the description how to do that can be complex.
    Create a new folder, separate from Photoshop's installation area and one you're going to keep, into which to put manually-installed plug-ins.  Point Photoshop's Extra Plug-ins folder at the new folder.
    For those plug-ins without installers, copy your manually-installed plug-ins to your new folder.  Restart Photoshop CS5 to get it to see them there.
    Actions:
    Older actions are usually perfectly compatible with Photoshop CS5, but it doesn't hurt to check to see if the maker has issued a newer set.
    For those that you created, modified, or don't know where you got, in your older Photoshop click the set name once to highlight it, then click the little fly-out icon at the upper-right of the ACTIONS panel, and choose Save Actions.  Save them in a folder separate from the Photoshop installation area.
    You can usually just double-click a .atn file to load it into the newer version of Photoshop.  If not, use the fly-out menu and choose Load Actions.
    -Noel

  • Help Upgrading Actions/filters/plug-ins

    When you do an upgrade to CS5, I assume you can just copy the actions files to the new location, and then load them.  But what bout plug-ins/filters/scripts?
    Woudl you have to find the actual old install files and run through those again?
    For example, I have One-on-One software and Mystical Lighting that I use from time to time.  Must I re-install those or download their install packages again?  I don't think I could just cop those over to the new folder correct?

    if you have 32 bit plugins, use them with the 32 bit installation of ps.

  • Migrating settings, actions, plug-ins etc. from CS5 to CS6 (Creative Cloud)

    Hi,
    I wondered if someone could help me with the transition from CS5 to CS6 (Creative Cloud). I'm on a Mac with Mountain Lion.
    I would like to migrate as many settings (i.e. workspaces where relevant), personal Photoshop actions, plug-ins (i.e. Type DNA, FontShop [Photoshop], Scriptographer [Illustrator] and Blurb Template Creator [InDesign]) as possible from CS5 to CS6. What is the easiest and smoothest way to do this?
    Some settings, actions and plug-ins might not work with CS6, I don't know. I can't find where my Photoshop actions are archived atm.
    Can I import extensions from Adobe Extension Manager CS5 to Adobe Extension Manager CS6?
    Should I uninstall all CS5 apps? I'd like to keep InDesign CS5 for backwards compatibility at least.
    Does Audition completely replace Soundbooth? What about Flash Catalyst, Device Central and OnLocation?
    Edit: I have already installed all the Creative Cloud applications btw. But I haven't uninstalled any CS5 apps yet.
    Thanks,
    Eivind

    Hi Elvind,
    I would suggest keeping both CS5 and CS6 versions on the system until you are fully transitioned, longer if you want. When you launch Photoshop CS6 it will ask you if you want to import settings from the prior version. Third party plug-ins may or may not be compatible between versions so you might need to check with the manufacturer to find out. You would most likely need to reinstall any third party plug-ins that integrate into existing Adobe product installations though.
    I found this document for Photoshop CS6
    http://helpx.adobe.com/photoshop/kb/preset-migration-photoshop-cs6.htm l
    For the PS actions, I normally open the actions panel, highlight the actions set (folder) I wanted to migrate, from the flyout menu of the panel choose the option to save the set, this creates the .atm file. There is another option for importing actions in the same menu.
    I can't speak to migrating in relation to the other products. I would recommend posting in the respective product forums.
    -Dave

  • Firefox plug in container has stopped working, even in safe mode with plug ins disabled

    My firefox keeps crashing every 5 - 10 minutes. Sometimes I get a windows error message saying "firefox plugin container stopped working", but most times I don't. These are the actions I've taken so far, with no effect:
    1. Updated all my plug-ins
    2. Run firefox in safe mode with plug-ins disabled
    3. Uninstalled and reinstalled firefox
    4. Run an AVG scan which turned up nothing
    Can anyone offer advice on how to fix this (very annoying) problem?
    I've had to write this in IE because firefox wouldn't stay open long enough for me to copy and paste it into the text box.

    Try creating a new Profile by following the steps from [[Managing Profiles]] [[Troubleshooting extensions and themes]] and also [[The Adobe Flash plugin has crashed]]

  • Trying to download adobe program 'adobe p;hotshot CS5 Optional Automate Plug-ins' but get a message "does not contain valid signature"  Any ideas to get around that please.

    Trying to download adobe program  adobe photoshop CS5 Optional Automate Plug-ins, but get a message  that it does not contain valid signature and it won't install the app.  Can someone help with this please?  Trying to reach Adobe by phone is impossible.
    ev

    First, have you installed all the updates for photoshop cs5 by going to Help>Updates from within photoshop cs5?
    The automated installer only installs the following plugins:
    http://www.adobe.com/support/downloads/detail.jsp?ftpID=4965
    The following plug-ins and associated files are available via an installer:
    Automate Plug-Ins:
    • Contact Sheet II 
    • Picture Package (ContactSheetII) 
    • Web Photo Gallery (WebContactSheetII) plus presets 
    • Script for Layer Comps to Web Photo Gallery
    Other Optional Plug-Ins:
    • TWAIN
    Other plugins including the pattern maker plugin need to be installed manually using this download:
    http://www.adobe.com/support/downloads/detail.jsp?ftpID=4964

  • How can I transfer or copy my Photoshop CS6 plug ins, actions and automate apps to Photoshop CC?

    I just "upgraded" from Photoshop CS6 to Photoshop CC.
    How do I get all my apps, plug ins, actions, automate apps, brushes, etc. from Photoshop CS6 onto/into the proper folders in Photoshop CC so I can use them in CC?
    My OS is Mac OSX 10.7.5.
    Thanks.       VMS2

    Thanks, Chris.
    By "apps", I meant things appearing under Automate, like Perfect Resize, Photomate, etc.   All I know to call them is apps, since it sounds stupid to me to call them "automates".  I should know, but I don't remember the nomenclature for them.
    I guess I have to find the software producer names and go to their tech help, do I not?
    Thanks.        VMS2

  • Batch file to "Disable" un-used plug-ins etc.

    Hi Folks!!
    I've got into the habit (from the good old, small PC, WinXP days) of disabling with the pre-fix ~ (tilde) method, all the presets and plug-ins that I never use as soon as I install Photoshop.
    Doing it manually in those days was not too much of a hardship as maybe, at worst twice a year.
    Now that I've upgraded(?) to Win7, I must have done a "clean" system re-install at least once a month, the manual method is getting a bit tedious.
    I'd like to have batch script(s) to automate/semi-automate the process so that I could open a command prompt at the root (C:\) and tell it to go to the swatches folder and prefix A, C, and D leaving B, E, and F untouched, then move on to the brushes folder, patterns folder, plug-ins folder etc. etc..
    I've got a list of my usual "suspects", I've tried to write one myself (with no knowledge of what I'm doing) and so far I've managed to (luckily, but not repeated!!) get the first one on the list renamed followed by 50 or so "The *** path is not recognised/ The *** path is not a correct command/ The syntax is incorrect/ That's not your dog on your path" etc. etc.
    Is this at all possible? I'd settle for several batch files, one for each folder, that I could just type their names in whilst looking at my pretty desktop instead of traipsing through the system folders, if that's what it takes.
    HELP!!
    Yours
    Raggedy Round The Edges
    Elmer (very) B. Fuddled
    Message was edited by: Elmer B. Fuddled  Speeling Mistooks

    Thanks for your response Noel,
      A corrected link to M$ answers (maybe) 
    Originally i did do a lot of the "disabling" to save space when I was running WinXP on an old Packard Bell with a 60gb main HDD (don't laugh, that was an "upgrade" from the 20gb HDD!!) Now I've gone up in the world to Win7 with (to me) a huge 320gb HDD it's more an aesthetics / efficiency thing.
    First example, the  drop down window you get when you hit "Save As..."
    I've never yet used any of the formats in PS high-lighted in green, the yellows are "very seldom used" and the rest, yes I do use. So if I can "hide" the ones I don't use, and I know I can't hide them all, the ones I do use are not hiding in a multitude of others.
    When it comes to the Colour Swatches, not books, in the Preset Manager, after I've loaded my own "ICO" files it can get quite horrendous!!
    The Full House
    Now after I've removed all the Pantone etc. that I never touch, leaving only a couple I was "advised" to on t'interweb plus my own collection of palettes, some of which may only contain four colours..
    Oooh!! I can see me canvas again!!
    So much neater!
    Bear in mind I'm not actually deleting anything so if I ever do need them, they are only a tilde away!!
    I disable any plug-ins I don't, didn't or couldn't use when on WinXP due to hardware  restraints (well the PC was salvaged from a skip!!) and I've managed to live without them.
    The same sort of thing goes for the brushes, I've assembled my own .abr's from the supplied Adobe sets that I may only just use and disabled all the rest.
    For brushes you can also read File Formats, Actions, Custom Shapes and Gradients
    The script "Wot I Ave Wrote" looks like this (abridged)
    @echo off cls
    set windrive=%1
    echo The Adobe installed Plug-ins and Presets listed in the "Read Me" file will
    echo will be prepended with a tilde (~) which will disable/hide them.
    echo.
    echo Do you wish to continue?
    set /p choice=Please press "Y" for yes or "N" for no: 
    if %choice%==y goto moveon
    if %choice%==n goto dontmove
    :moveonren "C:\PROGRAM FILES (X86)\ADOBE\ADOBE BRIDGE CS5\Plug-Ins\Cineon.8BI" "C:\PROGRAM FILES (X86)\ADOBE\ADOBE BRIDGE CS5\Plug-Ins\~Cineon.8BI"
    ren "C:\PROGRAM FILES (X86)\ADOBE\ADOBE BRIDGE CS5\Plug-Ins\Dicom.8BI" "C:\PROGRAM FILES (X86)\ADOBE\ADOBE BRIDGE CS5\Plug-Ins\~Dicom.8BI"
    ren "C:\PROGRAM FILES (X86)\ADOBE\ADOBE BRIDGE CS5\Plug-Ins\FastCore.8BX" "C:\PROGRAM FILES (X86)\ADOBE\ADOBE BRIDGE CS5\Plug-Ins\~FastCore.8BX"
    ren "C:\PROGRAM FILES (X86)\ADOBE\ADOBE BRIDGE CS5\Plug-Ins\JPEG2000.8BI" "C:\PROGRAM FILES (X86)\ADOBE\ADOBE BRIDGE CS5\Plug-Ins\~JPEG2000.8BI"
    ren "C:\PROGRAM FILES (X86)\ADOBE\ADOBE BRIDGE CS5\Plug-Ins\MMXCore.8BX" "C:\PROGRAM FILES (X86)\ADOBE\ADOBE BRIDGE CS5\Plug-Ins\~MMXCore.8BX"
    ren "C:\PROGRAM FILES (X86)\ADOBE\ADOBE BRIDGE CS5\Plug-Ins\PBM.8BI" "C:\PROGRAM FILES (X86)\ADOBE\ADOBE BRIDGE CS5\Plug-Ins\~PBM.8BI"
    ren "C:\PROGRAM FILES (X86)\ADOBE\ADOBE BRIDGE CS5\Plug-Ins\Pixar.8BI" "C:\PROGRAM FILES (X86)\ADOBE\ADOBE BRIDGE CS5\Plug-Ins\~Pixar.8BI"
    ren "C:\PROGRAM FILES (X86)\ADOBE\ADOBE BRIDGE CS5\Plug-Ins\Radiance.8BI" "C:\PROGRAM FILES (X86)\ADOBE\ADOBE BRIDGE CS5\Plug-Ins\~Radiance.8BI"
    ren "C:\PROGRAM FILES (X86)\ADOBE\ADOBE BRIDGE CS5\Plug-Ins\Standard MultiPlugin.8BF" "C:\PROGRAM FILES (X86)\ADOBE\ADOBE BRIDGE CS5\Plug-Ins\~Standard MultiPlugin.8BF"
    ren "C:\PROGRAM FILES (X86)\ADOBE\ADOBE BRIDGE CS5\Plug-Ins\WBMP.8BI" "C:\PROGRAM FILES (X86)\ADOBE\ADOBE BRIDGE CS5\Plug-Ins\Import-Export\~FireWire Export.8BE"
    echo .
    echo .
    echo Whoopy Doo!!! Won't be seeing those again unless you want to! :-)
    echo . 
    pause
    exit /B n
    :dontmove
    echo .  
    echo The Batch File execution has been cancelled.
    pause
    And that's about it, all the red bits I've borrowed from elsewhere so I'm none the wiser of what they really do!!
    Any sites I've "visited" tell me that /1 /2 %WhoKnows% does "X", but not why it does!! So I gave up 
    Oh, BTW, using bridge as my guinea-pig as I never use it.
    Could never get it to run on me XP machine so I looked elsewhere and I've never looked back again.
    Regards
    Elmer (more bemused than)B. Fuddled
    Message was edited by: Elmer B. Fuddled  Resizing images

  • PanosFX Free Plug Ins

    http://www.panosfx.com/index.php?option=com_frontpage&Itemid=1 contains some interesting free plug ins, officially for Photoshop 6 and above.
    Has anyone got them to work in PSE ? If so, how ?

    Hi Malcolm ...
    All of the actions I have checked are complex set which don't work in Elements :(
    Wendy

  • FireFox 3.6.8 & ThunderBird 3.1.2 check for updates never connects, nor does plug-in update or get plug-ins

    FireFox 3.6.8 & ThunderBird 3.1.2 check for updates never connects, nor does plug-in update or get plug-ins
    I am doing several re-installs.
    I installed FireFox 3.6.8 and ThunderBird 3.1.2 on a fresh install of Windows XP Home SP3 x32.
    All Windows updates and IE8, etc were done first after the WinXP install.
    IE8 works fine.
    Firefox can connect to the internet to view webpages, but NOT do a check for a newer version.
    (by going, on the main menu at the top, to Help --> Check for updates...)
    Neither can Tbird.
    See screenshots below.
    Neither Tbird nor Firefox will complete the add-ons check nor updates nor 'Browse All Add-ons' feature.
    (by going, on the main menu at the top, to Tools --> Add-ons --> Get Add-ons {upper left} or Find Updates {lower right for any of the selections})
    Another computer, same 'build' (different hardware, but WinXP SP3, etc) using a connection from the same router going out to the internet works fine, so it is not an overall connection problem outside of the individually affected computer.
    There is not yet any anti-virus nor firewall, etc installed that could be blocking things, except for Windows built in firewall, and there is no blocking action showing. Disabling it did not solve the issue.
    6 hours of searching has not found an answer. Trying some of the search results just to see has not proven to be successful.
    Thanks.

    dianej,
    Try this, go to tools, add-ons, extensions. if you have more than one (the latest) Java consoles, uninstall them. You only need the latest console and it should match the Java Platform in Plugins.
    I had a VERY similar problem displaying weatherunderground. It would not display the pages correctly and I would get pages of errors that stated
    "window.addEvent is not a function" I spent the last two hours fixing this problem. All I did was remove the 6.0.18, 6.0.19, 6.0.20 Java consoles from my 3.6.8 Firefox. After a FF restart, no more errors.
    There should be more information in FF when you update Java. No one tells you that you should go in and delete the older consoles.
    Good luck
    Mick

  • Multiple plug-ins in one file (CodeCarbonPowerPC)?

    I'm trying to put 3 plug-ins in one file.
    Very simple on Windows (3 PiPL resource blocks with different entrypoints).
    And don't worked on PowerPC:
    CodeCarbonPowerPC(0,0,"") <-- what is last parameter (string)?
    Any example?
    Thanks,
    Ivan Kharin

    Apologies for the confusion, that's a "custom" PiPL.r created some time ago before I saw the PS7 SDK, Adobe called it something different. You'll have to refer to the official SDK for the precise name but in other respects it's identical of course. I've never used the third parameter, but my v6 documentation describes it as follows:
    Pstring fEntryName
    Pascal string used to lookup the address of the function
    to call within the fragment. In order for the Code
    Fragment Manager to find an entrypoint by name,
    that name must be an exported symbol of the code
    fragment. If NULL, the default entrypoint will be used.
    fEntryName allows a single code fragment to contain
    more than one plug-in.
    One day I mean to regularise my sources to match their official published selectors for Carbon CFM and Mach-O... The disparity is an artefact of the SDK's Iron Curtain period.

  • Authentication Plug-ins for active directory Multiple Domains(oidspad2.sh)

    hi ,
    i have use note 294791.1 from metalink to try link to active directory i have 2 one is staff and another is student
    i first ran oidspadi.sh to create plugin for staff it works then i edit the 2 script to oidspad2.pls and oidspad2.sh with the require changes inside the files then i ran it it work but now the problem is the first ad now cant work this is my changes below
    FOR oidspad2.pls
    Rem
    Rem $Header: oidspada.pls 02-aug-2004.04:45:11 saroy Exp $
    Rem
    Rem oidspads.pls
    Rem
    Rem Copyright (c) 2002, 2004, Oracle. All rights reserved.
    Rem
    Rem NAME
    Rem oidspada.pls - 9.0.4 OID Password Active Directory
    Rem External Authentication Plug-in
    Rem
    Rem
    Rem NOTES
    Rem <other useful comments, qualifications, etc.>
    Rem
    Rem MODIFIED (MM/DD/YY)
    Rem saroy 08/02/04 - Fix for bug 3807482
    Rem qdinh 01/27/04 - bug 3374115
    Rem dlin 01/08/04 - pingan perf
    Rem dlin 08/22/03 - 3111770 bug fix
    Rem dlin 08/27/03 - change the way to get name
    Rem dlin 08/13/03 - bug 2962082 fix
    Rem dlin 02/21/03 - plug-in install changes
    Rem dlin 02/13/03 - dlin_bug-2625027
    Rem dlin 02/05/03 - fix ssl & failover
    Rem dlin 01/31/03 - dlin_adextauth1
    Rem dlin 01/30/03 - Created
    Rem
    SET echo off;
    SET serveroutput off;
    SET feedback off;
    SET verify off;
    CREATE OR REPLACE PACKAGE OIDADPSW2 AS
    PROCEDURE when_bind_replace (ldapplugincontext IN ODS.plugincontext,
    result OUT INTEGER,
    dn IN VARCHAR2,
    passwd IN VARCHAR2,
    rc OUT INTEGER,
    errormsg OUT VARCHAR2
    PROCEDURE when_compare_replace (ldapplugincontext IN ODS.plugincontext,
    result OUT INTEGER,
    dn IN VARCHAR2,
    attrname IN VARCHAR2,
    attrval IN VARCHAR2,
    rc OUT INTEGER,
    errormsg OUT VARCHAR2
    AD_HANDLE DBMS_LDAP.session DEFAULT NULL;
    END OIDADPSW2;
    SHOW ERROR
    CREATE OR REPLACE PACKAGE BODY OIDADPSW2 AS
    SUBTYPE LDAP_SESSION IS RAW(32);
    SUBTYPE LDAP_MESSAGE IS RAW(32);
    SUBTYPE LDAP_BER_ELEMENT IS RAW(32);
    SUBTYPE ATTRLIST IS DBMS_LDAP.STRING_COLLECTION;
    SUBTYPE MOD_ARRAY IS RAW(32);
    SUBTYPE BERLIST IS DBMS_LDAP.BERVAL_COLLECTION;
    PROCEDURE when_bind_replace (ldapplugincontext IN ODS.plugincontext,
    result OUT INTEGER,
    dn IN VARCHAR2,
    passwd IN VARCHAR2,
    rc OUT INTEGER,
    errormsg OUT VARCHAR2
    IS
    retval pls_integer;
    lresult BOOLEAN;
    my_session DBMS_LDAP.session;
    my_session1 DBMS_LDAP.session;
    tmp_session DBMS_LDAP.session;
    adupname VARCHAR2(1024) DEFAULT NULL;
    BEGIN
    plg_debug( '=== Begin when_bind_replace()');
    DBMS_LDAP.USE_EXCEPTION := FALSE;
    result := 49;
    adupname := LDAP_PLUGIN.get_adupname(ldapplugincontext);
    IF (adupname IS NULL) THEN
    result := 1;
    plg_debug('Can not get ADUserPrincipalName');
    rc := DBMS_LDAP.SUCCESS;
    errormsg := 'Exception in when_bind_replace: Can not get ADUserPrincipalName';
    plg_debug( '=== End when_bind_replace() ===');
    RETURN;
    END IF;
    plg_debug( 'Go to AD for authentication');
    -- externally authenticate user
    IF ('&1' = 'n') THEN
         IF (OIDADPSW2.AD_HANDLE IS NULL) THEN
         my_session := DBMS_LDAP.init('&2', &3);
         OIDADPSW2.AD_HANDLE := my_session;
         ELSE
         my_session := OIDADPSW2.AD_HANDLE;
         END IF;
    plg_debug( 'ldap_session: ' || RAWTOHEX(SUBSTR(my_session,1,8)));
    retval := DBMS_LDAP.simple_bind_s(my_session, adupname, passwd);
    plg_debug( 'simple_bind_res: ' || TO_CHAR(retval));
    -- Retry logic should be invoked only
    -- when retval = LDAP_UNWILLING_TO_PERFORM || LDAP_UNAVAILABLE
    -- Should free the old session if retry logic kept failing
    -- to cause the number of outstanding sessions exceeding the
    -- limit session number
         IF (retval = 52 OR retval = 53 OR retval = 81) THEN
         retval := DBMS_LDAP.unbind_s(my_session);
         plg_debug( 'unbind_res returns ' || TO_CHAR(retval));
         my_session1 := DBMS_LDAP.init('&4', &5);
         plg_debug( 'ldap_session: ' || RAWTOHEX(SUBSTR(my_session1,1,8)));
         tmp_session := my_session1;
         retval := DBMS_LDAP.simple_bind_s(my_session1, adupname, passwd);
         plg_debug( 'simple_bind_res again: ' || TO_CHAR(retval));
         IF (retval != 52 AND retval != 53 AND retval != 81) THEN
         OIDADPSW2.AD_HANDLE := tmp_session;
         ELSE
         retval := DBMS_LDAP.unbind_s(tmp_session);
         plg_debug( 'unbind_res result ' || TO_CHAR(retval));
         END IF;
         END IF;
    ELSE
    -- SSL bind
         IF (OIDADPSW2.AD_HANDLE IS NULL) THEN
         my_session := DBMS_LDAP.init('&6', &7);
         plg_debug( 'ldap_session initialized: ' || RAWTOHEX(SUBSTR(my_session,1,8)));
         retval := DBMS_LDAP.open_ssl(my_session,
                             'file:' || '&8', '&9', 2);
         IF (retval != 0) THEN
         plg_debug( 'open_ssl failed error: ' || TO_CHAR(retval));
         retval := DBMS_LDAP.unbind_s(my_session);
         plg_debug( 'unbind_res returns ' || TO_CHAR(retval));
         result := 82;
         RETURN;
         END IF;
         plg_debug( 'open_ssl: ' || TO_CHAR(retval));
         OIDADPSW2.AD_HANDLE := my_session;
         ELSE
         my_session := OIDADPSW2.AD_HANDLE;
         END IF;
    retval := DBMS_LDAP.simple_bind_s(my_session, adupname, passwd);
    plg_debug( 'simple_bind_res: ' || TO_CHAR(retval));
    -- Retry logic should be invoked only
    -- when retval = LDAP_UNWILLING_TO_PERFORM
    -- or LDAP_UNAVAILABLE
         IF (retval = 52 OR retval = 53 OR retval = 81) THEN
         retval := DBMS_LDAP.unbind_s(my_session);
         plg_debug( 'unbind_res returns ' || TO_CHAR(retval));
         my_session1 := DBMS_LDAP.init('&10', &11);
         plg_debug( 'ldap_session: ' || RAWTOHEX(SUBSTR(my_session1,1,8)));
         tmp_session := my_session1;
         retval := DBMS_LDAP.open_ssl(my_session1,
                             'file:' || '&12', '&13', 2);
         IF (retval != 0) THEN
         plg_debug( 'retry open_ssl failed error: ' || TO_CHAR(retval));
         retval := DBMS_LDAP.unbind_s(my_session1);
         plg_debug( 'retry unbind_res returns ' || TO_CHAR(retval));
         result := 82;
         RETURN;
         END IF;
         plg_debug( 'retry open_ssl: ' || TO_CHAR(retval));
         retval := DBMS_LDAP.simple_bind_s(my_session1, adupname, passwd);
         plg_debug( 'simple_bind_res: again ' || TO_CHAR(retval));
         IF (retval != 52 AND retval != 53 AND retval != 81) THEN
         OIDADPSW2.AD_HANDLE := tmp_session;
         ELSE
         retval := DBMS_LDAP.unbind_s(tmp_session);
         plg_debug( 'unbind_res Returns ' || TO_CHAR(retval));
         END IF;
         END IF;
    END IF;
    -- for failover to connect to the secondary server
    IF ('&14' = 'y' AND retval != 0) THEN
    IF ('&15' = 'n') THEN
         IF (OIDADPSW2.AD_HANDLE IS NULL) THEN
         my_session := DBMS_LDAP.init('&16', &17);
         OIDADPSW2.AD_HANDLE := my_session;
         ELSE
         my_session := OIDADPSW2.AD_HANDLE;
         END IF;
    plg_debug( 'ldap_session initialized: ' || RAWTOHEX(SUBSTR(my_session,1,8)));
    retval := DBMS_LDAP.simple_bind_s(my_session, adupname, passwd);
    plg_debug( 'simple_bind_res: ' || TO_CHAR(retval));
         IF (retval = 52 OR retval = 53 OR retval = 81) THEN
         retval := DBMS_LDAP.unbind_s(my_session);
         plg_debug( 'unbind_res returns ' || TO_CHAR(retval));
         my_session1 := DBMS_LDAP.init('&18', &19);
         plg_debug( 'retry ldap_session: ' || RAWTOHEX(SUBSTR(my_session1,1,8)));
         tmp_session := my_session1;
         retval := DBMS_LDAP.simple_bind_s(my_session1, adupname, passwd);
         plg_debug( 'retry simple_bind_res again: ' || TO_CHAR(retval));
         IF (retval != 52 AND retval != 53 AND retval != 81) THEN
              OIDADPSW2.AD_HANDLE := tmp_session;
         ELSE
         retval := DBMS_LDAP.unbind_s(tmp_session);
              plg_debug( 'unbind_res Returns ' || TO_CHAR(retval));
         END IF;
         END IF;
    ELSE
         IF (OIDADPSW2.AD_HANDLE IS NULL) THEN
         my_session := DBMS_LDAP.init('&20', &21);
         plg_debug( 'ldap_session: ' || RAWTOHEX(SUBSTR(my_session,1,8)));
         retval := DBMS_LDAP.open_ssl(my_session,
                             'file:' || '&22', '&23', 2);
         IF (retval != 0) THEN
         plg_debug( 'open_ssl failed error: ' || TO_CHAR(retval));
         retval := DBMS_LDAP.unbind_s(my_session);
         plg_debug( 'unbind_res returns ' || TO_CHAR(retval));
         result := 82;
         RETURN;
         END IF;
         plg_debug( 'open_ssl: ' || TO_CHAR(retval));
         OIDADPSW2.AD_HANDLE := my_session;
         ELSE
         my_session := OIDADPSW2.AD_HANDLE;
         END IF;
    retval := DBMS_LDAP.simple_bind_s(my_session, adupname, passwd);
    plg_debug( 'simple_bind_res: ' || TO_CHAR(retval));
    -- Retry logic should be invoked only
    -- when retval = LDAP_UNWILLING_TO_PERFORM || LDAP_UNAVAILABLE
         IF (retval = 52 OR retval = 53 OR retval = 81) THEN
         retval := DBMS_LDAP.unbind_s(my_session);
         plg_debug( 'unbind_res returns ' || TO_CHAR(retval));
         my_session1 := DBMS_LDAP.init('&24', &25);
         plg_debug( 'retry ldap_session: ' || RAWTOHEX(SUBSTR(my_session1,1,8)));
         tmp_session := my_session1;
         retval := DBMS_LDAP.open_ssl(my_session1,
                             'file:' || '&26', '&27', 2);
         IF (retval != 0) THEN
         plg_debug( 'retry open_ssl failed error: ' || TO_CHAR(retval));
         retval := DBMS_LDAP.unbind_s(my_session);
         plg_debug( 'retry unbind_res returns ' || TO_CHAR(retval));
         result := 82;
         RETURN;
         END IF;
         plg_debug( 'retry open_ssl: ' || TO_CHAR(retval));
         retval := DBMS_LDAP.simple_bind_s(my_session1, adupname, passwd);
         plg_debug( 'simple_bind_res: again ' || TO_CHAR(retval));
         IF (retval != 52 AND retval != 53 AND retval != 81) THEN
              OIDADPSW2.AD_HANDLE := tmp_session;
         ELSE
         retval := DBMS_LDAP.unbind_s(tmp_session);
         plg_debug( 'unbind_res result ' || TO_CHAR(retval));
         END IF;
         END IF;
         END IF;
    END IF;
    IF (retval = 0) THEN
    result := 0;
    plg_debug('AD auth return TRUE');
    ELSE
         result := retval;
    plg_debug('AD auth return FALSE or ERROR');
    END IF;
    -- retval := DBMS_LDAP.unbind_s(my_session);
    -- plg_debug( 'unbind_res Returns ' || TO_CHAR(retval));
    rc := DBMS_LDAP.SUCCESS;
    errormsg := 'No error msg.';
    plg_debug( '=== End when_bind_replace() ===');
    EXCEPTION
    WHEN OTHERS THEN
    rc := DBMS_LDAP.OPERATIONS_ERROR;
         retval := DBMS_LDAP.unbind_s(OIDADPSW2.AD_HANDLE);
         OIDADPSW2.AD_HANDLE := NULL;
         plg_debug( ' exception unbind_res returns ' || TO_CHAR(retval));
    errormsg := 'Exception: when_bind_replace plugin';
    plg_debug( 'Exception in when_bind_replace(). Error code is ' ||
              TO_CHAR(sqlcode));
    plg_debug( ' ' || Sqlerrm);
    END;
    PROCEDURE when_compare_replace (ldapplugincontext IN ODS.plugincontext,
    result OUT INTEGER,
    dn IN VARCHAR2,
    attrname IN VARCHAR2,
    attrval IN VARCHAR2,
    rc OUT INTEGER,
    errormsg OUT VARCHAR2
    IS
    retval pls_integer;
    lresult BOOLEAN;
    my_session DBMS_LDAP.session;
    my_session1 DBMS_LDAP.session;
    tmp_session DBMS_LDAP.session;
    adupname VARCHAR2(1024) DEFAULT NULL;
    BEGIN
    plg_debug( '=== Begin when_compare_replace()');
    result := DBMS_LDAP.COMPARE_FALSE;
    DBMS_LDAP.USE_EXCEPTION := FALSE;
    adupname := LDAP_PLUGIN.get_adupname(ldapplugincontext);
    IF (adupname IS NULL) THEN
    result := DBMS_LDAP.COMPARE_FALSE;
    plg_debug('Can not get ADuserPrincipalName');
    rc := DBMS_LDAP.SUCCESS;
    errormsg := 'Exception in when_compare_replace: Can not get ADUserPrincipalName';
    plg_debug( '=== End when_compare_replace() ===');
    RETURN;
    END IF;
    -- externally authenticate user
    IF ('&28' = 'n') THEN
         IF (OIDADPSW2.AD_HANDLE IS NULL) THEN
         my_session := DBMS_LDAP.init('&29', &30);
         OIDADPSW2.AD_HANDLE := my_session;
         ELSE
         my_session := OIDADPSW2.AD_HANDLE;
         END IF;
    plg_debug( 'ldap_session: ' || RAWTOHEX(SUBSTR(my_session,1,8)));
    retval := DBMS_LDAP.simple_bind_s(my_session, adupname, attrval);
    plg_debug( 'simple_bind_res: ' || TO_CHAR(retval));
    -- Retry logic should be invoked only
    -- when retval = LDAP_UNWILLING_TO_PERFORM || LDAP_UNAVAILABLE
    IF (retval = 52 OR retval = 53 OR retval = 81) THEN
         retval := DBMS_LDAP.unbind_s(my_session);
    plg_debug( 'retry unbind_res returns ' || TO_CHAR(retval));
         my_session1 := DBMS_LDAP.init('&31', &32);
         plg_debug( 'ldap_session: ' || RAWTOHEX(SUBSTR(my_session1,1,8)));
         tmp_session := my_session1;
         retval := DBMS_LDAP.simple_bind_s(my_session1, adupname, attrval);
         plg_debug( 'simple_bind_res again: ' || TO_CHAR(retval));
         IF (retval != 52 AND retval != 53 AND retval != 81) THEN
         OIDADPSW2.AD_HANDLE := tmp_session;
    ELSE
         retval := DBMS_LDAP.unbind_s(tmp_session);
         plg_debug( 'unbind_res result ' || TO_CHAR(retval));
         END IF;
         END IF;
    ELSE
         IF (OIDADPSW2.AD_HANDLE IS NULL) THEN
         my_session := DBMS_LDAP.init('&33', &34);
         plg_debug( 'ldap_session: ' || RAWTOHEX(SUBSTR(my_session,1,8)));
         retval := DBMS_LDAP.open_ssl(my_session,
                             'file:' || '&35', '&36', 2);
         IF (retval != 0) THEN
         plg_debug( 'open_ssl failed error: ' || TO_CHAR(retval));
         retval := DBMS_LDAP.unbind_s(my_session);
         plg_debug( 'unbind_res returns ' || TO_CHAR(retval));
         result := 82;
         RETURN;
         END IF;
         plg_debug( 'open_ssl: ' || TO_CHAR(retval));
         OIDADPSW2.AD_HANDLE := my_session;
         ELSE
         my_session := OIDADPSW2.AD_HANDLE;
         END IF;
    retval := DBMS_LDAP.simple_bind_s(my_session, adupname, attrval);
    plg_debug( 'simple_bind_res: ' || TO_CHAR(retval));
    -- Retry logic should be invoked only
    -- when retval = LDAP_UNWILLING_TO_PERFORM || LDAP_UNAVAILABLE
    IF (retval = 52 OR retval = 53 OR retval = 81) THEN
         retval := DBMS_LDAP.unbind_s(my_session);
    plg_debug( 'retry unbind_res returns ' || TO_CHAR(retval));
         my_session1 := DBMS_LDAP.init('&37', &38);
         plg_debug( 'ldap_session: ' || RAWTOHEX(SUBSTR(my_session1,1,8)));
         tmp_session := my_session1;
         retval := DBMS_LDAP.open_ssl(my_session1,
                             'file:' || '&39', '&40', 2);
    IF (retval != 0) THEN
         plg_debug( 'open_ssl failed error: ' || TO_CHAR(retval));
         retval := DBMS_LDAP.unbind_s(my_session);
         plg_debug( 'unbind_res returns ' || TO_CHAR(retval));
         result := 82;
         RETURN;
         END IF;
         plg_debug( 'open_ssl: ' || TO_CHAR(retval));
         retval := DBMS_LDAP.simple_bind_s(my_session1, adupname, attrval);
         plg_debug( 'simple_bind_res: again ' || TO_CHAR(retval));
         IF (retval != 52 AND retval != 53 AND retval != 81) THEN
         OIDADPSW2.AD_HANDLE := tmp_session;
    ELSE
         retval := DBMS_LDAP.unbind_s(tmp_session);
         plg_debug( 'unbind_res result ' || TO_CHAR(retval));
         END IF;
         END IF;
    END IF;
    -- for failover to connect to the secondary AD
    IF ('&41' = 'y' AND retval != 0) THEN
    IF ('&42' = 'n') THEN
         IF (OIDADPSW2.AD_HANDLE IS NULL) THEN
         my_session := DBMS_LDAP.init('&43', &44);
         OIDADPSW2.AD_HANDLE := my_session;
         ELSE
         my_session := OIDADPSW2.AD_HANDLE;
         END IF;
    plg_debug( 'ldap_session: ' || RAWTOHEX(SUBSTR(my_session,1,8)));
    retval := DBMS_LDAP.simple_bind_s(my_session, adupname, attrval);
    plg_debug( 'simple_bind_res: ' || TO_CHAR(retval));
    -- Retry logic should be invoked only
    -- when retval = LDAP_UNWILLING_TO_PERFORM || LDAP_UNAVAILABLE
         IF (retval = 52 OR retval = 53 OR retval = 81) THEN
         retval := DBMS_LDAP.unbind_s(my_session);
    plg_debug( 'retry unbind_res returns ' || TO_CHAR(retval));
         my_session1 := DBMS_LDAP.init('&45', &46);
         plg_debug( 'ldap_session: ' || RAWTOHEX(SUBSTR(my_session1,1,8)));
         tmp_session := my_session1;
         retval := DBMS_LDAP.simple_bind_s(my_session1, adupname, attrval);
         plg_debug( 'simple_bind_res again: ' || TO_CHAR(retval));
         IF (retval != 52 AND retval != 53 AND retval != 81) THEN
              OIDADPSW2.AD_HANDLE := tmp_session;
    ELSE
         retval := DBMS_LDAP.unbind_s(tmp_session);
         plg_debug( 'unbind_res result ' || TO_CHAR(retval));
         END IF;
         END IF;
         ELSE
         IF (OIDADPSW2.AD_HANDLE IS NULL) THEN
         my_session := DBMS_LDAP.init('&47', &48);
         plg_debug( 'ldap_session: ' || RAWTOHEX(SUBSTR(my_session,1,8)));
         retval := DBMS_LDAP.open_ssl(my_session,
                             'file:' || '&49', '&50', 2);
         IF (retval != 0) THEN
         plg_debug( 'open_ssl failed error: ' || TO_CHAR(retval));
         retval := DBMS_LDAP.unbind_s(my_session);
         plg_debug( 'unbind_res returns ' || TO_CHAR(retval));
         result := 82;
         RETURN;
         END IF;
         plg_debug( 'open_ssl: ' || TO_CHAR(retval));
         OIDADPSW2.AD_HANDLE := my_session;
         ELSE
         my_session := OIDADPSW2.AD_HANDLE;
         END IF;
    retval := DBMS_LDAP.simple_bind_s(my_session, adupname, attrval);
    plg_debug( 'simple_bind_res: ' || TO_CHAR(retval));
    -- Retry logic should be invoked only
    -- when retval = LDAP_UNWILLING_TO_PERFORM || LDAP_UNAVAILABLE
         IF (retval = 52 OR retval = 53 OR retval = 81) THEN
         retval := DBMS_LDAP.unbind_s(my_session);
    plg_debug( 'retry unbind_res returns ' || TO_CHAR(retval));
         my_session1 := DBMS_LDAP.init('&51', &52);
         plg_debug( 'ldap_session: ' || RAWTOHEX(SUBSTR(my_session1,1,8)));
         tmp_session := my_session1;
         retval := DBMS_LDAP.open_ssl(my_session1,
                             'file:' || '&53', '&54', 2);
         IF (retval != 0) THEN
         plg_debug( 'open_ssl failed error: ' || TO_CHAR(retval));
         retval := DBMS_LDAP.unbind_s(my_session1);
         plg_debug( 'unbind_res returns ' || TO_CHAR(retval));
         result := 82;
         RETURN;
         END IF;
         plg_debug( 'open_ssl: ' || TO_CHAR(retval));
         retval := DBMS_LDAP.simple_bind_s(my_session1, adupname, attrval);
         plg_debug( 'simple_bind_res: again ' || TO_CHAR(retval));
         IF (retval != 52 AND retval != 53 AND retval != 81) THEN
              OIDADPSW2.AD_HANDLE := tmp_session;
         ELSE
         retval := DBMS_LDAP.unbind_s(tmp_session);
         plg_debug( 'unbind_res result ' || TO_CHAR(retval));
         END IF;
         END IF;
         END IF;
    END IF;
    IF (retval = 0) THEN
    result := DBMS_LDAP.COMPARE_TRUE;
    plg_debug('AD auth return TRUE');
    ELSE
    result := DBMS_LDAP.COMPARE_FALSE;
    plg_debug('AD auth return FALSE or ERROR');
    END IF;
    -- retval := DBMS_LDAP.unbind_s(my_session);
    -- plg_debug( 'unbind_res Returns ' || TO_CHAR(retval));
    rc := DBMS_LDAP.SUCCESS;
    errormsg := 'No error msg.';
    plg_debug( '=== End when_compare_replace() ===');
    EXCEPTION
    WHEN OTHERS THEN
    rc := DBMS_LDAP.OPERATIONS_ERROR;
    errormsg := 'Exception: when_compare_replace plugin';
    plg_debug( 'Exception in when_compare_replace(). Error code is ' ||
              TO_CHAR(sqlcode));
    plg_debug( ' ' || Sqlerrm);
         retval := DBMS_LDAP.unbind_s(OIDADPSW2.AD_HANDLE);
         OIDADPSW2.AD_HANDLE := NULL;
    END;
    END OIDADPSW2;
    SHOW ERRORS
    EXIT;
    -- usessl, adhost, adport, adhost, adsslport, walletloc, walletpwd
    -- isfailover, isfailoverssl, sechost, secport, sechost, secsslport
    -- secwalletloc, secwalletpwd
    -- usessl, adhost, adport, adhost, adsslport, walletloc, walletpwd
    -- isfailover, isfailoverssl, sechost, secport, sechost, secsslport
    -- secwalletloc, secwalletpwd
    FOR oidspadi.sh
    #!/bin/sh
    # $Header: oidspadi.sh 13-may-2005.13:48:51 saroy Exp $
    # oidspadi.sh
    # Copyright (c) 2002, 2005, Oracle. All rights reserved.
    # NAME
    # oidspadi.sh - AD external authentication plug-in install
    # DESCRIPTION
    # <short description of component this file declares/defines>
    # NOTES
    # <other useful comments, qualifications, etc.>
    # MODIFIED (MM/DD/YY)
    # saroy 05/13/05 - Fix for bug 4233817
    # saroy 02/18/05 - Fix for bug 4054414
    # saroy 11/02/04 - Fix for bug 3980370
    # qdinh 01/19/04 - bug 3374115
    # dlin 07/10/03 - turn off debug
    # dlin 02/21/03 - plug-in install changes
    # dlin 02/13/03 - dlin_bug-2625027
    # dlin 07/22/02 - Creation
    ADHOST="A"
    ADPORT="1"
    ADSSLPORT="1"
    WALLETLOC="A"
    WALLETPWD="A"
    WALLETPWD2="A"
    CONNECT="A"
    ODSPWD="A"
    ODSPWD2="A"
    OIDHOST="A"
    OIDPORT="1"
    ORCLADMINPWD="A"
    ORCLADMINPWD2="A"
    PRGDN="A"
    SCUSB="A"
    EP="A"
    ISSSL="n"
    ISFAILOVER="n"
    ISFAILOVERSSL="n"
    SECADHOST="A"
    SECADPORT="1"
    SECADSSLPORT="1"
    SECWALLETLOC="A"
    SECWALLETPWD="A"
    SECWALLETPWD2="A"
    clear
    echo "---------------------------------------------"
    echo " OID Active Directory Plug-in Configuration"
    echo "---------------------------------------------"
    echo " "
    echo "Please make sure Database and OID are up and running."
    echo " "
    LDAP_DIR=${ORACLE_HOME}/ldap
    LDAP_LOG=${LDAP_DIR}/log
    ## ORACLE_HOME
    if [ -z $ORACLE_HOME ] ; then
    echo " ORACLE_HOME must be set for this installation script"
    exit 0
    fi
    # gather required information
    if [ ${ADHOST} = "A" ] ; then
    printf "Please enter Active Directory host name: "
    read ADHOST
    fi
    ## active directory host name is required
    if [ "${ADHOST}" = "" ]
    then
    echo "Active Directory host name is required";
    exit 1;
    fi
    printf "Do you want to use SSL to connect to Active Directory? (y/n) "
    read ISSSL
    if [ "${ISSSL}" = "n" ]
    then
    if [ ${ADPORT} = "1" ] ; then
    printf "Please enter Active Directory port number [389]: "
    read ADPORT
    if [ "${ADPORT}" = "" ]
    then
    ADPORT="389"
    fi
    fi
    fi
    if [ "${ISSSL}" = "y" ]
    then
    if [ ${ADSSLPORT} = "1" ] ; then
    printf "Please enter Active Directory SSL port number [636]: "
    read ADSSLPORT
    if [ "${ADSSLPORT}" = "" ]
    then
    ADSSLPORT="636"
    fi
    fi
    if [ ${WALLETLOC} = "A" ] ; then
    echo " "
    printf "Please enter Oracle wallet location: "
    read WALLETLOC
    fi
    ## wallet location is required
    if [ "${WALLETLOC}" = "" ]
    then
    echo "Oracle wallet location is required";
    exit 1;
    fi
    if [ ${WALLETPWD} = "A" ] ; then
    printf "Please enter Oracle wallet password: "
    stty -echo ; read WALLETPWD ; stty echo ; echo
    fi
    if [ "${WALLETPWD}" = "" ]
    then
    echo "Oracle wallet password is required";
    exit 1;
    fi
    if [ ${WALLETPWD2} = "A" ] ; then
    printf "Please enter confirmed Oracle wallet password: "
    stty -echo ; read WALLETPWD2 ; stty echo ; echo
    fi
    if [ "${WALLETPWD}" != "${WALLETPWD2}" ]
    then
    echo "The input passwords are not matched";
    exit 1;
    fi
    fi
    if [ ${CONNECT} = "A" ] ; then
    echo " "
    printf "Please enter DB connect string: "
    read CONNECT
    fi
    if [ ${ODSPWD} = "A" ] ; then
    printf "Please enter ODS password: "
    stty -echo ; read ODSPWD ; stty echo ; echo
    fi
    ## password is required
    if [ "${ODSPWD}" = "" ]
    then
    echo "ODS password is required";
    exit 1;
    fi
    if [ ${ODSPWD2} = "A" ] ; then
    printf "Please enter confirmed ODS password: "
    stty -echo ; read ODSPWD2 ; stty echo ; echo
    fi
    if [ "${ODSPWD}" != "${ODSPWD2}" ]
    then
    echo "The input passwords are not matched";
    exit 1;
    fi
    if [ "${CONNECT}" = "" ]
    then
    CMDNAME="$ORACLE_HOME/bin/sqlplus -s ods/${ODSPWD} "
    else
    CMDNAME="$ORACLE_HOME/bin/sqlplus -s ods/${ODSPWD}@${CONNECT} "
    fi
    # Check if ODS password and connect string is correct
    ${ORACLE_HOME}/bin/sqlplus -L ods/${ODSPWD}@${CONNECT} << END 1>/dev/null 2>/dev/null
    exit;
    END
    if [ $? -ne 0 ]; then
    echo "Incorrect connect string or ODS password specified"
    exit 1;
    fi
    if [ ${OIDHOST} = "A" ] ; then
    echo " "
    printf "Please enter OID host name: "
    read OIDHOST
    fi
    ## oid host is required
    if [ "${OIDHOST}" = "" ]
    then
    echo "OID host name is required";
    exit 1;
    fi
    if [ ${OIDPORT} = "1" ] ; then
    printf "Please enter OID port number [389]: "
    read OIDPORT
    if [ "${OIDPORT}" = "" ]
    then
    OIDPORT="389"
    fi
    fi
    # Check if OID host and port is correct
    ${ORACLE_HOME}/bin/ldapbind -h ${OIDHOST} -p ${OIDPORT} 1>/dev/null 2>/dev/null
    if [ $? -ne 0 ]; then
    echo "Incorrect OID host or port specified"
    exit 1;
    fi
    if [ ${ORCLADMINPWD} = "A" ] ; then
    printf "Please enter orcladmin password: "
    stty -echo ; read ORCLADMINPWD ; stty echo ; echo
    fi
    if [ "${ORCLADMINPWD}" = "" ]
    then
    echo "orcladmin password is required";
    exit 1;
    fi
    if [ ${ORCLADMINPWD2} = "A" ] ; then
    printf "Please enter confirmed orcladmin password: "
    stty -echo ; read ORCLADMINPWD2 ; stty echo ; echo
    fi
    if [ "${ORCLADMINPWD}" != "${ORCLADMINPWD2}" ]
    then
    echo "The input passwords are not matched";
    exit 1;
    fi
    # Check if orcladmin password is correct
    ${ORACLE_HOME}/bin/ldapbind -h ${OIDHOST} -p ${OIDPORT} -D 'cn=orcladmin' -w ${ORCLADMINPWD} 1>/dev/null 2>/dev/null
    if [ $? -ne 0 ]; then
    echo "Incorrect orcladmin password specified"
    exit 1;
    fi
    echo " "
    if [ ${SCUSB} = "A" ] ; then
    printf "Please enter the subscriber common user search base [orclcommonusersearchbase]: "
    read SCUSB
    if [ "${SCUSB}" = "" ]
    then
    SCUSB=`${ORACLE_HOME}/bin/ldapsearch -h ${OIDHOST} -p ${OIDPORT} -D 'cn=orcladmin' -w ${ORCLADMINPWD} -s base -b 'cn=common,cn=products,cn=oraclecontext' -L 'objectclass=*' orclcommonusersearchbase | head -2 | grep -v 'dn:' | awk '{printf $2}'`
    fi
    fi
    if [ ${PRGDN} = "A" ] ; then
    printf "Please enter the Plug-in Request Group DN: "
    read PRGDN
    fi
    if [ ${EP} = "A" ] ; then
    printf "Please enter the exception entry property [(!(objectclass=orcladuser))]: "
    read EP
    if [ "${EP}" = "" ]
    then
    EP='(!(objectclass=orcladuser))'
    fi
    fi
    echo " "
    printf "Do you want to setup the backup Active Directory for failover? (y/n) "
    read ISFAILOVER
    if [ "${ISFAILOVER}" = "y" ]
    then
    if [ ${SECADHOST} = "A" ] ; then
    printf "Please enter the backup Active Directory host name: "
    read SECADHOST
    if [ "${SECADHOST}" = "" ]
    then
    echo "Backup Active Directory host name is required";
    exit 1;
    fi
    fi
    printf "Do you want to use SSL to connect to the backup Active Directory? (y/n) "
    read ISFAILOVERSSL
    if [ "${ISFAILOVERSSL}" = "n" ]
    then
    if [ ${SECADPORT} = "1" ] ; then
    printf "Please enter the backup Active Directory port number [389]: "
    read SECADPORT
    if [ "${SECADPORT}" = "" ]
    then
    SECADPORT="389"
    fi
    fi
    fi
    if [ "${ISFAILOVERSSL}" = "y" ]
    then
    if [ ${SECADSSLPORT} = "1" ] ; then
    printf "Please enter the backup Active Directory SSL port number [636]: "
    read SECADSSLPORT
    if [ "${SECADSSLPORT}" = "" ]
    then
    SECADSSLPORT="636"
    fi
    fi
    if [ ${SECWALLETLOC} = "A" ] ; then
    echo " "
    printf "Please enter Oracle wallet location: "
    read SECWALLETLOC
    fi
    ## wallet location is required
    if [ "${SECWALLETLOC}" = "" ]
    then
    echo "Oracle wallet location is required";
    exit 1;
    fi
    if [ ${SECWALLETPWD} = "A" ] ; then
    printf "Please enter Oracle wallet password: "
    stty -echo ; read SECWALLETPWD ; stty echo ; echo
    fi
    if [ "${SECWALLETPWD}" = "" ]
    then
    echo "Oracle wallet password is required";
    exit 1;
    fi
    if [ ${SECWALLETPWD2} = "A" ] ; then
    printf "Please enter confirmed Oracle wallet password: "
    stty -echo ; read SECWALLETPWD2 ; stty echo ; echo
    fi
         if [ "${SECWALLETPWD}" != "${SECWALLETPWD2}" ]
         then
         echo "The input passwords are not matched";
         exit 1;
         fi
    fi
    fi
    # install the plug-in PL/SQL packages
    echo " "
    echo "Installing Plug-in Packages ..."
    echo " "
    # install plug-in debug tool
    cp $ORACLE_HOME/ldap/admin/oidspdsu.pls $LDAP_LOG
    chmod +w $LDAP_LOG/oidspdsu.pls
    echo "EXIT;" >> $LDAP_LOG/oidspdsu.pls
    ${CMDNAME} @$LDAP_LOG/oidspdsu.pls
    rm $LDAP_LOG/oidspdsu.pls
    ${CMDNAME} @$ORACLE_HOME/ldap/admin/oidspdof.pls
    # install plug-in packages
    ${CMDNAME} @$ORACLE_HOME/ldap/admin/oidspad2.pls ${ISSSL} ${ADHOST} ${ADPORT} ${ADHOST} ${ADPORT} ${ADHOST} ${ADSSLPORT} ${WALLETLOC} ${WALLETPWD} ${ADHOST} ${ADSSLPORT} ${WALLETLOC} ${WALLETPWD} ${ISFAILOVER} ${ISFAILOVERSSL} ${SECADHOST} ${SECADPORT} ${SECADHOST} ${SECADPORT} ${SECADHOST} ${SECADSSLPORT} ${SECWALLETLOC} ${SECWALLETPWD} ${SECADHOST} ${SECADSSLPORT} ${SECWALLETLOC} ${SECWALLETPWD} ${ISSSL} ${ADHOST} ${ADPORT} ${ADHOST} ${ADPORT} ${ADHOST} ${ADSSLPORT} ${WALLETLOC} ${WALLETPWD} ${ADHOST} ${ADSSLPORT} ${WALLETLOC} ${WALLETPWD} ${ISFAILOVER} ${ISFAILOVERSSL} ${SECADHOST} ${SECADPORT} ${SECADHOST} ${SECADPORT} ${SECADHOST} ${SECADSSLPORT} ${SECWALLETLOC} ${SECWALLETPWD} ${SECADHOST} ${SECADSSLPORT} ${SECWALLETLOC} ${SECWALLETPWD} 2>&1 ; stty echo ; echo
    #stty -echo; eval ${CMDNAME} @$ORACLE_HOME/ldap/admin/oidspad2.pls ${ISSSL} ${ADHOST} ${ADPORT} ${ADHOST} ${ADPORT} ${ADHOST} ${ADSSLPORT} ${WALLETLOC} ${WALLETPWD} ${ADHOST} ${ADSSLPORT} ${WALLETLOC} ${WALLETPWD} ${ISFAILOVER} ${ISFAILOVERSSL} ${SECADHOST} ${SECADPORT} ${SECADHOST} ${SECADPORT} ${SECADHOST} ${SECADSSLPORT} ${SECWALLETLOC} ${SECWALLETPWD} ${SECADHOST} ${SECADSSLPORT} ${SECWALLETLOC} ${SECWALLETPWD} ${ISSSL} ${ADHOST} ${ADPORT} ${ADHOST} ${ADPORT} ${ADHOST} ${ADSSLPORT} ${WALLETLOC} ${WALLETPWD} ${ADHOST} ${ADSSLPORT} ${WALLETLOC} ${WALLETPWD} ${ISFAILOVER} ${ISFAILOVERSSL} ${SECADHOST} ${SECADPORT} ${SECADHOST} ${SECADPORT} ${SECADHOST} ${SECADSSLPORT} ${SECWALLETLOC} ${SECWALLETPWD} ${SECADHOST} ${SECADSSLPORT} ${SECWALLETLOC} ${SECWALLETPWD} 2>&1 ; stty echo ; echo
    # usessl, adhost, adport, adhost, adsslport, walletloc, walletpwd
    # isfailover, isfailoverssl, sechost, secport, sechost, secsslport
    # secwalletloc, secwalletpwd
    # usessl, adhost, adport, adhost, adsslport, walletloc, walletpwd
    # isfailover, isfailoverssl, sechost, secport, sechost, secsslport
    # secwalletloc, secwalletpwd
    # register the plug-ins
    echo " "
    echo "Registering Plug-ins ..."
    echo " "
    $ORACLE_HOME/bin/ldapadd -h ${OIDHOST} -p ${OIDPORT} -D cn=orcladmin -w ${ORCLADMINPWD} << EOF
    dn: cn=adwhencompare2,cn=plugin,cn=subconfigsubentry
    objectclass:orclPluginConfig
    objectclass:top
    orclpluginname:OIDADPSW2
    orclplugintype:operational
    orclplugintiming:when
    orclpluginldapoperation:ldapcompare
    orclpluginenable:1
    orclpluginversion:1.0.1
    orclPluginIsReplace:1
    cn:adwhencompare2
    orclpluginsubscriberdnlist:${SCUSB}
    orclpluginattributelist:userpassword
    orclpluginrequestgroup:${PRGDN}
    orclpluginentryproperties:${EP}
    dn: cn=adwhenbind2,cn=plugin,cn=subconfigsubentry
    objectclass:orclPluginConfig
    objectclass:top
    orclpluginname:OIDADPSW2
    orclplugintype:operational
    orclplugintiming:when
    orclpluginldapoperation:ldapbind
    orclpluginenable:1
    orclpluginversion:1.0.1
    orclPluginIsReplace:1
    cn:adwhenbind2
    orclpluginsubscriberdnlist:${SCUSB}
    orclpluginrequestgroup:${PRGDN}
    orclpluginentryproperties:${EP}
    EOF
    cat <<DONE
    Done.
    DONE

    Hi,
    This is a problem that is not made clear in the note. What is probably happening here is that both plugins are being fired when a user logs in. OID will only read the value returned from the final plugin to fire. This can be a problem if the user authenticates correctly against the first plug-in but fails on the second. This is entirely legitimate as this note tells you to configure this way but the OID only observes the final result. The note doesn't tell us this.
    Here's an example:
    We've two OID User users in different containers: cn=Al is in container cn=usersA,dc=oracle,dc=com and cn=BOB is in container cn=usersB,dc=oracle,dc=com.
    We have two plugins: pluginA and PluginB. Installed in that order.
    When Al logs in the two plugins fire. pluginA finds Al and returns a true, but then pluginB fires and returns a false undoing the good result. OID only accepts the final answer and so rejects the user. When Bob logins in both plugins fire again but it's the second plugin that returns the answer again. This is true and bob gets in.
    There's a couple of ways around this and one of the more effective ways is to associate the plugin with the dn. So in our example, we associate the pluginA to fire only for the dn cn=usersA,dc=oracle,dc=com and pluginB only to fire when a user is in cn=usersB,dc=oracle,dc=com. This gets around the problem of mulitple plugins firing and giving conflicting answers as the appropriate plugin only fires once.
    I've used this solution in a realtime environment when connecting and provisioning multiple ADs into one OID and found it to be extremely effective.
    Another solution is to associate the plugins with groups.
    Both of these options may be configured easily by modifying the plugin properties in ODM. Don't forget to restart OID after you've made the changes.
    HTH!
    Phil.
    If

  • Acrobat 9 changes to plug-ins

    As I have got response from Adobe forum that AcroPDF.dll was revamped with Acrobat 9 to work in a different method (multiple instances vs. a single global one). 
    Can anybody explain when user opens a PDF file within IE (Internet explorer) how AcroPDF.dll behaves?
    Thanks,
    Twinkle
     

    I am interested to understand how plug-ins get loaded in context of Internet explorer. I mean if you open two seperate instances of IE and open PDF files within these two IE instance the single AcrobatPDF.dll handling the plug-in references or different?
    This is because I am facing one behavior, we have developed one toolbar using Acrobat SDK where we are using PIHandshake and IAC to call acrobat API's to perform the action. Our custom ActiveX control load within IE to load PDF and because acrobat.exe loaded the Plugin also loaded automatically (because it resides under C:\Program Files\Adobe\Acrobat\plug-ins\..) and user can work with that plug-in. But the strange behavior is if user open another PDF in other instance of IE at the same time (while keep running our web application) and come back to our web applicatio and load another PDF document the plug-in is not loading again, i.e never , unless and untill user logoff and login which in turn load Acrobat.exe again.

  • Firefox 4 couldn't find compatible plugins, but didn't say in the final message, which ones it had failed to find. I've reinstalled 3.6.17. Is there a way to discover which plug-ins were lost?

    I was exhorted to upgrade to Firefox 4. Believing that like most such upgrades, it would be compatible and inconsequential, I did so. Having completed installation, it told me that a couple of plug-ins were incompatible (Yahoo and another which I didn't note) and that it would search for compatible plug-ins. When it finally told me that none were available, it didn't then say which were not installed, so I had no way of going back to find out. I followe instructions on a previous question to uninstall FF4 and reinstall FF3.6.17. How can I now discover which plug-ins were lost and thus restore them?

    You can set the prefs dom.ipc.plugins.enabled.* to false on the about:config page to disable the plugin-container process.
    dom.ipc.plugins.enabled.npctrl.dll (Silverlight)
    dom.ipc.plugins.enabled.npqtplugin.dll (QuickTime)
    dom.ipc.plugins.enabled.npswf32.dll (Flash)

  • Re-install plug-ins after upgrade to CC

    The chief thing holding me back from upgrading to CC is the prospect of installing all of my plug-ins, actions, brushes, etc. again.
    When I upgraded from CS5 to CS6, this took days, and proved a major pain.  I'd like to upgrade to CC, but not if I have to spend days re-installing plug-ins, fonts, brushes, actions, etc. 
    Is there a way I can upgrade from CS6 to CC without overwriting all of my stuff?  In a dream world, I would download and install CC, and at first start-up, there would be all of my stuff exactly as I had it in CS6.  If I can't get this or something like it, it's probably not worth it to upgrade yet.
    Thanks for your time and help!
    KB

    KB the process has not changed.  If you use Third-party plug-ins and brushes the process will be the same as you have experienced previously.  I would recommend contacting the Third-party plug-in manufacturers to verify they are compatible with the CC versions of the Adobe Creative applications.

Maybe you are looking for

  • My lumia 620 is not responding some time at the ti...

    I have submitted my phon at nokia care for this issue that some time my lumia 620 is not responding at the time of call reciveing.They gave me after software upgradation.But is not solved then I contacted with customer care.They tolled me to submit t

  • Layout mode in Dreamweaver CS3. Can't draw table

    I did the same exact thing i do in dreamweaver 8, but in cs3, it's now working. I went to layout mode and with a blank page and the draw table button is grayed out. what do i do to use it. I'm already in layout mode.

  • Cancelling Transfer Orders

    Hi Can any one tell me how to cancel the Tansfer oder brief:- I had created sales order, delivery(picked and packed and PGI ) and done invoice also. Now the user wants to cancell the every thing as he has delivered some wrong parts waiting for ur val

  • BlindTransfer option in CAD places call on hold

    Hello, I am using UCCX 8.02 SU4.  Our call center is now using a third party survey company and I need to transfer the call for all those callers that have selected to take the survey.  Here is what I have done: 1.  Created a "surveyApproved" boolean

  • Any other methods to downgrade my iphone 5c ios 7.1.1

    I want to downgrade my ios 7.1.1 iphone 5c to ios 7.0.6,but the "error 3194" appear on the itunes. I've checked my itunes version,its the latest! I also tried the tinyumbrella even the ifaith too! Is there any other methods to downgrade my iphone?