Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
core
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
LibreOffice
core
Commits
41961997
Kaydet (Commit)
41961997
authored
May 30, 2012
tarafından
Caolán McNamara
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
merge three base64 encoders/decoders together
Change-Id: Ic123c081fcf6ddcf5d61c5d5a3eab01db470014c
üst
f8c753fd
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
13 additions
and
455 deletions
+13
-455
Library_placeware.mk
filter/Library_placeware.mk
+1
-1
Base64Codec.cxx
filter/source/placeware/Base64Codec.cxx
+0
-143
Base64Codec.hxx
filter/source/placeware/Base64Codec.hxx
+0
-50
exporter.cxx
filter/source/placeware/exporter.cxx
+2
-2
Library_package2.mk
package/Library_package2.mk
+1
-1
build.lst
package/prj/build.lst
+1
-1
Base64Codec.cxx
package/source/manifest/Base64Codec.cxx
+0
-201
Base64Codec.hxx
package/source/manifest/Base64Codec.hxx
+0
-48
ManifestExport.cxx
package/source/manifest/ManifestExport.cxx
+4
-4
ManifestImport.cxx
package/source/manifest/ManifestImport.cxx
+4
-4
No files found.
filter/Library_placeware.mk
Dosyayı görüntüle @
41961997
...
...
@@ -34,11 +34,11 @@ $(eval $(call gb_Library_use_libraries,placeware,\
cppuhelper \
cppu \
sal \
sax \
$(gb_STDLIBS) \
))
$(eval $(call gb_Library_add_exception_objects,placeware,\
filter/source/placeware/Base64Codec \
filter/source/placeware/exporter \
filter/source/placeware/filter \
filter/source/placeware/tempfile \
...
...
filter/source/placeware/Base64Codec.cxx
deleted
100644 → 0
Dosyayı görüntüle @
f8c753fd
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org 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 Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with OpenOffice.org. If not, see
* <http://www.openoffice.org/license.html>
* for a copy of the LGPLv3 License.
*
************************************************************************/
#include "Base64Codec.hxx"
#include <rtl/ustrbuf.hxx>
#include <osl/diagnose.h>
using
namespace
osl
;
using
namespace
com
::
sun
::
star
;
using
::
rtl
::
OUString
;
using
::
rtl
::
OUStringBuffer
;
const
sal_Char
aBase64EncodeTable
[]
=
{
'A'
,
'B'
,
'C'
,
'D'
,
'E'
,
'F'
,
'G'
,
'H'
,
'I'
,
'J'
,
'K'
,
'L'
,
'M'
,
'N'
,
'O'
,
'P'
,
'Q'
,
'R'
,
'S'
,
'T'
,
'U'
,
'V'
,
'W'
,
'X'
,
'Y'
,
'Z'
,
'a'
,
'b'
,
'c'
,
'd'
,
'e'
,
'f'
,
'g'
,
'h'
,
'i'
,
'j'
,
'k'
,
'l'
,
'm'
,
'n'
,
'o'
,
'p'
,
'q'
,
'r'
,
's'
,
't'
,
'u'
,
'v'
,
'w'
,
'x'
,
'y'
,
'z'
,
'0'
,
'1'
,
'2'
,
'3'
,
'4'
,
'5'
,
'6'
,
'7'
,
'8'
,
'9'
,
'+'
,
'/'
};
const
sal_uInt8
aBase64DecodeTable
[]
=
{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
// 0-15
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
// 16-31
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
62
,
0
,
0
,
0
,
63
,
// 32-47
// + /
52
,
53
,
54
,
55
,
56
,
57
,
58
,
59
,
60
,
61
,
0
,
0
,
0
,
0
,
0
,
0
,
// 48-63
// 0 1 2 3 4 5 6 7 8 9 =
0
,
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
,
11
,
12
,
13
,
14
,
// 64-79
// A B C D E F G H I J K L M N O
15
,
16
,
17
,
18
,
19
,
20
,
21
,
22
,
23
,
24
,
25
,
0
,
0
,
0
,
0
,
0
,
// 80-95
// P Q R S T U V W X Y Z
0
,
26
,
27
,
28
,
29
,
30
,
31
,
32
,
33
,
34
,
35
,
36
,
37
,
38
,
39
,
40
,
// 96-111
// a b c d e f g h i j k l m n o
41
,
42
,
43
,
44
,
45
,
46
,
47
,
48
,
49
,
50
,
51
,
0
,
0
,
0
,
0
,
0
,
// 112-127
// p q r s t u v w x y z
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
};
void
ThreeByteToFourByte
(
const
sal_uInt8
*
pBuffer
,
const
sal_Int32
nStart
,
const
sal_Int32
nFullLen
,
rtl
::
OUStringBuffer
&
sBuffer
)
{
sal_Int32
nLen
(
nFullLen
-
nStart
);
if
(
nLen
>
3
)
nLen
=
3
;
if
(
nLen
==
0
)
{
return
;
}
sal_Int32
nBinaer
;
switch
(
nLen
)
{
case
1
:
{
nBinaer
=
((
sal_uInt8
)
pBuffer
[
nStart
+
0
])
<<
16
;
}
break
;
case
2
:
{
nBinaer
=
(((
sal_uInt8
)
pBuffer
[
nStart
+
0
])
<<
16
)
+
(((
sal_uInt8
)
pBuffer
[
nStart
+
1
])
<<
8
);
}
break
;
default:
{
nBinaer
=
(((
sal_uInt8
)
pBuffer
[
nStart
+
0
])
<<
16
)
+
(((
sal_uInt8
)
pBuffer
[
nStart
+
1
])
<<
8
)
+
((
sal_uInt8
)
pBuffer
[
nStart
+
2
]);
}
break
;
}
sal_Unicode
buf
[]
=
{
'='
,
'='
,
'='
,
'='
};
sal_uInt8
nIndex
=
static_cast
<
sal_uInt8
>
((
nBinaer
&
0xFC0000
)
>>
18
);
buf
[
0
]
=
aBase64EncodeTable
[
nIndex
];
nIndex
=
static_cast
<
sal_uInt8
>
((
nBinaer
&
0x3F000
)
>>
12
);
buf
[
1
]
=
aBase64EncodeTable
[
nIndex
];
if
(
nLen
>
1
)
{
nIndex
=
static_cast
<
sal_uInt8
>
((
nBinaer
&
0xFC0
)
>>
6
);
buf
[
2
]
=
aBase64EncodeTable
[
nIndex
];
if
(
nLen
>
2
)
{
nIndex
=
static_cast
<
sal_uInt8
>
((
nBinaer
&
0x3F
));
buf
[
3
]
=
aBase64EncodeTable
[
nIndex
];
}
}
sBuffer
.
append
(
buf
,
SAL_N_ELEMENTS
(
buf
));
}
void
Base64Codec
::
encodeBase64
(
rtl
::
OUStringBuffer
&
aStrBuffer
,
const
uno
::
Sequence
<
sal_Int8
>&
aPass
)
{
sal_Int32
i
(
0
);
sal_Int32
nBufferLength
(
aPass
.
getLength
());
const
sal_Int8
*
pBuffer
=
aPass
.
getConstArray
();
while
(
i
<
nBufferLength
)
{
ThreeByteToFourByte
((
const
sal_uInt8
*
)
pBuffer
,
i
,
nBufferLength
,
aStrBuffer
);
i
+=
3
;
}
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
filter/source/placeware/Base64Codec.hxx
deleted
100644 → 0
Dosyayı görüntüle @
f8c753fd
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org 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 Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with OpenOffice.org. If not, see
* <http://www.openoffice.org/license.html>
* for a copy of the LGPLv3 License.
*
************************************************************************/
#ifndef _BASE64_CODEC_HXX
#define _BASE64_CODEC_HXX
#include <com/sun/star/uno/Sequence.hxx>
namespace
rtl
{
class
OUString
;
class
OUStringBuffer
;
}
class
Base64Codec
{
public
:
static
void
encodeBase64
(
rtl
::
OUStringBuffer
&
aStrBuffer
,
const
com
::
sun
::
star
::
uno
::
Sequence
<
sal_Int8
>&
aPass
);
#if 0
static void decodeBase64(com::sun::star::uno::Sequence<sal_uInt8>& aPass, const rtl::OUString& sBuffer);
#endif
};
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
filter/source/placeware/exporter.cxx
Dosyayı görüntüle @
41961997
...
...
@@ -39,12 +39,12 @@
#include <com/sun/star/task/XStatusIndicatorFactory.hpp>
#include <rtl/ustrbuf.hxx>
#include <rtl/string.hxx>
#include <sax/tools/converter.hxx>
#include <osl/diagnose.h>
#include <vector>
#include "exporter.hxx"
#include "Base64Codec.hxx"
#include "zip.hxx"
#include "tempfile.hxx"
...
...
@@ -161,7 +161,7 @@ static void encodeFile( osl::File& rSourceFile, Reference< XOutputStream >& xOut
nLen
-=
nRead
;
rtl
::
OUStringBuffer
aStrBuffer
;
Base64Codec
::
encodeBase64
(
aStrBuffer
,
aInBuffer
);
::
sax
::
Converter
::
encodeBase64
(
aStrBuffer
,
aInBuffer
);
sal_Int32
nCount
=
aStrBuffer
.
getLength
();
...
...
package/Library_package2.mk
Dosyayı görüntüle @
41961997
...
...
@@ -51,6 +51,7 @@ $(eval $(call gb_Library_use_libraries,package2,\
cppu
\
cppuhelper
\
sal
\
sax
\
ucbhelper
\
$(gb_STDLIBS)
\
))
...
...
@@ -60,7 +61,6 @@ $(eval $(call gb_Library_use_externals,package2,\
))
$(eval
$(call
gb_Library_add_exception_objects,package2,\
package/source/manifest/Base64Codec
\
package/source/manifest/ManifestExport
\
package/source/manifest/ManifestImport
\
package/source/manifest/ManifestReader
\
...
...
package/prj/build.lst
Dosyayı görüntüle @
41961997
pk package : cppu cppuhelper comphelper ucbhelper sal ZLIB:zlib LIBXSLT:libxslt NULL
pk package : cppu cppuhelper comphelper ucbhelper sal ZLIB:zlib LIBXSLT:libxslt
sax
NULL
pk package\prj nmake - all pk_prj NULL
package/source/manifest/Base64Codec.cxx
deleted
100644 → 0
Dosyayı görüntüle @
f8c753fd
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org 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 Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with OpenOffice.org. If not, see
* <http://www.openoffice.org/license.html>
* for a copy of the LGPLv3 License.
*
************************************************************************/
#include "Base64Codec.hxx"
#include <rtl/ustrbuf.hxx>
#include <osl/diagnose.h>
using
namespace
osl
;
using
namespace
com
::
sun
::
star
;
using
::
rtl
::
OUStringBuffer
;
const
sal_Char
aBase64EncodeTable
[]
=
{
'A'
,
'B'
,
'C'
,
'D'
,
'E'
,
'F'
,
'G'
,
'H'
,
'I'
,
'J'
,
'K'
,
'L'
,
'M'
,
'N'
,
'O'
,
'P'
,
'Q'
,
'R'
,
'S'
,
'T'
,
'U'
,
'V'
,
'W'
,
'X'
,
'Y'
,
'Z'
,
'a'
,
'b'
,
'c'
,
'd'
,
'e'
,
'f'
,
'g'
,
'h'
,
'i'
,
'j'
,
'k'
,
'l'
,
'm'
,
'n'
,
'o'
,
'p'
,
'q'
,
'r'
,
's'
,
't'
,
'u'
,
'v'
,
'w'
,
'x'
,
'y'
,
'z'
,
'0'
,
'1'
,
'2'
,
'3'
,
'4'
,
'5'
,
'6'
,
'7'
,
'8'
,
'9'
,
'+'
,
'/'
};
const
sal_uInt8
aBase64DecodeTable
[]
=
{
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
// 0-15
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
// 16-31
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
62
,
0
,
0
,
0
,
63
,
// 32-47
// + /
52
,
53
,
54
,
55
,
56
,
57
,
58
,
59
,
60
,
61
,
0
,
0
,
0
,
0
,
0
,
0
,
// 48-63
// 0 1 2 3 4 5 6 7 8 9 =
0
,
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
,
11
,
12
,
13
,
14
,
// 64-79
// A B C D E F G H I J K L M N O
15
,
16
,
17
,
18
,
19
,
20
,
21
,
22
,
23
,
24
,
25
,
0
,
0
,
0
,
0
,
0
,
// 80-95
// P Q R S T U V W X Y Z
0
,
26
,
27
,
28
,
29
,
30
,
31
,
32
,
33
,
34
,
35
,
36
,
37
,
38
,
39
,
40
,
// 96-111
// a b c d e f g h i j k l m n o
41
,
42
,
43
,
44
,
45
,
46
,
47
,
48
,
49
,
50
,
51
,
0
,
0
,
0
,
0
,
0
,
// 112-127
// p q r s t u v w x y z
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
,
0
};
void
ThreeByteToFourByte
(
const
sal_uInt8
*
pBuffer
,
const
sal_Int32
nStart
,
const
sal_Int32
nFullLen
,
rtl
::
OUStringBuffer
&
sBuffer
)
{
sal_Int32
nLen
(
nFullLen
-
nStart
);
if
(
nLen
>
3
)
nLen
=
3
;
if
(
nLen
==
0
)
{
return
;
}
sal_Int32
nBinaer
;
switch
(
nLen
)
{
case
1
:
{
nBinaer
=
((
sal_uInt8
)
pBuffer
[
nStart
+
0
])
<<
16
;
}
break
;
case
2
:
{
nBinaer
=
(((
sal_uInt8
)
pBuffer
[
nStart
+
0
])
<<
16
)
+
(((
sal_uInt8
)
pBuffer
[
nStart
+
1
])
<<
8
);
}
break
;
default:
{
nBinaer
=
(((
sal_uInt8
)
pBuffer
[
nStart
+
0
])
<<
16
)
+
(((
sal_uInt8
)
pBuffer
[
nStart
+
1
])
<<
8
)
+
((
sal_uInt8
)
pBuffer
[
nStart
+
2
]);
}
break
;
}
sal_Unicode
buf
[]
=
{
'='
,
'='
,
'='
,
'='
};
sal_uInt8
nIndex
=
static_cast
<
sal_uInt8
>
((
nBinaer
&
0xFC0000
)
>>
18
);
buf
[
0
]
=
aBase64EncodeTable
[
nIndex
];
nIndex
=
static_cast
<
sal_uInt8
>
((
nBinaer
&
0x3F000
)
>>
12
);
buf
[
1
]
=
aBase64EncodeTable
[
nIndex
];
if
(
nLen
>
1
)
{
nIndex
=
static_cast
<
sal_uInt8
>
((
nBinaer
&
0xFC0
)
>>
6
);
buf
[
2
]
=
aBase64EncodeTable
[
nIndex
];
if
(
nLen
>
2
)
{
nIndex
=
static_cast
<
sal_uInt8
>
(
nBinaer
&
0x3F
);
buf
[
3
]
=
aBase64EncodeTable
[
nIndex
];
}
}
sBuffer
.
append
(
buf
,
SAL_N_ELEMENTS
(
buf
));
}
void
Base64Codec
::
encodeBase64
(
rtl
::
OUStringBuffer
&
aStrBuffer
,
const
uno
::
Sequence
<
sal_Int8
>&
aPass
)
{
sal_Int32
i
(
0
);
sal_Int32
nBufferLength
(
aPass
.
getLength
());
const
sal_uInt8
*
pBuffer
=
reinterpret_cast
<
const
sal_uInt8
*
>
(
aPass
.
getConstArray
()
);
while
(
i
<
nBufferLength
)
{
ThreeByteToFourByte
(
pBuffer
,
i
,
nBufferLength
,
aStrBuffer
);
i
+=
3
;
}
}
void
FourByteToThreeByte
(
sal_uInt8
*
pBuffer
,
sal_Int32
&
nLength
,
const
sal_Int32
nStart
,
const
rtl
::
OUString
&
sString
)
{
nLength
=
0
;
sal_Int32
nLen
(
sString
.
getLength
());
OSL_ASSERT
(
nLen
==
4
);
if
(
nLen
!=
4
)
return
;
if
(
sString
.
indexOfAsciiL
(
RTL_CONSTASCII_STRINGPARAM
(
"=="
))
==
2
)
nLength
=
1
;
else
if
(
sString
.
indexOf
(
'='
)
==
3
)
nLength
=
2
;
else
nLength
=
3
;
sal_Int32
nBinaer
((
aBase64DecodeTable
[
sString
[
0
]]
<<
18
)
+
(
aBase64DecodeTable
[
sString
[
1
]]
<<
12
)
+
(
aBase64DecodeTable
[
sString
[
2
]]
<<
6
)
+
(
aBase64DecodeTable
[
sString
[
3
]]));
sal_uInt8
OneByte
=
static_cast
<
sal_uInt8
>
((
nBinaer
&
0xFF0000
)
>>
16
);
pBuffer
[
nStart
+
0
]
=
(
sal_uInt8
)
OneByte
;
if
(
nLength
==
1
)
return
;
OneByte
=
static_cast
<
sal_uInt8
>
((
nBinaer
&
0xFF00
)
>>
8
);
pBuffer
[
nStart
+
1
]
=
OneByte
;
if
(
nLength
==
2
)
return
;
OneByte
=
static_cast
<
sal_uInt8
>
(
nBinaer
&
0xFF
);
pBuffer
[
nStart
+
2
]
=
OneByte
;
}
void
Base64Codec
::
decodeBase64
(
uno
::
Sequence
<
sal_Int8
>&
aBuffer
,
const
rtl
::
OUString
&
sBuffer
)
{
sal_Int32
nFirstLength
((
sBuffer
.
getLength
()
/
4
)
*
3
);
sal_uInt8
*
pBuffer
=
new
sal_uInt8
[
nFirstLength
];
sal_Int32
nSecondLength
(
0
);
sal_Int32
nLength
(
0
);
sal_Int32
i
=
0
;
sal_Int32
k
=
0
;
while
(
i
<
sBuffer
.
getLength
())
{
FourByteToThreeByte
(
pBuffer
,
nLength
,
k
,
sBuffer
.
copy
(
i
,
4
));
nSecondLength
+=
nLength
;
nLength
=
0
;
i
+=
4
;
k
+=
3
;
}
aBuffer
=
uno
::
Sequence
<
sal_Int8
>
(
reinterpret_cast
<
sal_Int8
*
>
(
pBuffer
),
nSecondLength
);
delete
[]
pBuffer
;
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
package/source/manifest/Base64Codec.hxx
deleted
100644 → 0
Dosyayı görüntüle @
f8c753fd
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
*
* This file is part of OpenOffice.org.
*
* OpenOffice.org is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License version 3
* only, as published by the Free Software Foundation.
*
* OpenOffice.org 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 Lesser General Public License version 3 for more details
* (a copy is included in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU Lesser General Public License
* version 3 along with OpenOffice.org. If not, see
* <http://www.openoffice.org/license.html>
* for a copy of the LGPLv3 License.
*
************************************************************************/
#ifndef _BASE64_CODEC_HXX
#define _BASE64_CODEC_HXX
#include <com/sun/star/uno/Sequence.hxx>
namespace
rtl
{
class
OUString
;
class
OUStringBuffer
;
}
class
Base64Codec
{
public
:
static
void
encodeBase64
(
rtl
::
OUStringBuffer
&
aStrBuffer
,
const
com
::
sun
::
star
::
uno
::
Sequence
<
sal_Int8
>&
aPass
);
static
void
decodeBase64
(
com
::
sun
::
star
::
uno
::
Sequence
<
sal_Int8
>&
aPass
,
const
rtl
::
OUString
&
sBuffer
);
};
#endif
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
package/source/manifest/ManifestExport.cxx
Dosyayı görüntüle @
41961997
...
...
@@ -37,7 +37,7 @@
#include <ManifestDefines.hxx>
#include <ManifestExport.hxx>
#include <
Base64Codec
.hxx>
#include <
sax/tools/converter
.hxx>
#include <rtl/ustrbuf.hxx>
#include <comphelper/documentconstants.hxx>
...
...
@@ -274,7 +274,7 @@ ManifestExport::ManifestExport( uno::Reference< xml::sax::XDocumentHandler > xHa
pNewAttrList
->
AddAttribute
(
sChecksumTypeAttribute
,
sCdataAttribute
,
sChecksumType
);
*
pDigest
>>=
aSequence
;
Base64Codec
::
encodeBase64
(
aBuffer
,
aSequence
);
::
sax
::
Converter
::
encodeBase64
(
aBuffer
,
aSequence
);
pNewAttrList
->
AddAttribute
(
sChecksumAttribute
,
sCdataAttribute
,
aBuffer
.
makeStringAndClear
()
);
xHandler
->
startElement
(
sEncryptionDataElement
,
xNewAttrList
);
...
...
@@ -307,7 +307,7 @@ ManifestExport::ManifestExport( uno::Reference< xml::sax::XDocumentHandler > xHa
pNewAttrList
->
AddAttribute
(
sAlgorithmNameAttribute
,
sCdataAttribute
,
sEncAlgName
);
*
pVector
>>=
aSequence
;
Base64Codec
::
encodeBase64
(
aBuffer
,
aSequence
);
::
sax
::
Converter
::
encodeBase64
(
aBuffer
,
aSequence
);
pNewAttrList
->
AddAttribute
(
sInitialisationVectorAttribute
,
sCdataAttribute
,
aBuffer
.
makeStringAndClear
()
);
xHandler
->
ignorableWhitespace
(
sWhiteSpace
);
...
...
@@ -333,7 +333,7 @@ ManifestExport::ManifestExport( uno::Reference< xml::sax::XDocumentHandler > xHa
pNewAttrList
->
AddAttribute
(
sIterationCountAttribute
,
sCdataAttribute
,
aBuffer
.
makeStringAndClear
()
);
*
pSalt
>>=
aSequence
;
Base64Codec
::
encodeBase64
(
aBuffer
,
aSequence
);
::
sax
::
Converter
::
encodeBase64
(
aBuffer
,
aSequence
);
pNewAttrList
->
AddAttribute
(
sSaltAttribute
,
sCdataAttribute
,
aBuffer
.
makeStringAndClear
()
);
xHandler
->
ignorableWhitespace
(
sWhiteSpace
);
...
...
package/source/manifest/ManifestImport.cxx
Dosyayı görüntüle @
41961997
...
...
@@ -29,7 +29,7 @@
// MARKER( update_precomp.py ): autogen include statement, do not remove
#include <ManifestImport.hxx>
#include <ManifestDefines.hxx>
#include <
Base64Codec
.hxx>
#include <
sax/tools/converter
.hxx>
#include <com/sun/star/xml/sax/XAttributeList.hpp>
#include <com/sun/star/xml/crypto/DigestID.hpp>
#include <com/sun/star/xml/crypto/CipherID.hpp>
...
...
@@ -188,7 +188,7 @@ void SAL_CALL ManifestImport::startElement( const OUString& aName, const uno::Re
{
aString
=
aConvertedAttribs
[
sChecksumAttribute
];
uno
::
Sequence
<
sal_Int8
>
aDecodeBuffer
;
Base64Codec
::
decodeBase64
(
aDecodeBuffer
,
aString
);
::
sax
::
Converter
::
decodeBase64
(
aDecodeBuffer
,
aString
);
aSequence
[
nNumProperty
].
Name
=
sDigestProperty
;
aSequence
[
nNumProperty
++
].
Value
<<=
aDecodeBuffer
;
}
...
...
@@ -235,7 +235,7 @@ void SAL_CALL ManifestImport::startElement( const OUString& aName, const uno::Re
{
aString
=
aConvertedAttribs
[
sInitialisationVectorAttribute
];
uno
::
Sequence
<
sal_Int8
>
aDecodeBuffer
;
Base64Codec
::
decodeBase64
(
aDecodeBuffer
,
aString
);
::
sax
::
Converter
::
decodeBase64
(
aDecodeBuffer
,
aString
);
aSequence
[
nNumProperty
].
Name
=
sInitialisationVectorProperty
;
aSequence
[
nNumProperty
++
].
Value
<<=
aDecodeBuffer
;
}
...
...
@@ -250,7 +250,7 @@ void SAL_CALL ManifestImport::startElement( const OUString& aName, const uno::Re
{
aString
=
aConvertedAttribs
[
sSaltAttribute
];
uno
::
Sequence
<
sal_Int8
>
aDecodeBuffer
;
Base64Codec
::
decodeBase64
(
aDecodeBuffer
,
aString
);
::
sax
::
Converter
::
decodeBase64
(
aDecodeBuffer
,
aString
);
aSequence
[
nNumProperty
].
Name
=
sSaltProperty
;
aSequence
[
nNumProperty
++
].
Value
<<=
aDecodeBuffer
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment