[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[pdf-devel] encryption filters
From: |
jemarch |
Subject: |
[pdf-devel] encryption filters |
Date: |
Mon, 27 Oct 2008 22:56:28 +0100 |
User-agent: |
Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.8 (Shijō) APEL/10.6 Emacs/23.0.60 (i686-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) |
Hi all.
For the moment Gerel is no longer able to dedicate time to the
encryption filters (task
http://www.gnupdf.org/flyspray/index.php?do=details&task_id=71&project=2)
so I just marked the task as orphaned in flyspray.
He kindly sent me a preliminary skeleton for the filters code. I
attach it here just in case anyone is interested in getting this task.
##
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: address@hidden
# target_branch: file:///home/gerel/PROJECTS/libgnupdf/trunk/
# testament_sha1: 1c4198e3a67957abde9b25c5b8fd80acdb7846fa
# timestamp: 2008-10-27 10:39:53 -0300
# base_revision_id: address@hidden
#
# Begin patch
=== modified file 'src/Makefile.am'
--- src/Makefile.am 2008-10-05 15:08:05 +0000
+++ src/Makefile.am 2008-10-07 17:57:30 +0000
@@ -44,7 +44,8 @@
base/pdf-stm-filter.h base/pdf-stm-filter.c \
base/pdf-stm-f-null.h base/pdf-stm-f-null.c \
base/pdf-stm-f-ahex.h base/pdf-stm-f-ahex.c \
- base/pdf-stm-f-rl.h base/pdf-stm-f-rl.c
+ base/pdf-stm-f-rl.h base/pdf-stm-f-rl.c \
+ base/pdf-stm-f-crypt.h base/pdf-stm-f-crypt.c
if ZLIB
STM_MODULE_SOURCES += base/pdf-stm-f-flate.c base/pdf-stm-f-flate.h
=== added file 'src/base/pdf-stm-f-crypt.c'
--- src/base/pdf-stm-f-crypt.c 1970-01-01 00:00:00 +0000
+++ src/base/pdf-stm-f-crypt.c 2008-10-27 13:39:42 +0000
@@ -0,0 +1,115 @@
+/* -*- mode: C -*- Time-stamp: "2008-10-27 10:38:22 gerel"
+ *
+ * File: pdf-stm-f-crypt.c
+ * Date: Tue Jul 10 23:44:00 2007
+ *
+ * GNU PDF Library - Crypt stream filter
+ *
+ */
+
+/* Copyright (C) 2007, 2008 Free Software Foundation, Inc. */
+
+/* This program 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.
+ *
+ * This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+#include <pdf-stm-f-crypt.h>
+
+
+pdf_status_t
+pdf_stm_f_cryptdec_init (pdf_hash_t params, void **state)
+{
+ pdf_status_t ret;
+ pdf_stm_f_crypt_t filter_state;
+
+ filter_state = pdf_alloc (sizeof (struct pdf_stm_f_crypt_s));
+
+ if (state == NULL)
+ {
+ ret = PDF_EBADDATA;
+ }
+ else if (filter_state == NULL)
+ {
+ ret = PDF_ENOMEM;
+ }
+ else
+ {
+ /* Initialize fields */
+ //filter_state->blabla = blabla;
+ ret = PDF_OK;
+ }
+
+ return ret;
+}
+
+
+pdf_status_t
+pdf_stm_f_cryptdec_apply (pdf_hash_t params, void *state, pdf_stm_buffer_t in,
+ pdf_stm_buffer_t out, pdf_bool_t finish_p)
+{
+ return PDF_OK;
+}
+
+pdf_status_t
+pdf_stm_f_cryptenc_init (pdf_hash_t params, void **state)
+{
+ pdf_status_t ret;
+ pdf_stm_f_crypt_t filter_state;
+
+ filter_state = pdf_alloc (sizeof (struct pdf_stm_f_crypt_s));
+
+ if (state == NULL)
+ {
+ ret = PDF_EBADDATA;
+ }
+ else if (filter_state == NULL)
+ {
+ ret = PDF_ENOMEM;
+ }
+ else
+ {
+ /* Initialize fields */
+ //filter_state->blabla = blabla;
+ ret = PDF_OK;
+ }
+
+ return ret;
+}
+
+pdf_status_t
+pdf_stm_f_cryptenc_apply (pdf_hash_t params, void *state, pdf_stm_buffer_t in,
+ pdf_stm_buffer_t out, pdf_bool_t finish_p)
+{
+ return PDF_OK;
+}
+
+
+pdf_status_t
+pdf_stm_f_cryptdec_dealloc_state (void *state)
+{
+ pdf_dealloc (state);
+ return PDF_OK;
+}
+
+
+pdf_status_t
+pdf_stm_f_cryptenc_dealloc_state (void *state)
+{
+ pdf_dealloc (state);
+ return PDF_OK;
+}
+
+
+
+/* End of pdf_stm_f_crypt.c */
=== added file 'src/base/pdf-stm-f-crypt.h'
--- src/base/pdf-stm-f-crypt.h 1970-01-01 00:00:00 +0000
+++ src/base/pdf-stm-f-crypt.h 2008-10-07 17:57:30 +0000
@@ -0,0 +1,73 @@
+/* -*- mode: C -*- Time-stamp: "2008-10-07 14:54:39 gerel"
+ *
+ * File: pdf-stm-f-crypt.h
+ * Date: Sun Jul 15 21:57:35 2007
+ *
+ * GNU PDF Library - Crypt stream filter
+ *
+ */
+
+/* Copyright (C) 2007, 2008 Free Software Foundation, Inc. */
+
+/* This program 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.
+ *
+ * This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef PDF_STM_F_CRYPT_H
+#define PDF_STM_F_CRYPT_H
+
+#include <config.h>
+#include <pdf-types.h>
+#include <pdf-hash.h>
+#include <pdf-alloc.h>
+#include <pdf-stm-buffer.h>
+#include <stdio.h>
+
+
+struct pdf_stm_f_crypt_s
+{
+
+};
+
+typedef struct pdf_stm_f_crypt_s * pdf_stm_f_crypt_t;
+
+
+/* Filter API implementation */
+
+pdf_status_t pdf_stm_f_cryptdec_init (pdf_hash_t params,
+ void **state);
+
+pdf_status_t pdf_stm_f_cryptdec_apply (pdf_hash_t params,
+ void *state,
+ pdf_stm_buffer_t in,
+ pdf_stm_buffer_t out,
+ pdf_bool_t finish_p);
+
+pdf_status_t pdf_stm_f_cryptenc_init (pdf_hash_t params,
+ void **state);
+
+pdf_status_t pdf_stm_f_cryptenc_apply (pdf_hash_t params,
+ void *state,
+ pdf_stm_buffer_t in,
+ pdf_stm_buffer_t out,
+ pdf_bool_t finish_p);
+
+pdf_status_t pdf_stm_f_cryptdec_dealloc_state (void *state);
+pdf_status_t pdf_stm_f_cryptenc_dealloc_state (void *state);
+
+
+
+
+#endif /* pdf_stm_f_crypt.h */
+
+/* End of pdf_stm_f_crypt.h */
=== modified file 'src/base/pdf-stm-filter.c'
--- src/base/pdf-stm-filter.c 2008-10-12 19:28:11 +0000
+++ src/base/pdf-stm-filter.c 2008-10-27 13:39:42 +0000
@@ -1,4 +1,4 @@
-/* -*- mode: C -*- Time-stamp: "08/10/12 18:34:54 jemarch"
+/* -*- mode: C -*- Time-stamp: "2008-10-27 10:27:54 gerel"
*
* File: pdf-stm-filter.c
* Date: Thu Jun 12 22:13:31 2008
@@ -97,6 +97,7 @@
new->impl.dealloc_state_fn = pdf_stm_f_rldec_dealloc_state;
break;
}
+
#if defined(HAVE_LIBZ)
case PDF_STM_FILTER_FLATE_ENC:
{
@@ -113,6 +114,22 @@
break;
}
#endif /* HAVE_LIBZ */
+
+ case PDF_STM_FILTER_CRYPT_ENC:
+ {
+ new->impl.init_fn = pdf_stm_f_cryptenc_init;
+ new->impl.apply_fn = pdf_stm_f_cryptenc_apply;
+ new->impl.dealloc_state_fn = pdf_stm_f_cryptenc_dealloc_state;
+ break;
+ }
+ case PDF_STM_FILTER_CRYPT_DEC:
+ {
+ new->impl.init_fn = pdf_stm_f_cryptdec_init;
+ new->impl.apply_fn = pdf_stm_f_cryptdec_apply;
+ new->impl.dealloc_state_fn = pdf_stm_f_cryptdec_dealloc_state;
+ break;
+ }
+
default:
{
/* Shall not be reached, but makes the compiler happy */
=== modified file 'src/base/pdf-stm-filter.h'
--- src/base/pdf-stm-filter.h 2008-10-12 19:28:11 +0000
+++ src/base/pdf-stm-filter.h 2008-10-27 13:39:42 +0000
@@ -1,4 +1,4 @@
-/* -*- mode: C -*- Time-stamp: "08/10/12 18:33:23 jemarch"
+/* -*- mode: C -*- Time-stamp: "2008-10-27 10:29:03 gerel"
*
* File: pdf-stm-filter.h
* Date: Thu Jun 12 22:05:06 2008
@@ -35,6 +35,7 @@
#include <pdf-stm-f-null.h>
#include <pdf-stm-f-ahex.h>
#include <pdf-stm-f-rl.h>
+#include <pdf-stm-f-crypt.h>
#if defined(HAVE_LIBZ)
# include <pdf-stm-f-flate.h>
@@ -51,7 +52,9 @@
PDF_STM_FILTER_RL_ENC,
PDF_STM_FILTER_RL_DEC,
PDF_STM_FILTER_FLATE_ENC,
- PDF_STM_FILTER_FLATE_DEC
+ PDF_STM_FILTER_FLATE_DEC,
+ PDF_STM_FILTER_CRYPT_ENC,
+ PDF_STM_FILTER_CRYPT_DEC
};
# Begin bundle
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
RHvh/on0WEoqgaCv/F3JFOFCQxxGo3Q=
###
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [pdf-devel] encryption filters,
jemarch <=