Merge branch 'master' into v2.2

This commit is contained in:
rn10950 2019-02-22 20:10:24 -05:00 committed by GitHub
commit 868653eeb7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
630 changed files with 18365 additions and 9594 deletions

View File

@ -1,12 +1,12 @@
# gmake # gmake
# This file is automatically generated for client.mk. # This file is automatically generated for client.mk.
# Do not edit. Edit /c/projects/moz95/mozilla/mozconfig instead. # Do not edit. Edit /c/projects/moz95/RetroZilla/mozconfig instead.
# To create a new .mozconfig file, you can visit, # To create a new .mozconfig file, you can visit,
# http://webtools.mozilla.org/build/config.cgi # http://webtools.mozilla.org/build/config.cgi
# PATH=/local/bin:/c/mozilla-build//wget:/c/mozilla-build//7zip:/c/mozilla-build//blat261/full:/c/mozilla-build//python25:/c/mozilla-build//svn-win32-1.4.2/bin:/c/mozilla-build//upx203w:/c/mozilla-build//xemacs/XEmacs-21.4.19/i586-pc-win32:/c/mozilla-build//info-zip:/c/mozilla-build//nsis-2.22:/c/mozilla-build//nsis-2.33u:.:/usr/local/bin:/mingw/bin:/bin:/c/PROGRA~1/MICROS~3/Common/msdev98/BIN:/c/PROGRA~1/MICROS~3/VC98/BIN:/c/PROGRA~1/MICROS~3/Common/TOOLS/WINNT:/c/PROGRA~1/MICROS~3/Common/TOOLS:/c/WINNT/System32:/c/WINNT:/c/WINNT/System32/Wbem:/c/mozilla-build/moztools-180compat/bin # PATH=/local/bin:/c/mozilla-build//wget:/c/mozilla-build//7zip:/c/mozilla-build//blat261/full:/c/mozilla-build//python25:/c/mozilla-build//svn-win32-1.4.2/bin:/c/mozilla-build//upx203w:/c/mozilla-build//xemacs/XEmacs-21.4.19/i586-pc-win32:/c/mozilla-build//info-zip:/c/mozilla-build//nsis-2.22:/c/mozilla-build//nsis-2.33u:.:/usr/local/bin:/mingw/bin:/bin:/c/PROGRA~1/MICROS~2/Common/msdev98/BIN:/c/PROGRA~1/MICROS~2/VC98/BIN:/c/PROGRA~1/MICROS~2/Common/TOOLS/WINNT:/c/PROGRA~1/MICROS~2/Common/TOOLS:/c/WINDOWS/System32:/c/WINDOWS:/c/WINDOWS/System32/Wbem:/c/mozilla-build/moztools-180compat/bin
MOZ_MAKE_FLAGS=-j4 MOZ_MAKE_FLAGS=-j4
MOZ_OBJDIR=/c/projects/moz95/obj-sm95-release MOZ_OBJDIR=/c/projects/moz95/obj-sm95-release/
# --target=i586-pc-msvc is used by configure (not client.mk) # --target=i586-pc-msvc is used by configure (not client.mk)
# --enable-application=suite is used by configure (not client.mk) # --enable-application=suite is used by configure (not client.mk)
# --enable-optimize is used by configure (not client.mk) # --enable-optimize is used by configure (not client.mk)

View File

@ -51,7 +51,7 @@ static const nsXREAppData kAppData = {
NS_STRINGIFY(APP_VERSION), NS_STRINGIFY(APP_VERSION),
NS_STRINGIFY(BUILD_ID), NS_STRINGIFY(BUILD_ID),
"{ec8030f7-c20a-464f-9b0e-13a3a9e97384}", "{ec8030f7-c20a-464f-9b0e-13a3a9e97384}",
"Copyright (c) 1998 - 2007 mozilla.org", "Copyright (c) 1998 - 2019 RetroZilla",
NS_XRE_ENABLE_PROFILE_MIGRATOR | NS_XRE_ENABLE_PROFILE_MIGRATOR |
NS_XRE_ENABLE_EXTENSION_MANAGER NS_XRE_ENABLE_EXTENSION_MANAGER
}; };

View File

@ -308,10 +308,12 @@ var gMainPane = {
*/ */
_folderToIndex: function (aFolder) _folderToIndex: function (aFolder)
{ {
try {
if (!aFolder || aFolder.equals(this._getDownloadsFolder("Desktop"))) if (!aFolder || aFolder.equals(this._getDownloadsFolder("Desktop")))
return 0; return 0;
else if (aFolder.equals(this._getDownloadsFolder("Downloads"))) else if (aFolder.equals(this._getDownloadsFolder("Downloads")))
return 1; return 1;
} catch(e) {}
return 2; return 2;
}, },
@ -327,8 +329,13 @@ var gMainPane = {
{ {
var fileLocator = Components.classes["@mozilla.org/file/directory_service;1"] var fileLocator = Components.classes["@mozilla.org/file/directory_service;1"]
.getService(Components.interfaces.nsIProperties); .getService(Components.interfaces.nsIProperties);
var dir = fileLocator.get(this._getSpecialFolderKey(aFolder), var dir;
try {
dir = fileLocator.get(this._getSpecialFolderKey(aFolder),
Components.interfaces.nsILocalFile); Components.interfaces.nsILocalFile);
} catch(e) {
dir = aFolder;
}
if (aFolder != "Desktop") if (aFolder != "Desktop")
dir.append("My Downloads"); // XXX l12y! dir.append("My Downloads"); // XXX l12y!

View File

@ -112,7 +112,7 @@ if (!defined($official)) {$official="";}
if (!defined($milestone)) {$milestone="";} if (!defined($milestone)) {$milestone="";}
if (!defined($module)) {$module="";} if (!defined($module)) {$module="";}
if (!defined($binary)) {$binary="";} if (!defined($binary)) {$binary="";}
if (!defined($displayname)) {$displayname="Mozilla";} if (!defined($displayname)) {$displayname="RetroZilla";}
if (!defined($depth)) {$depth=".";} if (!defined($depth)) {$depth=".";}
if (!defined($rcinclude)) {$rcinclude="";} if (!defined($rcinclude)) {$rcinclude="";}
if (!defined($objdir)) {$objdir=".";} if (!defined($objdir)) {$objdir=".";}
@ -257,8 +257,8 @@ if ($official eq "1") {
} }
my $copyright = "License: MPL 1.1/GPL 2.0/LGPL 2.1"; my $copyright = "License: MPL 1.1/GPL 2.0/LGPL 2.1";
my $company = "Mozilla Foundation"; my $company = "RetroZilla";
my $trademarks = "Mozilla"; my $trademarks = "RetroZilla";
my $productname = $displayname; my $productname = $displayname;

View File

@ -841,7 +841,10 @@ TARGET_MD_ARCH=unix
DIRENT_INO=d_ino DIRENT_INO=d_ino
CYGWIN_WRAPPER= CYGWIN_WRAPPER=
WIN_TOP_SRC= WIN_TOP_SRC=
MOZ_USER_DIR=".mozilla" :i
MOZ_USER_DIR=".retrozilla"
HOST_AR='$(AR)' HOST_AR='$(AR)'
HOST_AR_FLAGS='$(AR_FLAGS)' HOST_AR_FLAGS='$(AR_FLAGS)'
@ -1497,7 +1500,7 @@ case "$target" in
_WARNINGS_CXXFLAGS="${_WARNINGS_CXXFLAGS} -Wno-multichar" _WARNINGS_CXXFLAGS="${_WARNINGS_CXXFLAGS} -Wno-multichar"
_MOZ_USE_RTTI=1 _MOZ_USE_RTTI=1
USE_DEPENDENT_LIBS= USE_DEPENDENT_LIBS=
MOZ_USER_DIR="Mozilla" MOZ_USER_DIR="RetroZilla"
;; ;;
*-bsdi*) *-bsdi*)
@ -1751,7 +1754,7 @@ case "$target" in
USE_SHORT_LIBNAME=1 USE_SHORT_LIBNAME=1
MOZ_ENABLE_COREXFONTS= MOZ_ENABLE_COREXFONTS=
MOZ_ENABLE_POSTSCRIPT= MOZ_ENABLE_POSTSCRIPT=
MOZ_USER_DIR="Mozilla" MOZ_USER_DIR="RetroZilla"
;; ;;
@ -1842,7 +1845,7 @@ case "$target" in
BIN_SUFFIX='.exe' BIN_SUFFIX='.exe'
USE_SHORT_LIBNAME=1 USE_SHORT_LIBNAME=1
MOZ_ENABLE_POSTSCRIPT= MOZ_ENABLE_POSTSCRIPT=
MOZ_USER_DIR="Mozilla" MOZ_USER_DIR="RetroZilla"
dnl Hardcode to win95 for now - cls dnl Hardcode to win95 for now - cls
TARGET_NSPR_MDCPUCFG='\"md/_win95.cfg\"' TARGET_NSPR_MDCPUCFG='\"md/_win95.cfg\"'
@ -2077,7 +2080,7 @@ case "$target" in
MOZ_ENABLE_POSTSCRIPT= MOZ_ENABLE_POSTSCRIPT=
RC=rc.exe RC=rc.exe
RCFLAGS='-n' RCFLAGS='-n'
MOZ_USER_DIR="Mozilla" MOZ_USER_DIR="RetroZilla"
if test "$MOZTOOLS"; then if test "$MOZTOOLS"; then
MOZ_TOOLS_DIR=`echo $MOZTOOLS | sed -e 's|\\\\|/|g'` MOZ_TOOLS_DIR=`echo $MOZTOOLS | sed -e 's|\\\\|/|g'`
@ -4037,7 +4040,7 @@ mac|cocoa)
TK_CFLAGS="-I${MACOS_SDK_DIR}/Developer/Headers/FlatCarbon" TK_CFLAGS="-I${MACOS_SDK_DIR}/Developer/Headers/FlatCarbon"
CFLAGS="$CFLAGS $TK_CFLAGS" CFLAGS="$CFLAGS $TK_CFLAGS"
CXXFLAGS="$CXXFLAGS $TK_CFLAGS" CXXFLAGS="$CXXFLAGS $TK_CFLAGS"
MOZ_USER_DIR="Mozilla" MOZ_USER_DIR="RetroZilla"
AC_DEFINE(XP_MACOSX) AC_DEFINE(XP_MACOSX)
AC_DEFINE(TARGET_CARBON) AC_DEFINE(TARGET_CARBON)
AC_DEFINE(TARGET_API_MAC_CARBON) AC_DEFINE(TARGET_API_MAC_CARBON)
@ -4450,8 +4453,8 @@ xulrunner)
;; ;;
macbrowser) macbrowser)
MOZ_APP_NAME=mozilla MOZ_APP_NAME=retrozilla
MOZ_APP_DISPLAYNAME=Mozilla MOZ_APP_DISPLAYNAME=RetroZilla
MOZ_APP_VERSION=$MOZILLA_VERSION MOZ_APP_VERSION=$MOZILLA_VERSION
MOZ_STORAGE=1 MOZ_STORAGE=1
MOZ_EXTENSIONS_DEFAULT=" cookie xmlextras universalchardet typeaheadfind transformiix permissions spellcheck auth" MOZ_EXTENSIONS_DEFAULT=" cookie xmlextras universalchardet typeaheadfind transformiix permissions spellcheck auth"
@ -4459,8 +4462,8 @@ macbrowser)
;; ;;
standalone) standalone)
MOZ_APP_NAME=mozilla MOZ_APP_NAME=retrozilla
MOZ_APP_DISPLAYNAME=Mozilla MOZ_APP_DISPLAYNAME=RetroZilla
MOZ_APP_VERSION=$MOZILLA_VERSION MOZ_APP_VERSION=$MOZILLA_VERSION
;; ;;

View File

@ -340,7 +340,7 @@ nsresult nsCopySupport::IsPlainTextContext(nsISelection *aSel, nsIDocument *aDoc
nsCOMPtr<nsIDOMElement> bodyElem = do_QueryInterface(selContent); nsCOMPtr<nsIDOMElement> bodyElem = do_QueryInterface(selContent);
nsAutoString wsVal; nsAutoString wsVal;
rv = bodyElem->GetAttribute(NS_LITERAL_STRING("style"), wsVal); rv = bodyElem->GetAttribute(NS_LITERAL_STRING("style"), wsVal);
if (NS_SUCCEEDED(rv) && (kNotFound != wsVal.Find(NS_LITERAL_STRING("-moz-pre-wrap")))) if (NS_SUCCEEDED(rv) && (kNotFound != wsVal.Find(NS_LITERAL_STRING("pre-wrap"))))
{ {
*aIsPlainTextContext = PR_TRUE; *aIsPlainTextContext = PR_TRUE;
break; break;

View File

@ -1149,7 +1149,7 @@ nsHTMLCopyEncoder::SetSelection(nsISelection* aSelection)
nsCOMPtr<nsIDOMElement> bodyElem = do_QueryInterface(selContent); nsCOMPtr<nsIDOMElement> bodyElem = do_QueryInterface(selContent);
nsAutoString wsVal; nsAutoString wsVal;
rv = bodyElem->GetAttribute(NS_LITERAL_STRING("style"), wsVal); rv = bodyElem->GetAttribute(NS_LITERAL_STRING("style"), wsVal);
if (NS_SUCCEEDED(rv) && (kNotFound != wsVal.Find(NS_LITERAL_STRING("-moz-pre-wrap")))) if (NS_SUCCEEDED(rv) && (kNotFound != wsVal.Find(NS_LITERAL_STRING("pre-wrap"))))
{ {
mIsTextWidget = PR_TRUE; mIsTextWidget = PR_TRUE;
break; break;

View File

@ -677,7 +677,7 @@ nsPlainTextSerializer::DoOpenContainer(const nsIParserNode* aNode, PRInt32 aTag)
if(NS_SUCCEEDED(GetAttributeValue(aNode, nsHTMLAtoms::style, style)) && if(NS_SUCCEEDED(GetAttributeValue(aNode, nsHTMLAtoms::style, style)) &&
(kNotFound != (whitespace = style.Find("white-space:")))) { (kNotFound != (whitespace = style.Find("white-space:")))) {
if (kNotFound != style.Find("-moz-pre-wrap", PR_TRUE, whitespace)) { if (kNotFound != style.Find("pre-wrap", PR_TRUE, whitespace)) {
#ifdef DEBUG_preformatted #ifdef DEBUG_preformatted
printf("Set mPreFormatted based on style moz-pre-wrap\n"); printf("Set mPreFormatted based on style moz-pre-wrap\n");
#endif #endif

View File

@ -150,7 +150,7 @@ MapAttributesIntoRule(const nsMappedAttributes* aAttributes,
if (aData->mTextData->mWhiteSpace.GetUnit() == eCSSUnit_Null) { if (aData->mTextData->mWhiteSpace.GetUnit() == eCSSUnit_Null) {
// wrap: empty // wrap: empty
if (aAttributes->GetAttr(nsHTMLAtoms::wrap)) if (aAttributes->GetAttr(nsHTMLAtoms::wrap))
aData->mTextData->mWhiteSpace.SetIntValue(NS_STYLE_WHITESPACE_MOZ_PRE_WRAP, eCSSUnit_Enumerated); aData->mTextData->mWhiteSpace.SetIntValue(NS_STYLE_WHITESPACE_PRE_WRAP, eCSSUnit_Enumerated);
// width: int (html4 attribute == nav4 cols) // width: int (html4 attribute == nav4 cols)
const nsAttrValue* value = aAttributes->GetAttr(nsHTMLAtoms::width); const nsAttrValue* value = aAttributes->GetAttr(nsHTMLAtoms::width);
@ -162,7 +162,7 @@ MapAttributesIntoRule(const nsMappedAttributes* aAttributes,
if (value && value->Type() == nsAttrValue::eInteger) { if (value && value->Type() == nsAttrValue::eInteger) {
// Force wrap property on since we want to wrap at a width // Force wrap property on since we want to wrap at a width
// boundary not just a newline. // boundary not just a newline.
aData->mTextData->mWhiteSpace.SetIntValue(NS_STYLE_WHITESPACE_MOZ_PRE_WRAP, eCSSUnit_Enumerated); aData->mTextData->mWhiteSpace.SetIntValue(NS_STYLE_WHITESPACE_PRE_WRAP, eCSSUnit_Enumerated);
} }
} }
} }

View File

@ -4434,8 +4434,7 @@ nsEditor::IsPreformatted(nsIDOMNode *aNode, PRBool *aResult)
const nsStyleText* styleText = frame->GetStyleText(); const nsStyleText* styleText = frame->GetStyleText();
*aResult = NS_STYLE_WHITESPACE_PRE == styleText->mWhiteSpace || *aResult = styleText->WhiteSpaceIsSignificant();
NS_STYLE_WHITESPACE_MOZ_PRE_WRAP == styleText->mWhiteSpace;
return NS_OK; return NS_OK;
} }

View File

@ -1002,12 +1002,12 @@ nsPlaintextEditor::SetWrapWidth(PRInt32 aWrapColumn)
// and now we're ready to set the new whitespace/wrapping style. // and now we're ready to set the new whitespace/wrapping style.
if (aWrapColumn > 0 && !mWrapToWindow) // Wrap to a fixed column if (aWrapColumn > 0 && !mWrapToWindow) // Wrap to a fixed column
{ {
styleValue.AppendLiteral("white-space: -moz-pre-wrap; width: "); styleValue.AppendLiteral("white-space: pre-wrap; width: ");
styleValue.AppendInt(aWrapColumn); styleValue.AppendInt(aWrapColumn);
styleValue.AppendLiteral("ch;"); styleValue.AppendLiteral("ch;");
} }
else if (mWrapToWindow || aWrapColumn == 0) else if (mWrapToWindow || aWrapColumn == 0)
styleValue.AppendLiteral("white-space: -moz-pre-wrap;"); styleValue.AppendLiteral("white-space: pre-wrap;");
else else
styleValue.AppendLiteral("white-space: pre;"); styleValue.AppendLiteral("white-space: pre;");

View File

@ -236,7 +236,7 @@ get_sof (j_decompress_ptr cinfo, boolean is_prog, boolean is_arith)
/* Process a SOFn marker */ /* Process a SOFn marker */
{ {
INT32 length; INT32 length;
int c, ci; int c, ci, i;
jpeg_component_info * compptr; jpeg_component_info * compptr;
INPUT_VARS(cinfo); INPUT_VARS(cinfo);
@ -273,11 +273,27 @@ get_sof (j_decompress_ptr cinfo, boolean is_prog, boolean is_arith)
cinfo->comp_info = (jpeg_component_info *) (*cinfo->mem->alloc_small) cinfo->comp_info = (jpeg_component_info *) (*cinfo->mem->alloc_small)
((j_common_ptr) cinfo, JPOOL_IMAGE, ((j_common_ptr) cinfo, JPOOL_IMAGE,
cinfo->num_components * SIZEOF(jpeg_component_info)); cinfo->num_components * SIZEOF(jpeg_component_info));
for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; for (ci = 0; ci < cinfo->num_components; ci++) {
ci++, compptr++) { INPUT_BYTE(cinfo, c, return FALSE);
/* Check to see whether component id has already been seen */
/* (in violation of the spec, but unfortunately seen in some */
/* files). If so, create "fake" component id equal to the */
/* max id seen so far + 1. */
for (i = 0, compptr = cinfo->comp_info; i < ci; i++, compptr++) {
if (c == compptr->component_id) {
compptr = cinfo->comp_info;
c = compptr->component_id;
compptr++;
for (i = 1; i < ci; i++, compptr++) {
if (compptr->component_id > c) c = compptr->component_id;
}
c++;
break;
}
}
compptr->component_id = c;
compptr->component_index = ci; compptr->component_index = ci;
INPUT_BYTE(cinfo, compptr->component_id, return FALSE);
INPUT_BYTE(cinfo, c, return FALSE); INPUT_BYTE(cinfo, c, return FALSE);
compptr->h_samp_factor = (c >> 4) & 15; compptr->h_samp_factor = (c >> 4) & 15;
compptr->v_samp_factor = (c ) & 15; compptr->v_samp_factor = (c ) & 15;
@ -300,7 +316,7 @@ get_sos (j_decompress_ptr cinfo)
/* Process a SOS marker */ /* Process a SOS marker */
{ {
INT32 length; INT32 length;
int i, ci, n, c, cc; int c, ci, i, n;
jpeg_component_info * compptr; jpeg_component_info * compptr;
INPUT_VARS(cinfo); INPUT_VARS(cinfo);
@ -321,24 +337,38 @@ get_sos (j_decompress_ptr cinfo)
/* Collect the component-spec parameters */ /* Collect the component-spec parameters */
for (i = 0; i < n; i++) { for (i = 0; i < n; i++) {
INPUT_BYTE(cinfo, cc, return FALSE);
INPUT_BYTE(cinfo, c, return FALSE); INPUT_BYTE(cinfo, c, return FALSE);
/* Detect the case where component id's are not unique, and, if so, */
/* create a fake component id using the same logic as in get_sof. */
for (ci = 0; ci < i; ci++) {
if (c == cinfo->cur_comp_info[ci]->component_id) {
c = cinfo->cur_comp_info[0]->component_id;
for (ci = 1; ci < i; ci++) {
compptr = cinfo->cur_comp_info[ci];
if (compptr->component_id > c) c = compptr->component_id;
}
c++;
break;
}
}
for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components; for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components;
ci++, compptr++) { ci++, compptr++) {
if (cc == compptr->component_id) if (c == compptr->component_id)
goto id_found; goto id_found;
} }
ERREXIT1(cinfo, JERR_BAD_COMPONENT_ID, cc); ERREXIT1(cinfo, JERR_BAD_COMPONENT_ID, c);
id_found: id_found:
cinfo->cur_comp_info[i] = compptr; cinfo->cur_comp_info[i] = compptr;
INPUT_BYTE(cinfo, c, return FALSE);
compptr->dc_tbl_no = (c >> 4) & 15; compptr->dc_tbl_no = (c >> 4) & 15;
compptr->ac_tbl_no = (c ) & 15; compptr->ac_tbl_no = (c ) & 15;
TRACEMS3(cinfo, 1, JTRC_SOS_COMPONENT, cc, TRACEMS3(cinfo, 1, JTRC_SOS_COMPONENT, compptr->component_id,
compptr->dc_tbl_no, compptr->ac_tbl_no); compptr->dc_tbl_no, compptr->ac_tbl_no);
} }
@ -454,6 +484,8 @@ get_dht (j_decompress_ptr cinfo)
if (count > 256 || ((INT32) count) > length) if (count > 256 || ((INT32) count) > length)
ERREXIT(cinfo, JERR_BAD_HUFF_TABLE); ERREXIT(cinfo, JERR_BAD_HUFF_TABLE);
MEMZERO(huffval, SIZEOF(huffval)); /* pre-zero array for later copy */
for (i = 0; i < count; i++) for (i = 0; i < count; i++)
INPUT_BYTE(cinfo, huffval[i], return FALSE); INPUT_BYTE(cinfo, huffval[i], return FALSE);

View File

@ -569,7 +569,7 @@
#define NS_STYLE_WHITESPACE_NORMAL 0 #define NS_STYLE_WHITESPACE_NORMAL 0
#define NS_STYLE_WHITESPACE_PRE 1 #define NS_STYLE_WHITESPACE_PRE 1
#define NS_STYLE_WHITESPACE_NOWRAP 2 #define NS_STYLE_WHITESPACE_NOWRAP 2
#define NS_STYLE_WHITESPACE_MOZ_PRE_WRAP 3 #define NS_STYLE_WHITESPACE_PRE_WRAP 3
// See nsStyleText // See nsStyleText
#define NS_STYLE_UNICODE_BIDI_NORMAL 0 #define NS_STYLE_UNICODE_BIDI_NORMAL 0

View File

@ -1927,8 +1927,7 @@ nsLineLayout::VerticalAlignFrames(PerSpanData* psd)
nsCOMPtr<nsIFontMetrics> fm; nsCOMPtr<nsIFontMetrics> fm;
rc->GetFontMetrics(*getter_AddRefs(fm)); rc->GetFontMetrics(*getter_AddRefs(fm));
PRBool preMode = (mStyleText->mWhiteSpace == NS_STYLE_WHITESPACE_PRE) || PRBool preMode = mStyleText->WhiteSpaceIsSignificant();
(mStyleText->mWhiteSpace == NS_STYLE_WHITESPACE_MOZ_PRE_WRAP);
// See if the span is an empty continuation. It's an empty continuation iff: // See if the span is an empty continuation. It's an empty continuation iff:
// - it has a prev-in-flow // - it has a prev-in-flow

View File

@ -631,7 +631,7 @@ public:
mNumJustifiableCharacterReceivingExtraJot = 0; mNumJustifiableCharacterReceivingExtraJot = 0;
mExtraSpacePerJustifiableCharacter = 0; mExtraSpacePerJustifiableCharacter = 0;
mPreformatted = (NS_STYLE_WHITESPACE_PRE == mText->mWhiteSpace) || mPreformatted = (NS_STYLE_WHITESPACE_PRE == mText->mWhiteSpace) ||
(NS_STYLE_WHITESPACE_MOZ_PRE_WRAP == mText->mWhiteSpace); (NS_STYLE_WHITESPACE_PRE_WRAP == mText->mWhiteSpace);
mJustifying = (NS_STYLE_TEXT_ALIGN_JUSTIFY == mText->mTextAlign) && mJustifying = (NS_STYLE_TEXT_ALIGN_JUSTIFY == mText->mTextAlign) &&
!mPreformatted; !mPreformatted;
@ -5907,7 +5907,7 @@ nsTextFrame::Reflow(nsPresContext* aPresContext,
} }
PRBool wrapping = (NS_STYLE_WHITESPACE_NORMAL == ts.mText->mWhiteSpace) || PRBool wrapping = (NS_STYLE_WHITESPACE_NORMAL == ts.mText->mWhiteSpace) ||
(NS_STYLE_WHITESPACE_MOZ_PRE_WRAP == ts.mText->mWhiteSpace); (NS_STYLE_WHITESPACE_PRE_WRAP == ts.mText->mWhiteSpace);
// Set whitespace skip flag // Set whitespace skip flag
PRBool skipWhitespace = PR_FALSE; PRBool skipWhitespace = PR_FALSE;
@ -6179,7 +6179,7 @@ nsTextFrame::TrimTrailingWhiteSpace(nsPresContext* aPresContext,
const nsStyleText* textStyle = GetStyleText(); const nsStyleText* textStyle = GetStyleText();
if (mContentLength && if (mContentLength &&
(NS_STYLE_WHITESPACE_PRE != textStyle->mWhiteSpace) && (NS_STYLE_WHITESPACE_PRE != textStyle->mWhiteSpace) &&
(NS_STYLE_WHITESPACE_MOZ_PRE_WRAP != textStyle->mWhiteSpace)) { (NS_STYLE_WHITESPACE_PRE_WRAP != textStyle->mWhiteSpace)) {
// Get the text fragments that make up our content // Get the text fragments that make up our content
nsCOMPtr<nsITextContent> tc = do_QueryInterface(mContent); nsCOMPtr<nsITextContent> tc = do_QueryInterface(mContent);

View File

@ -260,7 +260,7 @@ nsTextTransformer::Init(nsIFrame* aFrame,
if (NS_STYLE_WHITESPACE_PRE == styleText->mWhiteSpace) { if (NS_STYLE_WHITESPACE_PRE == styleText->mWhiteSpace) {
mMode = ePreformatted; mMode = ePreformatted;
} }
else if (NS_STYLE_WHITESPACE_MOZ_PRE_WRAP == styleText->mWhiteSpace) { else if (NS_STYLE_WHITESPACE_PRE_WRAP == styleText->mWhiteSpace) {
mMode = ePreWrap; mMode = ePreWrap;
} }
mTextTransform = styleText->mTextTransform; mTextTransform = styleText->mTextTransform;
@ -1569,7 +1569,7 @@ struct SelfTestData {
static PRUint8 preModeValue[NUM_MODES] = { static PRUint8 preModeValue[NUM_MODES] = {
NS_STYLE_WHITESPACE_NORMAL, NS_STYLE_WHITESPACE_NORMAL,
NS_STYLE_WHITESPACE_PRE, NS_STYLE_WHITESPACE_PRE,
NS_STYLE_WHITESPACE_MOZ_PRE_WRAP NS_STYLE_WHITESPACE_PRE_WRAP
}; };
static PRUnichar test1text[] = { static PRUnichar test1text[] = {
@ -1812,7 +1812,7 @@ nsTextTransformer::Init2(const nsTextFragment* aFrag,
if (NS_STYLE_WHITESPACE_PRE == aWhiteSpace) { if (NS_STYLE_WHITESPACE_PRE == aWhiteSpace) {
mMode = ePreformatted; mMode = ePreformatted;
} }
else if (NS_STYLE_WHITESPACE_MOZ_PRE_WRAP == aWhiteSpace) { else if (NS_STYLE_WHITESPACE_PRE_WRAP == aWhiteSpace) {
mMode = ePreWrap; mMode = ePreWrap;
} }
mTextTransform = aTextTransform; mTextTransform = aTextTransform;

View File

@ -108,8 +108,7 @@ inDOMUtils::IsIgnorableWhitespace(nsIDOMCharacterData *aDataNode,
presShell->GetPrimaryFrameFor(content, &frame); presShell->GetPrimaryFrameFor(content, &frame);
if (frame) { if (frame) {
const nsStyleText* text = frame->GetStyleText(); const nsStyleText* text = frame->GetStyleText();
*aReturn = text->mWhiteSpace != NS_STYLE_WHITESPACE_PRE && *aReturn = !text->WhiteSpaceIsSignificant();
text->mWhiteSpace != NS_STYLE_WHITESPACE_MOZ_PRE_WRAP;
} }
else { else {
// empty inter-tag text node without frame, e.g., in between <table>\n<tr> // empty inter-tag text node without frame, e.g., in between <table>\n<tr>

View File

@ -355,6 +355,7 @@ CSS_KEY(physical, physical)
CSS_KEY(pointer, pointer) CSS_KEY(pointer, pointer)
CSS_KEY(portrait, portrait) CSS_KEY(portrait, portrait)
CSS_KEY(pre, pre) CSS_KEY(pre, pre)
CSS_KEY(pre-wrap, pre_wrap)
CSS_KEY(progress, progress) CSS_KEY(progress, progress)
CSS_KEY(pt, pt) CSS_KEY(pt, pt)
CSS_KEY(px, px) CSS_KEY(px, px)

View File

@ -928,7 +928,8 @@ const PRInt32 nsCSSProps::kVolumeKTable[] = {
const PRInt32 nsCSSProps::kWhitespaceKTable[] = { const PRInt32 nsCSSProps::kWhitespaceKTable[] = {
eCSSKeyword_pre, NS_STYLE_WHITESPACE_PRE, eCSSKeyword_pre, NS_STYLE_WHITESPACE_PRE,
eCSSKeyword_nowrap, NS_STYLE_WHITESPACE_NOWRAP, eCSSKeyword_nowrap, NS_STYLE_WHITESPACE_NOWRAP,
eCSSKeyword__moz_pre_wrap, NS_STYLE_WHITESPACE_MOZ_PRE_WRAP, eCSSKeyword_pre_wrap, NS_STYLE_WHITESPACE_PRE_WRAP,
eCSSKeyword__moz_pre_wrap, NS_STYLE_WHITESPACE_PRE_WRAP,
eCSSKeyword_UNKNOWN,-1 eCSSKeyword_UNKNOWN,-1
}; };

View File

@ -740,7 +740,7 @@ struct nsStyleText : public nsStyleStruct {
PRBool WhiteSpaceIsSignificant() const { PRBool WhiteSpaceIsSignificant() const {
return mWhiteSpace == NS_STYLE_WHITESPACE_PRE || return mWhiteSpace == NS_STYLE_WHITESPACE_PRE ||
mWhiteSpace == NS_STYLE_WHITESPACE_MOZ_PRE_WRAP; mWhiteSpace == NS_STYLE_WHITESPACE_PRE_WRAP;
} }
}; };

View File

@ -71,6 +71,8 @@ else
EXTRA_DSO_LIBS = msgbaseutil EXTRA_DSO_LIBS = msgbaseutil
endif endif
else
SHARED_LIBRARY_LIBS += $(DIST)/lib/$(LIB_PREFIX)msgbsutl_s.$(LIB_SUFFIX)
endif endif
CPPSRCS = nsMsgSMIMEFactory.cpp CPPSRCS = nsMsgSMIMEFactory.cpp
@ -79,10 +81,6 @@ SHARED_LIBRARY_LIBS = \
$(DIST)/lib/$(LIB_PREFIX)msgsmime_s.$(LIB_SUFFIX) \ $(DIST)/lib/$(LIB_PREFIX)msgsmime_s.$(LIB_SUFFIX) \
$(NULL) $(NULL)
ifndef MOZ_STATIC_MAIL_BUILD
SHARED_LIBRARY_LIBS + = $(DIST)/lib/$(LIB_PREFIX)msgbsutl_s.$(LIB_SUFFIX)
endif
EXTRA_DSO_LDOPTS = \ EXTRA_DSO_LDOPTS = \
$(LIBS_DIR) \ $(LIBS_DIR) \
$(EXTRA_DSO_LIBS) \ $(EXTRA_DSO_LIBS) \

View File

@ -283,9 +283,9 @@ const char *const stateLabels[] = {
// TEMPORARY HARD CODED FUNCTIONS // TEMPORARY HARD CODED FUNCTIONS
/////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////
#ifdef XP_WIN #ifdef XP_WIN
static char *XP_AppCodeName = "Mozilla"; static char *XP_AppCodeName = "RetroZilla";
#else #else
static const char *XP_AppCodeName = "Mozilla"; static const char *XP_AppCodeName = "RetroZilla";
#endif #endif
#define NET_IS_SPACE(x) ((x)==' ' || (x)=='\t') #define NET_IS_SPACE(x) ((x)==' ' || (x)=='\t')

View File

@ -2390,3 +2390,6 @@ pref("print.print_command", "lp -c -s ${MOZ_PRINTER_NAME:+'-d '}${MOZ_PRINTER_NA
#ifdef MOZ_X11 #ifdef MOZ_X11
pref("network.gnomevfs.supported-protocols", "smb:,sftp:"); pref("network.gnomevfs.supported-protocols", "smb:,sftp:");
#endif #endif
// restrict gopher port to port 70 only
pref("network.gopher.port-restricted", true);

View File

@ -122,13 +122,21 @@ nsGopherChannel::Init(nsIURI* uri, nsIProxyInfo* proxyInfo)
if (NS_FAILED(rv)) if (NS_FAILED(rv))
return rv; return rv;
PRBool restrictedPort = PR_TRUE;
nsCOMPtr<nsIPrefBranch> branch;
nsCOMPtr<nsIPrefService> prefs = do_GetService("@mozilla.org/preferences-service;1", &rv);
if (!NS_FAILED(rv)) {
branch = do_QueryInterface(prefs);
branch->GetBoolPref("network.gopher.port-restricted" , &restrictedPort);
}
// For security reasons, don't allow anything expect the default // For security reasons, don't allow anything expect the default
// gopher port (70). See bug 71916 - bbaetz@cs.mcgill.ca // gopher port (70). See bug 71916 - bbaetz@cs.mcgill.ca
/* if(!restrictedPort) {
if (mPort==-1) if (mPort==-1)
mPort=GOPHER_PORT;
} else
mPort=GOPHER_PORT; mPort=GOPHER_PORT;
*/
mPort=GOPHER_PORT;
// No path given // No path given
if (buffer[0]=='\0' || (buffer[0]=='/' && buffer[1]=='\0')) { if (buffer[0]=='\0' || (buffer[0]=='/' && buffer[1]=='\0')) {

View File

@ -376,7 +376,7 @@ nsIndexedToHTML::DoOnStartRequest(nsIRequest* request, nsISupports *aContext,
buffer.AppendLiteral("<style type=\"text/css\">\n" buffer.AppendLiteral("<style type=\"text/css\">\n"
"img { border: 0; padding: 0 2px; vertical-align: text-bottom; }\n" "img { border: 0; padding: 0 2px; vertical-align: text-bottom; }\n"
"td { font-family: monospace; padding: 2px 3px; text-align: right; vertical-align: bottom; white-space: pre; }\n" "td { font-family: monospace; padding: 2px 3px; text-align: right; vertical-align: bottom; white-space: -moz-pre-wrap; }\n"
"td:first-child { text-align: left; padding: 2px 10px 2px 3px; }\n" "td:first-child { text-align: left; padding: 2px 10px 2px 3px; }\n"
"table { border: 0; }\n" "table { border: 0; }\n"
"a.symlink { font-style: italic; }\n" "a.symlink { font-style: italic; }\n"

View File

@ -100,11 +100,26 @@
issuerName = this.mapIssuerOrganization(cert.issuerOrganization); issuerName = this.mapIssuerOrganization(cert.issuerOrganization);
if (!issuerName) issuerName = cert.issuerName; if (!issuerName) issuerName = cert.issuerName;
var protocolVersion = " (unknown)";
switch(status.protocolVersion) {
case 0:
protocolVersion = " (SSL3)";
break;
case 1:
protocolVersion = " (TLS1.0)";
break;
case 2:
protocolVersion = " (TLS1.1)";
break;
case 3:
protocolVersion = " (TLS1.2)";
break;
}
return { return {
hostName : hName, hostName : hName,
cAName : issuerName, cAName : issuerName,
encryptionAlgorithm : status.cipherName, encryptionAlgorithm : status.cipherName+protocolVersion,
encryptionStrength : status.secretKeyLength, encryptionStrength : status.secretKeyLength,
isBroken : isBroken, isBroken : isBroken,
cert : cert cert : cert

View File

@ -47,4 +47,5 @@ interface nsISSLStatus : nsISupports {
readonly attribute string cipherName; readonly attribute string cipherName;
readonly attribute unsigned long keyLength; readonly attribute unsigned long keyLength;
readonly attribute unsigned long secretKeyLength; readonly attribute unsigned long secretKeyLength;
readonly attribute unsigned long protocolVersion;
}; };

View File

@ -659,6 +659,7 @@ public:
nsCOMPtr<nsIX509Cert> mServerCert; nsCOMPtr<nsIX509Cert> mServerCert;
PRUint32 mKeyLength; PRUint32 mKeyLength;
PRUint32 mSecretKeyLength; PRUint32 mSecretKeyLength;
PRUint32 mProtocolVersion;
nsXPIDLCString mCipherName; nsXPIDLCString mCipherName;
}; };
@ -693,6 +694,16 @@ nsSSLStatus::GetSecretKeyLength(PRUint32* _result)
return NS_OK; return NS_OK;
} }
NS_IMETHODIMP
nsSSLStatus::GetProtocolVersion(PRUint32* _result)
{
NS_ASSERTION(_result, "non-NULL destination required");
*_result = mProtocolVersion;
return NS_OK;
}
NS_IMETHODIMP NS_IMETHODIMP
nsSSLStatus::GetCipherName(char** _result) nsSSLStatus::GetCipherName(char** _result)
{ {
@ -704,7 +715,7 @@ nsSSLStatus::GetCipherName(char** _result)
} }
nsSSLStatus::nsSSLStatus() nsSSLStatus::nsSSLStatus()
: mKeyLength(0), mSecretKeyLength(0) : mKeyLength(0), mSecretKeyLength(0), mProtocolVersion(0)
{ {
} }
@ -867,6 +878,13 @@ void PR_CALLBACK HandshakeCallback(PRFileDesc* fd, void* client_data) {
status->mSecretKeyLength = encryptBits; status->mSecretKeyLength = encryptBits;
status->mCipherName.Adopt(cipherName); status->mCipherName.Adopt(cipherName);
SSLChannelInfo channelInfo;
if (SSL_GetChannelInfo(fd, &channelInfo, sizeof(channelInfo)) == SECSuccess) {
// Get the protocol version
// 0=ssl3, 1=tls1, 2=tls1.1, 3=tls1.2
status->mProtocolVersion = channelInfo.protocolVersion & 0xFF;
}
infoObject->SetSSLStatus(status); infoObject->SetSSLStatus(status);
} }

View File

@ -61,6 +61,9 @@ endif
ifdef BUILD_OPT ifdef BUILD_OPT
NSPR_CONFIGURE_OPTS += --disable-debug --enable-optimize NSPR_CONFIGURE_OPTS += --disable-debug --enable-optimize
endif endif
ifdef USE_X32
NSPR_CONFIGURE_OPTS += --enable-x32
endif
ifdef USE_64 ifdef USE_64
NSPR_CONFIGURE_OPTS += --enable-64bit NSPR_CONFIGURE_OPTS += --enable-64bit
endif endif
@ -70,6 +73,9 @@ endif
ifdef USE_DEBUG_RTL ifdef USE_DEBUG_RTL
NSPR_CONFIGURE_OPTS += --enable-debug-rtl NSPR_CONFIGURE_OPTS += --enable-debug-rtl
endif endif
ifdef USE_STATIC_RTL
NSPR_CONFIGURE_OPTS += --enable-static-rtl
endif
ifdef NS_USE_GCC ifdef NS_USE_GCC
NSPR_COMPILERS = CC=gcc CXX=g++ NSPR_COMPILERS = CC=gcc CXX=g++
endif endif

View File

@ -19,8 +19,6 @@ ARCH=$(uname -s)
ulimit -c unlimited 2> /dev/null ulimit -c unlimited 2> /dev/null
export NSS_ENABLE_ECC=1
export NSS_ECC_MORE_THAN_SUITE_B=1
export NSPR_LOG_MODULES="pkix:1" export NSPR_LOG_MODULES="pkix:1"
#export JAVA_HOME_32= #export JAVA_HOME_32=

View File

@ -288,7 +288,7 @@ prepare()
mv ${OUTPUTDIR} ${OUTPUTDIR}.last >/dev/null 2>&1 mv ${OUTPUTDIR} ${OUTPUTDIR}.last >/dev/null 2>&1
mkdir -p ${OUTPUTDIR} mkdir -p ${OUTPUTDIR}
if [ -n "${NSS_ENABLE_ECC}" -a -n "${NSS_ECC_MORE_THAN_SUITE_B}" ]; then if [ -z "${NSS_DISABLE_ECC}" -a -n "${NSS_ECC_MORE_THAN_SUITE_B}" ]; then
cd ${HGDIR}/nss cd ${HGDIR}/nss
ECF="lib/freebl/ecl/ecl-curve.h" ECF="lib/freebl/ecl/ecl-curve.h"
print_log "hg revert -r NSS_3_11_1_RTM ${ECF}" print_log "hg revert -r NSS_3_11_1_RTM ${ECF}"

View File

@ -35,13 +35,24 @@ output_binary (void *arg, const unsigned char *obuf, PRInt32 size)
return nb; return nb;
} }
static PRBool
isBase64Char(char c)
{
return ((c >= 'A' && c <= 'Z')
|| (c >= 'a' && c <= 'z')
|| (c >= '0' && c <= '9')
|| c == '+'
|| c == '/'
|| c == '=');
}
static SECStatus static SECStatus
decode_file(FILE *outFile, FILE *inFile) decode_file(FILE *outFile, FILE *inFile)
{ {
NSSBase64Decoder *cx; NSSBase64Decoder *cx;
int nb;
SECStatus status = SECFailure; SECStatus status = SECFailure;
char ibuf[4096]; char ibuf[4096];
const char *ptr;
cx = NSSBase64Decoder_Create(output_binary, outFile); cx = NSSBase64Decoder_Create(output_binary, outFile);
if (!cx) { if (!cx) {
@ -50,19 +61,29 @@ decode_file(FILE *outFile, FILE *inFile)
for (;;) { for (;;) {
if (feof(inFile)) break; if (feof(inFile)) break;
nb = fread(ibuf, 1, sizeof(ibuf), inFile); if (!fgets(ibuf, sizeof(ibuf), inFile)) {
if (nb != sizeof(ibuf)) { if (ferror(inFile)) {
if (nb == 0) { PORT_SetError(SEC_ERROR_IO);
if (ferror(inFile)) { goto loser;
PORT_SetError(SEC_ERROR_IO); }
goto loser; /* eof */
} break;
/* eof */ }
break; for (ptr = ibuf; *ptr; ++ptr) {
char c = *ptr;
if (c == '\n' || c == '\r') {
break; /* found end of line */
}
if (!isBase64Char(c)) {
ptr = ibuf; /* ignore line */
break;
} }
} }
if (ibuf == ptr) {
continue; /* skip empty or non-base64 line */
}
status = NSSBase64Decoder_Update(cx, ibuf, nb); status = NSSBase64Decoder_Update(cx, ibuf, ptr-ibuf);
if (status != SECSuccess) goto loser; if (status != SECSuccess) goto loser;
} }
@ -99,10 +120,11 @@ int main(int argc, char **argv)
progName = progName ? progName+1 : argv[0]; progName = progName ? progName+1 : argv[0];
/* Parse command line arguments */ /* Parse command line arguments */
optstate = PL_CreateOptState(argc, argv, "i:o:"); optstate = PL_CreateOptState(argc, argv, "?hi:o:");
while ((status = PL_GetNextOpt(optstate)) == PL_OPT_OK) { while ((status = PL_GetNextOpt(optstate)) == PL_OPT_OK) {
switch (optstate->option) { switch (optstate->option) {
case '?': case '?':
case 'h':
Usage(progName); Usage(progName);
break; break;

View File

@ -21,7 +21,7 @@
#include "secoid.h" #include "secoid.h"
#include "nssutil.h" #include "nssutil.h"
#ifdef NSS_ENABLE_ECC #ifndef NSS_DISABLE_ECC
#include "ecl-curve.h" #include "ecl-curve.h"
SECStatus EC_DecodeParams(const SECItem *encodedParams, SECStatus EC_DecodeParams(const SECItem *encodedParams,
ECParams **ecparams); ECParams **ecparams);
@ -56,8 +56,7 @@ char *testdir = NULL;
#define TIMEMARK(seconds) \ #define TIMEMARK(seconds) \
time1 = PR_SecondsToInterval(seconds); \ time1 = PR_SecondsToInterval(seconds); \
{ \ { \
PRInt64 tmp, L100; \ PRInt64 tmp; \
LL_I2L(L100, 100); \
if (time2 == 0) { \ if (time2 == 0) { \
time2 = 1; \ time2 = 1; \
} \ } \
@ -133,7 +132,7 @@ static void Usage()
PRINTUSAGE(progName, "-S -m mode", "Sign a buffer"); PRINTUSAGE(progName, "-S -m mode", "Sign a buffer");
PRINTUSAGE("", "", "[-i plaintext] [-o signature] [-k key]"); PRINTUSAGE("", "", "[-i plaintext] [-o signature] [-k key]");
PRINTUSAGE("", "", "[-b bufsize]"); PRINTUSAGE("", "", "[-b bufsize]");
#ifdef NSS_ENABLE_ECC #ifndef NSS_DISABLE_ECC
PRINTUSAGE("", "", "[-n curvename]"); PRINTUSAGE("", "", "[-n curvename]");
#endif #endif
PRINTUSAGE("", "", "[-p repetitions | -5 time_interval] [-4 th_num]"); PRINTUSAGE("", "", "[-p repetitions | -5 time_interval] [-4 th_num]");
@ -141,7 +140,7 @@ static void Usage()
PRINTUSAGE("", "-i", "file which contains input buffer"); PRINTUSAGE("", "-i", "file which contains input buffer");
PRINTUSAGE("", "-o", "file for signature"); PRINTUSAGE("", "-o", "file for signature");
PRINTUSAGE("", "-k", "file which contains key"); PRINTUSAGE("", "-k", "file which contains key");
#ifdef NSS_ENABLE_ECC #ifndef NSS_DISABLE_ECC
PRINTUSAGE("", "-n", "name of curve for EC key generation; one of:"); PRINTUSAGE("", "-n", "name of curve for EC key generation; one of:");
PRINTUSAGE("", "", " sect163k1, nistk163, sect163r1, sect163r2,"); PRINTUSAGE("", "", " sect163k1, nistk163, sect163r1, sect163r2,");
PRINTUSAGE("", "", " nistb163, sect193r1, sect193r2, sect233k1, nistk233,"); PRINTUSAGE("", "", " nistb163, sect193r1, sect193r2, sect233k1, nistk233,");
@ -313,7 +312,6 @@ serialize_key(SECItem *it, int ni, PRFileDesc *file)
{ {
unsigned char len[4]; unsigned char len[4];
int i; int i;
SECStatus status;
NSSBase64Encoder *cx; NSSBase64Encoder *cx;
cx = NSSBase64Encoder_Create(output_ascii, file); cx = NSSBase64Encoder_Create(output_ascii, file);
for (i=0; i<ni; i++, it++) { for (i=0; i<ni; i++, it++) {
@ -321,11 +319,11 @@ serialize_key(SECItem *it, int ni, PRFileDesc *file)
len[1] = (it->len >> 16) & 0xff; len[1] = (it->len >> 16) & 0xff;
len[2] = (it->len >> 8) & 0xff; len[2] = (it->len >> 8) & 0xff;
len[3] = (it->len & 0xff); len[3] = (it->len & 0xff);
status = NSSBase64Encoder_Update(cx, len, 4); NSSBase64Encoder_Update(cx, len, 4);
status = NSSBase64Encoder_Update(cx, it->data, it->len); NSSBase64Encoder_Update(cx, it->data, it->len);
} }
status = NSSBase64Encoder_Destroy(cx, PR_FALSE); NSSBase64Encoder_Destroy(cx, PR_FALSE);
status = PR_Write(file, "\r\n", 2); PR_Write(file, "\r\n", 2);
} }
void void
@ -390,7 +388,7 @@ dsakey_from_filedata(SECItem *filedata)
return key; return key;
} }
#ifdef NSS_ENABLE_ECC #ifndef NSS_DISABLE_ECC
static ECPrivateKey * static ECPrivateKey *
eckey_from_filedata(SECItem *filedata) eckey_from_filedata(SECItem *filedata)
{ {
@ -544,7 +542,7 @@ getECParams(const char *curve)
return ecparams; return ecparams;
} }
#endif /* NSS_ENABLE_ECC */ #endif /* NSS_DISABLE_ECC */
static void static void
dump_pqg(PQGParams *pqg) dump_pqg(PQGParams *pqg)
@ -562,7 +560,7 @@ dump_dsakey(DSAPrivateKey *key)
SECU_PrintInteger(stdout, &key->privateValue, "PRIVATE VALUE:", 0); SECU_PrintInteger(stdout, &key->privateValue, "PRIVATE VALUE:", 0);
} }
#ifdef NSS_ENABLE_ECC #ifndef NSS_DISABLE_ECC
static void static void
dump_ecp(ECParams *ecp) dump_ecp(ECParams *ecp)
{ {
@ -651,7 +649,7 @@ typedef enum {
bltestRSA, /* Public Key Ciphers */ bltestRSA, /* Public Key Ciphers */
bltestRSA_OAEP, /* . (Public Key Enc.) */ bltestRSA_OAEP, /* . (Public Key Enc.) */
bltestRSA_PSS, /* . (Public Key Sig.) */ bltestRSA_PSS, /* . (Public Key Sig.) */
#ifdef NSS_ENABLE_ECC #ifndef NSS_DISABLE_ECC
bltestECDSA, /* . (Public Key Sig.) */ bltestECDSA, /* . (Public Key Sig.) */
#endif #endif
bltestDSA, /* . (Public Key Sig.) */ bltestDSA, /* . (Public Key Sig.) */
@ -690,7 +688,7 @@ static char *mode_strings[] =
"rsa", "rsa",
"rsa_oaep", "rsa_oaep",
"rsa_pss", "rsa_pss",
#ifdef NSS_ENABLE_ECC #ifndef NSS_DISABLE_ECC
"ecdsa", "ecdsa",
#endif #endif
/*"pqg",*/ /*"pqg",*/
@ -744,7 +742,7 @@ typedef struct
PQGParams *pqg; PQGParams *pqg;
} bltestDSAParams; } bltestDSAParams;
#ifdef NSS_ENABLE_ECC #ifndef NSS_DISABLE_ECC
typedef struct typedef struct
{ {
char *curveName; char *curveName;
@ -763,7 +761,7 @@ typedef struct
union { union {
bltestRSAParams rsa; bltestRSAParams rsa;
bltestDSAParams dsa; bltestDSAParams dsa;
#ifdef NSS_ENABLE_ECC #ifndef NSS_DISABLE_ECC
bltestECDSAParams ecdsa; bltestECDSAParams ecdsa;
#endif #endif
} cipherParams; } cipherParams;
@ -1266,7 +1264,7 @@ dsa_verifyDigest(void *cx, SECItem *output, const SECItem *input)
return DSA_VerifyDigest((DSAPublicKey *)params->pubKey, output, input); return DSA_VerifyDigest((DSAPublicKey *)params->pubKey, output, input);
} }
#ifdef NSS_ENABLE_ECC #ifndef NSS_DISABLE_ECC
SECStatus SECStatus
ecdsa_signDigest(void *cx, SECItem *output, const SECItem *input) ecdsa_signDigest(void *cx, SECItem *output, const SECItem *input)
{ {
@ -1436,7 +1434,7 @@ bltest_aes_init(bltestCipherInfo *cipherInfo, PRBool encrypt)
int minorMode; int minorMode;
int i; int i;
int keylen = aesp->key.buf.len; int keylen = aesp->key.buf.len;
int blocklen = AES_BLOCK_SIZE; unsigned int blocklen = AES_BLOCK_SIZE;
PRIntervalTime time1, time2; PRIntervalTime time1, time2;
unsigned char *params; unsigned char *params;
int len; int len;
@ -1635,6 +1633,8 @@ bltest_rsa_init(bltestCipherInfo *cipherInfo, PRBool encrypt)
cipherInfo->cipher.pubkeyCipher = encrypt ? rsa_encryptOAEP cipherInfo->cipher.pubkeyCipher = encrypt ? rsa_encryptOAEP
: rsa_decryptOAEP; : rsa_decryptOAEP;
break; break;
default:
break;
} }
return SECSuccess; return SECSuccess;
} }
@ -1720,7 +1720,7 @@ bltest_dsa_init(bltestCipherInfo *cipherInfo, PRBool encrypt)
return SECSuccess; return SECSuccess;
} }
#ifdef NSS_ENABLE_ECC #ifndef NSS_DISABLE_ECC
SECStatus SECStatus
bltest_ecdsa_init(bltestCipherInfo *cipherInfo, PRBool encrypt) bltest_ecdsa_init(bltestCipherInfo *cipherInfo, PRBool encrypt)
{ {
@ -2077,7 +2077,7 @@ finish:
SECStatus SECStatus
pubkeyInitKey(bltestCipherInfo *cipherInfo, PRFileDesc *file, pubkeyInitKey(bltestCipherInfo *cipherInfo, PRFileDesc *file,
#ifdef NSS_ENABLE_ECC #ifndef NSS_DISABLE_ECC
int keysize, int exponent, char *curveName) int keysize, int exponent, char *curveName)
#else #else
int keysize, int exponent) int keysize, int exponent)
@ -2090,7 +2090,7 @@ pubkeyInitKey(bltestCipherInfo *cipherInfo, PRFileDesc *file,
RSAPrivateKey **rsaKey = NULL; RSAPrivateKey **rsaKey = NULL;
bltestDSAParams *dsap; bltestDSAParams *dsap;
DSAPrivateKey **dsaKey = NULL; DSAPrivateKey **dsaKey = NULL;
#ifdef NSS_ENABLE_ECC #ifndef NSS_DISABLE_ECC
SECItem *tmpECParamsDER; SECItem *tmpECParamsDER;
ECParams *tmpECParams = NULL; ECParams *tmpECParams = NULL;
SECItem ecSerialize[3]; SECItem ecSerialize[3];
@ -2132,7 +2132,7 @@ pubkeyInitKey(bltestCipherInfo *cipherInfo, PRFileDesc *file,
dsap->keysize = (*dsaKey)->params.prime.len*8; dsap->keysize = (*dsaKey)->params.prime.len*8;
} }
break; break;
#ifdef NSS_ENABLE_ECC #ifndef NSS_DISABLE_ECC
case bltestECDSA: case bltestECDSA:
ecKey = (ECPrivateKey **)&asymk->privKey; ecKey = (ECPrivateKey **)&asymk->privKey;
if (curveName != NULL) { if (curveName != NULL) {
@ -2244,7 +2244,7 @@ cipherInit(bltestCipherInfo *cipherInfo, PRBool encrypt)
} }
return bltest_dsa_init(cipherInfo, encrypt); return bltest_dsa_init(cipherInfo, encrypt);
break; break;
#ifdef NSS_ENABLE_ECC #ifndef NSS_DISABLE_ECC
case bltestECDSA: case bltestECDSA:
if (encrypt) { if (encrypt) {
SECITEM_AllocItem(cipherInfo->arena, &cipherInfo->output.buf, SECITEM_AllocItem(cipherInfo->arena, &cipherInfo->output.buf,
@ -2494,7 +2494,7 @@ cipherFinish(bltestCipherInfo *cipherInfo)
case bltestRSA_PSS: /* will be freed with it. */ case bltestRSA_PSS: /* will be freed with it. */
case bltestRSA_OAEP: case bltestRSA_OAEP:
case bltestDSA: case bltestDSA:
#ifdef NSS_ENABLE_ECC #ifndef NSS_DISABLE_ECC
case bltestECDSA: case bltestECDSA:
#endif #endif
case bltestMD2: /* hash contexts are ephemeral */ case bltestMD2: /* hash contexts are ephemeral */
@ -2569,8 +2569,6 @@ printPR_smpString(const char *sformat, char *reportStr,
fprintf(stdout, sformat, reportStr); fprintf(stdout, sformat, reportStr);
PR_smprintf_free(reportStr); PR_smprintf_free(reportStr);
} else { } else {
int prnRes;
LL_L2I(prnRes, rNum);
fprintf(stdout, nformat, rNum); fprintf(stdout, nformat, rNum);
} }
} }
@ -2674,7 +2672,7 @@ print_td:
fprintf(stdout, "%8d", info->params.asymk.cipherParams.dsa.keysize); fprintf(stdout, "%8d", info->params.asymk.cipherParams.dsa.keysize);
} }
break; break;
#ifdef NSS_ENABLE_ECC #ifndef NSS_DISABLE_ECC
case bltestECDSA: case bltestECDSA:
if (td) { if (td) {
fprintf(stdout, "%12s", "ec_curve"); fprintf(stdout, "%12s", "ec_curve");
@ -2791,8 +2789,8 @@ mode_str_to_hash_alg(const SECItem *modeStr)
case bltestSHA256: return HASH_AlgSHA256; case bltestSHA256: return HASH_AlgSHA256;
case bltestSHA384: return HASH_AlgSHA384; case bltestSHA384: return HASH_AlgSHA384;
case bltestSHA512: return HASH_AlgSHA512; case bltestSHA512: return HASH_AlgSHA512;
default: return HASH_AlgNULL;
} }
return HASH_AlgNULL;
} }
void void
@ -2906,7 +2904,7 @@ get_params(PLArenaPool *arena, bltestParams *params,
sprintf(filename, "%s/tests/%s/%s%d", testdir, modestr, "ciphertext",j); sprintf(filename, "%s/tests/%s/%s%d", testdir, modestr, "ciphertext",j);
load_file_data(arena, &params->asymk.sig, filename, bltestBase64Encoded); load_file_data(arena, &params->asymk.sig, filename, bltestBase64Encoded);
break; break;
#ifdef NSS_ENABLE_ECC #ifndef NSS_DISABLE_ECC
case bltestECDSA: case bltestECDSA:
sprintf(filename, "%s/tests/%s/%s%d", testdir, modestr, "key", j); sprintf(filename, "%s/tests/%s/%s%d", testdir, modestr, "key", j);
load_file_data(arena, &params->asymk.key, filename, bltestBase64Encoded); load_file_data(arena, &params->asymk.key, filename, bltestBase64Encoded);
@ -2938,46 +2936,62 @@ SECStatus
verify_self_test(bltestIO *result, bltestIO *cmp, bltestCipherMode mode, verify_self_test(bltestIO *result, bltestIO *cmp, bltestCipherMode mode,
PRBool forward, SECStatus sigstatus) PRBool forward, SECStatus sigstatus)
{ {
int res; PRBool equal;
char *modestr = mode_strings[mode]; char *modestr = mode_strings[mode];
res = SECITEM_CompareItem(&result->pBuf, &cmp->buf); equal = SECITEM_ItemsAreEqual(&result->pBuf, &cmp->buf);
if (is_sigCipher(mode)) { if (is_sigCipher(mode)) {
if (forward) { if (forward) {
if (res == 0) { if (equal) {
printf("Signature self-test for %s passed.\n", modestr); printf("Signature self-test for %s passed.\n", modestr);
} else { } else {
printf("Signature self-test for %s failed!\n", modestr); printf("Signature self-test for %s failed!\n", modestr);
} }
return equal ? SECSuccess : SECFailure;
} else { } else {
if (sigstatus == SECSuccess) { if (sigstatus == SECSuccess) {
printf("Verification self-test for %s passed.\n", modestr); printf("Verification self-test for %s passed.\n", modestr);
} else { } else {
printf("Verification self-test for %s failed!\n", modestr); printf("Verification self-test for %s failed!\n", modestr);
} }
return sigstatus;
} }
return sigstatus;
} else if (is_hashCipher(mode)) { } else if (is_hashCipher(mode)) {
if (res == 0) { if (equal) {
printf("Hash self-test for %s passed.\n", modestr); printf("Hash self-test for %s passed.\n", modestr);
} else { } else {
printf("Hash self-test for %s failed!\n", modestr); printf("Hash self-test for %s failed!\n", modestr);
} }
} else { } else {
if (forward) { if (forward) {
if (res == 0) { if (equal) {
printf("Encryption self-test for %s passed.\n", modestr); printf("Encryption self-test for %s passed.\n", modestr);
} else { } else {
printf("Encryption self-test for %s failed!\n", modestr); printf("Encryption self-test for %s failed!\n", modestr);
} }
} else { } else {
if (res == 0) { if (equal) {
printf("Decryption self-test for %s passed.\n", modestr); printf("Decryption self-test for %s passed.\n", modestr);
} else { } else {
printf("Decryption self-test for %s failed!\n", modestr); printf("Decryption self-test for %s failed!\n", modestr);
} }
} }
} }
return (res != 0); return equal ? SECSuccess : SECFailure;
}
static SECStatus
ReadFileToItem(SECItem *dst, const char *filename)
{
PRFileDesc *file;
SECStatus rv;
file = PR_Open(filename, PR_RDONLY, 00660);
if (!file) {
return SECFailure;
}
rv = SECU_FileToItem(dst, file);
PR_Close(file);
return rv;
} }
static SECStatus static SECStatus
@ -2988,22 +3002,19 @@ blapi_selftest(bltestCipherMode *modes, int numModes, int inoff, int outoff,
bltestIO pt, ct; bltestIO pt, ct;
bltestCipherMode mode; bltestCipherMode mode;
bltestParams *params; bltestParams *params;
int i, j, nummodes, numtests; unsigned int i, j, nummodes, numtests;
char *modestr; char *modestr;
char filename[256]; char filename[256];
PRFileDesc *file;
PLArenaPool *arena; PLArenaPool *arena;
SECItem item; SECItem item;
PRBool finished;
SECStatus rv = SECSuccess, srv; SECStatus rv = SECSuccess, srv;
PORT_Memset(&cipherInfo, 0, sizeof(cipherInfo)); PORT_Memset(&cipherInfo, 0, sizeof(cipherInfo));
arena = PORT_NewArena(BLTEST_DEFAULT_CHUNKSIZE); arena = PORT_NewArena(BLTEST_DEFAULT_CHUNKSIZE);
cipherInfo.arena = arena; cipherInfo.arena = arena;
finished = PR_FALSE;
nummodes = (numModes == 0) ? NUMMODES : numModes; nummodes = (numModes == 0) ? NUMMODES : numModes;
for (i=0; i < nummodes && !finished; i++) { for (i=0; i < nummodes; i++) {
if (numModes > 0) if (numModes > 0)
mode = modes[i]; mode = modes[i];
else else
@ -3017,13 +3028,11 @@ blapi_selftest(bltestCipherMode *modes, int numModes, int inoff, int outoff,
params = &cipherInfo.params; params = &cipherInfo.params;
/* get the number of tests in the directory */ /* get the number of tests in the directory */
sprintf(filename, "%s/tests/%s/%s", testdir, modestr, "numtests"); sprintf(filename, "%s/tests/%s/%s", testdir, modestr, "numtests");
file = PR_Open(filename, PR_RDONLY, 00660); if (ReadFileToItem(&item, filename) != SECSuccess) {
if (!file) { fprintf(stderr, "%s: Cannot read file %s.\n", progName, filename);
fprintf(stderr, "%s: File %s does not exist.\n", progName,filename); rv = SECFailure;
return SECFailure; continue;
} }
rv = SECU_FileToItem(&item, file);
PR_Close(file);
/* loop over the tests in the directory */ /* loop over the tests in the directory */
numtests = 0; numtests = 0;
for (j=0; j<item.len; j++) { for (j=0; j<item.len; j++) {
@ -3048,8 +3057,6 @@ blapi_selftest(bltestCipherMode *modes, int numModes, int inoff, int outoff,
** Align the input buffer (plaintext) according to request ** Align the input buffer (plaintext) according to request
** then perform operation and compare to ciphertext ** then perform operation and compare to ciphertext
*/ */
/* XXX for now */
rv = SECSuccess;
if (encrypt) { if (encrypt) {
bltestCopyIO(arena, &cipherInfo.input, &pt); bltestCopyIO(arena, &cipherInfo.input, &pt);
misalignBuffer(arena, &cipherInfo.input, inoff); misalignBuffer(arena, &cipherInfo.input, inoff);
@ -3059,11 +3066,10 @@ blapi_selftest(bltestCipherMode *modes, int numModes, int inoff, int outoff,
rv |= cipherDoOp(&cipherInfo); rv |= cipherDoOp(&cipherInfo);
rv |= cipherFinish(&cipherInfo); rv |= cipherFinish(&cipherInfo);
rv |= verify_self_test(&cipherInfo.output, rv |= verify_self_test(&cipherInfo.output,
&ct, mode, PR_TRUE, 0); &ct, mode, PR_TRUE, SECSuccess);
/* If testing hash, only one op to test */ /* If testing hash, only one op to test */
if (is_hashCipher(mode)) if (is_hashCipher(mode))
continue; continue;
/*if (rv) return rv;*/
if (is_sigCipher(mode)) { if (is_sigCipher(mode)) {
/* Verify operations support detached signature files. For /* Verify operations support detached signature files. For
** consistency between tests that run Sign/Verify back to ** consistency between tests that run Sign/Verify back to
@ -3079,8 +3085,6 @@ blapi_selftest(bltestCipherMode *modes, int numModes, int inoff, int outoff,
} }
if (!decrypt) if (!decrypt)
continue; continue;
/* XXX for now */
rv = SECSuccess;
/* Reverse Operation (Decrypt/Verify) /* Reverse Operation (Decrypt/Verify)
** Align the input buffer (ciphertext) according to request ** Align the input buffer (ciphertext) according to request
** then perform operation and compare to plaintext ** then perform operation and compare to plaintext
@ -3100,7 +3104,6 @@ blapi_selftest(bltestCipherMode *modes, int numModes, int inoff, int outoff,
rv |= cipherFinish(&cipherInfo); rv |= cipherFinish(&cipherInfo);
rv |= verify_self_test(&cipherInfo.output, rv |= verify_self_test(&cipherInfo.output,
&pt, mode, PR_FALSE, srv); &pt, mode, PR_FALSE, srv);
/*if (rv) return rv;*/
} }
} }
return rv; return rv;
@ -3128,7 +3131,7 @@ dump_file(bltestCipherMode mode, char *filename)
load_file_data(arena, &keydata, filename, bltestBase64Encoded); load_file_data(arena, &keydata, filename, bltestBase64Encoded);
key = dsakey_from_filedata(&keydata.buf); key = dsakey_from_filedata(&keydata.buf);
dump_dsakey(key); dump_dsakey(key);
#ifdef NSS_ENABLE_ECC #ifndef NSS_DISABLE_ECC
} else if (mode == bltestECDSA) { } else if (mode == bltestECDSA) {
ECPrivateKey *key; ECPrivateKey *key;
load_file_data(arena, &keydata, filename, bltestBase64Encoded); load_file_data(arena, &keydata, filename, bltestBase64Encoded);
@ -3373,7 +3376,7 @@ enum {
opt_Key, opt_Key,
opt_HexWSpc, opt_HexWSpc,
opt_Mode, opt_Mode,
#ifdef NSS_ENABLE_ECC #ifndef NSS_DISABLE_ECC
opt_CurveName, opt_CurveName,
#endif #endif
opt_Output, opt_Output,
@ -3426,7 +3429,7 @@ static secuCommandFlag bltest_options[] =
{ /* opt_Key */ 'k', PR_TRUE, 0, PR_FALSE }, { /* opt_Key */ 'k', PR_TRUE, 0, PR_FALSE },
{ /* opt_HexWSpc */ 'l', PR_FALSE, 0, PR_FALSE }, { /* opt_HexWSpc */ 'l', PR_FALSE, 0, PR_FALSE },
{ /* opt_Mode */ 'm', PR_TRUE, 0, PR_FALSE }, { /* opt_Mode */ 'm', PR_TRUE, 0, PR_FALSE },
#ifdef NSS_ENABLE_ECC #ifndef NSS_DISABLE_ECC
{ /* opt_CurveName */ 'n', PR_TRUE, 0, PR_FALSE }, { /* opt_CurveName */ 'n', PR_TRUE, 0, PR_FALSE },
#endif #endif
{ /* opt_Output */ 'o', PR_TRUE, 0, PR_FALSE }, { /* opt_Output */ 'o', PR_TRUE, 0, PR_FALSE },
@ -3452,16 +3455,15 @@ static secuCommandFlag bltest_options[] =
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
char *infileName, *outfileName, *keyfileName, *ivfileName;
SECStatus rv = SECFailure; SECStatus rv = SECFailure;
double totalTime; double totalTime = 0.0;
PRIntervalTime time1, time2; PRIntervalTime time1, time2;
PRFileDesc *outfile = NULL; PRFileDesc *outfile = NULL;
bltestCipherInfo *cipherInfoListHead, *cipherInfo; bltestCipherInfo *cipherInfoListHead, *cipherInfo = NULL;
bltestIOMode ioMode; bltestIOMode ioMode;
int bufsize, exponent, curThrdNum; int bufsize, exponent, curThrdNum;
#ifdef NSS_ENABLE_ECC #ifndef NSS_DISABLE_ECC
char *curveName = NULL; char *curveName = NULL;
#endif #endif
int i, commandsEntered; int i, commandsEntered;
@ -3506,8 +3508,6 @@ int main(int argc, char **argv)
cipherInfo = PORT_ZNew(bltestCipherInfo); cipherInfo = PORT_ZNew(bltestCipherInfo);
cipherInfoListHead = cipherInfo; cipherInfoListHead = cipherInfo;
/* set some defaults */
infileName = outfileName = keyfileName = ivfileName = NULL;
/* Check the number of commands entered on the command line. */ /* Check the number of commands entered on the command line. */
commandsEntered = 0; commandsEntered = 0;
@ -3605,7 +3605,7 @@ int main(int argc, char **argv)
rv = blapi_selftest(modesToTest, numModesToTest, inoff, outoff, rv = blapi_selftest(modesToTest, numModesToTest, inoff, outoff,
encrypt, decrypt); encrypt, decrypt);
PORT_Free(cipherInfo); PORT_Free(cipherInfo);
return rv; return rv == SECSuccess ? 0 : 1;
} }
/* Do FIPS self-test */ /* Do FIPS self-test */
@ -3695,7 +3695,7 @@ int main(int argc, char **argv)
else else
exponent = 65537; exponent = 65537;
#ifdef NSS_ENABLE_ECC #ifndef NSS_DISABLE_ECC
if (bltest.options[opt_CurveName].activated) if (bltest.options[opt_CurveName].activated)
curveName = PORT_Strdup(bltest.options[opt_CurveName].arg); curveName = PORT_Strdup(bltest.options[opt_CurveName].arg);
else else
@ -3707,8 +3707,10 @@ int main(int argc, char **argv)
fprintf(stderr, "%s: You must specify a signature file with -f.\n", fprintf(stderr, "%s: You must specify a signature file with -f.\n",
progName); progName);
print_usage: print_usage:
PORT_Free(cipherInfo); if (cipherInfo) {
PORT_Free(cipherInfo);
}
Usage(); Usage();
} }
@ -3783,7 +3785,7 @@ int main(int argc, char **argv)
file = PR_Open("tmp.key", PR_WRONLY|PR_CREATE_FILE, 00660); file = PR_Open("tmp.key", PR_WRONLY|PR_CREATE_FILE, 00660);
} }
params->key.mode = bltestBase64Encoded; params->key.mode = bltestBase64Encoded;
#ifdef NSS_ENABLE_ECC #ifndef NSS_DISABLE_ECC
pubkeyInitKey(cipherInfo, file, keysize, exponent, curveName); pubkeyInitKey(cipherInfo, file, keysize, exponent, curveName);
#else #else
pubkeyInitKey(cipherInfo, file, keysize, exponent); pubkeyInitKey(cipherInfo, file, keysize, exponent);

View File

@ -0,0 +1 @@
AzZ2PpZtkllaVnzJzlN/Xg==

View File

@ -0,0 +1,3 @@
eykx9YVfcXFF4A8VKp9HlDWbH/yz5V9ZTjMJi1HCOmx0oGwdlP3tf9KuQsfbesrv
WETLM67dxoUlhe0AIKZpnSy1OAnO/RaRSM5CKSr6sGNEOXgwbFgsGLnODaPQhM5N
PEgs/Y/PGoUITon7iLQKCE1elyRm0HZmEm+3YfhAePI=

View File

@ -0,0 +1,3 @@
sJUS8+/57Q2FiQmDpz2tu3w2eNUlgb5kqKj8WG9JDyUhKXpHigWYBA69D1UJ+vsJ
afnZ5gDq7zOxuT7tmWh7Fn+JpQZarEOc5G87jSLTCGXmTkXvjNMLaYQ1OoRKEcjN
YNug6IZrPuMNJLP6imQ7MoNT4GAQ+oJzyP1U7woraTDlUgquXNWQL5uGozWSykNl

View File

@ -0,0 +1,4 @@
a+ihKABFWjIFOIU+DLoxvS2A6gyFFkpMXCYa5IVBfZPv/i68DQoLUdbqGGM9IQz2
PAxN28J2B/LoHtkRMZHvhtVvO5m+bEFaQVApn7hGznFgtAtjuvEXnRknWi6DaYN2
0ouSVIxo4G5tmU4sFQHtKXAU5wLN7+4vZWRHcGAJYU2AHeHKr3P4t/pWzxupS2MZ
M7vld2JDgIUPEXQ1oDVbKw==

View File

@ -0,0 +1 @@
UdRHefkNQKgASCdsA1y0nKKke8ubnPcnC5FEeTeH1T8=

View File

@ -0,0 +1,2 @@
1fVYl2C/nHYiKP3iNt4fot0trUSNs/qb4MQZbv1Go1yE3RrHfZ21jJWRjLMXpkMK
CNL7ao6LDxybcsejRNw0nw==

View File

@ -0,0 +1,2 @@
dTlZdL0ys2ZWVKbI45a4iuNLEjV1hyp6tofY52tG35EailkM0B0vXDML46Zibp3T
ql4Q7RTo/4KYEbb+1Q8/UzykOFocvKePXEdE5Q8vg1kWXCSF0TJOdsPq52oMysYp

View File

@ -0,0 +1,3 @@
gVjiFCDyW1nWrpQ/ocvyHwLpefQZ2rASanIbfu9Vvumtl/XM/30jkFe7wZqMN4FC
92cvHV5+F9e+vLAHDoNVys5mYBcaU7YYFq6CSm72nORwtv/TtbtLQ4h02R0nhU07
byWGDTholY3jMH1isTOb3duKMYwM4PM8F8rw6fYECCA=

View File

@ -0,0 +1,3 @@
km2ySMwbog8MV2MafIrvCU95GTe5BZSeNGAkDov6b6SDEVobMQtuQ2nK68UmKIg3
ex3apYAOpJaivf8PmhAx5xKcmiDjViHn8Li6yg2HAw8q58qFk8hZlnegb9SyYAnq
0I/srCTKqc8srTtHDIInQVp7Hg8uqz+tltcKIJyLsmxidnfiUxuUNcpuPERNGVtf

View File

@ -0,0 +1,4 @@
yCzyxHbeqMtqbmB6QNLwORvoLqnshKU3poIPmvuZe3Y5fQBUJPqmp03E6MeqSokA
aQ+JS20dyoBnU5PSJDrax2LxWTAeNX6YtyR2IxDNWnuv4cKgMNukb9k6n9uJzBMs
qcF9xyAx7Ggi7lqdmdvKZseEwBsIhcu2LinZeAGSfsQVpdIVFY0yX57miUN60bdo
StM8DZJzlFGsh/Of+MMbhA==

View File

@ -0,0 +1 @@
L6Dfciqf07ZMsY+ys9tV/yJnQidXKJQT+PZXUHQSpkw=

View File

@ -0,0 +1 @@
qaFjG/SZaVTrwJOVeyNFiQ==

View File

@ -0,0 +1,2 @@
BdXHdylCGwi3N+QRGfpEONH1cMx3Kk1sPff/7aA4TvhCiM43/ExMfRElpJmwUTZM
OJ/WOb3aZH2qO9rasutVlA==

View File

@ -0,0 +1,2 @@
rD1tuv4uD3QGMv2eggv2BEzVsVUcu5zAPAslw5zLfzO4Oqz8pAoyZfK7/4eRU0SK
ysuI/Ps7t7EP5GOmjAEJ8Cg4Lj5VexrfAu1kira7iV3wIF0m67+ppf2M69jkvuPc

View File

@ -0,0 +1,3 @@
kLe5YwojePU/UBq3vv8DkVUAgHG8hDjniZMs/T6xKZGVRl5mM4SUY/20Q3Unji/b
ExCCHmSSz4D/Fct3JQn7Qm867uJ71JOIgv0q5rW9nZH6SkOxe7Q5675ZwEIxAWOo
Kl/lOIeW7uNaGBoScfAL4puFLY+nWbrQH/RnjwEFlM0=

View File

@ -0,0 +1,3 @@
AlSyNGO8q+xaOV63TI+w6xN6B7xvXp9h7AsFfeMFcU+PopQiHJGhWcMVk5uB4wDu
kCGS7F8VJUQo2HcveTJOxDKYyiHACzcCc+5eXtkOQ++h4FpdFxIJ/jT58pI326Km
cmZQ/TsTIXR9EgiGPGw8az4th5q18leC8Iuo8qu+Y+C+20oifoGvs2u2ZFUINW00

View File

@ -0,0 +1,4 @@
/Fhz5Q3o+vTGuEunB7CFTp25qy6ffXB/u6M4xoQ6GPxvrOuvZj0mKW+zKbTSbxhJ
THngnneWR/m6+odIljDXn0MBYQwjAMGdvzFIt8rIxPSUQQJ1TzMukrb3xedbxhee
uHegeNRxkAkCF0TBTxP9KlWiucRNGAAGhahFpPYyx8VqdzBu+maiTQXQiNzXwT/i
T8RHJ1ll255NN/vJMERIzQ==

View File

@ -0,0 +1 @@
J1z8BBPYzLcFE8OFmx0Pcg==

View File

@ -0,0 +1 @@
ybgTX/G1rcQT39BTshvZbQ==

View File

@ -0,0 +1 @@
XJ2ETtRvmIUIXl1qT5TH1w==

View File

@ -0,0 +1 @@
qf91vXz2YT03Mcd8O20MBA==

View File

@ -0,0 +1 @@
xNxh2XJZZ6MCAQSpc48jhoUnzoOaqxdS/YvblagsTQA=

View File

@ -0,0 +1,2 @@
Gblgl3LGPzOGCL9utSyhC+ZQl/icHgkFxCQB/Ud5GuLFRAstRzEWyni9n/L7YBXP
0xZSTq59y5Wuc46+roSkZw==

View File

@ -0,0 +1,2 @@
O4YRv8SXPFzY6YKwc7MxhM0mEQFZFy5EmI61/1ZhoeFvrWclj8v+5VRpJnoS3DdI
k7TjUz029WNMMJVYNZbxNaqM0RONyJi8VlHuNakuv4mrautTZmU7xgpw4AdPwR7+

Binary file not shown.

View File

@ -0,0 +1 @@
檠4馬\ミョ凌XS,エ刀

View File

@ -0,0 +1 @@
$_&[v腚马誓

View File

@ -0,0 +1 @@
╩К/╚╢H╞└≈√$Jв

View File

@ -0,0 +1 @@
<EFBFBD>f~庚y`<60>[」<>

View File

@ -0,0 +1 @@
戯ノ 彝惠9淆ホ<8

View File

@ -0,0 +1 @@
6κΈƒ―ο“lΓ<EFBFBD>c(FΝ

View File

@ -0,0 +1 @@
闳浶椕<EFBFBD>鯫H佦m库

View File

@ -0,0 +1 @@
<EFBFBD><EFBFBD>(3<>E <1D><17><><EFBFBD><

View File

@ -0,0 +1 @@
$@Ђ8,Ка{¶cUБ

View File

@ -0,0 +1 @@
<EFBFBD><EFBFBD><EFBFBD>4<EFBFBD><EFBFBD>7<EFBFBD>Equ<EFBFBD>W<><57>

Binary file not shown.

View File

@ -0,0 +1 @@
ÀÍ+ëÌ»lI ÕH*ÇVè

View File

@ -0,0 +1,2 @@
³Ë—¨
S™¸ÂE ;“•

View File

@ -0,0 +1 @@
LïüYcÔY`&u>I

Binary file not shown.

View File

@ -0,0 +1 @@
же<EFBFBD>ИЯыгЖъЁЕ?~с

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1 @@
ェムX<ルe羹/ 40ミeサ

View File

@ -0,0 +1 @@
È ]‹± `iŸ|—J 

View File

@ -0,0 +1 @@
e<EFBFBD><EFBFBD>60<EFBFBD>ָB<02><EFBFBD>z

Binary file not shown.

View File

@ -0,0 +1 @@
ÄÊ1ùEŽ)©%ìU<C3AC>x

View File

@ -0,0 +1 @@
<EFBFBD>}qーMnーjhワjq<6A>

View File

@ -0,0 +1 @@
,A7QĂ'0W Ł6xk

View File

@ -0,0 +1 @@
<EFBFBD>X<1A>s<EFBFBD><73><1C><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Q<11>.k!

View File

@ -0,0 +1 @@
{±{M÷…i~¬Ï–˜âËuæy|é5Ë

View File

@ -0,0 +1 @@
ãþÌuðZ ³ƒßÓ‰£Ó<ɸT³²TÀô

Binary file not shown.

View File

@ -0,0 +1 @@
<EFBFBD><EFBFBD><EFBFBD><g<>)N<><4E>f<EFBFBD><66><EFBFBD>OE<4F>(<28><><EFBFBD><EFBFBD>3<EFBFBD>

View File

@ -0,0 +1 @@
ćJŞUWíÁk,jMK^î

View File

@ -0,0 +1 @@
ÜâlkLû(eÚNìÒÏþlßC_w´`gÔ<E280BA>®

Binary file not shown.

View File

@ -0,0 +1 @@
“˙cqŻj[Ž<>¬ßZ=KŻŃŻµsľzŢž†ćcĺ

View File

@ -0,0 +1,2 @@
s¸תנ 3¬™…\צשיה…i
Y₪†<E282AA>MֿHׂת®*

View File

@ -0,0 +1 @@
E<EFBFBD>g<EFBFBD>!- <20><><EFBFBD>9 eX-<2D><><EFBFBD><EFBFBD><EFBFBD>"<22><><EFBFBD>8<EFBFBD><38>R&

View File

@ -0,0 +1 @@
ÒA-°„]„ås+½d)WG;<3B>û™Êÿpç ÁÛì‰

View File

@ -0,0 +1 @@
HľY~c,w#$ČÓúśZžÍě] ;ţĂvĹS+

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More