~evarlast/ubuntu/utopic/mongodb/upstart-workaround-debian-bug-718702

« back to all changes in this revision

Viewing changes to jstests/ssl/ssl_cert_password.js

  • Committer: Package Import Robot
  • Author(s): James Page, James Page, Robie Basak
  • Date: 2013-05-29 17:44:42 UTC
  • mfrom: (44.1.7 sid)
  • Revision ID: package-import@ubuntu.com-20130529174442-z0a4qmoww4y0t458
Tags: 1:2.4.3-1ubuntu1
[ James Page ]
* Merge from Debian unstable, remaining changes:
  - Enable SSL support:
    + d/control: Add libssl-dev to BD's.
    + d/rules: Enabled --ssl option.
    + d/mongodb.conf: Add example SSL configuration options.
  - d/mongodb-server.mongodb.upstart: Add upstart configuration.
  - d/rules: Don't strip binaries during scons build for Ubuntu.
  - d/control: Add armhf to target archs.
  - d/p/SConscript.client.patch: fixup install of client libraries.
  - d/p/0010-install-libs-to-usr-lib-not-usr-lib64-Closes-588557.patch:
    Install libraries to lib not lib64.
* Dropped changes:
  - d/p/arm-support.patch: Included in Debian.
  - d/p/double-alignment.patch: Included in Debian.
  - d/rules,control: Debian also builds with avaliable system libraries
    now.
* Fix FTBFS due to gcc and boost upgrades in saucy:
  - d/p/0008-ignore-unused-local-typedefs.patch: Add -Wno-unused-typedefs
    to unbreak building with g++-4.8.
  - d/p/0009-boost-1.53.patch: Fixup signed/unsigned casting issue.

[ Robie Basak ]
* d/p/0011-Use-a-signed-char-to-store-BSONType-enumerations.patch: Fixup
  build failure on ARM due to missing signed'ness of char cast.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// Test passwords on private keys for SSL
 
2
// This tests that providing a proper password works and that providing no password or incorrect
 
3
// password fails.  It uses both mongod and mongo to run the tests, since the mongod binary
 
4
// does not return error statuses to indicate an error.
 
5
port = allocatePorts( 1 )[ 0 ];
 
6
var baseName = "jstests_ssl_ssl_cert_password";
 
7
var dbpath = "/data/db/" + baseName;
 
8
resetDbpath(dbpath);
 
9
 
 
10
// Password is correct
 
11
md = startMongod("--nopreallocj",
 
12
                 "--port", port, 
 
13
                 "--dbpath", dbpath, 
 
14
                 "--sslOnNormalPorts",
 
15
                 "--sslPEMKeyFile", "jstests/libs/password_protected.pem",
 
16
                 "--sslPEMKeyPassword", "qwerty");
 
17
// startMongod connects a Mongo shell, so if we get here, the test is successful.
 
18
 
 
19
 
 
20
 
 
21
 
 
22
// Password missing; error logged is:
 
23
//  error:0907B068:PEM routines:PEM_READ_BIO_PRIVATEKEY:bad password read
 
24
var md = runMongoProgram("mongo", "--port", port, 
 
25
                         "--ssl",
 
26
                         "--sslPEMKeyFile", "jstests/libs/password_protected.pem");
 
27
 
 
28
// 1 is the exit code for failure
 
29
assert(md==1);
 
30
 
 
31
 
 
32
 
 
33
// Password incorrect; error logged is:
 
34
//  error:06065064:digital envelope routines:EVP_DecryptFinal_ex:bad decrypt
 
35
md = runMongoProgram("mongo", "--port", port, 
 
36
                     "--ssl",
 
37
                     "--sslPEMKeyFile", "jstests/libs/password_protected.pem",
 
38
                     "--sslPEMKeyPassword", "barf");
 
39
 
 
40
// 1 is the exit code for failure
 
41
assert(md==1);
 
42
 
 
43
 
 
44
if (!_isWindows()) {
 
45
    // Stop the server
 
46
    var exitCode = stopMongod(port, 15);
 
47
    assert(exitCode == 0);
 
48
}