This file is indexed.

/usr/lib/ocaml/camlpdf/pdfcrypt.mli is in libcamlpdf-ocaml-dev 2.1.1-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
(** Decrypting PDF files *)

(** Note that encryption depends on fixed object and generation numbers: don't
change these (for example by calling [Pdf.remove_unreferenced] on the PDF)
before writing.

Encryption support is part of the [Pdfwrite] module, since files are encrypted when they're written. *)

(** If this is set, various debug is produced on standard output. On startup, is set to false *)
val crypt_debug : bool ref

(* Permissions. *)
type permission =
  | NoEdit 
  | NoPrint
  | NoCopy 
  | NoAnnot
  | NoForms
  | NoExtract
  | NoAssemble
  | NoHqPrint

(** Decrypt a PDF document, given the user password, returning the permissions
under which the document was encrypted. *)
val decrypt_pdf : ?keyfromowner:string -> string -> Pdf.t -> Pdf.t option * permission list

(** Decrypt a PDF document, given the owner password. *)
val decrypt_pdf_owner : string -> Pdf.t -> Pdf.t option

(** Is a PDF encrypted? *)
val is_encrypted : Pdf.t -> bool

(**/**)
(* only for the use of PDFWrite *)

(** [recrypt_pdf decrypted_and_modified] re-encrypts a PDF document
which was decrypted using the user password and owner password from the
original encrypted file and the same permissions and encryption parameters. *)
val recrypt_pdf : ?renumber:bool -> Pdf.t -> string -> Pdf.t

(** Encrypt a PDF documnent, using 40 bit encryption, with given user and
owner passwords. *)
val encrypt_pdf_40bit : string -> string -> permission list -> Pdf.t -> Pdf.t

(** Ditto for 128 bit encryption *)
val encrypt_pdf_128bit : string -> string -> permission list -> Pdf.t -> Pdf.t

(** Encrypt a file using the AESV2 Crypt filter *)
val encrypt_pdf_AES : bool -> string -> string -> permission list -> Pdf.t -> Pdf.t

(** Encrypt a file using the AESV3 Crypt filter *)
val encrypt_pdf_AES256 : bool -> string -> string -> permission list -> Pdf.t -> Pdf.t

(** Encrypt a file using the AESV4 (ISO) Crypt filter *)
val encrypt_pdf_AES256ISO : bool -> string -> string -> permission list -> Pdf.t -> Pdf.t

(* only for the use of Pdfread *)
val decrypt_single_stream :
  string option -> string option -> Pdf.t -> int -> int -> Pdf.pdfobject -> Pdf.pdfobject

(* Don't call on an unencrypted PDF *)
val get_encryption_values : Pdf.t -> Pdf.encryption * string * string * int32 * string * string option * string option

val banlist_of_p : int32 -> permission list

val string_of_pdf : (Pdf.pdfobject -> string) ref