pdf viewer for asp.net web application : Add image to pdf online software control cloud windows web page winforms class postgresql-9.4-A4293-part2938

Appendix F. Additional Supplied Modules
F.34.4. GUC Parameters
sepgsql.permissive
(
boolean
)
This parameter enables
sepgsql
to function in permissive mode, regardless of the system set-
ting. The default is off. This parameter can only be set in the
postgresql.conf
file or on the
server command line.
When this parameter is on,
sepgsql
functions in permissive mode, even if SELinux in general
is working in enforcingmode. This parameter is primarily useful for testing purposes.
sepgsql.debug_audit
(
boolean
)
This parameter enables the printing of audit messages regardless of the system policy settings.
The default is off, which means that messages will be printed according to the system settings.
The security policy of SELinux also has rules to control whether or not particular accesses are
logged. By default, access violations are logged, but allowed accesses are not.
This parameter forces all possible loggingto be turned on, regardless of the system policy.
F.34.5. Features
F.34.5.1. Controlled Object Classes
The securitymodelof SELinuxdescribesalltheaccess control rules as relationships betweenasubject
entity (typically, a client of the database) and an object entity (such as a database object), each of
which is identified by a security label. If access to an unlabeled object is attempted, the object is
treated as if it were assigned the label
unlabeled_t
.
Currently,
sepgsql
allows security labels to be assigned to schemas, tables, columns, sequences,
views, andfunctions. When
sepgsql
is inuse, security labelsareautomaticallyassigned to supported
database objects atcreation time. This labelis called a defaultsecuritylabel, and is decided according
to the system security policy, which takes as input the creator’s label, the label assigned to the new
object’s parent object and optionally name of the constructed object.
Anew database object basically inherits the security label of the parent object, except when the
security policy has special rules known as type-transition rules, in which case a different label may
be applied. For schemas, the parent object is the current database; for tables, sequences, views, and
functions, it is the containing schema; for columns, it is the containingtable.
F.34.5.2. DML Permissions
For tables,
db_table:select
,
db_table:insert
,
db_table:update
or
db_table:delete
are checked for all the referenced target tables depending on the kind of statement; in addition,
db_table:select
is also checked for all the tables that contain columns referenced in the
WHERE
or
RETURNING
clause, as a data source for
UPDATE
,and so on.
Column-level permissions will also be checked for each referenced column.
db_column:select
is
checked on not only the columns being read using
SELECT
,but those being referencedin other DML
statements;
db_column:update
or
db_column:insert
will also be checked for columns being
modified by
UPDATE
or
INSERT
.
For example, consider:
UPDATE t1 SET x = 2, y = md5sum(y) WHERE z = 100;
2858
Add image to pdf online - insert images into PDF in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Sample C# code to add image, picture, logo or digital photo into PDF document page using PDF page editor control
attach image to pdf form; add picture to pdf reader
Add image to pdf online - VB.NET PDF insert image library: insert images into PDF in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Guide VB.NET Programmers How to Add Images in PDF Document
add photo to pdf file; add jpg signature to pdf
Appendix F. Additional Supplied Modules
Here,
db_column:update
will be checked for
t1.x
, since it is being updated,
db_column:{select update}
will be checked for
t1.y
, since it is both updated and
referenced, and
db_column:select
will be checked for
t1.z
, since it is only referenced.
db_table:{select update}
will also be checked at the table level.
For sequences,
db_sequence:get_value
is checked when we reference a sequence object using
SELECT
;however, note that we do not currently check permissions on execution of corresponding
functions such as
lastval()
.
For views,
db_view:expand
will be checked, then any other required permissions will be checked
on the objects being expanded from the view, individually.
For functions,
db_procedure:{execute}
will be checked when user tries to execute a function
as a part of query, or using fast-path invocation. If this function is a trusted procedure, it also checks
db_procedure:{entrypoint}
permissiontocheckwhether it canperform as entrypointof trusted
procedure.
In order to access any schema object,
db_schema:search
permission is required on the containing
schema. When an object is referenced without schema qualification, schemas on which this permis-
sionis notpresentwill notbe searched (justas if theuser didnothave
USAGE
privilege on the schema).
If an explicit schemaqualification is present, an error will occur if the user does nothave the requisite
permission on the named schema.
The client must be allowed to access all referenced tables and columns, even if they originated from
views which were then expanded, so that we apply consistent access control rules independent of the
manner in which the table contents are referenced.
The default database privilege system allows database superusers to modify system catalogs us-
ing DML commands, and reference or modify toast tables. These operations are prohibited when
sepgsql
is enabled.
F.34.5.3. DDL Permissions
SELinux defines several permissions to control common operations for each object type; such as
creation, alter, drop and relabel of security label. In addition, several object types have special per-
missions to control their characteristic operations; such as addition or deletion of name entries within
aparticular schema.
Creatinga newdatabase object requires
create
permission. SELinux willgrant or deny this permis-
sion based on the client’s security label and the proposed security label for the new object. In some
cases, additional privileges are required:
CREATE DATABASE additionally requires
getattr
permission for the source or template
database.
Creating a schema object additionally requires
add_name
permission on the parent schema.
Creating a table additionally requires permission to create each individual table column, just as if
each table column were a separate top-level object.
Creating a function marked as
LEAKPROOF
additionally requires
install
permission. (This per-
mission is also checked when
LEAKPROOF
is set for an existing function.)
When
DROP
command is executed,
drop
will be checked on the object being removed. Permissions
will bealso checked for objects droppedindirectly via
CASCADE
.Deletionof objects containedwithin
aparticular schema (tables, views, sequences andprocedures) additionallyrequires
remove_name
on
the schema.
2859
C# PDF Image Extract Library: Select, copy, paste PDF images in C#
to edit, add, delete, move, and output PDF document image. Extract image from PDF free in .NET framework application with trial SDK components and online C#
pdf insert image; how to add a jpeg to a pdf file
VB.NET PDF Image Extract Library: Select, copy, paste PDF images
Online source codes for quick evaluation in VB.NET class. DLLs for PDF Image Extraction in VB.NET. Add necessary references: RasterEdge.Imaging.Basic.dll.
add jpeg signature to pdf; add photo to pdf preview
Appendix F. Additional Supplied Modules
When
ALTER
command is executed,
setattr
will be checked on the object being modified for each
object types, exceptfor subsidiary objects suchas the indexes or triggers of a table, where permissions
are instead checked on the parent object. In some cases, additional permissions are required:
Moving an object to a new schema additionally requires
remove_name
permission on the old
schema and
add_name
permission on the new one.
Setting the
LEAKPROOF
attribute on a function requires
install
permission.
Using SECURITY LABEL on an object additionally requires
relabelfrom
permission for the
object in conjunction with its old security label and
relabelto
permission for the object in con-
junction with its new security label. (In cases where multiple label providers are installed and the
user tries toset asecuritylabel, butitis notmanagedbySELinux, only
setattr
shouldbe checked
here. This is currently not done due to implementation restrictions.)
F.34.5.4. Trusted Procedures
Trusted procedures are similar to security definer functions or setuid commands. SELinux provides a
feature to allow trusted code to run using a security label different from that of the client, generally
for the purpose of providing highly controlled access to sensitive data (e.g. rows might be omitted, or
the precisionof storedvalues might bereduced). Whether or not afunction acts as a trusted procedure
is controlled by its security label and the operating system security policy. For example:
postgres=# CREATE TABLE customer (
cid
int primary key,
cname
text,
credit
text
);
CREATE TABLE
postgres=# SECURITY LABEL ON COLUMN customer.credit
IS ’system_u:object_r:sepgsql_secret_table_t:s0’;
SECURITY LABEL
postgres=# CREATE FUNCTION show_credit(int) RETURNS text
AS ’SELECT regexp_replace(credit, ”-[0-9]+$”, ”-xxxx”, ”g”)
FROM customer WHERE cid = $1’
LANGUAGE sql;
CREATE FUNCTION
postgres=# SECURITY LABEL ON FUNCTION show_credit(int)
IS ’system_u:object_r:sepgsql_trusted_proc_exec_t:s0’;
SECURITY LABEL
The above operations should be performed by an administrative user.
postgres=# SELECT
*
FROM customer;
ERROR:
SELinux: security policy violation
postgres=# SELECT cid, cname, show_credit(cid) FROM customer;
cid | cname
|
show_credit
-----+--------+---------------------
1 | taro
| 1111-2222-3333-xxxx
2 | hanako | 5555-6666-7777-xxxx
(2 rows)
In this case, a regular user cannot reference
customer.credit
directly, but a trusted procedure
show_credit
allows him to print the credit card numbers of customers with some of the digits
masked out.
2860
VB.NET PDF Password Library: add, remove, edit PDF file password
VB: Add Password to PDF with Permission Settings Applied. This VB.NET example shows how to add PDF file password with access permission setting.
how to add image to pdf in preview; acrobat insert image in pdf
VB.NET PDF- View PDF Online with VB.NET HTML5 PDF Viewer
RasterEdge. PRODUCTS: ONLINE DEMOS: Online HTML5 Document Viewer; Online XDoc.PDF PDF Image Extract; C# Write: Insert text into PDF; C# Write: Add Image to PDF;
adding an image to a pdf in acrobat; adding a png to a pdf
Appendix F. Additional Supplied Modules
F.34.5.5. Dynamic Domain Transitions
It is possible to use SELinux’s dynamic domain transition feature to switch the security label of the
client process, the client domain, to a new context, if that is allowed by the security policy. The
client domain needs the
setcurrent
permission and also
dyntransition
from the old to the new
domain.
Dynamic domain transitions should be considered carefully, because they allow users to switch their
label, and therefore their privileges, at their option, rather than (as in the case of a trusted procedure)
as mandated bythesystem. Thus, the
dyntransition
permission is onlyconsidered safe when used
to switch to a domain with a smaller set of privileges than the original one. For example:
regression=# select sepgsql_getcon();
sepgsql_getcon
-------------------------------------------------------
unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
(1 row)
regression=# SELECT sepgsql_setcon(’unconfined_u:unconfined_r:unconfined_t:s0-s0:c1.c4’);
sepgsql_setcon
----------------
t
(1 row)
regression=# SELECT sepgsql_setcon(’unconfined_u:unconfined_r:unconfined_t:s0-s0:c1.c1023’);
ERROR:
SELinux: security policy violation
Inthis example above wewere allowed to switchfrom the larger MCS range
c1.c1023
to the smaller
range
c1.c4
,but switching back was denied.
Acombination of dynamic domain transition and trusted procedure enables an interesting use case
thatfits thetypicalprocess life-cycle of connection poolingsoftware. Evenif your connection pooling
software is not allowedto runmostof SQL commands, you can allow it toswitch the securitylabel of
the client using the
sepgsql_setcon()
function from within a trusted procedure; that should take
somecredential to authorizethe request toswitch the client label. After that, this session willhave the
privileges of the target user, rather than the connection pooler. The connection pooler can later revert
the security label change by again using
sepgsql_setcon()
with
NULL
argument, again invoked
from within a trusted procedure with appropriate permissions checks. The point here is that only the
trusted procedure actually has permission to change the effective security label, and only does so
when given proper credentials. Of course, for secure operation, the credential store (table, procedure
definition, or whatever) must be protected from unauthorized access.
F.34.5.6. Miscellaneous
We reject the LOAD command across the board, because any module loaded couldeasily circumvent
security policy enforcement.
F.34.6. Sepgsql Functions
Table F-27 shows the available functions.
2861
C# HTML5 PDF Viewer SDK to view PDF document online in C#.NET
RasterEdge. PRODUCTS: ONLINE DEMOS: Online HTML5 Document Viewer; Online XDoc.PDF PDF Image Extract; C# Write: Insert text into PDF; C# Write: Add Image to PDF;
add photo to pdf online; add multiple jpg to pdf
C# PDF Password Library: add, remove, edit PDF file password in C#
in C#.NET framework. Support to add password to PDF document online or in C#.NET WinForms for PDF file protection. Able to create a
how to add an image to a pdf; adding an image to a pdf
Appendix F. Additional Supplied Modules
Table F-27. Sepgsql Functions
sepgsql_getcon() returns text
Returns the client domain, the current security
label of the client.
sepgsql_setcon(text) returns bool
Switches the client domainof the current
session to the new domain, if allowed by the
security policy. It also accepts
NULL
input as a
request to transition to the client’s original
domain.
sepgsql_mcstrans_in(text) returns
text
Translates the given qualifies MLS/MCS range
into raw format if the mcstrans daemon is
running.
sepgsql_mcstrans_out(text) returns
text
Translates the given raw MCS/MCS range into
qualified format if the mcstrans daemon is
running.
sepgsql_restorecon(text) returns
bool
Sets up initial security labels for all objects
within the current database. The argument may
be NULL, or the name of a specfile to be used as
alternative of the system default.
F.34.7. Limitations
Data Definition Language (DDL) Permissions
Due to implementation restrictions, some DDL operations do not check permissions.
Data Control Language (DCL) Permissions
Due to implementation restrictions, DCL operations do not check permissions.
Row-level access control
PostgreSQL does not support row-level access; therefore,
sepgsql
does not support it either.
Covert channels
sepgsql
does not try to hide the existence of a certain object, even if the user is not allowed
to reference it. For example, we can infer the existence of an invisible object as a result of
primary key conflicts, foreign key violations, and so on, even if we cannot obtain the contents
of the object. The existence of a top secret table cannot be hidden; we only hope to conceal its
contents.
F.34.8. External Resources
SE-PostgreSQL Introduction
5
This wiki page provides a brief overview, security design, architecture, administration and up-
coming features.
5. http://wiki.postgresql.org/wiki/SEPostgreSQL
2862
VB.NET PDF - Annotate PDF Online with VB.NET HTML5 PDF Viewer
Best online HTML5 PDF Viewer PDF Viewer library as well An advanced PDF annotating tool, which is compatible with all Users can add sticky note to PDF document.
adding a jpeg to a pdf; add picture to pdf preview
DocImage SDK for .NET: Web Document Image Viewer Online Demo
files are Word, Excel, PowerPoint, PDF, Tiff, Dicom is a JavaScript based document and image viewing control on the client side without additional add-ins and
adding images to a pdf document; add an image to a pdf acrobat
Appendix F. Additional Supplied Modules
Fedora SELinux User Guide
6
This document provides a wide spectrum of knowledge to administer SELinux on your systems.
It focuses primarily on Fedora, but is not limited to Fedora.
Fedora SELinux FAQ
7
This document answers frequently asked questions about SELinux. It focuses primarily on Fe-
dora, but is not limited to Fedora.
F.34.9. Author
KaiGai Kohei <
kaigai@ak.jp.nec.com
>
F.35. spi
The spi module provides several workable examples of using SPI and triggers. While these functions
are of some value in their own right, they are even more useful as examples to modify for your own
purposes. The functions are general enough to be used with any table, but you have to specify table
and field names (as described below) while creating a trigger.
Each of the groups of functions described below is provided as a separately-installable extension.
F.35.1. refint — Functions for Implementing Referential
Integrity
check_primary_key()
and
check_foreign_key()
are used to check foreign key constraints.
(This functionality is long since superseded by the built-in foreign key mechanism, of course, but the
module is still useful as an example.)
check_primary_key()
checks the referencing table. To use, create a
BEFORE INSERT OR
UPDATE
trigger using this function on a table referencing another table. Specify as the trigger
arguments: the referencing table’s column name(s) which form the foreign key, the referenced table
name, and the column names in the referenced table which form the primary/unique key. To handle
multiple foreign keys, create a trigger for each reference.
check_foreign_key()
checks thereferencedtable. Touse, createa
BEFORE DELETE OR UPDATE
trigger using this function on a table referenced by other table(s). Specify as the trigger arguments:
the number of referencing tables for which the function has to perform checking, the action if a
referencing key is found (
cascade
—to delete the referencing row,
restrict
—to abort trans-
action if referencing keys exist,
setnull
—to set referencing key fields to null), the triggered ta-
ble’s column names which form the primary/unique key, then the referencing table name and column
names (repeated for as many referencing tables as were specified by first argument). Note that the
primary/unique key columns should be marked NOT NULL and should have a unique index.
There are examples in
refint.example
.
6. http://docs.fedoraproject.org/selinux-user-guide/
7. http://docs.fedoraproject.org/selinux-faq
2863
Appendix F. Additional Supplied Modules
F.35.2. timetravel — Functions for Implementing Time
Travel
Long ago, PostgreSQL had a built-in time travel feature that kept the insert and delete times for each
tuple. This can be emulated using these functions. To use these functions, you must add toa table two
columns of
abstime
type tostore the date whena tuplewas inserted(start_date) and changed/deleted
(stop_date):
CREATE TABLE mytab (
...
...
start_date
abstime,
stop_date
abstime
...
...
);
The columns can be named whatever you like, but in this discussion we’ll call them start_date and
stop_date.
When a new row is inserted, start_date should normally be set to current time, and stop_date to
infinity
.The trigger will automatically substitute these values if the inserted data contains nulls in
these columns. Generally, inserting explicitnon-nulldata in these columns should only be done when
re-loading dumped data.
Tuples with stop_date equal to
infinity
are “valid now”, and can be modified. Tuples with a finite
stop_date cannot be modified anymore — the trigger will prevent it. (If you need to do that, you can
turn off time travel as shown below.)
For a modifiable row, on update only the stop_date in the tuple being updated will be changed (to
current time) and a new tuple with the modified data will be inserted. Start_date inthis new tuple will
be set to current time and stop_date to
infinity
.
Adelete does not actually remove the tuple but only sets its stop_date to current time.
To query for tuples “valid now”, include
stop_date = ’infinity’
in the query’s WHERE con-
dition. (You might wishto incorporate that in a view.) Similarly, you can query for tuples valid at any
past time with suitable conditions on start_date and stop_date.
timetravel()
is the general trigger function that supports this behavior. Create a
BEFORE INSERT
OR UPDATE OR DELETE
trigger using this function on each time-traveled table. Specify two trigger
arguments:theactualnames of the start_date andstop_date columns. Optionally, you can specify one
to three more arguments, whichmust refer to columns of type
text
.Thetrigger will storethename of
the current user into the first of these columns during INSERT, the second column during UPDATE,
and the third during DELETE.
set_timetravel()
allows you to
turn time-travel on or off for a table.
set_timetravel(’mytab’, 1)
will turn TT ON for table
mytab
.
set_timetravel(’mytab’,
0)
will turn TT OFF for table
mytab
.In both cases the old status is reported. While TT is off, you
can modify the start_date and stop_date columns freely. Note that the on/off status is local to the
current database session — fresh sessions will always start out with TT ON for all tables.
get_timetravel()
returns the TT state for a table without changing it.
There is an example in
timetravel.example
.
2864
Appendix F. Additional Supplied Modules
F.35.3. autoinc — Functions for Autoincrementing Fields
autoinc()
is a trigger that stores the next value of a sequence into an integer field. This has some
overlap with the built-in “serial column” feature, but it is not the same:
autoinc()
will override
attempts to substitute a different field value during inserts, and optionally it can be used to increment
the field during updates, too.
To use, create a
BEFORE INSERT
(or optionally
BEFORE INSERT OR UPDATE
)trigger using this
function. Specifytwotrigger arguments:thename of theinteger column to be modified, andthe name
of the sequence objectthatwill supply values. (Actually, you can specify any number of pairs of such
names, if you’d like to update more than one autoincrementing column.)
There is an example in
autoinc.example
.
F.35.4. insert_username — Functions for Tracking Who
Changed a Table
insert_username()
is a trigger that stores the current user’s name into a text field. This can be
useful for tracking who last modified a particular rowwithin a table.
To use, create a
BEFORE INSERT
and/or
UPDATE
trigger using this function. Specify a single trigger
argument: the name of the text column to be modified.
There is an example in
insert_username.example
.
F.35.5. moddatetime — Functions for Tracking Last
Modification Time
moddatetime()
is a trigger that stores the current time into a
timestamp
field. This can be useful
for tracking the last modification time of a particular row within a table.
To use, create a
BEFORE UPDATE
trigger using this function. Specify a single trigger argument: the
name of the column to be modified. The column must be of type
timestamp
or
timestamp with
time zone
.
There is an example in
moddatetime.example
.
F.36. sslinfo
The
sslinfo
module provides information about the SSL certificate that the current client provided
when connecting to PostgreSQL. The module is useless (most functions will return NULL) if the
current connection does not use SSL.
This extension won’t build at all unless the installation was configured with
--with-openssl
.
F.36.1. Functions Provided
ssl_is_used() returns boolean
Returns TRUE if current connection to server uses SSL, and FALSE otherwise.
2865
Appendix F. Additional Supplied Modules
ssl_version() returns text
Returns the name of the protocol usedfor the SSL connection (e.g. SSLv2, SSLv3, or TLSv1).
ssl_cipher() returns text
Returns the name of the cipher used for the SSL connection (e.g. DHE-RSA-AES256-SHA).
ssl_client_cert_present() returns boolean
Returns TRUE if current client has presented a valid SSL client certificate to the server, and
FALSE otherwise. (The server might or might not be configuredto require a client certificate.)
ssl_client_serial() returns numeric
Returns serial number of current client certificate. The combination of certificate serial number
and certificate issuer is guaranteed to uniquely identify a certificate (but not its owner — the
owner ought to regularlychange his keys, and get new certificates from the issuer).
So, if you runyour own CAandallowonly certificates from this CAtobe accepted bythe server,
the serial number is the most reliable (albeit not very mnemonic) means to identify a user.
ssl_client_dn() returns text
Returns the fullsubject of the currentclient certificate, converting character data into the current
database encoding. It is assumed that if you use non-ASCII characters in the certificate names,
your database is able to represent these characters, too. If your database uses the SQL_ASCII
encoding, non-ASCII characters inthe name will be represented as UTF-8 sequences.
The result looks like
/CN=Somebody /C=Some country/O=Some organization
.
ssl_issuer_dn() returns text
Returns the full issuer name of the current client certificate, converting character data into the
current database encoding. Encoding conversions are handled the same as for
ssl_client_dn
.
The combination of the return value of this function with the certificate serial number uniquely
identifies the certificate.
This function is really useful only if you have more than one trusted CA certificate in your
server’s
root.crt
file, or if this CA has issued some intermediate certificate authority certifi-
cates.
ssl_client_dn_field(fieldname text) returns text
This functionreturns the valueof the specifiedfield in the certificate subject, or NULL if thefield
is not present. Field names are string constants that are converted into ASN1 object identifiers
using the OpenSSL object database. The following values are acceptable:
commonName (alias CN)
surname (alias SN)
name
givenName (alias GN)
countryName (alias C)
localityName (alias L)
stateOrProvinceName (alias ST)
organizationName (alias O)
organizationUnitName (alias OU)
title
description
initials
postalCode
streetAddress
generationQualifier
2866
Appendix F. Additional Supplied Modules
description
dnQualifier
x500UniqueIdentifier
pseudonym
role
emailAddress
All of these fields are optional, except
commonName
.It depends entirely on your CA’s policy
which of them would be included and which wouldn’t. The meaning of these fields, however, is
strictly defined by the X.500 and X.509 standards, so you cannot just assign arbitrary meaning
to them.
ssl_issuer_field(fieldname text) returns text
Sameas
ssl_client_dn_field
,butfor thecertificate issuer rather than the certificate subject.
F.36.2. Author
Victor Wagner <
vitus@cryptocom.ru
>, Cryptocom LTD
E-Mail of Cryptocom OpenSSL development group: <
openssl@cryptocom.ru
>
F.37. tablefunc
The
tablefunc
module includes various functions that return tables (that is, multiple rows). These
functions are useful both in their own right and as examples of how to write C functions that return
multiple rows.
F.37.1. Functions Provided
Table F-28 shows the functions provided by the
tablefunc
module.
Table F-28.
tablefunc
Functions
Function
Returns
Description
normal_rand(int
numvals, float8 mean,
float8 stddev)
setof float8
Produces a set of normally
distributed random values
crosstab(text sql)
setof record
Produces a “pivot table”
containing row names plus
N
value columns, where
N
is
determined by the row type
specified in the calling query
crosstab
N
(text sql)
setof table_crosstab_
N
Produces a “pivot table”
containing row names plus
N
value columns.
crosstab2
,
crosstab3
,and
crosstab4
are predefined, but you can
create additional
crosstab
N
functions as describedbelow
2867
Documents you may be interested
Documents you may be interested