Libki and Koha: Leveraging Open Source Software for Single Sign-on Integration

Size: px
Start display at page:

Download "Libki and Koha: Leveraging Open Source Software for Single Sign-on Integration"

Transcription

1 Kyle Hall uses the case of Koha v. Libki to illustrate best practices for librarians looking to integrate two open source software systems in this chapter from editor Nicole Engard s More Library Mashups. Libki and Koha: Leveraging Open Source Software for Single Sign-on Integration Kyle M. Hall ByWater Solutions How does one go about getting two pieces of software to talk to each other? Pass them notes? Set them up on a blind date? It s unlikely that will work at least not until our computers become self-aware. If you are integrating two proprietary and/or closed source systems, you have a few options. If you are lucky, perhaps a protocol exists for those systems to speak to each other, and if you are really lucky, perhaps both systems already know how to speak the same language. Otherwise, be prepared to start writing checks! Likely, you ll need to pay one or both companies to get your systems to talk to each other, if they are even willing to work with and for you. If your two systems are both free and open source software, you have another choice: You can do it yourself, or if not you, someone on your team or perhaps a freelance developer. A good example of this type of integration can be found in the case of Koha v. Libki, which took place at the Crawford County Federated Library System in Pennsylvania. Koha (koha-community.org) is the first free and open source software library automation package, or integrated library system (ILS). Libraries of varying types and sizes, volunteers, and support companies from around the world sponsor the development and growth of Koha. The name comes from the Māori term for a gift or donation. Libki (libki.org) is is a free and open source kiosk management system, with a web-based administration system and a cross-platform 261

2 262 More Library Mashups client. Libki is ideally suited for use in locations where a controlled computing environment is paramount, such as public access systems, libraries, school computer laboratories, and more. The pre 1.0 version of Libki did not have Session Initiation Protocol (SIP) support built in like it does today, so something more tricky, more clever, and more hackerish had to be devised to get it to communicate with Koha. Crawford County in Pennsylvania has nine libraries, all sharing one Koha ILS server located in the most central location in the county, Meadville. Many of these libraries also use the Libki Kiosk Management System to time limit computer access, and these Libki servers are found on site at each library in the county. The libraries want single sign-on between all these systems, yet no protocol that could accomplish this is supported between the two. So how do we accomplish this task? We start hacking. Planning The first task in this scenario is to decide which system is considered the primary source of information in other words, from which system will the rest of the system receive information and update itself? In this case, the obvious choice is the Koha server, because not only do we have a single Koha server and many Libki servers, but because the data the Koha server stores far exceeds that of our Libki servers. Koha stores detailed information about all library patrons: names, addresses, birth dates, and so on. Libki, on the other hand, stores a very minimal amount of data such as usernames and passwords. Since the only pieces of information we need to transmit are usernames and passwords, this works very well. Our next job is to locate how and where that information is stored in both systems, and also to locate the (hopefully singular) points in the software s source code where these values get modified. In Koha, we can find this data in the MySQL database table Borrowers under the columns User ID and Password. The password is not stored in plain text, of course that would be a terrible violation of security practices. Instead, if one examines the code for Koha 3.12 (the latest version at the time of this writing) or earlier, they will see that all passwords in Koha are hashed using md5 and then

3 Libki and Koha: Leveraging Open Source Software 263 encoded in base64 by the aptly named function md5_base64, which is provided by the Perl library Digest::MD5. In Libki < 1.0, the users are stored in the database table logins, using the columns Username and Password. As luck would have it, Libki also uses this same password storage scheme. If we had not been so lucky, we would still be able to accomplish our task, but it would have been slightly more difficult. So, now that we know all about the data we are storing, we need to know where said data is created, updated, and deleted from within Koha. Those are the places where we need to set up triggers to update our Libki servers. In the case of Koha, we have three subroutines dealing with this in the Members module of Koha: AddMember, ModMember, and DelMember respectively. In each of those subroutines, we add the following code: if (C4::Context->preference('LibkiIntegration')) { my $borrowernumber = $data{borrowernumber; C4::Libki::UpdateForLibki($borrowernumber); This is just a fancy way of saying, If we ve enabled integration between Koha and Libki, and we are changing this user in some way, run the subroutine UpdateForLibki for this account. So what is in the C4::Libki module, you may ask? Not much. Here is the source code for said module: package C4::Libki; Copyright 2011 Kyle M Hall <[email protected]> This file is part of Koha. Koha 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 of the License, or (at your option) any later

4 264 More Library Mashups version. Koha 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 General Public License for more details. You should have received a copy of the GNU General Public License along with Koha; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA USA. use strict; use warnings; use C4::Context; use BEGIN { set the version for version checking $VERSION = 1.01; require = = qw(&updateforlibki); sub UpdateForLibki { my ($borrowernumber) my $dbh = C4::Context->dbh; my $sql = "INSERT INTO libki_queue (borrowernumber) VALUES (?)" my $sth = $dbh->prepare($sql); $sth->execute($borrowernumber);

5 Libki and Koha: Leveraging Open Source Software 265 1; END So to put it succinctly, UpdateForLibki simple puts the unique identifier into a new and special table we ve created just for this task. Yes, we could have put this code directly into each of the previously mentioned subroutines, but doesn t it look so much prettier this way? At this point, we have a list of all the accounts in Koha that need to be created, updated, or deleted in all of our respective Libki servers. The next task on our docket is to accomplish just that. How do we do this? With a daemon of course! The friendly, useful kind not the fiery damn-you-to-eternal-pain-and-torture kind. For the uninitiated, a daemon is a computer program that runs as a background process, rather than being a program that you run and control interactively. For example, at a restaurant, you could say your server is a program you interact with when you give that server your order. The server writes down your order and walks over to the kitchen window where he puts that order on one of those order wheels with the clips (and thus is revealed my deep understanding of restaurant nomenclature). The chef waits in the background, notices a new order is coming in, and begins preparing the food. In this example, our chef is much like a daemon, lurking in the background, waiting to spring into action. Here is our daemon:!/usr/bin/perl use strict; use warnings; use File::Basename; use Fcntl qw(lock_ex LOCK_NB); use C4::Context; use constant SLEEP_INTERVAL => 15;

6 266 More Library Mashups my $daemon = basename($0); open(selflock, "<$0") or die("couldn't open $0: $!\n"); flock(selflock, LOCK_EX LOCK_NB) or die("aborting: another $daemon is already running\n"); Get ready to daemonize by redirecting our output to syslog, requesting that logger prefix the lines with our program name: open(stdout, " -", "logger -t $daemon") or die("couldn't open logger output stream: $!\n"); open(stderr, ">&STDOUT") or die("couldn't redirect STDERR to STDOUT: $!\n"); $ = 1; Make output line-buffered so it will be flushed to syslog faster Avoid the possibility of our working directory resulting in keeping an otherwise unused filesystem in use chdir('/'); Double-fork to avoid leaving a zombie process behind: exit if (fork()); exit if (fork()); sleep 1 until getppid() == 1; print "$daemon $$ successfully daemonized\n"; my $dbh = C4::Context->dbh; my $sth; while (1) { while (! $dbh->ping) { $dbh = C4::Context->dbh;

7 Libki and Koha: Leveraging Open Source Software 267 $sth = $dbh->prepare("select * FROM libki_ queue"); $sth->execute(); while (my $r = $sth->fetchrow_hashref) { my $borrowernumber = $r->{'borrowernumber'; exec("koha2libki_update.php $borrowernumber & "); $dbh->do( "DELETE FROM libki_queue WHERE borrowernumber = $borrowernumber" ); sleep(sleep_interval); So what does all this fantastical nonsense accomplish? Every 15 seconds, it checks the table libki_queue (our order wheel) to see if there are any user identifiers ( borrowernumber in our case) in there. For each of these identifiers it finds, the daemon creates another process, which calls the script koha2libki_update.php to handle the real update for each of the Libki servers. You may have noticed all our code examples so far have been written in Perl, but we are now executing a PHP script. Why, you may ask? That is because Koha is written in Perl, but the script we are calling was included with Libki, which is written in PHP. Here is that script:!/usr/bin/php <?php This file is part of Libki. Libki 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 3 of the License, or (at your option) any later version.

8 268 More Library Mashups Libki 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 General Public License for more details. You should have received a copy of the GNU General Public License along with Libki. If not, see < org/licenses/>. Get borrowernumber from arguments $borrowernumber = $argv[1]; if (empty($borrowernumber)) { die ("No borrowernumber given!\n"); The libki ini file contains a section for each of our Libki servers $libki = parse_ini_file("/etc/libki/libki.ini", $process_sections=true) or die("unable to parse / etc/libki/libki.ini\n"); The koha ini file contains just data about how to connect to our Koha server's database $koha = parse_ini_file("/etc/libki/koha.ini"); Open the Koha database $kdbh = mysql_connect($koha["host"], $koha["username"], $koha["password"]) or die("unable to connect to Koha MySQL Server\n"); mysql_select_db($koha["database"], $kdbh); Grab the userid and password of the user based on the borrowernumber $query = "SELECT userid, password FROM borrowers WHERE borrowernumber = '$borrowernumber'";

9 Libki and Koha: Leveraging Open Source Software 269 $results = mysql_query($query, $kdbh); $result = mysql_fetch_assoc($results); $userid = $result['userid']; $password = $result['password']; foreach ($libki as $ini) { Open the LibKi database $ldbh = mysql_connect($ini["host"], $ini["username"], $ini["password"]); mysql_select_db($ini["database"], $ldbh ; if ($userid) { Get default starting minutes from database $query = "SELECT value FROM settings WHERE name = 'daily_minutes'"; $results = mysql_query($query, $ldbh); $result = mysql_fetch_assoc($results); $daily_minutes = $result['value']; Check to see if this user is already in libki $query = "SELECT COUNT(*) AS userexists FROM logins WHERE username = '$userid'"; $results = mysql_query($query, $ldbh); $result = mysql_fetch_assoc($results); $userexists = $result['userexists']; If the user doesn't already exist, create the user in libki if (! $userexists) { $query = "INSERT INTO logins (username, units, status, password) VALUES ('$userid', '$daily_minutes', 'Logged out', '$password')"; mysql_query($query, $ldbh); else { Copy over the koha password $query = "UPDATE logins SET password = '$password' WHERE username = '$userid'"; mysql_query($query, $ldbh);

10 270 More Library Mashups else { User no longer exists in Koha, delete this user from Libki $query = "DELETE FROM logins WHERE username = '$userid'"; mysql_query($query, $ldbh);?> What this script does, in layman s terms, is take a user identifier and look it up in our Koha database. If it finds it, it then calls out to each of the Libki server s databases and says Hey you! Yeah, I m talking to you! Does this user exist in your database? The Libki database then replies with Yeah! I got your user right here! or Heck no, we ain t got no user like that! It s quite obvious that our Libki database did not go to an Ivy League school. Once we know if the user exists or not, we can then tell the Libki database to update the existing user s password or to create the new user with the given username and password data, respectively. To satisfy your curiosity, here is an example of what the libki.ini file would look like for a system with three libraries: [LibraryA] host = libki.librarya.mylibrarysystem.org username = libkiadmin password = apoorlychosenpassword database = libki [LibraryB] host = libki.libraryb.mylibrarysystem.org username = libkiadmin password = anothernotsogoodpassword database = libki [LibraryC] host = libki.libraryc.mylibrarysystem.org username = libkiadmin password = theworstpasswordyet database = libki

11 Libki and Koha: Leveraging Open Source Software 271 Each Libki installation could have, in theory, a different username and database name, but why mess with success? Conclusion If you are a programmer, you may be saying Wow, I could have done a way better job than this. What a mess! To that I would reply Cut me some slack! I was in a hurry! It works, doesn t it? Why do you have to kick me right in the self-esteem? Indeed, I m sure there are many ways to improve and streamline this system, but it is merely an example of what can be accomplished when you leverage the power of free and open source software. To reiterate our basic process, this is what we did: 1. Identify our data A. Identify our source data B. Identify our target data 2. Identify our relevant source code A. Identify data creation code B. Identify data modification code C. Identify data deletion code 3. Create a shim to communicate our source data to our targets A. Insert code to call shim for each data alteration B. Shim checks to see which action needs to be taken C. Shim implements said action In our example (Figure 18.1), we were lucky in that both our source and target data were stored in MySQL databases. In the open source world, it is common for data to be stored in an open source DBMS such as MySQL or PostgresSQL. For other software where you cannot get direct access to the data, you may need to identify a service API you could call on instead. Remember, there s always more than one way to do it.

12 272 More Library Mashups Figure 18.1 Data flow from Koha to Libki I hope you ve been informed and amused by my incoherent ramblings. And I hope my example illustrates how it s almost always possible to make two systems work together if you put your mind to it! About the Author Kyle M. Hall received his MS in Information Technology from Edinboro University (PA). He has been fulfilling the IT needs of librarians for over a decade at the Crawford County Federated Library System as an IT specialist and Koha developer. His work has not only included enhancing Koha itself but also authorship of the Koha Offline Circulation tool and the maintenance of the Koha Virtual Appliance. He is also the sole author of Libki. This chapter originally appeared in More Library Mashups: Exploring New Ways to Deliver Library Data, edited by Nicole C. Engard. For more information visit

Serious Threat. Targets for Attack. Characterization of Attack. SQL Injection 4/9/2010 COMP620 1. On August 17, 2009, the United States Justice

Serious Threat. Targets for Attack. Characterization of Attack. SQL Injection 4/9/2010 COMP620 1. On August 17, 2009, the United States Justice Serious Threat SQL Injection COMP620 On August 17, 2009, the United States Justice Department tcharged an American citizen Albert Gonzalez and two unnamed Russians with the theft of 130 million credit

More information

TAMS Analyzer 3 and Multi-User Projects. By Matthew Weinstein

TAMS Analyzer 3 and Multi-User Projects. By Matthew Weinstein TAMS Analyzer 3 and Multi-User Projects By Matthew Weinstein 1 I. Introduction TAMS has always had multiple users in mind, ever since TA1 supported signed tags, i.e., tags that had the coder s initials

More information

Tracking E-mail Campaigns with G-Lock Analytics

Tracking E-mail Campaigns with G-Lock Analytics User Guide Tracking E-mail Campaigns with G-Lock Analytics Copyright 2009 G-Lock Software. All Rights Reserved. Table of Contents Introduction... 3 Creating User Account on G-Lock Analytics. 4 Downloading

More information

% & ' # ('$ %$)$ &*&& ) & *)+,-%. / 0--"1####$ % % # 2 (3 &,--%. # 6/4-7/*8,#071*!",7*%,+07+5 "!96+*%,+07+5 "!96+& (& * *% & & ; %&< & ###

% & ' # ('$ %$)$ &*&& ) & *)+,-%. / 0--1####$ % % # 2 (3 &,--%. # 6/4-7/*8,#071*!,7*%,+07+5 !96+*%,+07+5 !96+& (& * *% & & ; %&< & ### !"$% && % & ' ('$ %$)$ &*&& ) & *)+,-%. / 0--"1$ % % 2 (3 &,--%. 45-4 & 6/4-7/*8/71*!"5+,"*%,+07+5 "!96+ 6/4-7/*8,071*!",7*%,+07+5 "!96+*%,+07+5 "!96+& 6/4-7/*8,071*!",7*%,+07+5 "!96+*%,+07+5 "!96+& :,

More information

IT Support Tracking with Request Tracker (RT)

IT Support Tracking with Request Tracker (RT) IT Support Tracking with Request Tracker (RT) Archibald Steiner AfNOG 2013 LUSAKA Overview What is RT? A bit of terminology Demonstration of the RT web interface Behind the scenes configuration options

More information

The Definitive Guide. Active Directory Troubleshooting, Auditing, and Best Practices. 2011 Edition Don Jones

The Definitive Guide. Active Directory Troubleshooting, Auditing, and Best Practices. 2011 Edition Don Jones The Definitive Guide tm To Active Directory Troubleshooting, Auditing, and Best Practices 2011 Edition Don Jones Ch apter 5: Active Directory Auditing... 63 Goals of Native Auditing... 63 Native Auditing

More information

Advanced Web Security, Lab

Advanced Web Security, Lab Advanced Web Security, Lab Web Server Security: Attacking and Defending November 13, 2013 Read this earlier than one day before the lab! Note that you will not have any internet access during the lab,

More information

Installation & Configuration Guide User Provisioning Service 2.0

Installation & Configuration Guide User Provisioning Service 2.0 Installation & Configuration Guide User Provisioning Service 2.0 NAVEX Global User Provisioning Service 2.0 Installation Guide Copyright 2015 NAVEX Global, Inc. NAVEX Global is a trademark/service mark

More information

HIPAA Compliance Use Case

HIPAA Compliance Use Case Overview HIPAA Compliance helps ensure that all medical records, medical billing, and patient accounts meet certain consistent standards with regard to documentation, handling, and privacy. Current Situation

More information

PaperCut Payment Gateway Module Realex Realauth Redirect Quick Start Guide

PaperCut Payment Gateway Module Realex Realauth Redirect Quick Start Guide PaperCut Payment Gateway Module Realex Realauth Redirect Quick Start Guide This guide is designed to supplement the Payment Gateway Module documentation and provides a guide to installing, setting up,

More information

Koha 3 Library Management System

Koha 3 Library Management System P U B L I S H I N G community experience distilled Koha 3 Library Management System Savitra Sirohi Amit Gupta Chapter No.4 "Koha's Web Installer, Crontab, and Other Server Configurations" In this package,

More information

RSA Two Factor Authentication. Feature Description

RSA Two Factor Authentication. Feature Description RSA Two Factor Authentication Feature Description VERSION: 3.0 UPDATED: SEPTEMBER 2015 Copyright Notices Copyright 2002 2015 KEMP Technologies, Inc.. All rights reserved.. KEMP Technologies and the KEMP

More information

Database Extension 1.5 ez Publish Extension Manual

Database Extension 1.5 ez Publish Extension Manual Database Extension 1.5 ez Publish Extension Manual 1999 2012 ez Systems AS Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License,Version

More information

Installing CPV Lab Version 2.17

Installing CPV Lab Version 2.17 Installing CPV Lab Version 2.17 END-USER LICENSE AGREEMENT ( EULA ) FOR CPV LAB This End-User License Agreement ("EULA") pertains to the CPV Lab product (called Software" in this Agreement). Read the terms

More information

Novell Identity Manager

Novell Identity Manager Password Management Guide AUTHORIZED DOCUMENTATION Novell Identity Manager 3.6.1 June 05, 2009 www.novell.com Identity Manager 3.6.1 Password Management Guide Legal Notices Novell, Inc. makes no representations

More information

Intellect Platform - The Workflow Engine Basic HelpDesk Troubleticket System - A102

Intellect Platform - The Workflow Engine Basic HelpDesk Troubleticket System - A102 Intellect Platform - The Workflow Engine Basic HelpDesk Troubleticket System - A102 Interneer, Inc. Updated on 2/22/2012 Created by Erika Keresztyen Fahey 2 Workflow - A102 - Basic HelpDesk Ticketing System

More information

Cardsave Payment Gateway

Cardsave Payment Gateway Cardsave Payment Gateway Cart Implementation David McCann Cardsave Online Version 1 1 st August 2010 Contents Page Overview 3-4 o Integration Types 3 Direct/Integrated (Preferred Method) Re-direct/Hosted

More information

Debian and Windows Shared Printing mini HOWTO

Debian and Windows Shared Printing mini HOWTO Debian and Windows Shared Printing mini HOWTO Ian Ward 2005 07 01 Revision History Revision 1.6 2005 07 01 Revised by: iw Clarified hpijs requirement, added lpinfo and lpoptions

More information

Cloud Identity Management Tool Quick Start Guide

Cloud Identity Management Tool Quick Start Guide Cloud Identity Management Tool Quick Start Guide Software version 2.0.0 October 2013 General Information: [email protected] Online Support: [email protected] Copyright 2013 CionSystems Inc., All

More information

VOL. 2, NO. 1, January 2012 ISSN 2225-7217 ARPN Journal of Science and Technology 2010-2012 ARPN Journals. All rights reserved

VOL. 2, NO. 1, January 2012 ISSN 2225-7217 ARPN Journal of Science and Technology 2010-2012 ARPN Journals. All rights reserved Mobile Application for News and Interactive Services L. Ashwin Kumar Department of Information Technology, JNTU, Hyderabad, India [email protected] ABSTRACT In this paper, we describe the design and

More information

IT360: Applied Database Systems. Database Security. Kroenke: Ch 9, pg 309-314 PHP and MySQL: Ch 9, pg 217-227

IT360: Applied Database Systems. Database Security. Kroenke: Ch 9, pg 309-314 PHP and MySQL: Ch 9, pg 217-227 IT360: Applied Database Systems Database Security Kroenke: Ch 9, pg 309-314 PHP and MySQL: Ch 9, pg 217-227 1 Database Security Rights Enforced Database security - only authorized users can perform authorized

More information

LISTSERV LDAP Documentation

LISTSERV LDAP Documentation LISTSERV LDAP Documentation L Soft Sweden AB 2007 28 November 2007 Overview LISTSERV version 15.5 can interface to LDAP servers to authenticate user logins, to insert LDAP attributes in mail merge distributions

More information

To use MySQL effectively, you need to learn the syntax of a new language and grow

To use MySQL effectively, you need to learn the syntax of a new language and grow SESSION 1 Why MySQL? Session Checklist SQL servers in the development process MySQL versus the competition To use MySQL effectively, you need to learn the syntax of a new language and grow comfortable

More information

User Migration Tool. Note. Staging Guide for Cisco Unified ICM/Contact Center Enterprise & Hosted Release 9.0(1) 1

User Migration Tool. Note. Staging Guide for Cisco Unified ICM/Contact Center Enterprise & Hosted Release 9.0(1) 1 The (UMT): Is a stand-alone Windows command-line application that performs migration in the granularity of a Unified ICM instance. It migrates only Unified ICM AD user accounts (config/setup and supervisors)

More information

RSA Two Factor Authentication

RSA Two Factor Authentication RSA Two Factor Authentication VERSION: 1.0 UPDATED: MARCH 2014 Copyright 2002-2014 KEMP Technologies, Inc. All Rights Reserved. Page 1 / 16 Copyright Notices Copyright 2002-2014 KEMP Technologies, Inc..

More information

ESMO ONLINE EVENT REGISTRATION INSTRUCTION REGISTER YOURSELF

ESMO ONLINE EVENT REGISTRATION INSTRUCTION REGISTER YOURSELF ESMO ONLINE EVENT REGISTRATION INSTRUCTION REGISTER YOURSELF INDEX Preliminary information Registration requirements... Page 2 Individual registration 1. Account with ESMO... Page 3 2. Login into your

More information

TeamViewer 9 Manual Management Console

TeamViewer 9 Manual Management Console TeamViewer 9 Manual Management Console Rev 9.2-07/2014 TeamViewer GmbH Jahnstraße 30 D-73037 Göppingen www.teamviewer.com Table of Contents 1 About the TeamViewer Management Console... 4 1.1 About the

More information

Hyper V Windows 2012 and 8. Virtual LoadMaster for Microsoft Hyper V on Windows Server 2012, 2012 R2 and Windows 8. Installation Guide

Hyper V Windows 2012 and 8. Virtual LoadMaster for Microsoft Hyper V on Windows Server 2012, 2012 R2 and Windows 8. Installation Guide Virtual LoadMaster for Microsoft Hyper V on Windows Server 2012, 2012 R2 and Windows 8 Installation Guide VERSION: 3.0 UPDATED: SEPTEMBER 2015 Copyright Notices Copyright 2002 2015 KEMP Technologies, Inc..

More information

Content Management System

Content Management System Content Management System XT-CMS INSTALL GUIDE Requirements The cms runs on PHP so the host/server it is intended to be run on should ideally be linux based with PHP 4.3 or above. A fresh install requires

More information

STABLE & SECURE BANK lab writeup. Page 1 of 21

STABLE & SECURE BANK lab writeup. Page 1 of 21 STABLE & SECURE BANK lab writeup 1 of 21 Penetrating an imaginary bank through real present-date security vulnerabilities PENTESTIT, a Russian Information Security company has launched its new, eighth

More information

smtp-user-enum User Documentation

smtp-user-enum User Documentation smtp-user-enum User Documentation [email protected] 21 January 2007 Contents 1 Overview 2 2 Installation 2 3 Usage 3 4 Some Examples 3 4.1 Using the SMTP VRFY Command................. 4 4.2

More information

SQL Injection. The ability to inject SQL commands into the database engine through an existing application

SQL Injection. The ability to inject SQL commands into the database engine through an existing application SQL Injection The ability to inject SQL commands into the database engine through an existing application 1 What is SQL? SQL stands for Structured Query Language Allows us to access a database ANSI and

More information

PHP Integration Kit. Version 2.5.1. User Guide

PHP Integration Kit. Version 2.5.1. User Guide PHP Integration Kit Version 2.5.1 User Guide 2012 Ping Identity Corporation. All rights reserved. PingFederate PHP Integration Kit User Guide Version 2.5.1 December, 2012 Ping Identity Corporation 1001

More information

How To Create A Database Driven Website On A Computer Or Server Without A Database (Iis) Or A Password (Ict) On A Server (Iip) Or Password (Web) On An Anonymous Guestbook (Iit) On Your

How To Create A Database Driven Website On A Computer Or Server Without A Database (Iis) Or A Password (Ict) On A Server (Iip) Or Password (Web) On An Anonymous Guestbook (Iit) On Your Information and Communication Technologies Division Security Notes on Active Server Pages (ASP) and MS-SQL Server Integration Prepared by: Contributor: Reviewed: Richard Grime Chris Roberts Tom Weil Version:

More information

Manage2 API. by: J. Nick Koston

Manage2 API. by: J. Nick Koston Manage2 API by: J. Nick Koston Training Seminar 2006 Introduction! Hello, My name is Nick! This presentation is about the Manage2 API.! This also covers basic ideas behind our Manage2 system.! Our Manage2

More information

PaperCut Payment Gateway Module CommWeb Quick Start Guide

PaperCut Payment Gateway Module CommWeb Quick Start Guide PaperCut Payment Gateway Module CommWeb Quick Start Guide This guide is designed to supplement the Payment Gateway Module documentation and provides a guide to installing, setting up, and testing the Payment

More information

Event Manager. LANDesk Service Desk

Event Manager. LANDesk Service Desk Event Manager LANDesk Service Desk LANDESK SERVICE DESK EVENT MANAGER GUIDE This document contains information that is the proprietary and confidential property of LANDesk Software, Inc. and/or its affiliated

More information

How Configuration Management Tools Address the Challenges of Configuration Management

How Configuration Management Tools Address the Challenges of Configuration Management Streamlining Configuration Management The Essentials Series How Configuration Management Tools Address the Challenges of Configuration Management sponsored by Introduction to Realtime Publishers by Don

More information

The Social Accelerator Setup Guide

The Social Accelerator Setup Guide The Social Accelerator Setup Guide Welcome! Welcome to the Social Accelerator setup guide. This guide covers 2 ways to setup SA. Most likely, you will want to use the easy setup wizard. In that case, you

More information

Getting Started with Dynamic Web Sites

Getting Started with Dynamic Web Sites PHP Tutorial 1 Getting Started with Dynamic Web Sites Setting Up Your Computer To follow this tutorial, you ll need to have PHP, MySQL and a Web server up and running on your computer. This will be your

More information

Role Based Access Control. Using PHP Sessions

Role Based Access Control. Using PHP Sessions Role Based Access Control Using PHP Sessions Session Developed in PHP to store client data on the web server, but keep a single session ID on the client machine (cookie) The session ID : identifies the

More information

How To Use The Correlog With The Cpl Powerpoint Powerpoint Cpl.Org Powerpoint.Org (Powerpoint) Powerpoint (Powerplst) And Powerpoint 2 (Powerstation) (Powerpoints) (Operations

How To Use The Correlog With The Cpl Powerpoint Powerpoint Cpl.Org Powerpoint.Org (Powerpoint) Powerpoint (Powerplst) And Powerpoint 2 (Powerstation) (Powerpoints) (Operations orrelog SQL Table Monitor Adapter Users Manual http://www.correlog.com mailto:[email protected] CorreLog, SQL Table Monitor Users Manual Copyright 2008-2015, CorreLog, Inc. All rights reserved. No part

More information

CS 145: NoSQL Activity Stanford University, Fall 2015 A Quick Introdution to Redis

CS 145: NoSQL Activity Stanford University, Fall 2015 A Quick Introdution to Redis CS 145: NoSQL Activity Stanford University, Fall 2015 A Quick Introdution to Redis For this assignment, compile your answers on a separate pdf to submit and verify that they work using Redis. Installing

More information

Caché License Management

Caché License Management Caché License Management Version 5.0.17 30 June 2005 InterSystems Corporation 1 Memorial Drive Cambridge MA 02142 www.intersystems.com Caché License Management InterSystems Version 5.0.17 30 June 2005

More information

Minecraft Server Dashboard Users Guide

Minecraft Server Dashboard Users Guide Minecraft Server Dashboard Users Guide navhaxs Minecraft Server Dashboard simplifies your server management experience by replacing all the manual editing of configuration files and console commands with

More information

Database Security. Principle of Least Privilege. DBMS Security. IT420: Database Management and Organization. Database Security.

Database Security. Principle of Least Privilege. DBMS Security. IT420: Database Management and Organization. Database Security. Database Security Rights Enforced IT420: Database Management and Organization Database Security Textbook: Ch 9, pg 309-314 PHP and MySQL: Ch 9, pg 217-227 Database security - only authorized users can

More information

Centova Cast. Reseller Usage Guide. Published May 04, 2015 Copyright 2015, Centova Technologies Inc. Centova Technologies Inc. www.centova.

Centova Cast. Reseller Usage Guide. Published May 04, 2015 Copyright 2015, Centova Technologies Inc. Centova Technologies Inc. www.centova. Centova Cast Reseller Usage Guide Published May 04, 2015 Copyright 2015, Centova Technologies Inc. Centova Technologies Inc. www.centova.com Contents 1 Introduction 2 2 Installing and Upgrading Centova

More information

Basics Series-4006 Email Basics Version 9.0

Basics Series-4006 Email Basics Version 9.0 Basics Series-4006 Email Basics Version 9.0 Information in this document is subject to change without notice and does not represent a commitment on the part of Technical Difference, Inc. The software product

More information

5. At the Windows Component panel, select the Internet Information Services (IIS) checkbox, and then hit Next.

5. At the Windows Component panel, select the Internet Information Services (IIS) checkbox, and then hit Next. Installing IIS on Windows XP 1. Start 2. Go to Control Panel 3. Go to Add or RemovePrograms 4. Go to Add/Remove Windows Components 5. At the Windows Component panel, select the Internet Information Services

More information

uniting brand & personality, by design. email campaigns made easy...

uniting brand & personality, by design. email campaigns made easy... uniting brand & personality, by design. email campaigns made easy... why? It delivers results - Email marketing returns more than double the average return for other forms of online marketing and more

More information

Linux Syslog Messages in IBM Director

Linux Syslog Messages in IBM Director Ever want those pesky little Linux syslog messages (/var/log/messages) to forward to IBM Director? Well, it s not built in, but it s pretty easy to setup. You can forward syslog messages from an IBM Director

More information

Dell World Software User Forum 2013

Dell World Software User Forum 2013 Dell World User Forum 2013 December 9-12 Austin, TX K1000 Service Desk Advanced Gerald Gillespie & John Verbosky A Typical Day in Corporate America 2 A funny thing happened to me on the way Mary in IT

More information

How-To: MySQL as a linked server in MS SQL Server

How-To: MySQL as a linked server in MS SQL Server How-To: MySQL as a linked server in MS SQL Server 1 Introduction... 2 2 Why do I want to do this?... 3 3 How?... 4 3.1 Step 1: Create table in SQL Server... 4 3.2 Step 2: Create an identical table in MySQL...

More information

Digger Solutions. Intranet Open Source. Administrator s Guide

Digger Solutions. Intranet Open Source. Administrator s Guide Digger Solutions Intranet Open Source Administrator s Guide Hello and welcome to your new Intranet! Welcome to Digger Solutions Intranet Open Source. If you have any questions please review the product

More information

UltraLog HSPI User s Guide

UltraLog HSPI User s Guide UltraLog HSPI User s Guide A HomeSeer HS2 plug-in to store and retrieve HomeSeer and syslog events Copyright 2013 [email protected] Revised 01/27/2013 This document contains proprietary and copyrighted

More information

Nokia for Business. Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation

Nokia for Business. Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation Nokia for Business Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation Nokia E50 Legal Notice Copyright Nokia 2006. All rights reserved. Reproduction, transfer, distribution

More information

Business Portal for Microsoft Dynamics GP. Project Time and Expense Administrator s Guide Release 10.0

Business Portal for Microsoft Dynamics GP. Project Time and Expense Administrator s Guide Release 10.0 Business Portal for Microsoft Dynamics GP Project Time and Expense Administrator s Guide Release 10.0 Copyright Copyright 2007 Microsoft Corporation. All rights reserved. Complying with all applicable

More information

Who s Doing What? Analyzing Ethernet LAN Traffic

Who s Doing What? Analyzing Ethernet LAN Traffic by Paul Barry, [email protected] Abstract A small collection of Perl modules provides the basic building blocks for the creation of a Perl-based Ethernet network analyzer. I present a network analyzer

More information

Hands-On UNIX Exercise:

Hands-On UNIX Exercise: Hands-On UNIX Exercise: This exercise takes you around some of the features of the shell. Even if you don't need to use them all straight away, it's very useful to be aware of them and to know how to deal

More information

SQL Server. SQL Server 100 Most Asked Questions: Best Practices guide to managing, mining, building and developing SQL Server databases

SQL Server. SQL Server 100 Most Asked Questions: Best Practices guide to managing, mining, building and developing SQL Server databases SQL Server SQL Server 100 Most Asked Questions: Best Practices guide to managing, mining, building and developing SQL Server databases SQL Server 100 Success Secrets Copyright 2008 Notice of rights All

More information

Release Notes LS Retail Data Director 3.01.04 August 2011

Release Notes LS Retail Data Director 3.01.04 August 2011 Release Notes LS Retail Data Director 3.01.04 August 2011 Copyright 2010-2011, LS Retail. All rights reserved. All trademarks belong to their respective holders. Contents 1 Introduction... 1 1.1 What s

More information

Drupal + Formulize. A Step-by-Step Guide to Integrating Drupal with XOOPS/ImpressCMS, and installing and using the Formulize module

Drupal + Formulize. A Step-by-Step Guide to Integrating Drupal with XOOPS/ImpressCMS, and installing and using the Formulize module Drupal + Formulize A Step-by-Step Guide to Integrating Drupal with XOOPS/ImpressCMS, and installing and using the Formulize module May 16, 2007 Updated December 23, 2009 This document has been prepared

More information

ER/Studio 8.0 New Features Guide

ER/Studio 8.0 New Features Guide ER/Studio 8.0 New Features Guide Copyright 1994-2008 Embarcadero Technologies, Inc. Embarcadero Technologies, Inc. 100 California Street, 12th Floor San Francisco, CA 94111 U.S.A. All rights reserved.

More information

An Introduction to Developing ez Publish Extensions

An Introduction to Developing ez Publish Extensions An Introduction to Developing ez Publish Extensions Felix Woldt Monday 21 January 2008 12:05:00 am Most Content Management System requirements can be fulfilled by ez Publish without any custom PHP coding.

More information

A Manual on use of ABCD central and VHL-Site modules for Developing Library Information Discovery and Information Literacy Tools

A Manual on use of ABCD central and VHL-Site modules for Developing Library Information Discovery and Information Literacy Tools A Manual on use of ABCD central and VHL-Site modules for Developing Library Information Discovery and Information Literacy Tools By Arnold M. Mwanzu From Kenya: United States International University-Africa

More information

Mashup Sites for SharePoint 2007 Authentication Guide. Version 3.1.1

Mashup Sites for SharePoint 2007 Authentication Guide. Version 3.1.1 Mashup Sites for SharePoint 2007 Authentication Guide Version 3.1.1 Copyright Copyright 2010-2011, JackBe Corp. and its affiliates. All rights reserved. Terms of Use This documentation may be printed and

More information

Web Applications Security: SQL Injection Attack

Web Applications Security: SQL Injection Attack Web Applications Security: SQL Injection Attack S. C. Kothari CPRE 556: Lecture 8, February 2, 2006 Electrical and Computer Engineering Dept. Iowa State University SQL Injection: What is it A technique

More information

Integration Guide. SafeNet Authentication Service. Using SAS as an Identity Provider for Drupal

Integration Guide. SafeNet Authentication Service. Using SAS as an Identity Provider for Drupal SafeNet Authentication Service Integration Guide Technical Manual Template Release 1.0, PN: 000-000000-000, Rev. A, March 2013, Copyright 2013 SafeNet, Inc. All rights reserved. 1 Document Information

More information

Virtual Contact Center

Virtual Contact Center Virtual Contact Center MS Dynamics CRM Integration Configuration Guide Version 7.0 Revision 1.0 Copyright 2012, 8x8, Inc. All rights reserved. This document is provided for information purposes only and

More information

Active Directory Recovery: What It Is, and What It Isn t

Active Directory Recovery: What It Is, and What It Isn t Active Directory Recovery: What It Is, and What It Isn t Abstract Does your Active Directory recovery plan address all of the most common failure scenarios? This white paper explains how to handle each

More information

Please note that a username and password will be made available upon request. These are necessary to transfer files.

Please note that a username and password will be made available upon request. These are necessary to transfer files. Transferring Data Using Secure File Transfer Process ASU Center for Health Information and Research (CHiR) data partners can now securely electronically send their data submissions by means of Secure File

More information

Databases and SQL. The Bioinformatics Lab SS 2013 - Wiki topic 10. Tikira Temu. 04. June 2013

Databases and SQL. The Bioinformatics Lab SS 2013 - Wiki topic 10. Tikira Temu. 04. June 2013 Databases and SQL The Bioinformatics Lab SS 2013 - Wiki topic 10 Tikira Temu 04. June 2013 Outline 1 Database system (DBS) Definition DBS Definition DBMS Advantages of a DBMS Famous DBMS 2 Some facts about

More information

HELP DESK MANUAL INSTALLATION GUIDE

HELP DESK MANUAL INSTALLATION GUIDE Help Desk 6.5 Manual Installation Guide HELP DESK MANUAL INSTALLATION GUIDE Version 6.5 MS SQL (SQL Server), My SQL, and MS Access Help Desk 6.5 Page 1 Valid as of: 1/15/2008 Help Desk 6.5 Manual Installation

More information

Log Insight Manager. Deployment Guide

Log Insight Manager. Deployment Guide Log Insight Manager Deployment Guide VERSION: 3.0 UPDATED: OCTOBER 2015 Copyright Notices Copyright 2002-2015 KEMP Technologies, Inc.. All rights reserved.. KEMP Technologies and the KEMP Technologies

More information

Upgrading from VAM/SQL MS303 to VAM/SQL MS401

Upgrading from VAM/SQL MS303 to VAM/SQL MS401 Upgrading from VAM/SQL MS303 to VAM/SQL MS401 First Release: April, 1999 The information contained in this document represents the current view of AccountMate Software Corporation on the issues discussed

More information

How To Protect Your Active Directory (Ad) From A Security Breach

How To Protect Your Active Directory (Ad) From A Security Breach Securing Active Directory: An Ounce of Prevention or a Pound of Cure? Abstract This technical brief reviews three tasks that should be a part of your proactive Active Directory (AD) security routine: Establishing

More information

Questions that Ask Us 24/7 Public Librarians are hesitant to answer

Questions that Ask Us 24/7 Public Librarians are hesitant to answer Questions that Ask Us 24/7 Public Librarians are hesitant to answer Math Possible sites to help: Wolfram Alpha for Educators: http://www.wolframalpha.com/educators/lessonplans.html Wolfram Alpha Blog,

More information

Shopping Cart Manual. Written by Shawn Xavier Mendoza

Shopping Cart Manual. Written by Shawn Xavier Mendoza Shopping Cart Manual Written by Shawn Xavier Mendoza Table of Contents 1 Disclaimer This manual assumes that you are using Wix.com for website creation, and so this method may not work for all other online

More information

smarshencrypt User s Guide

smarshencrypt User s Guide Versions Addressed: smarshencrypt 2.0 Document Updated: 7/30/2010 Copyright 2010 Smarsh, Inc. All rights Purpose: This document will guide the end user in receiving and viewing smarshencrypt secure messages.

More information

Best Practices for Log File Management (Compliance, Security, Troubleshooting)

Best Practices for Log File Management (Compliance, Security, Troubleshooting) Log Management: Best Practices for Security and Compliance The Essentials Series Best Practices for Log File Management (Compliance, Security, Troubleshooting) sponsored by Introduction to Realtime Publishers

More information

High Availability Setup Guide

High Availability Setup Guide High Availability Setup Guide Version: 9.0 Released: March 2015 Companion Guides: The UniPrint Infinity Administrator s Guide, Cluster Guide and Mobile Setup Guide can be found online for your convenience

More information

How To Send Your Email Newsletter

How To Send Your Email Newsletter How To Send Your Email Newsletter You can manage email contacts and send your email newsletter through our proprietary email system called the ONLINE MARKETING CENTER. On the next few pages of this guide

More information

How To Set Up Total Recall Web On A Microsoft Memorybook 2.5.2.2 (For A Microtron)

How To Set Up Total Recall Web On A Microsoft Memorybook 2.5.2.2 (For A Microtron) Total Recall Web Web Module Manual and Customer Quick Reference Guides COPYRIGHT NOTICE Copyright 1994-2009 by DHS Associates, Inc. All Rights Reserved. All TOTAL RECALL, TOTAL RECALL SQL, TOTAL RECALL

More information

Admin Reference Guide. PinPoint Document Management System

Admin Reference Guide. PinPoint Document Management System Admin Reference Guide PinPoint Document Management System 1 Contents Introduction... 2 Managing Departments... 3 Managing Languages... 4 Managing Users... 5 Managing User Groups... 7 Managing Tags... 9

More information

Klarna Magento module

Klarna Magento module Klarna Magento module User guide Payment module version: 5.x.+ User guide 1.0 Revision: 1.1 Table of Contents User guide Welcome to Klarna How do you benefit? What is Klarna s offering? Prerequisites Before

More information

An Oracle White Paper June 2014. RESTful Web Services for the Oracle Database Cloud - Multitenant Edition

An Oracle White Paper June 2014. RESTful Web Services for the Oracle Database Cloud - Multitenant Edition An Oracle White Paper June 2014 RESTful Web Services for the Oracle Database Cloud - Multitenant Edition 1 Table of Contents Introduction to RESTful Web Services... 3 Architecture of Oracle Database Cloud

More information

PuTTY/Cygwin Tutorial. By Ben Meister Written for CS 23, Winter 2007

PuTTY/Cygwin Tutorial. By Ben Meister Written for CS 23, Winter 2007 PuTTY/Cygwin Tutorial By Ben Meister Written for CS 23, Winter 2007 This tutorial will show you how to set up and use PuTTY to connect to CS Department computers using SSH, and how to install and use the

More information

Enforcive / Enterprise Security

Enforcive / Enterprise Security TM Enforcive / Enterprise Security End to End Security and Compliance Management for the IBM i Enterprise Enforcive / Enterprise Security is the single most comprehensive and easy to use security and compliance

More information

We begin with a number of definitions, and follow through to the conclusion of the installation.

We begin with a number of definitions, and follow through to the conclusion of the installation. Owl-Hosted Server Version 0.9x HOW TO Set up Owl using cpanel Introduction Much of the documentation for the installation of Owl Intranet Knowledgebase assumes a knowledge of servers, and that the installation

More information

Parcelhub - Linnworks Custom Courier Integration Script

Parcelhub - Linnworks Custom Courier Integration Script Parcelhub - Linnworks Custom Courier Integration Script What is it? When an order is processed using Linnworks, Linnworks has the ability to book a shipment and print shipping labels for that order. Linnworks

More information

Deltek Touch Time & Expense for GovCon. User Guide for Triumph

Deltek Touch Time & Expense for GovCon. User Guide for Triumph Deltek Touch Time & Expense for GovCon User Guide for Triumph November 25, 2014 While Deltek has attempted to verify that the information in this document is accurate and complete, some typographical or

More information

Installation and Administration Guide

Installation and Administration Guide Installation and Administration Guide Release 8 This installation guide will walk you through how to install and deploy Conga Composer, including recommended settings for the application. Contact Support:

More information

on-hand viewer on iphone / ipod touch manual installation and configuration of an FTP server for Mac OS X to transfer data to on-hand viewer application on iphone / ipod touch table of contents 1. Introduction

More information