Commit graph

45 commits

Author SHA1 Message Date
Robin Sheat
4cbeeedbe8 Bug 6296: allow users to be authenticated by SSL client certs
This adds a new syspref: AllowPKIAuth. It can have one of three states:
* None
* Common Name
* emailAddress

If a) this is set to something that's not "None", and b) the webserver
is passing SSL client cert details on to Koha, then the relevant field
in the user's certificate will be matched up against the field in the
database and they will be automatically logged in. This is used as a
secure form of single sign-on in some organisations.

The "Common Name" field is matched up against the userid, while
"emailAddress" is matched against the primary email.

This is an example of what might go in the Apache configuration for the
virtual host:

    #SSLVerifyClient require # only allow PKI authentication
    SSLVerifyClient optional
    SSLVerifyDepth 2
    SSLCACertificateFile /etc/apache2/ssl/test/ca.crt
    SSLOptions +StdEnvVars

The last line ensures that the required details are
passed to Koha.

To test the PKI authentication, use the following curl command:
    curl -k --cert client.crt --key client.key  https://URL/
(look through the output to find the "Welcome," line to indicate that a user
has been authenticated or the "Log in to Your Account" to indicate that a
user has not been authenticated)

To create the certificates needed for the above command, the following series
of commands will work:
    # Create the CA Key and Certificate for signing Client Certs
    openssl genrsa -des3 -out ca.key 4096
    openssl req -new -x509 -days 365 -key ca.key -out ca.crt
    # This is the ca.crt file that the Apache config needs to know about,
    # so put the file at /etc/apache2/ssl/test/ca.crt

    # Create the Server Key, CSR, and Certificate
    openssl genrsa -des3 -out server.key 1024
    openssl req -new -key server.key -out server.csr

    # We're self signing our own server cert here.  This is a no-no in
    # production.
    openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key \
        -set_serial 01 -out server.crt

    # Create the Client Key and CSR
    openssl genrsa -des3 -out client.key 1024
    openssl req -new -key client.key -out client.csr

    # Sign the client certificate with our CA cert. Unlike signing our own
    # server cert, this is what we want to do.
    openssl x509 -req -days 365 -in client.csr -CA ca.crt -CAkey ca.key \
        -set_serial 02 -out client.crt
    openssl pkcs12 -export -in client.crt -inkey client.key -out client.p12
    # In theory we can install this client.p12 file in Firefox or Chrome, but
    # the exact steps for doing so are unclear, and outside the scope of this
    # patch

Signed-off-by: Jared Camins-Esakov <jcamins@cpbibliography.com>
Tested with Common Name and E-mail authentication, as well as with PKI
authentication disabled. Regular logins continue to work in all cases when
SSL authentication is set to optional on the server.

Signed-off-by: Ian Walls <koha.sekjal@gmail.com>
QA comment: synchronized updatedatabase.pl version of syspref with sysprefs.sql
version, to avoid divergent databases between new and upgrading users.
2012-03-19 17:02:44 +01:00
7fcff602f5 Bug 7113: Standardize vendor id name in templates and scripts
New revision updates for current master and cleans up new
instances introduced by recent commits.

Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de>
2 problems found, fixing those in follo up patches:
- late orders don't allow more than 1 order to be selected
- basketgroups: 'Edit vendor' does the same as 'Manage orders'
2012-02-17 19:04:00 +01:00
Paul Poulain
f961638465 Bug 5473 follow-up : removed warn & replace some tabs by 4 spaces 2012-01-20 16:30:48 +01:00
Srdjan Jankovic
92ca5a13e5 bug_5473: Update items when receiving shipments
Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com>

Tested by recieving multiple items with the AcqCreateItem
preference set to 'placing and order' and 'receiving an item'
In both cases the pricing and vendor is brought over to the
item record so I'm signing off.

Signed-off-by: Paul Poulain <paul.poulain@biblibre.com>
2012-01-20 15:43:11 +01:00
Lars Wirzenius
5f69c342de Fix FSF address in directory acqui/
Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-03-16 20:17:51 -04:00
Paul Poulain
452c0ab719 MT2716: fixing finishreceive.pl Software Error
finishreceive.pl was buggy when AcqCreateItem was set to recieve (wrong API)

Signed-off-by: Galen Charlton <gmcharlt@gmail.com>
2010-02-17 07:49:08 -05:00
Henri-Damien LAURENT
a9ae673ba1 followup finishreceive.pl 2009-11-19 17:34:27 +01:00
Henri-Damien LAURENT
1ec6e3df73 Change in API : ordnum becomes ordernumber 2009-10-30 00:30:47 +01:00
Paul Poulain
9308599dee merge fix : recieving 2009-09-30 11:30:26 +02:00
Paul Poulain
1247509b2a finishreceive
* deal with granular perms
* deal with AddItem syspref
* fix a little bit API & variable names
2009-09-30 11:30:19 +02:00
Joe Atzberger
403e96c69b perltidy finishreceive.pl and two comments added
Signed-off-by: Galen Charlton <galen.charlton@liblime.com>
2009-04-08 12:30:57 -05:00
Paul POULAIN
0f568a8aff fix for #2440 : acquisition recieve & item creation
It has to be reintroduced, as some (most in France) libraries don't create
items on recieve, but after "equipment" step.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-08-08 15:09:22 -05:00
Ryan Higgins
0d7265bd73 Populate items.cn_source in acq receive. However, items.cn_sort is not calculated. See bug 2403.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-07-27 06:05:22 -05:00
Ryan Higgins
fa28afba18 BUG 2351 : Add duplicate barcode check prior to receiving multiple items. This patch adds a javascript form check for duplicates in-form, and returns an error if there are duplicates in the catalog.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-07-27 06:05:18 -05:00
Ryan Higgins
0bb91c1624 Bug 2351 : Receive acqui order was not incrementing loop counter when saving multiple items.
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-07-15 09:58:36 -05:00
Paul POULAIN
f0deb12b78 (bugfix, CRI) Permission needed is acquisition, not acquisitionS
+ i've added 'intranet' to reach intranet error page, not OPAC one (which is the default when no type specified)

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-05-13 17:40:26 -05:00
Galen Charlton
c6c8e80a73 start of BIB change -- introduce C4::Items
Introduced C4::Items module to separate items API
from biblio API.  Details on changes will be
put in later commit messages.

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-03 16:23:12 -06:00
Ryan Higgins
97b907216b fix for bug 1723. no auth on finishreceive.pl
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-01 20:11:49 -06:00
Ryan Higgins
31ddb16fa2 Fix bug in ModReceiveOrder call
had been losing datereceived and replacementprice on modorder.

Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-01 18:42:48 -06:00
Ryan Higgins
52e1a15e5a Specify datereceived when receiving a new parcel.
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-01 18:42:47 -06:00
Ryan Higgins
b2f5cf3ad2 Further updates to acq, merging in dev_week mods.
Splitting orders now on receipt.
Many tmpl updates to pass correct values btwn scripts.

Signed-off-by: Joshua Ferraro <jmf@liblime.com>
2008-01-01 15:07:08 -06:00
tipaul
eba2552086 Code cleaning of Biblio.pm (continued)
All subs have be cleaned :
- removed useless
- merged some
- reordering Biblio.pm completly
- using only naming conventions

Seems to have broken nothing, but it still has to be heavily tested.
Note that Biblio.pm is now much more efficient than previously & probably more reliable as well.
2007-03-29 16:45:53 +00:00
tipaul
a481fad4b7 Code cleaning :
== Biblio.pm cleaning (useless) ==
* some sub declaration dropped
* removed modbiblio sub
* removed moditem sub
* removed newitems. It was used only in finishrecieve. Replaced by a Koha2Marc+AddItem, that is better.
* removed MARCkoha2marcItem
* removed MARCdelsubfield declaration
* removed MARCkoha2marcBiblio

== Biblio.pm cleaning (naming conventions) ==
* MARCgettagslib renamed to GetMarcStructure
* MARCgetitems renamed to GetMarcItem
* MARCfind_frameworkcode renamed to GetFrameworkCode
* MARCmarc2koha renamed to TransformMarcToKoha
* MARChtml2marc renamed to TransformHtmlToMarc
* MARChtml2xml renamed to TranformeHtmlToXml
* zebraop renamed to ModZebra

== MARC=OFF ==
* removing MARC=OFF related scripts (in cataloguing directory)
* removed checkitems (function related to MARC=off feature, that is completly broken in head. If someone want to reintroduce it, hard work coming...)
* removed getitemsbybiblioitem (used only by MARC=OFF scripts, that is removed as well)
2007-03-29 13:30:31 +00:00
tipaul
2ffd5b7228 rel_3_0 moved to HEAD 2007-03-09 14:28:54 +00:00
tgarip1957
3818a8dc38 A new acquisition to handle different tax values to each item, receiving multiple baskets as one parcel, stricter rules for biblio and item creation 2006-09-20 21:44:36 +00:00
toins
0554a91421 Some SQL code moved into Acquisition.pm 2006-08-01 15:04:33 +00:00
toins
7181726db0 Fix some broken links & renamed some function.
FIXME : Where is finishreceive.tmpl ?
2006-08-01 08:33:11 +00:00
sushi
7bd1980eca Merging Katipo changes.
call to receiveorder() now takes $bookfund as arg.
Mason's ACQ fixes from HLT-DEV , work in progress
Added regex to convert & to %26 before redirect to receive.pl.
Now has error alert for blank barcode field, and little tidyup.
finishreceive.pl now updates aqorder table's order record with lastest added biblioitem for that order, so ordersearch() now returns the acq-orders most recently created bibitem info, instead of the initally created biblitem info.
Now redirects back to acquire.pl if barcode exists or newitems() fails.
Now allows user to create a new biblioitem/item using a checkbox.
Adding option so magazines make new biblioitems as well as items - in testing stage
adding in the update for the replacement cost on the item table when editing a received order via
adding a bit to allow hlt to edit received order bit and not fail on duplicate barcode
added elsif to handle dup barcode error.
Fix to handle dup barcodes for newitem(), displays error the goes back to acquire.pl.
Now checks to see if newly created item is currently reserved.
Fix for the receive periodicals bit
Catching any errors when making items
More bugfixing this time a bug not saving volume info
Fix for bug 3529, allow freight to be distributed among the items
Now saves modified fields.
2006-06-07 03:47:50 +00:00
tipaul
92b914b394 fix to calculate item cost (the / was buggy : everywhere else there is the price is the unit price) 2004-09-14 12:32:13 +00:00
tipaul
cfa9223cd1 * updates to make acquisition compatible with suggestions & serials
* changes to use supplierid instead of id, that's easier to read.
2004-08-12 14:35:22 +00:00
tipaul
6376aa4326 catalogue.pm deals only with acquisitions.
so, renaming it...
catalogue management is done in Biblio.pm package
2004-07-13 12:52:13 +00:00
tipaul
323642f5a1 all those fixes are related to translation improvement.
A few minor bugfixes too in perl code.

NOTE TO ENGLISH "TEMPLATORS" : you should look at this commits, as some ideas are really nice.  Thanks to Carole, Wesford School, new Koha user in France :-)
2003-09-18 10:19:28 +00:00
tipaul
05e5034932 bugfixes + adding buttons to switch between normal and MARC view of a record 2003-03-07 16:34:04 +00:00
tipaul
8dd5bb69de bugfixes. seems to work better.
NOTES to 1.2 managers : the 1.2 seems to have problems too :
* when finishrecieve is called, the booksellerid is lost, and you arrive to the "recieve.pl" again, it's with the 1st bookseller from the DB.
* under certain circunstances, the invoice # is lost, and ALL lines from the bookseller are shown. this strange behaviour is fixed too in this commit
2003-03-03 17:35:29 +00:00
tipaul
dc1cf5f163 road to 1.9.2 :
* finishing templating acquisition
* first step to acquisition/cataloguing merging.

show no errors, but seems a little buggy (order counter wrong, problem at end of acquisition process...)
2003-02-27 16:54:10 +00:00
arensb
eff606ba56 Replaced expressions of the form "$x = $x <op> $y" with "$x <op>= $y".
Thus, $x = $x+2 becomes $x += 2, and so forth.
2002-10-13 11:32:14 +00:00
arensb
a9e5b8bb76 Added a FIXME comment. 2002-10-13 06:30:01 +00:00
tipaul
5daa177422 long is the road to 1.4.0
* MARCadditem and MARCmoditem now works
* various bugfixes in MARC management
!!! 1.3.0 should be released very soon now. Be careful !!!
2002-09-20 13:01:50 +00:00
tonnesen
1e67687742 Added copyright statement to all .pl and .pm files 2002-08-14 18:12:50 +00:00
tipaul
528f1b2b80 Long is the road to MARC..
Not related to MARC :
* removed HLT- empty link when no basket for a supplier (should be useful to copy this into rel-1-2 i think)
* fixed some "use of uninitialized value"
related to MARC
* changed use Acquisition to use Catalogue, new package for MARC management

For instance, nothing is done to MARC DB, but structure is modified (see Biblio.pm for details), and everything seems to work : it's still possible to use acqui, and it fills old-DB pretty good.

WARNING : if you work on main trunk, please note Acquisition.pm is NO MORE USED in /acqui/ system. Every sub in Acquisition.pm has been moved to Biblio.pm or Catalogue.pm.
2002-07-04 15:53:02 +00:00
truth_nz
7ae8f46a85 Patch to acqui system to use new newbiblioitem() parameters 2002-05-15 02:22:24 +00:00
truth_nz
0747fb1fbb Changes to allow modifications to the website biblioitems
Changes to way that website biblioitems are shown on the details page
2002-05-12 18:08:17 +00:00
truth_nz
cec2db30ea Update to catalogue to allow change of biblio abstracts.
Related modifications to acqui system to match changes in Acquisition.pm
detail.pm changed to show abstract - still working on how to show url's
2002-05-09 03:01:40 +00:00
truth_nz
47c18cfcdc Modifications for new acqui.simple
Database includes new biblio abstract field and biblioitem url field
acqui/finishreceive.pl modified to use changed C4/Acquisitions.pm
2002-04-29 05:25:41 +00:00
rangi
d0374d0037 Initial revision 2000-12-19 23:45:51 +00:00