Martin Prikryl 11 年之前
父節點
當前提交
5a9d22512f
共有 100 個文件被更改,包括 734 次插入349 次删除
  1. 1 0
      deployment/winscp.isl
  2. 140 43
      deployment/winscpsetup.iss
  3. 2 1
      dotnet/CommandExecutionResult.cs
  4. 3 0
      dotnet/GlobalSuppressions.cs
  5. 17 0
      dotnet/RemoteFileInfo.cs
  6. 89 27
      dotnet/Session.cs
  7. 37 8
      dotnet/SessionOptions.cs
  8. 1 0
      dotnet/WinSCPnet.csproj
  9. 3 1
      dotnet/internal/ExeSessionProcess.cs
  10. 22 0
      dotnet/internal/Tools.cs
  11. 3 3
      dotnet/properties/AssemblyInfo.cs
  12. 1 1
      libs/neon/.version
  13. 108 0
      libs/neon/ChangeLog
  14. 8 0
      libs/neon/NEWS
  15. 9 3
      libs/neon/aclocal.m4
  16. 87 64
      libs/neon/config.guess
  17. 1 1
      libs/neon/config.h.in
  18. 1 1
      libs/neon/config.hw
  19. 21 20
      libs/neon/config.sub
  20. 22 16
      libs/neon/configure
  21. 0 0
      libs/neon/configure.ac
  22. 1 1
      libs/neon/doc/date.xml
  23. 4 4
      libs/neon/doc/html/compliance.html
  24. 1 1
      libs/neon/doc/html/index.html
  25. 0 0
      libs/neon/doc/html/intro.html
  26. 0 0
      libs/neon/doc/html/refalloc.html
  27. 0 0
      libs/neon/doc/html/refauth.html
  28. 1 1
      libs/neon/doc/html/refbuf.html
  29. 0 0
      libs/neon/doc/html/refbufapp.html
  30. 0 0
      libs/neon/doc/html/refbufcr.html
  31. 0 0
      libs/neon/doc/html/refbufdest.html
  32. 0 0
      libs/neon/doc/html/refbufutil.html
  33. 0 0
      libs/neon/doc/html/refcert.html
  34. 0 0
      libs/neon/doc/html/refclicert.html
  35. 2 2
      libs/neon/doc/html/refconfig.html
  36. 0 0
      libs/neon/doc/html/referr.html
  37. 3 3
      libs/neon/doc/html/reffeat.html
  38. 2 2
      libs/neon/doc/html/refgetst.html
  39. 2 2
      libs/neon/doc/html/refi18n.html
  40. 0 0
      libs/neon/doc/html/refiaddr.html
  41. 18 19
      libs/neon/doc/html/refneon.html
  42. 0 0
      libs/neon/doc/html/refopts.html
  43. 0 0
      libs/neon/doc/html/refproxy.html
  44. 0 0
      libs/neon/doc/html/refreq.html
  45. 0 0
      libs/neon/doc/html/refreqbody.html
  46. 0 0
      libs/neon/doc/html/refreqflags.html
  47. 0 0
      libs/neon/doc/html/refreqhdr.html
  48. 0 0
      libs/neon/doc/html/refresolve.html
  49. 0 0
      libs/neon/doc/html/refresphdr.html
  50. 0 0
      libs/neon/doc/html/refsess.html
  51. 0 0
      libs/neon/doc/html/refsessflags.html
  52. 2 2
      libs/neon/doc/html/refshave.html
  53. 5 5
      libs/neon/doc/html/refsockinit.html
  54. 0 0
      libs/neon/doc/html/refsslca.html
  55. 0 0
      libs/neon/doc/html/refsslcert2.html
  56. 0 0
      libs/neon/doc/html/refsslcertio.html
  57. 0 0
      libs/neon/doc/html/refssldname.html
  58. 0 0
      libs/neon/doc/html/refsslvfy.html
  59. 3 3
      libs/neon/doc/html/refstatus.html
  60. 0 0
      libs/neon/doc/html/reftok.html
  61. 0 0
      libs/neon/doc/html/refvers.html
  62. 0 0
      libs/neon/doc/html/refxml.html
  63. 4 4
      libs/neon/doc/html/security.html
  64. 3 3
      libs/neon/doc/man/ne_add_request_header.3
  65. 3 3
      libs/neon/doc/man/ne_addr_resolve.3
  66. 3 3
      libs/neon/doc/man/ne_buffer.3
  67. 3 3
      libs/neon/doc/man/ne_buffer_append.3
  68. 3 3
      libs/neon/doc/man/ne_buffer_clear.3
  69. 3 3
      libs/neon/doc/man/ne_buffer_create.3
  70. 3 3
      libs/neon/doc/man/ne_buffer_destroy.3
  71. 3 3
      libs/neon/doc/man/ne_get_error.3
  72. 3 3
      libs/neon/doc/man/ne_get_response_header.3
  73. 3 3
      libs/neon/doc/man/ne_get_status.3
  74. 3 3
      libs/neon/doc/man/ne_has_support.3
  75. 3 3
      libs/neon/doc/man/ne_i18n_init.3
  76. 3 3
      libs/neon/doc/man/ne_iaddr_make.3
  77. 3 3
      libs/neon/doc/man/ne_malloc.3
  78. 3 3
      libs/neon/doc/man/ne_request_create.3
  79. 3 3
      libs/neon/doc/man/ne_session_create.3
  80. 3 3
      libs/neon/doc/man/ne_session_proxy.3
  81. 5 5
      libs/neon/doc/man/ne_set_request_body_buffer.3
  82. 0 1
      libs/neon/doc/man/ne_set_request_body_fd64.3
  83. 3 3
      libs/neon/doc/man/ne_set_request_flag.3
  84. 3 3
      libs/neon/doc/man/ne_set_server_auth.3
  85. 3 3
      libs/neon/doc/man/ne_set_session_flag.3
  86. 3 3
      libs/neon/doc/man/ne_set_useragent.3
  87. 3 3
      libs/neon/doc/man/ne_shave.3
  88. 3 3
      libs/neon/doc/man/ne_sock_init.3
  89. 3 3
      libs/neon/doc/man/ne_ssl_cert_cmp.3
  90. 3 3
      libs/neon/doc/man/ne_ssl_cert_identity.3
  91. 3 3
      libs/neon/doc/man/ne_ssl_cert_read.3
  92. 3 3
      libs/neon/doc/man/ne_ssl_clicert_read.3
  93. 3 3
      libs/neon/doc/man/ne_ssl_readable_dname.3
  94. 3 3
      libs/neon/doc/man/ne_ssl_set_verify.3
  95. 3 3
      libs/neon/doc/man/ne_ssl_trust_cert.3
  96. 3 3
      libs/neon/doc/man/ne_status.3
  97. 3 3
      libs/neon/doc/man/ne_token.3
  98. 3 3
      libs/neon/doc/man/ne_version_match.3
  99. 3 3
      libs/neon/doc/man/ne_xml_create.3
  100. 3 3
      libs/neon/doc/man/neon-config.1

+ 1 - 0
deployment/winscp.isl

@@ -65,3 +65,4 @@ Donate=Donate %s
 Currency=USD
 ImportSites=Looking for sites to import...
 ApplicationsFoundDragExt=The following applications have loaded WinSCP Drag & drop shell extension that needs to be updated by Setup. It is recommended that you allow Setup to automatically close these applications. After the installation has completed, Setup will attempt to restart the applications. You can restart your computer later instead, if you do not need to use the extension.
+AcceptButton=&Accept >

+ 140 - 43
deployment/winscpsetup.iss

@@ -237,10 +237,6 @@ Filename: "{app}\WinSCP.exe"; Parameters: "/AddSearchPath"; \
   StatusMsg: {cm:AddingSearchPath}; Tasks: searchpath
 Filename: "{app}\WinSCP.exe"; Parameters: "/ImportSitesIfAny"; \
   StatusMsg: {cm:ImportSites}; Flags: skipifsilent
-Filename: "{app}\WinSCP.exe"; Parameters: "/Usage=TypicalInstallation:1"; \
-  Check: IsTypicalInstallation
-Filename: "{app}\WinSCP.exe"; Parameters: "/Usage=TypicalInstallation:0"; \
-  Check: not IsTypicalInstallation
 
 [UninstallDelete]
 ; These additional files are created by application
@@ -376,6 +372,11 @@ var
 #endif
   InstallationDone: Boolean;
   LicenseAccepted: Boolean;
+  InitDir: string;
+  InitComponents: string;
+  InitTasks: string;
+  InitInterface: Integer;
+  Donated: Boolean;
 
 procedure ShowMessage(Text: string);
 begin
@@ -540,6 +541,7 @@ end;
 procedure AboutDonationsLinkClick(Sender: TObject);
 begin
   OpenBrowser('{#WebRoot}eng/donate.php?' + ExpandConstant('{#WebArguments}'));
+  Donated := true;
 end;
 
 procedure DonateLinkClick(Sender: TObject);
@@ -548,6 +550,7 @@ var
 begin
   Control := TControl(Sender);
   OpenBrowser('{#WebRoot}eng/donate.php?amount=' + IntToStr(Control.Tag) + '&currency=' + ExpandConstant('{cm:Currency}') + '&' + ExpandConstant('{#WebArguments}'));
+  Donated := true;
 end;
 
 #endif
@@ -690,10 +693,10 @@ var
   P: Integer;
 #endif
   S: string;
-  I: Integer;
 begin
   InstallationDone := False;
   LicenseAccepted := False;
+  InitInterface := -1;
 
   DefaultLang := (ActiveLanguage = '{#DefaultLang}');
 
@@ -714,6 +717,15 @@ begin
   // to accomodate one more task
   WizardForm.TasksList.Height := WizardForm.TasksList.Height + ScaleY(8);
 
+  // allow installation without requiring user to accept license
+  WizardForm.LicenseAcceptedRadio.Checked := True;
+  WizardForm.LicenseAcceptedRadio.Visible := False;
+  WizardForm.LicenseNotAcceptedRadio.Visible := False;
+  WizardForm.LicenseMemo.Height :=
+    WizardForm.LicenseNotAcceptedRadio.Top +
+    WizardForm.LicenseNotAcceptedRadio.Height -
+    WizardForm.LicenseMemo.Top - 5;
+
   // hide installation types combo
   WizardForm.TypesCombo.Visible := False;
   WizardForm.ComponentsList.Height :=
@@ -854,8 +866,7 @@ begin
   CommanderRadioButton.Caption := ExpandConstant('{cm:NortonCommanderInterfaceC}');
   CommanderRadioButton.Checked := (UserInterface = 0);
   CommanderRadioButton.Left := ScaleX(4);
-  CommanderRadioButton.Width := InterfacePage.SurfaceWidth -
-    CommanderRadioButton.Left;
+  CommanderRadioButton.Width := ScaleX(116);
   CommanderRadioButton.Top := Caption.Top + Caption.Height + ScaleY(6);
   ScaleFixedHeightControl(CommanderRadioButton);
   CommanderRadioButton.Parent := InterfacePage.Surface;
@@ -876,7 +887,7 @@ begin
       ExpandConstant('{cm:NortonCommanderInterface1}') + NewLine +
       ExpandConstant('{cm:NortonCommanderInterface2}') + NewLine +
       ExpandConstant('{cm:NortonCommanderInterface3}');
-  Caption.Left := CommanderRadioButton.Left + ScaleX(116);
+  Caption.Left := CommanderRadioButton.Left + CommanderRadioButton.Width;
   Caption.Width := InterfacePage.SurfaceWidth - Caption.Left;
   Caption.Top := CommanderRadioButton.Top;
   Caption.Parent := InterfacePage.Surface;
@@ -887,8 +898,7 @@ begin
   ExplorerRadioButton.Caption := ExpandConstant('{cm:ExplorerInterfaceC}');
   ExplorerRadioButton.Checked := (UserInterface <> 0);
   ExplorerRadioButton.Left := ScaleX(4);
-  ExplorerRadioButton.Width := InterfacePage.SurfaceWidth -
-    ExplorerRadioButton.Left;
+  ExplorerRadioButton.Width := CommanderRadioButton.Width;
   ExplorerRadioButton.Top := Caption.Top + Caption.Height + ScaleY(10);
   ScaleFixedHeightControl(ExplorerRadioButton);
   ExplorerRadioButton.Parent := InterfacePage.Surface;
@@ -903,25 +913,19 @@ begin
   Image.OnClick := @ImageClick;
   Image.Tag := Integer(ExplorerRadioButton);
 
-  I := CommanderRadioButton.Left + ScaleX(116);
   Caption := TLabel.Create(InterfacePage);
   Caption.WordWrap := True;
   Caption.Caption :=
       ExpandConstant('{cm:ExplorerInterface1}') + NewLine +
       ExpandConstant('{cm:ExplorerInterface2}') + NewLine +
       ExpandConstant('{cm:ExplorerInterface3}');
-  Caption.Left := I;
+  Caption.Left := ExplorerRadioButton.Left + ExplorerRadioButton.Width;
   Caption.Width := InterfacePage.SurfaceWidth - Caption.Left;
   Caption.Top := ExplorerRadioButton.Top;
   Caption.Parent := InterfacePage.Surface;
   Caption.FocusControl := ExplorerRadioButton;
   Caption.OnClick := @CaptionClick;
 
-  if Caption.Top + Caption.Height > Image.Top + Image.Height then
-    I := Caption.Top + Caption.Height
-  else
-    I := Image.Top + Image.Height;
-
   // run checkbox
   LaunchCheckbox := TCheckbox.Create(WizardForm.FinishedPage);
   LaunchCheckbox.Caption := ExpandConstant('{cm:Launch}');
@@ -1006,12 +1010,55 @@ begin
   SetPreviousData(PreviousDataKey, '{#SetupTypeData}', S);
 end;
 
+function SaveCheckListBoxState(ListBox: TNewCheckListBox): string;
+var
+  I: Integer;
+begin
+  for I := 0 to ListBox.Items.Count - 1 do
+  begin
+    Result := Result + IntToStr(Integer(ListBox.State[I]));
+  end;
+end;
+
 procedure CurPageChanged(CurPageID: Integer);
 var
   Delta: Integer;
   LineHeight: Integer;
   LaunchCheckboxTop: Integer;
 begin
+  if CurPageID = wpLicense then
+  begin
+    WizardForm.NextButton.Caption := ExpandConstant('{cm:AcceptButton}')
+  end
+    else
+  begin
+    WizardForm.NextButton.Caption := SetupMessage(msgButtonNext);
+  end;
+
+  if CurPageID = wpSelectDir then
+  begin
+    if InitDir = '' then
+      InitDir := WizardForm.DirEdit.Text;
+  end
+    else
+  if CurPageID = wpSelectComponents then
+  begin
+    if InitComponents = '' then
+      InitComponents := SaveCheckListBoxState(WizardForm.ComponentsList);
+  end
+    else
+  if CurPageID = wpSelectTasks then
+  begin
+    if InitTasks = '' then
+      InitTasks := SaveCheckListBoxState(WizardForm.TasksList);
+  end
+    else
+  if CurPageID = wpInterface then
+  begin
+    if InitInterface < 0 then
+      InitInterface := Integer(CommanderRadioButton.Checked);
+  end
+    else
   if CurPageID = wpFinished then
   begin
     LineHeight := (WizardForm.NoRadio.Top - WizardForm.YesRadio.Top);
@@ -1040,14 +1087,14 @@ begin
     OpenGettingStartedCheckbox.Top := LaunchCheckbox.Top + LineHeight;
 
     UpdatePostInstallRunCheckboxes(nil);
-  end;
-
+  end
+    else
   if CurPageID = wpSetupType then
   begin
     Log('License accepted');
     LicenseAccepted := True;
-  end;
-
+  end
+    else
   if CurPageID = wpPreparing then
   begin
     // Are we at the "Restart applications?" screen
@@ -1059,7 +1106,6 @@ begin
         WizardForm.AdjustLabelHeight(WizardForm.PreparingLabel));
     end;
   end;
-
 end;
 
 function AskedRestart: Boolean;
@@ -1108,6 +1154,8 @@ var
   Path: string;
   WebGettingStarted: string;
   OpenGettingStarted: Boolean;
+  UsageData: string;
+  CanPostInstallRuns: Boolean;
 begin
   if CurStep = ssPostInstall then
   begin
@@ -1128,36 +1176,85 @@ begin
     // bug in InnoSetup causes it using ssDone even when
     // setup failed because machine was not restarted to complete previous
     // installation. double check that ssPostInstall was called
-    if (not WizardSilent) and (not WillRestart) and InstallationDone then
+    if InstallationDone then
     begin
-      OpenGettingStarted :=
-        OpenGettingStartedCheckbox.Enabled and
-         OpenGettingStartedCheckbox.Checked;
-
-      if OpenGettingStarted then
+      CanPostInstallRuns := (not WizardSilent) and (not WillRestart);
+      if CanPostInstallRuns then
       begin
-        WebGettingStarted :=
-          ExpandConstant('{#WebGettingStarted}') + PrevVersion;
-        Log('Opening getting started page: ' + WebGettingStarted);
-        OpenBrowser(WebGettingStarted);
-      end;
+        OpenGettingStarted :=
+          OpenGettingStartedCheckbox.Enabled and
+           OpenGettingStartedCheckbox.Checked;
 
-      if LaunchCheckbox.Checked then
-      begin
         if OpenGettingStarted then
         begin
-          Log('Will launch WinSCP minimized');
-          ShowCmd := SW_SHOWMINIMIZED
-        end
-          else
+          WebGettingStarted :=
+            ExpandConstant('{#WebGettingStarted}') + PrevVersion;
+          Log('Opening getting started page: ' + WebGettingStarted);
+          OpenBrowser(WebGettingStarted);
+        end;
+
+        if LaunchCheckbox.Checked then
         begin
-          ShowCmd := SW_SHOWNORMAL;
+          if OpenGettingStarted then
+          begin
+            Log('Will launch WinSCP minimized');
+            ShowCmd := SW_SHOWMINIMIZED
+          end
+            else
+          begin
+            ShowCmd := SW_SHOWNORMAL;
+          end;
+
+          Log('Launching WinSCP');
+          Path := ExpandConstant('{app}\{#MainFileName}');
+          ExecAsOriginalUser(Path, '', '', ShowCmd, ewNoWait, ErrorCode)
         end;
+      end;
 
-        Log('Launching WinSCP');
-        Path := ExpandConstant('{app}\{#MainFileName}');
-        ExecAsOriginalUser(Path, '', '', ShowCmd, ewNoWait, ErrorCode)
+      UsageData := '/Usage=';
+      
+      // old style counter
+      UsageData := UsageData + Format('TypicalInstallation:%d,', [Integer(IsTypicalInstallation)]);
+      
+      // new style counters
+      if not Upgrade then
+      begin
+        if IsTypicalInstallation then
+          UsageData := UsageData + 'InstallationsFirstTypical+,'
+        else
+          UsageData := UsageData + 'InstallationsFirstCustom+,';
+      end
+        else
+      begin
+        if IsTypicalInstallation then
+          UsageData := UsageData + 'InstallationsUpgradeTypical+,'
+        else
+          UsageData := UsageData + 'InstallationsUpgradeCustom+,';
       end;
+      
+      if (InitDir <> '') and (InitDir <> WizardForm.DirEdit.Text) then
+        UsageData := UsageData + 'InstallationsCustomDir+,';
+      if (InitComponents <> '') and (InitComponents <> SaveCheckListBoxState(WizardForm.ComponentsList)) then
+        UsageData := UsageData + 'InstallationsCustomComponents+,';
+      if (InitTasks <> '') and (InitTasks <> SaveCheckListBoxState(WizardForm.TasksList)) then
+        UsageData := UsageData + 'InstallationsCustomTasks+,';
+      if (InitInterface >= 0) and (InitInterface <> Integer(CommanderRadioButton.Checked)) then
+        UsageData := UsageData + 'InstallationsCustomInterface+,';
+      if CanPostInstallRuns and OpenGettingStarted then
+        UsageData := UsageData + 'InstallationsGettingStarted+,';
+      if CanPostInstallRuns and LaunchCheckbox.Checked then
+        UsageData := UsageData + 'InstallationsLaunch+,';
+      if WizardSilent then
+        UsageData := UsageData + 'InstallationsSilent+,';
+      if AskedRestart then
+        UsageData := UsageData + 'InstallationsNeedRestart+,';
+      if WillRestart then
+        UsageData := UsageData + 'InstallationsRestart+,';
+      if Donated then
+        UsageData := UsageData + 'InstallationsDonate+,';
+
+      Log('Recording installer usage statistics: ' + UsageData);
+      Exec(ExpandConstant('{app}\WinSCP.exe'), UsageData, '', SW_HIDE, ewWaitUntilTerminated, ErrorCode);
     end;
   end;
 end;

+ 2 - 1
dotnet/CommandExecutionResult.cs

@@ -5,10 +5,11 @@ namespace WinSCP
     [Guid("70C312F8-9A09-4D9B-B8EC-FB6ED753892B")]
     [ClassInterface(Constants.ClassInterface)]
     [ComVisible(true)]
-    public sealed class CommandExecutionResult
+    public sealed class CommandExecutionResult : OperationResultBase
     {
         public string Output { get; internal set; }
         public string ErrorOutput { get; internal set; }
+        public int ExitCode { get; internal set; }
         
         internal CommandExecutionResult()
         {

+ 3 - 0
dotnet/GlobalSuppressions.cs

@@ -147,3 +147,6 @@ using System.Diagnostics.CodeAnalysis;
 [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2122:DoNotIndirectlyExposeMethodsWithLinkDemands", Scope = "member", Target = "WinSCP.Logger.#LastWin32ErrorMessage()")]
 [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope = "member", Target = "WinSCP.Session.#GuardProcessWithJobInternal")]
 [assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode", Scope = "member", Target = "WinSCP.Session.#TestHandlesClosedInternal")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2122:DoNotIndirectlyExposeMethodsWithLinkDemands", Scope = "member", Target = "WinSCP.ExeSessionProcess.#TryCreateEvent(System.String,System.Threading.EventWaitHandle&)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Reliability", "CA2001:AvoidCallingProblematicMethods", MessageId = "System.Runtime.InteropServices.SafeHandle.DangerousGetHandle", Scope = "member", Target = "WinSCP.ExeSessionProcess.#TryCreateEvent(System.String,System.Threading.EventWaitHandle&)")]
+[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Security", "CA2122:DoNotIndirectlyExposeMethodsWithLinkDemands", Scope = "member", Target = "WinSCP.SessionOptions.#GetPassword()")]

+ 17 - 0
dotnet/RemoteFileInfo.cs

@@ -12,6 +12,8 @@ namespace WinSCP
         public string Name { get; internal set; }
         public char FileType { get; internal set; }
         public long Length { get; internal set; }
+        public int Length32 { get { return GetLength32(); } set { SetLength32(value); } }
+
         public DateTime LastWriteTime { get; internal set; }
         public FilePermissions FilePermissions { get; internal set; }
 
@@ -25,5 +27,20 @@ namespace WinSCP
         {
             return Name;
         }
+    
+        private int GetLength32()
+        {
+            if ((Length < int.MinValue) || (Length > int.MaxValue))
+            {
+                throw new OverflowException(string.Format(CultureInfo.CurrentCulture, "Size {0} cannot be represented using 32-bit value", Length));
+            }
+
+            return (int) Length;
+        }
+
+        private void SetLength32(int value)
+        {
+            Length = value;
+        }
     }
 }

+ 89 - 27
dotnet/Session.cs

@@ -48,6 +48,7 @@ namespace WinSCP
         public bool DisableVersionCheck { get { return _disableVersionCheck; } set { CheckNotOpened(); _disableVersionCheck = value; } }
         public string IniFilePath { get { return _iniFilePath; } set { CheckNotOpened(); _iniFilePath = value; } }
         public TimeSpan ReconnectTime { get { return _reconnectTime; } set { CheckNotOpened(); _reconnectTime = value; } }
+        public int ReconnectTimeInMilliseconds { get { return Tools.TimeSpanToMilliseconds(ReconnectTime); } set { ReconnectTime = Tools.MillisecondsToTimeSpan(value); } }
         public string DebugLogPath { get { CheckNotDisposed(); return Logger.LogPath; } set { CheckNotDisposed(); Logger.LogPath = value; } }
         public string SessionLogPath { get { return _sessionLogPath; } set { CheckNotOpened(); _sessionLogPath = value; } }
         public string XmlLogPath { get { return _xmlLogPath; } set { CheckNotOpened(); _xmlLogPath = value; } }
@@ -93,7 +94,7 @@ namespace WinSCP
             using (Logger.CreateCallstackAndLock())
             {
                 Timeout = new TimeSpan(0, 1, 0);
-                _reconnectTime = TimeSpan.MaxValue;
+                _reconnectTime = new TimeSpan(0, 2, 0); // keep in sync with TScript::OptionImpl
                 Output = new StringCollection();
                 _operationResults = new List<OperationResultBase>();
                 _events = new List<Action>();
@@ -167,12 +168,23 @@ namespace WinSCP
                     WriteCommand("option batch on");
                     WriteCommand("option confirm off");
 
+                    object reconnectTimeValue;
                     if (ReconnectTime != TimeSpan.MaxValue)
                     {
-                        WriteCommand(string.Format(CultureInfo.InvariantCulture, "option reconnecttime {0}", (int)ReconnectTime.TotalSeconds));
+                        reconnectTimeValue = (int)ReconnectTime.TotalSeconds;
                     }
+                    else
+                    {
+                        reconnectTimeValue = "off";
+                    }
+                    string reconnectTimeCommand =
+                        string.Format(CultureInfo.InvariantCulture, "option reconnecttime {0}", reconnectTimeValue);
+                    WriteCommand(reconnectTimeCommand);
 
-                    WriteCommand("open " + SessionOptionsToOpenArguments(sessionOptions));
+                    string command;
+                    string log;
+                    SessionOptionsToOpenCommand(sessionOptions, out command, out log);
+                    WriteCommand(command, log);
 
                     string logExplanation =
                         string.Format(CultureInfo.CurrentCulture,
@@ -604,6 +616,9 @@ namespace WinSCP
 
                 CommandExecutionResult result = new CommandExecutionResult();
 
+                // registering before creating group reader, so that
+                // it is still registered, when group reader is read to the end in it's .Dispose();
+                using (RegisterOperationResult(result))
                 using (ElementLogReader groupReader = _reader.WaitForGroupAndCreateLogReader())
                 using (ElementLogReader callReader = groupReader.WaitForNonEmptyElementAndCreateLogReader("call", LogReadFlags.ThrowFailures))
                 {
@@ -618,9 +633,11 @@ namespace WinSCP
                         {
                             result.ErrorOutput = value;
                         }
+                        if (callReader.GetEmptyElementValue("exitcode", out value))
+                        {
+                            result.ExitCode = int.Parse(value, CultureInfo.InvariantCulture);
+                        }
                     }
-
-                    groupReader.ReadToEnd(LogReadFlags.ThrowFailures);
                 }
 
                 return result;
@@ -848,7 +865,12 @@ namespace WinSCP
 
         private void WriteCommand(string command)
         {
-            Logger.WriteLine("Command: [{0}]", command);
+            WriteCommand(command, command);
+        }
+
+        private void WriteCommand(string command, string log)
+        {
+            Logger.WriteLine("Command: [{0}]", log);
             _process.ExecuteCommand(command);
             GotOutput();
         }
@@ -860,7 +882,7 @@ namespace WinSCP
             }
         }
 
-        private string SessionOptionsToOpenArguments(SessionOptions sessionOptions)
+        private void SessionOptionsToOpenCommand(SessionOptions sessionOptions, out string command, out string log)
         {
             using (Logger.CreateCallstack())
             {
@@ -872,29 +894,29 @@ namespace WinSCP
                     }
                 }
 
-                string url;
+                string head;
                 switch (sessionOptions.Protocol)
                 {
                     case Protocol.Sftp:
-                        url = "sftp://";
+                        head = "sftp://";
                         break;
 
                     case Protocol.Scp:
-                        url = "scp://";
+                        head = "scp://";
                         break;
 
                     case Protocol.Ftp:
-                        url = "ftp://";
+                        head = "ftp://";
                         break;
 
                     case Protocol.Webdav:
                         if (!sessionOptions.WebdavSecure)
                         {
-                            url = "http://";
+                            head = "http://";
                         }
                         else
                         {
-                            url = "https://";
+                            head = "https://";
                         }
                         break;
 
@@ -905,21 +927,27 @@ namespace WinSCP
                 bool hasUsername = !string.IsNullOrEmpty(sessionOptions.UserName);
                 if (hasUsername)
                 {
-                    url += UriEscape(sessionOptions.UserName);
+                    head += UriEscape(sessionOptions.UserName);
                 }
 
-                if (!string.IsNullOrEmpty(sessionOptions.Password))
+                string url = head;
+                string logUrl = head;
+
+                if ((sessionOptions.SecurePassword) != null && (sessionOptions.SecurePassword.Length > 0))
                 {
                     if (!hasUsername)
                     {
                         throw new ArgumentException("SessionOptions.Password is set, but SessionOptions.UserName is not.");
                     }
                     url += ":" + UriEscape(sessionOptions.Password);
+                    logUrl += ":***";
                 }
 
+                string tail = string.Empty;
+
                 if (hasUsername)
                 {
-                    url += "@";
+                    tail += "@";
                 }
 
                 if (string.IsNullOrEmpty(sessionOptions.HostName))
@@ -927,27 +955,48 @@ namespace WinSCP
                     throw new ArgumentException("SessionOptions.HostName is not set.");
                 }
 
-                url += UriEscape(sessionOptions.HostName);
+                tail += UriEscape(sessionOptions.HostName);
 
                 if (sessionOptions.PortNumber != 0)
                 {
-                    url += ":" + sessionOptions.PortNumber.ToString(CultureInfo.InvariantCulture);
+                    tail += ":" + sessionOptions.PortNumber.ToString(CultureInfo.InvariantCulture);
                 }
 
-                string arguments = SessionOptionsToOpenSwitches(sessionOptions);
+                if (!string.IsNullOrEmpty(sessionOptions.WebdavRoot))
+                {
+                    if (sessionOptions.Protocol != Protocol.Webdav)
+                    {
+                        throw new ArgumentException("SessionOptions.WebdavRoot is set, but SessionOptions.Protocol is not Protocol.Webdav.");
+                    }
+
+                    tail += sessionOptions.WebdavRoot;
+                }
 
-                arguments += (!string.IsNullOrEmpty(arguments) ? " " : "") + "\"" + ArgumentEscape(url) + "\"";
+                url += tail;
+                logUrl += tail;
+
+                string arguments = SessionOptionsToOpenSwitches(sessionOptions);
 
                 if (sessionOptions.RawSettings.Count > 0)
                 {
-                    arguments += " -rawsettings";
+                    if (!string.IsNullOrEmpty(arguments))
+                    {
+                        arguments += " ";
+                    }
+                    arguments += "-rawsettings";
                     foreach (KeyValuePair<string, string> rawSetting in sessionOptions.RawSettings)
                     {
                         arguments += string.Format(CultureInfo.InvariantCulture, " {0}=\"{1}\"", rawSetting.Key, ArgumentEscape(rawSetting.Value));
                     }
                 }
 
-                return arguments;
+                if (!string.IsNullOrEmpty(arguments))
+                {
+                    arguments += " ";
+                }
+
+                command = "open " + arguments + "\"" + ArgumentEscape(url) + "\"";
+                log = "open " + arguments + "\"" + ArgumentEscape(logUrl) + "\"";
             }
         }
 
@@ -1477,7 +1526,7 @@ namespace WinSCP
                             Logger.WriteLine("Args [{0}] [{1}]", args.Length, modifiers != null ? modifiers.Length.ToString(CultureInfo.InvariantCulture) : "null");
                             for (int i = 0; i < args.Length; ++i)
                             {
-                                Logger.WriteLine("Arg [{0}] [{1}] [{2}]", i, args[i], (modifiers != null ? modifiers[i].ToString() : "null"));
+                                Logger.WriteLine("Arg [{0}] [{1}] [{1}] [{2}]", i, args[i], (args[i] != null ? args[i].GetType().ToString() : "null"), (modifiers != null ? modifiers[i].ToString() : "null"));
                             }
                         }
                         Logger.WriteLine("Culture [{0}]", culture);
@@ -1503,13 +1552,15 @@ namespace WinSCP
                     // the method with given name does not exist at all)
 
                     MethodInfo method = null;
+                    PropertyInfo property = null;
 
                     // would be way too difficult to implement the below involving named arguments
                     if (namedParameters == null)
                     {
                         try
                         {
-                            method = type.GetMethod(name, invokeAttr | BindingFlags.Instance | BindingFlags.Public);
+                            BindingFlags bindingFlags = invokeAttr | BindingFlags.Instance | BindingFlags.Public;
+                            method = type.GetMethod(name, bindingFlags);
 
                             if (method != null)
                             {
@@ -1548,9 +1599,14 @@ namespace WinSCP
                                     }
                                 }
                             }
+                            else if (args.Length == 1) // sanity check
+                            {
+                                property = type.GetProperty(name, bindingFlags);
+                            }
                         }
-                        catch (AmbiguousMatchException)
+                        catch (AmbiguousMatchException e)
                         {
+                            Logger.WriteLine("Unexpected ambiguous match [{0}]", e.Message);
                         }
                     }
 
@@ -1559,13 +1615,19 @@ namespace WinSCP
                         Logger.WriteLine("Invoking unambiguous method [{0}]", method);
                         result = method.Invoke(target, invokeAttr, binder, args, culture);
                     }
+                    else if (property != null)
+                    {
+                        Logger.WriteLine("Setting unambiguous property [{0}]", property);
+                        property.SetValue(target, args[0], invokeAttr, binder, null, culture);
+                        result = null;
+                    }
                     else
                     {
-                        Logger.WriteLine("Invoking ambiguous method [{0}]", name);
+                        Logger.WriteLine("Invoking ambiguous/non-existing method 2 [{0}]", name);
                         result = type.InvokeMember(name, invokeAttr, binder, target, args, modifiers, culture, namedParameters);
                     }
 
-                    Logger.WriteLine("Result [{0}]", result);
+                    Logger.WriteLine("Result [{0}] [{1}]", result, (result != null ? result.GetType().ToString() : "null"));
                 }
                 catch (Exception e)
                 {

+ 37 - 8
dotnet/SessionOptions.cs

@@ -3,6 +3,7 @@ using System.Collections.Generic;
 using System.Runtime.InteropServices;
 using System.Text.RegularExpressions;
 using System.Globalization;
+using System.Security;
 
 namespace WinSCP
 {
@@ -49,9 +50,10 @@ namespace WinSCP
         public string HostName { get; set; }
         public int PortNumber { get { return _portNumber; } set { SetPortNumber(value); } }
         public string UserName { get; set; }
-        public string Password { get; set; }
+        public string Password { get { return GetPassword(); } set { SetPassword(value); } }
+        public SecureString SecurePassword { get; set; }
         public TimeSpan Timeout { get { return _timeout; } set { SetTimeout(value); } }
-        public int TimeoutInMilliseconds { get { return GetTimeoutInMilliseconds(); } set { SetTimeoutInMilliseconds(value); } }
+        public int TimeoutInMilliseconds { get { return Tools.TimeSpanToMilliseconds(Timeout); } set { Timeout = Tools.MillisecondsToTimeSpan(value); } }
 
         // SSH
         public string SshHostKeyFingerprint { get { return _sshHostKeyFingerprint; } set { SetSshHostKeyFingerprint(value); } }
@@ -65,6 +67,7 @@ namespace WinSCP
 
         // WebDAV
         public bool WebdavSecure { get; set; }
+        public string WebdavRoot { get { return _webdavRoot; } set { SetWebdavRoot(value); } }
 
         // TLS
         public string TlsHostCertificateFingerprint { get { return _tlsHostCertificateFingerprint; } set { SetHostTlsCertificateFingerprint(value); } }
@@ -128,24 +131,50 @@ namespace WinSCP
             _portNumber = value;
         }
 
-        private int GetTimeoutInMilliseconds()
+        private void SetWebdavRoot(string value)
         {
-            if ((Timeout.TotalMilliseconds > int.MaxValue) || (Timeout.TotalMilliseconds < int.MinValue))
+            if (!string.IsNullOrEmpty(value) && (value[0] != '/'))
             {
-                throw new InvalidCastException(string.Format(CultureInfo.CurrentCulture, "Cannot convert {0} to integer", Timeout));
+                throw new ArgumentException("WebDAV root path has to start with slash");
             }
-            return (int)Timeout.TotalMilliseconds;
+            _webdavRoot = value;
         }
 
-        private void SetTimeoutInMilliseconds(int value)
+        private void SetPassword(string value)
         {
-            Timeout = TimeSpan.FromMilliseconds(value);
+            SecurePassword = new SecureString();
+            foreach (char c in value)
+            {
+                SecurePassword.AppendChar(c);
+            }
+        }
+
+        private string GetPassword()
+        {
+            if (SecurePassword == null)
+            {
+                return null;
+            }
+            else
+            {
+                IntPtr ptr = IntPtr.Zero;
+                try
+                {
+                    ptr = Marshal.SecureStringToGlobalAllocUnicode(SecurePassword);
+                    return Marshal.PtrToStringUni(ptr);
+                }
+                finally
+                {
+                    Marshal.ZeroFreeGlobalAllocUnicode(ptr);
+                }
+            }
         }
 
         private string _sshHostKeyFingerprint;
         private string _tlsHostCertificateFingerprint;
         private TimeSpan _timeout;
         private int _portNumber;
+        private string _webdavRoot;
 
         private const string _listPattern = @"{0}(;{0})*";
         private const string _sshHostKeyPattern = @"(ssh-rsa |ssh-dss )?\d+ ([0-9a-f]{2}:){15}[0-9a-f]{2}";

+ 1 - 0
dotnet/WinSCPnet.csproj

@@ -65,6 +65,7 @@
     <Compile Include="Internal\Logger.cs" />
     <Compile Include="Internal\ProgressHandler.cs" />
     <Compile Include="Internal\SessionElementLogReader.cs" />
+    <Compile Include="Internal\Tools.cs" />
     <Compile Include="Internal\UnsafeNativeMethods.cs" />
     <Compile Include="OutputDataReceivedEventArgs.cs" />
     <Compile Include="FileTransferProgressEventArgs.cs" />

+ 3 - 1
dotnet/internal/ExeSessionProcess.cs

@@ -441,10 +441,12 @@ namespace WinSCP
             return new ConsoleCommStruct(_session, _fileMapping);
         }
 
-        private static bool TryCreateEvent(string name, out EventWaitHandle ev)
+        private bool TryCreateEvent(string name, out EventWaitHandle ev)
         {
             bool createdNew;
+            _logger.WriteLine("Creating event {0}", name);
             ev = new EventWaitHandle(false, EventResetMode.AutoReset, name, out createdNew);
+            _logger.WriteLine("Created event {0} with handle {1}, new {2}", name, ev.SafeWaitHandle.DangerousGetHandle(), createdNew);
             return createdNew;
         }
 

+ 22 - 0
dotnet/internal/Tools.cs

@@ -0,0 +1,22 @@
+using System;
+using System.Globalization;
+
+namespace WinSCP
+{
+    internal static class Tools
+    {
+        public static int TimeSpanToMilliseconds(TimeSpan value)
+        {
+            if ((value.TotalMilliseconds > int.MaxValue) || (value.TotalMilliseconds < int.MinValue))
+            {
+                throw new InvalidCastException(string.Format(CultureInfo.CurrentCulture, "Cannot convert {0} to integer", value));
+            }
+            return (int)value.TotalMilliseconds;
+        }
+
+        public static TimeSpan MillisecondsToTimeSpan(int value)
+        {
+            return TimeSpan.FromMilliseconds(value);
+        }
+    }
+}

+ 3 - 3
dotnet/properties/AssemblyInfo.cs

@@ -19,9 +19,9 @@ using System.Runtime.InteropServices;
 // The following GUID is for the ID of the typelib if this project is exposed to COM
 [assembly: Guid("a0b93468-d98a-4845-a234-8076229ad93f")]
 
-[assembly: AssemblyVersion("1.2.1.0")]
-[assembly: AssemblyFileVersion("1.2.1.0")]
-[assembly: AssemblyInformationalVersionAttribute("5.6.1.0")]
+[assembly: AssemblyVersion("1.2.2.0")]
+[assembly: AssemblyFileVersion("1.2.2.0")]
+[assembly: AssemblyInformationalVersionAttribute("5.6.2.0")]
 
 [assembly: CLSCompliant(true)]
 

+ 1 - 1
libs/neon/.version

@@ -1 +1 @@
-0.30.0
+0.30.1

+ 108 - 0
libs/neon/ChangeLog

@@ -1,3 +1,111 @@
+------------------------------------------------------------------------
+r1960 | joe | 2014-09-23 14:22:17 +0100 (Tue, 23 Sep 2014) | 1 line
+
+Tag release 0.30.1.
+------------------------------------------------------------------------
+r1959 | joe | 2014-09-23 14:18:59 +0100 (Tue, 23 Sep 2014) | 2 lines
+
+* macros/neon.m4: Bump to 0.30.1.
+
+------------------------------------------------------------------------
+r1958 | joe | 2014-09-23 14:16:27 +0100 (Tue, 23 Sep 2014) | 1 line
+
+More news.
+------------------------------------------------------------------------
+r1957 | joe | 2014-09-23 14:15:51 +0100 (Tue, 23 Sep 2014) | 9 lines
+
+Merge r1956 from trunk:
+
+Fix PKCS#11 support with OpenSSL for TLS 1.2:
+
+* src/ne_pkcs11.c (pk11_rsa_encrypt, pk11_rsa_method): Reimplemented
+  pk11_rsa_sign as rsa_private_encrypt callback for RSA method.
+  (pk11_rsa_init): Removed.
+
+
+------------------------------------------------------------------------
+r1955 | joe | 2014-09-22 16:47:49 +0100 (Mon, 22 Sep 2014) | 2 lines
+
+* po/: make update-po.
+
+------------------------------------------------------------------------
+r1954 | joe | 2014-09-22 16:47:12 +0100 (Mon, 22 Sep 2014) | 9 lines
+
+Merge r1951, r1952, r1953 from trunk:
+
+* doc/ref/neon.xml: LFS doc tweak.
+
+* src/ne_gnutls.c (ne_ssl_readable_dname): Remove unused variable.
+
+* src/ne_gnutls.c (ne_ssl_clicert_import): Cast away warning.
+
+
+------------------------------------------------------------------------
+r1950 | joe | 2014-09-20 20:33:03 +0100 (Sat, 20 Sep 2014) | 2 lines
+
+News is good news.
+
+------------------------------------------------------------------------
+r1949 | joe | 2014-09-20 20:31:25 +0100 (Sat, 20 Sep 2014) | 5 lines
+
+Merge r1948 from trunk:
+
+* src/ne_gnutls.c (ne_ssl_context_destroy): Fix memory leak (Werner Baumann, Patrick Ohly).
+
+
+------------------------------------------------------------------------
+r1947 | joe | 2014-09-20 20:24:21 +0100 (Sat, 20 Sep 2014) | 2 lines
+
+* po/: make update-po.
+
+------------------------------------------------------------------------
+r1945 | joe | 2014-09-20 20:21:43 +0100 (Sat, 20 Sep 2014) | 9 lines
+
+Merge r1943, r1944 from trunk:
+
+* neon.pc.in: Reorder Libs/Libs.private to fix static linking (Alan H).
+
+* test/socket.c (addr_reverse): Succeed if returned name uses hostname as 
+  prefix, and only warn for non-empty strings which don't match.
+
+Reviewed by: joe
+
+------------------------------------------------------------------------
+r1942 | joe | 2014-09-20 20:05:23 +0100 (Sat, 20 Sep 2014) | 7 lines
+
+Merge r1941 from trunk:
+
+* src/ne_socket.c (ne_addr_destroy): Fix possible crash on Windows
+  for address lookup error cases.  (Olivier Goffart)
+
+Reviewed by: joe
+
+------------------------------------------------------------------------
+r1940 | joe | 2014-09-20 19:59:52 +0100 (Sat, 20 Sep 2014) | 8 lines
+
+Merge r1938, r1939 from trunk:
+
+* src/ne_openssl.c (ne__negotiate_ssl): Don't fail hard for SSL cert
+  change, invoke verify callback.
+
+* configure.ac: Rename from configure.in.
+
+
+------------------------------------------------------------------------
+r1936 | joe | 2013-09-30 16:45:36 +0100 (Mon, 30 Sep 2013) | 7 lines
+
+Merge 1933,1935 from trunk:
+
+* doc/ref/reqbody.xml: Doc fixes.
+
+* macros/neon-test.m4 (NEON_TEST): Check for signal.h.
+
+
+------------------------------------------------------------------------
+r1934 | joe | 2013-09-30 16:39:58 +0100 (Mon, 30 Sep 2013) | 2 lines
+
+Branch 0.30.x
+
 ------------------------------------------------------------------------
 r1932 | joe | 2013-07-31 17:00:59 +0100 (Wed, 31 Jul 2013) | 2 lines
 

+ 8 - 0
libs/neon/NEWS

@@ -1,3 +1,11 @@
+Changes in release 0.30.1:
+* Fix memory leak with GnuTLS (Werner Baumann, Patrick Ohly).
+* Fix possible crash after DNS lookup errors on Windows (Olivier Goffart).
+* Don't fail if the SSL cert changes between connections with OpenSSL,
+  behaviour now matches that with GnuTLS.
+* Fix PKCS#11 support under OpenSSL with TLS 1.2.
+* Fix static linking with pkg-config file (Alan H).
+
 Changes in release 0.30.0:
 * Interface changes:
  - none, API and ABI backwards-compatible with 0.27.x and later

+ 9 - 3
libs/neon/aclocal.m4

@@ -1318,7 +1318,7 @@ ia64-*-hpux*)
   rm -rf conftest*
   ;;
 
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
 s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
   # Find out which ABI we are using.
   echo 'int i;' > conftest.$ac_ext
@@ -1332,7 +1332,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
 	  x86_64-*linux*)
 	    LD="${LD-ld} -m elf_i386"
 	    ;;
-	  ppc64-*linux*|powerpc64-*linux*)
+	  powerpc64le-*linux*)
+	    LD="${LD-ld} -m elf32lppclinux"
+	    ;;
+	  powerpc64-*linux*)
 	    LD="${LD-ld} -m elf32ppclinux"
 	    ;;
 	  s390x-*linux*)
@@ -1351,7 +1354,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
 	  x86_64-*linux*)
 	    LD="${LD-ld} -m elf_x86_64"
 	    ;;
-	  ppc*-*linux*|powerpc*-*linux*)
+	  powerpcle-*linux*)
+	    LD="${LD-ld} -m elf64lppc"
+	    ;;
+	  powerpc-*linux*)
 	    LD="${LD-ld} -m elf64ppc"
 	    ;;
 	  s390*-*linux*|s390*-*tpf*)

+ 87 - 64
libs/neon/config.guess

@@ -1,10 +1,8 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-#   2011, 2012, 2013 Free Software Foundation, Inc.
+#   Copyright 1992-2013 Free Software Foundation, Inc.
 
-timestamp='2012-12-29'
+timestamp='2013-06-10'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -26,7 +24,7 @@ timestamp='2012-12-29'
 # program.  This Exception is an additional permission under section 7
 # of the GNU General Public License, version 3 ("GPLv3").
 #
-# Originally written by Per Bothner. 
+# Originally written by Per Bothner.
 #
 # You can get the latest version of this script from:
 # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
@@ -52,9 +50,7 @@ version="\
 GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
-2012, 2013 Free Software Foundation, Inc.
+Copyright 1992-2013 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -136,6 +132,27 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
 UNAME_SYSTEM=`(uname -s) 2>/dev/null`  || UNAME_SYSTEM=unknown
 UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
 
+case "${UNAME_SYSTEM}" in
+Linux|GNU|GNU/*)
+	# If the system lacks a compiler, then just pick glibc.
+	# We could probably try harder.
+	LIBC=gnu
+
+	eval $set_cc_for_build
+	cat <<-EOF > $dummy.c
+	#include <features.h>
+	#if defined(__UCLIBC__)
+	LIBC=uclibc
+	#elif defined(__dietlibc__)
+	LIBC=dietlibc
+	#else
+	LIBC=gnu
+	#endif
+	EOF
+	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
+	;;
+esac
+
 # Note: order is significant - the case branches are not exclusive.
 
 case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
@@ -857,21 +874,21 @@ EOF
 	exit ;;
     *:GNU:*:*)
 	# the GNU system
-	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+	echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
 	exit ;;
     *:GNU/*:*:*)
 	# other systems with GNU libc and userland
-	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+	echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
 	exit ;;
     i*86:Minix:*:*)
 	echo ${UNAME_MACHINE}-pc-minix
 	exit ;;
     aarch64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     aarch64_be:Linux:*:*)
 	UNAME_MACHINE=aarch64_be
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     alpha:Linux:*:*)
 	case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
@@ -884,59 +901,54 @@ EOF
 	  EV68*) UNAME_MACHINE=alphaev68 ;;
 	esac
 	objdump --private-headers /bin/sh | grep -q ld.so.1
-	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
-	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+	if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
+    arc:Linux:*:* | arceb:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     arm*:Linux:*:*)
 	eval $set_cc_for_build
 	if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
 	    | grep -q __ARM_EABI__
 	then
-	    echo ${UNAME_MACHINE}-unknown-linux-gnu
+	    echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	else
 	    if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
 		| grep -q __ARM_PCS_VFP
 	    then
-		echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
 	    else
-		echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
+		echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
 	    fi
 	fi
 	exit ;;
     avr32*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     cris:Linux:*:*)
-	echo ${UNAME_MACHINE}-axis-linux-gnu
+	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
 	exit ;;
     crisv32:Linux:*:*)
-	echo ${UNAME_MACHINE}-axis-linux-gnu
+	echo ${UNAME_MACHINE}-axis-linux-${LIBC}
 	exit ;;
     frv:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     hexagon:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     i*86:Linux:*:*)
-	LIBC=gnu
-	eval $set_cc_for_build
-	sed 's/^	//' << EOF >$dummy.c
-	#ifdef __dietlibc__
-	LIBC=dietlibc
-	#endif
-EOF
-	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
-	echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+	echo ${UNAME_MACHINE}-pc-linux-${LIBC}
 	exit ;;
     ia64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     m32r*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     m68*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     mips:Linux:*:* | mips64:Linux:*:*)
 	eval $set_cc_for_build
@@ -955,54 +967,63 @@ EOF
 	#endif
 EOF
 	eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
-	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+	test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
 	;;
+    or1k:Linux:*:*)
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+	exit ;;
     or32:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     padre:Linux:*:*)
-	echo sparc-unknown-linux-gnu
+	echo sparc-unknown-linux-${LIBC}
 	exit ;;
     parisc64:Linux:*:* | hppa64:Linux:*:*)
-	echo hppa64-unknown-linux-gnu
+	echo hppa64-unknown-linux-${LIBC}
 	exit ;;
     parisc:Linux:*:* | hppa:Linux:*:*)
 	# Look for CPU level
 	case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
-	  PA7*) echo hppa1.1-unknown-linux-gnu ;;
-	  PA8*) echo hppa2.0-unknown-linux-gnu ;;
-	  *)    echo hppa-unknown-linux-gnu ;;
+	  PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
+	  PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
+	  *)    echo hppa-unknown-linux-${LIBC} ;;
 	esac
 	exit ;;
     ppc64:Linux:*:*)
-	echo powerpc64-unknown-linux-gnu
+	echo powerpc64-unknown-linux-${LIBC}
 	exit ;;
     ppc:Linux:*:*)
-	echo powerpc-unknown-linux-gnu
+	echo powerpc-unknown-linux-${LIBC}
+	exit ;;
+    ppc64le:Linux:*:*)
+	echo powerpc64le-unknown-linux-${LIBC}
+	exit ;;
+    ppcle:Linux:*:*)
+	echo powerpcle-unknown-linux-${LIBC}
 	exit ;;
     s390:Linux:*:* | s390x:Linux:*:*)
-	echo ${UNAME_MACHINE}-ibm-linux
+	echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
 	exit ;;
     sh64*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     sh*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     sparc:Linux:*:* | sparc64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     tile*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     vax:Linux:*:*)
-	echo ${UNAME_MACHINE}-dec-linux-gnu
+	echo ${UNAME_MACHINE}-dec-linux-${LIBC}
 	exit ;;
     x86_64:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     xtensa*:Linux:*:*)
-	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
 	exit ;;
     i*86:DYNIX/ptx:4*:*)
 	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
@@ -1235,19 +1256,21 @@ EOF
 	exit ;;
     *:Darwin:*:*)
 	UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
-	case $UNAME_PROCESSOR in
-	    i386)
-		eval $set_cc_for_build
-		if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
-		  if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
-		      (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
-		      grep IS_64BIT_ARCH >/dev/null
-		  then
-		      UNAME_PROCESSOR="x86_64"
-		  fi
-		fi ;;
-	    unknown) UNAME_PROCESSOR=powerpc ;;
-	esac
+	eval $set_cc_for_build
+	if test "$UNAME_PROCESSOR" = unknown ; then
+	    UNAME_PROCESSOR=powerpc
+	fi
+	if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+	    if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+		(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+		grep IS_64BIT_ARCH >/dev/null
+	    then
+		case $UNAME_PROCESSOR in
+		    i386) UNAME_PROCESSOR=x86_64 ;;
+		    powerpc) UNAME_PROCESSOR=powerpc64 ;;
+		esac
+	    fi
+	fi
 	echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
 	exit ;;
     *:procnto*:*:* | *:QNX:[0123456789]*:*)

+ 1 - 1
libs/neon/config.h.in

@@ -1,4 +1,4 @@
-/* config.h.in.  Generated from configure.in by autoheader.  */
+/* config.h.in.  Generated from configure.ac by autoheader.  */
 
 /* Define if building universal (internal helper macro) */
 #undef AC_APPLE_UNIVERSAL_BUILD

+ 1 - 1
libs/neon/config.hw

@@ -25,7 +25,7 @@
 
 #ifdef WIN32
 
-#define NEON_VERSION "0.30.0"
+#define NEON_VERSION "0.30.1"
 #define NE_VERSION_MAJOR (0)
 #define NE_VERSION_MINOR (30)
 

+ 21 - 20
libs/neon/config.sub

@@ -1,10 +1,8 @@
 #! /bin/sh
 # Configuration validation subroutine script.
-#   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-#   2011, 2012, 2013 Free Software Foundation, Inc.
+#   Copyright 1992-2013 Free Software Foundation, Inc.
 
-timestamp='2012-12-29'
+timestamp='2013-08-10'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -70,9 +68,7 @@ Report bugs and patches to <[email protected]>."
 version="\
 GNU config.sub ($timestamp)
 
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
-2012, 2013 Free Software Foundation, Inc.
+Copyright 1992-2013 Free Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
 warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -256,12 +252,12 @@ case $basic_machine in
 	| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
 	| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
 	| am33_2.0 \
-	| arc \
+	| arc | arceb \
 	| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
 	| avr | avr32 \
 	| be32 | be64 \
 	| bfin \
-	| c4x | clipper \
+	| c4x | c8051 | clipper \
 	| d10v | d30v | dlx | dsp16xx \
 	| epiphany \
 	| fido | fr30 | frv \
@@ -290,16 +286,17 @@ case $basic_machine in
 	| mipsisa64r2 | mipsisa64r2el \
 	| mipsisa64sb1 | mipsisa64sb1el \
 	| mipsisa64sr71k | mipsisa64sr71kel \
+	| mipsr5900 | mipsr5900el \
 	| mipstx39 | mipstx39el \
 	| mn10200 | mn10300 \
 	| moxie \
 	| mt \
 	| msp430 \
 	| nds32 | nds32le | nds32be \
-	| nios | nios2 \
+	| nios | nios2 | nios2eb | nios2el \
 	| ns16k | ns32k \
 	| open8 \
-	| or32 \
+	| or1k | or32 \
 	| pdp10 | pdp11 | pj | pjl \
 	| powerpc | powerpc64 | powerpc64le | powerpcle \
 	| pyramid \
@@ -369,13 +366,13 @@ case $basic_machine in
 	| aarch64-* | aarch64_be-* \
 	| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
 	| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
-	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+	| alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
 	| arm-*  | armbe-* | armle-* | armeb-* | armv*-* \
 	| avr-* | avr32-* \
 	| be32-* | be64-* \
 	| bfin-* | bs2000-* \
 	| c[123]* | c30-* | [cjt]90-* | c4x-* \
-	| clipper-* | craynv-* | cydra-* \
+	| c8051-* | clipper-* | craynv-* | cydra-* \
 	| d10v-* | d30v-* | dlx-* \
 	| elxsi-* \
 	| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
@@ -407,12 +404,13 @@ case $basic_machine in
 	| mipsisa64r2-* | mipsisa64r2el-* \
 	| mipsisa64sb1-* | mipsisa64sb1el-* \
 	| mipsisa64sr71k-* | mipsisa64sr71kel-* \
+	| mipsr5900-* | mipsr5900el-* \
 	| mipstx39-* | mipstx39el-* \
 	| mmix-* \
 	| mt-* \
 	| msp430-* \
 	| nds32-* | nds32le-* | nds32be-* \
-	| nios-* | nios2-* \
+	| nios-* | nios2-* | nios2eb-* | nios2el-* \
 	| none-* | np1-* | ns16k-* | ns32k-* \
 	| open8-* \
 	| orion-* \
@@ -796,7 +794,7 @@ case $basic_machine in
 		os=-mingw64
 		;;
 	mingw32)
-		basic_machine=i386-pc
+		basic_machine=i686-pc
 		os=-mingw32
 		;;
 	mingw32ce)
@@ -832,7 +830,7 @@ case $basic_machine in
 		basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
 		;;
 	msys)
-		basic_machine=i386-pc
+		basic_machine=i686-pc
 		os=-msys
 		;;
 	mvs)
@@ -1354,7 +1352,7 @@ case $os in
 	-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
 	      | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
 	      | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
-	      | -sym* | -kopensolaris* \
+	      | -sym* | -kopensolaris* | -plan9* \
 	      | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
 	      | -aos* | -aros* \
 	      | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
@@ -1500,9 +1498,6 @@ case $os in
 	-aros*)
 		os=-aros
 		;;
-	-kaos*)
-		os=-kaos
-		;;
 	-zvmoe)
 		os=-zvmoe
 		;;
@@ -1551,6 +1546,9 @@ case $basic_machine in
 	c4x-* | tic4x-*)
 		os=-coff
 		;;
+	c8051-*)
+		os=-elf
+		;;
 	hexagon-*)
 		os=-elf
 		;;
@@ -1594,6 +1592,9 @@ case $basic_machine in
 	mips*-*)
 		os=-elf
 		;;
+	or1k-*)
+		os=-elf
+		;;
 	or32-*)
 		os=-coff
 		;;

+ 22 - 16
libs/neon/configure

@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for neon 0.30.0.
+# Generated by GNU Autoconf 2.69 for neon 0.30.1.
 #
 # Report bugs to <[email protected]>.
 #
@@ -595,8 +595,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='neon'
 PACKAGE_TARNAME='neon'
-PACKAGE_VERSION='0.30.0'
-PACKAGE_STRING='neon 0.30.0'
+PACKAGE_VERSION='0.30.1'
+PACKAGE_STRING='neon 0.30.1'
 PACKAGE_BUGREPORT='[email protected]'
 PACKAGE_URL=''
 
@@ -1334,7 +1334,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures neon 0.30.0 to adapt to many kinds of systems.
+\`configure' configures neon 0.30.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1399,7 +1399,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of neon 0.30.0:";;
+     short | recursive ) echo "Configuration of neon 0.30.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1522,7 +1522,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-neon configure 0.30.0
+neon configure 0.30.1
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2236,7 +2236,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by neon $as_me 0.30.0, which was
+It was created by neon $as_me 0.30.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2782,7 +2782,7 @@ NEON_BUILD_BUNDLED=yes
 # Define the current versions.
 NE_VERSION_MAJOR=0
 NE_VERSION_MINOR=30
-NE_VERSION_PATCH=0
+NE_VERSION_PATCH=1
 NE_VERSION_TAG=
 
 # 0.30.x is backwards-compatible to 0.27.x, so AGE=3
@@ -9728,7 +9728,7 @@ ia64-*-hpux*)
   rm -rf conftest*
   ;;
 
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
 s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
   # Find out which ABI we are using.
   echo 'int i;' > conftest.$ac_ext
@@ -9746,7 +9746,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
 	  x86_64-*linux*)
 	    LD="${LD-ld} -m elf_i386"
 	    ;;
-	  ppc64-*linux*|powerpc64-*linux*)
+	  powerpc64le-*linux*)
+	    LD="${LD-ld} -m elf32lppclinux"
+	    ;;
+	  powerpc64-*linux*)
 	    LD="${LD-ld} -m elf32ppclinux"
 	    ;;
 	  s390x-*linux*)
@@ -9765,7 +9768,10 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
 	  x86_64-*linux*)
 	    LD="${LD-ld} -m elf_x86_64"
 	    ;;
-	  ppc*-*linux*|powerpc*-*linux*)
+	  powerpcle-*linux*)
+	    LD="${LD-ld} -m elf64lppc"
+	    ;;
+	  powerpc-*linux*)
 	    LD="${LD-ld} -m elf64ppc"
 	    ;;
 	  s390*-*linux*|s390*-*tpf*)
@@ -14975,7 +14981,7 @@ fi
 
 
 
-for ac_header in sys/time.h stdint.h locale.h
+for ac_header in sys/time.h signal.h stdint.h locale.h
 do :
   as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
 ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
@@ -16727,7 +16733,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by neon $as_me 0.30.0, which was
+This file was extended by neon $as_me 0.30.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -16793,7 +16799,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-neon config.status 0.30.0
+neon config.status 0.30.1
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -18434,7 +18440,7 @@ fi
 # for VPATH builds:
 test -d test/common || mkdir test/common
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: Configured to build neon 0.30.0:
+{ $as_echo "$as_me:${as_lineno-$LINENO}: Configured to build neon 0.30.1:
 
   Install prefix:  ${prefix}
   Compiler:        ${CC}
@@ -18443,7 +18449,7 @@ test -d test/common || mkdir test/common
   zlib support:    ${ne_ZLIB_message}
   Build libraries: Shared=${enable_shared}, Static=${enable_static}
 " >&5
-$as_echo "$as_me: Configured to build neon 0.30.0:
+$as_echo "$as_me: Configured to build neon 0.30.1:
 
   Install prefix:  ${prefix}
   Compiler:        ${CC}

+ 0 - 0
libs/neon/configure.in → libs/neon/configure.ac


+ 1 - 1
libs/neon/doc/date.xml

@@ -1 +1 @@
-31 July 2013
+23 September 2014

+ 4 - 4
libs/neon/doc/html/compliance.html

@@ -1,12 +1,12 @@
 <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Standards compliance</title><link rel="stylesheet" type="text/css" href="../manual.css"><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="neon HTTP/WebDAV client library"><link rel="up" href="intro.html" title="Chapter 1. Introduction"><link rel="prev" href="using.html" title="How to use neon from your application"><link rel="next" href="security.html" title="HTTP Client Security"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Standards compliance</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="using.html">Prev</a> </td><th width="60%" align="center">Chapter 1. Introduction</th><td width="20%" align="right"> <a accesskey="n" href="security.html">Next</a></td></tr></table><hr></div><div class="sect1"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="compliance"></a>Standards compliance</h2></div></div></div><p>neon is intended to be compliant with the IETF and W3C
 	standards which it implements, with a few exceptions due to
 	practical necessity or interoperability issues.  These
-	exceptions are documented in this section.</p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm140368851661440"></a>RFC 2518, HTTP Extensions for Distributed Authoring—WebDAV</h3></div></div></div><p>neon is deliberately not compliant with section
+	exceptions are documented in this section.</p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm209424563888"></a>RFC 2518, HTTP Extensions for Distributed Authoring—WebDAV</h3></div></div></div><p>neon is deliberately not compliant with section
 	23.4.2, and treats property names as a (namespace-URI, name)
 	pair.  This is <a class="ulink" href="http://lists.w3.org/Archives/Public/w3c-dist-auth/1999OctDec/0343.html" target="_top">generally
 	considered</a> to be correct behaviour by the WebDAV
 	working group, and is likely to formally adopted in a future
-	revision of the specification.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm140368851659456"></a>RFC 2616, Hypertext Transfer Protocol—HTTP/1.1</h3></div></div></div><p>There is some confusion in this specification about the
+	revision of the specification.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm209426433584"></a>RFC 2616, Hypertext Transfer Protocol—HTTP/1.1</h3></div></div></div><p>There is some confusion in this specification about the
         use of the <span class="quote">“<span class="quote">identity</span>”</span>
         <em class="firstterm">transfer-coding</em>.  neon ignores the
         <code class="literal">Transfer-Encoding</code> response header if it
@@ -15,7 +15,7 @@
         the header was not present.  neon will give an error if a
         response includes a <code class="literal">Transfer-Encoding</code>
         header with a value other than <span class="quote">“<span class="quote">identity</span>”</span> or
-        <span class="quote">“<span class="quote">chunked</span>”</span>.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm140368851654848"></a>RFC 2617, HTTP Authentication: Basic and Digest Access Authentication</h3></div></div></div><p>neon is not strictly compliant with the quoting rules
+        <span class="quote">“<span class="quote">chunked</span>”</span>.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm209424710112"></a>RFC 2617, HTTP Authentication: Basic and Digest Access Authentication</h3></div></div></div><p>neon is not strictly compliant with the quoting rules
         given in the grammar for the <code class="literal">Authorization</code>
         header.  The grammar requires that the <code class="literal">qop</code>
         and <code class="literal">algorithm</code> parameters are not quoted,
@@ -23,7 +23,7 @@
         (Microsoft® IIS 5) rejects the request if these parameters
         are not quoted.  neon sends these parameters with
         quotes—this is not known to cause any problems with
-        other server implementations.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm140368851651408"></a>Namespaces in XML</h3></div></div></div><p>The neon XML parser interface will accept and parse
+        other server implementations.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm209426551632"></a>Namespaces in XML</h3></div></div></div><p>The neon XML parser interface will accept and parse
         without error some XML documents which are well-formed
         according to the XML specification but do not conform to the
         "Namespaces in XML" specification <a class="xref" href="biblio.html#bib.xmlnames" title="Namespaces in XML">[<abbr class="abbrev">REC-XML-names</abbr>]</a>.  Specifically: the restrictions on

文件差異過大導致無法顯示
+ 1 - 1
libs/neon/doc/html/index.html


文件差異過大導致無法顯示
+ 0 - 0
libs/neon/doc/html/intro.html


文件差異過大導致無法顯示
+ 0 - 0
libs/neon/doc/html/refalloc.html


文件差異過大導致無法顯示
+ 0 - 0
libs/neon/doc/html/refauth.html


+ 1 - 1
libs/neon/doc/html/refbuf.html

@@ -4,7 +4,7 @@ typedef struct {
     char *data;
     size_t used;
     size_t length;
-} <em class="type">ne_buffer</em>;</pre></div></div><div class="refsect1"><a name="idm140368851109776"></a><h2>Description</h2><p>The <em class="type">ne_buffer</em> type represents an expandable
+} <em class="type">ne_buffer</em>;</pre></div></div><div class="refsect1"><a name="idm209424084912"></a><h2>Description</h2><p>The <em class="type">ne_buffer</em> type represents an expandable
 memory buffer for holding <code class="literal">NUL</code>-terminated strings.  The
 <em class="structfield"><code>data</code></em> field points to the beginnning of the
 string, the length of which is given by the

文件差異過大導致無法顯示
+ 0 - 0
libs/neon/doc/html/refbufapp.html


文件差異過大導致無法顯示
+ 0 - 0
libs/neon/doc/html/refbufcr.html


文件差異過大導致無法顯示
+ 0 - 0
libs/neon/doc/html/refbufdest.html


文件差異過大導致無法顯示
+ 0 - 0
libs/neon/doc/html/refbufutil.html


文件差異過大導致無法顯示
+ 0 - 0
libs/neon/doc/html/refcert.html


文件差異過大導致無法顯示
+ 0 - 0
libs/neon/doc/html/refclicert.html


+ 2 - 2
libs/neon/doc/html/refconfig.html

@@ -1,11 +1,11 @@
 <html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>neon-config</title><link rel="stylesheet" type="text/css" href="../manual.css"><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="neon HTTP/WebDAV client library"><link rel="up" href="ref.html" title="neon API reference"><link rel="prev" href="refneon.html" title="neon"><link rel="next" href="refresolve.html" title="ne_addr_resolve"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">neon-config</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="refneon.html">Prev</a> </td><th width="60%" align="center">neon API reference</th><td width="20%" align="right"> <a accesskey="n" href="refresolve.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="refconfig"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>neon-config — script providing information about installed copy
-	of neon library</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">neon-config</code>  [<code class="option">--prefix</code>] [[<code class="option">--cflags</code>] |  [<code class="option">--libs</code>] |  [<code class="option">--la-file</code>] |  [<code class="option">--support</code> <em class="replaceable"><code>feature</code></em>] |  [<code class="option">--help</code>] |  [<code class="option">--version</code>]]</p></div></div><div class="refsect1"><a name="idm140368851280528"></a><h2>Description</h2><p>The <span class="command"><strong>neon-config</strong></span> script provides
+	of neon library</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="cmdsynopsis"><p><code class="command">neon-config</code>  [<code class="option">--prefix</code>] [[<code class="option">--cflags</code>] |  [<code class="option">--libs</code>] |  [<code class="option">--la-file</code>] |  [<code class="option">--support</code> <em class="replaceable"><code>feature</code></em>] |  [<code class="option">--help</code>] |  [<code class="option">--version</code>]]</p></div></div><div class="refsect1"><a name="idm209424255536"></a><h2>Description</h2><p>The <span class="command"><strong>neon-config</strong></span> script provides
 information about an installed copy of the neon library.  The
 <code class="option">--cflags</code> and <code class="option">--libs</code> options instruct
 how to compile and link an application against the library; the
 <code class="option">--version</code> and <code class="option">--support</code> options can
 help determine whether the library meets the applications
-requirements.</p></div><div class="refsect1"><a name="idm140368851276928"></a><h2>Options</h2><div class="variablelist"><table border="0" class="variablelist"><colgroup><col align="left" valign="top"><col></colgroup><tbody><tr><td><p><span class="term"><code class="option">--cflags</code></span></p></td><td>Print the flags which should be passed to
+requirements.</p></div><div class="refsect1"><a name="idm209424251936"></a><h2>Options</h2><div class="variablelist"><table border="0" class="variablelist"><colgroup><col align="left" valign="top"><col></colgroup><tbody><tr><td><p><span class="term"><code class="option">--cflags</code></span></p></td><td>Print the flags which should be passed to
 the C compiler when compiling object files, when the object files use
 neon header files.</td></tr><tr><td><p><span class="term"><code class="option">--libs</code></span></p></td><td>Print the flags which should be passed to
 the linker when linking an application which uses the neon

文件差異過大導致無法顯示
+ 0 - 0
libs/neon/doc/html/referr.html


+ 3 - 3
libs/neon/doc/html/reffeat.html

@@ -1,4 +1,4 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>ne_has_support</title><link rel="stylesheet" type="text/css" href="../manual.css"><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="neon HTTP/WebDAV client library"><link rel="up" href="ref.html" title="neon API reference"><link rel="prev" href="refgetst.html" title="ne_get_status"><link rel="next" href="refi18n.html" title="ne_i18n_init"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">ne_has_support</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="refgetst.html">Prev</a> </td><th width="60%" align="center">neon API reference</th><td width="20%" align="right"> <a accesskey="n" href="refi18n.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="reffeat"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>ne_has_support — determine feature support status</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;ne_utils.h&gt;</pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">ne_has_support</b>(</code></td><td>int <var class="pdparam">feature</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm140368850791104"></a><h2>Description</h2><p>The <code class="function">ne_has_support</code> function can be used
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>ne_has_support</title><link rel="stylesheet" type="text/css" href="../manual.css"><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="neon HTTP/WebDAV client library"><link rel="up" href="ref.html" title="neon API reference"><link rel="prev" href="refgetst.html" title="ne_get_status"><link rel="next" href="refi18n.html" title="ne_i18n_init"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">ne_has_support</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="refgetst.html">Prev</a> </td><th width="60%" align="center">neon API reference</th><td width="20%" align="right"> <a accesskey="n" href="refi18n.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="reffeat"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>ne_has_support — determine feature support status</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;ne_utils.h&gt;</pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">ne_has_support</b>(</code></td><td>int <var class="pdparam">feature</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm209423766400"></a><h2>Description</h2><p>The <code class="function">ne_has_support</code> function can be used
     to determine whether a particular optional feature, given by the
     feature code <code class="parameter">feature</code>, is supported.  The
     following feature codes are available:
@@ -6,5 +6,5 @@
     </p><div class="variablelist"><table border="0" class="variablelist"><colgroup><col align="left" valign="top"><col></colgroup><tbody><tr><td><p><span class="term"><code class="constant">NE_FEATURE_SSL</code></span></p></td><td>Indicates support for SSL/TLS</td></tr><tr><td><p><span class="term"><code class="constant">NE_FEATURE_ZLIB</code></span></p></td><td>Indicates support for compressed responses</td></tr><tr><td><p><span class="term"><code class="constant">NE_FEATURE_IPV6</code></span></p></td><td>Indicates support for IPv6</td></tr><tr><td><p><span class="term"><code class="constant">NE_FEATURE_LFS</code></span></p></td><td>Indicates support for large files</td></tr><tr><td><p><span class="term"><code class="constant">NE_FEATURE_SOCKS</code></span></p></td><td>Indicates support for SOCKSv5</td></tr><tr><td><p><span class="term"><code class="constant">NE_FEATURE_TS_SSL</code></span></p></td><td>Indicates support for thread-safe SSL
           initialization — see <a class="xref" href="refsockinit.html#ne_sock_init">ne_sock_init</a></td></tr></tbody></table></div><p>
 
-    </p></div><div class="refsect1"><a name="idm140368850777840"></a><h2>Return value</h2><p><code class="function">ne_has_support</code> returns non-zero if 
-    the given feature is supported, or zero otherwise.</p></div><div class="refsect1"><a name="idm140368850776096"></a><h2>See also</h2><p><a class="xref" href="refvers.html" title="ne_version_match"><span class="refentrytitle">ne_version_match</span></a>, <a class="xref" href="refsockinit.html" title="ne_sock_init"><span class="refentrytitle">ne_sock_init</span></a></p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="refgetst.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ref.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="refi18n.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">ne_get_status </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> ne_i18n_init</td></tr></table></div></body></html>
+    </p></div><div class="refsect1"><a name="idm209423753136"></a><h2>Return value</h2><p><code class="function">ne_has_support</code> returns non-zero if 
+    the given feature is supported, or zero otherwise.</p></div><div class="refsect1"><a name="idm209423751392"></a><h2>See also</h2><p><a class="xref" href="refvers.html" title="ne_version_match"><span class="refentrytitle">ne_version_match</span></a>, <a class="xref" href="refsockinit.html" title="ne_sock_init"><span class="refentrytitle">ne_sock_init</span></a></p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="refgetst.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ref.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="refi18n.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">ne_get_status </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> ne_i18n_init</td></tr></table></div></body></html>

+ 2 - 2
libs/neon/doc/html/refgetst.html

@@ -1,10 +1,10 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>ne_get_status</title><link rel="stylesheet" type="text/css" href="../manual.css"><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="neon HTTP/WebDAV client library"><link rel="up" href="ref.html" title="neon API reference"><link rel="prev" href="referr.html" title="ne_get_error"><link rel="next" href="reffeat.html" title="ne_has_support"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">ne_get_status</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="referr.html">Prev</a> </td><th width="60%" align="center">neon API reference</th><td width="20%" align="right"> <a accesskey="n" href="reffeat.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="refgetst"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>ne_get_status — retrieve HTTP response status for request</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;ne_request.h&gt;</pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">const ne_status *<b class="fsfunc">ne_get_status</b>(</code></td><td>const ne_request *<var class="pdparam">request</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm140368850876304"></a><h2>Description</h2><p>The <code class="function">ne_get_status</code> function returns
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>ne_get_status</title><link rel="stylesheet" type="text/css" href="../manual.css"><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="neon HTTP/WebDAV client library"><link rel="up" href="ref.html" title="neon API reference"><link rel="prev" href="referr.html" title="ne_get_error"><link rel="next" href="reffeat.html" title="ne_has_support"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">ne_get_status</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="referr.html">Prev</a> </td><th width="60%" align="center">neon API reference</th><td width="20%" align="right"> <a accesskey="n" href="reffeat.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="refgetst"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>ne_get_status — retrieve HTTP response status for request</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;ne_request.h&gt;</pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">const ne_status *<b class="fsfunc">ne_get_status</b>(</code></td><td>const ne_request *<var class="pdparam">request</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm209423851184"></a><h2>Description</h2><p>The <code class="function">ne_get_status</code> function returns
 a pointer to the HTTP status object giving the result of a request.
 The object returned only becomes valid once the request has been
 <span class="emphasis"><em>successfully</em></span> dispatched (the return value of
 <code class="function">ne_request_dispatch</code> or
 <code class="function">ne_begin_request</code> was zero).  The object remains
-valid until the associated request object is destroyed.</p></div><div class="refsect1"><a name="idm140368850820464"></a><h2>See also</h2><p><a class="xref" href="refstatus.html#ne_status">ne_status</a>, <a class="xref" href="refreq.html#ne_request_create">ne_request_create</a></p></div><div class="refsect1"><a name="idm140368850818576"></a><h2>Example</h2><p>Display the response status code of applying the
+valid until the associated request object is destroyed.</p></div><div class="refsect1"><a name="idm209423795504"></a><h2>See also</h2><p><a class="xref" href="refstatus.html#ne_status">ne_status</a>, <a class="xref" href="refreq.html#ne_request_create">ne_request_create</a></p></div><div class="refsect1"><a name="idm209423793616"></a><h2>Example</h2><p>Display the response status code of applying the
 <code class="literal">HEAD</code> method to some resource.</p><pre class="programlisting">ne_request *req = ne_request_create(sess, "HEAD", "/foo/bar");
 if (ne_request_dispatch(req))
    /* handle errors... */

+ 2 - 2
libs/neon/doc/html/refi18n.html

@@ -1,4 +1,4 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>ne_i18n_init</title><link rel="stylesheet" type="text/css" href="../manual.css"><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="neon HTTP/WebDAV client library"><link rel="up" href="ref.html" title="neon API reference"><link rel="prev" href="reffeat.html" title="ne_has_support"><link rel="next" href="refiaddr.html" title="ne_iaddr_make"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">ne_i18n_init</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="reffeat.html">Prev</a> </td><th width="60%" align="center">neon API reference</th><td width="20%" align="right"> <a accesskey="n" href="refiaddr.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="refi18n"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>ne_i18n_init — functions to initialize internationalization support</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;ne_i18n.h&gt;</pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">void <b class="fsfunc">ne_i18n_init</b>(</code></td><td>const char *<var class="pdparam">encoding</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm140368850739712"></a><h2>Description</h2><p>The <code class="function">ne_i18n_init</code> function can be used
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>ne_i18n_init</title><link rel="stylesheet" type="text/css" href="../manual.css"><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="neon HTTP/WebDAV client library"><link rel="up" href="ref.html" title="neon API reference"><link rel="prev" href="reffeat.html" title="ne_has_support"><link rel="next" href="refiaddr.html" title="ne_iaddr_make"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">ne_i18n_init</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="reffeat.html">Prev</a> </td><th width="60%" align="center">neon API reference</th><td width="20%" align="right"> <a accesskey="n" href="refiaddr.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="refi18n"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>ne_i18n_init — functions to initialize internationalization support</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;ne_i18n.h&gt;</pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">void <b class="fsfunc">ne_i18n_init</b>(</code></td><td>const char *<var class="pdparam">encoding</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm209423714656"></a><h2>Description</h2><p>The <code class="function">ne_i18n_init</code> function can be used
     to enable support for translated messages in the neon library.
     The <code class="parameter">encoding</code> parameter, if non-<code class="literal">NULL</code>,
     specifies the character encoding required for generated translated
@@ -15,4 +15,4 @@
     will otherwise operate correctly.</p><p>Note that the encoding used is a process-global setting and
     so results may be unexpected if other users of neon within the
     process call <code class="function">ne_i18n_init</code> with a different
-    encoding parameter.</p></div><div class="refsect1"><a name="idm140368850730176"></a><h2>See also</h2><p><a class="xref" href="refsockinit.html#ne_sock_init">ne_sock_init</a></p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="reffeat.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ref.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="refiaddr.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">ne_has_support </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> ne_iaddr_make</td></tr></table></div></body></html>
+    encoding parameter.</p></div><div class="refsect1"><a name="idm209423705120"></a><h2>See also</h2><p><a class="xref" href="refsockinit.html#ne_sock_init">ne_sock_init</a></p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="reffeat.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ref.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="refiaddr.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">ne_has_support </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> ne_iaddr_make</td></tr></table></div></body></html>

文件差異過大導致無法顯示
+ 0 - 0
libs/neon/doc/html/refiaddr.html


+ 18 - 19
libs/neon/doc/html/refneon.html

@@ -1,11 +1,11 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>neon</title><link rel="stylesheet" type="text/css" href="../manual.css"><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="neon HTTP/WebDAV client library"><link rel="up" href="ref.html" title="neon API reference"><link rel="prev" href="ref.html" title="neon API reference"><link rel="next" href="refconfig.html" title="neon-config"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">neon</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ref.html">Prev</a> </td><th width="60%" align="center">neon API reference</th><td width="20%" align="right"> <a accesskey="n" href="refconfig.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="refneon"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>neon — HTTP and WebDAV client library</p></div><div class="refsect1"><a name="idm140368851469392"></a><h2>Description</h2><p>neon is an HTTP and WebDAV client library.  The major
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>neon</title><link rel="stylesheet" type="text/css" href="../manual.css"><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="neon HTTP/WebDAV client library"><link rel="up" href="ref.html" title="neon API reference"><link rel="prev" href="ref.html" title="neon API reference"><link rel="next" href="refconfig.html" title="neon-config"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">neon</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ref.html">Prev</a> </td><th width="60%" align="center">neon API reference</th><td width="20%" align="right"> <a accesskey="n" href="refconfig.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="refneon"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>neon — HTTP and WebDAV client library</p></div><div class="refsect1"><a name="idm209424448320"></a><h2>Description</h2><p>neon is an HTTP and WebDAV client library.  The major
     abstractions exposed are the HTTP <span class="emphasis"><em>session</em></span>,
     created by <a class="xref" href="refsess.html#ne_session_create">ne_session_create</a>; and the HTTP
     <span class="emphasis"><em>request</em></span>, created by <a class="xref" href="refreq.html#ne_request_create">ne_request_create</a>.  HTTP authentication is handled
     transparently for server and proxy servers, see <a class="xref" href="refauth.html#ne_set_server_auth">ne_set_server_auth</a>; complete SSL/TLS support is also
-    included, see <a class="xref" href="refsslvfy.html#ne_ssl_set_verify">ne_ssl_set_verify</a>.</p></div><div class="refsect1"><a name="idm140368851464416"></a><h2>Conventions</h2><p>Some conventions are used throughout the neon API, to
+    included, see <a class="xref" href="refsslvfy.html#ne_ssl_set_verify">ne_ssl_set_verify</a>.</p></div><div class="refsect1"><a name="idm209424405168"></a><h2>Conventions</h2><p>Some conventions are used throughout the neon API, to
     provide a consistent and simple interface; these are documented
-    below.</p><div class="refsect2"><a name="idm140368851463248"></a><h3>Thread-safeness and global initialization</h3><p>neon itself is implemented to be thread-safe (avoiding any
+    below.</p><div class="refsect2"><a name="idm209424404000"></a><h3>Thread-safeness and global initialization</h3><p>neon itself is implemented to be thread-safe (avoiding any
     use of global state), but relies on the operating system providing
     a thread-safe resolver interface.  Modern operating systems offer
     the thread-safe <code class="function">getaddrinfo</code> interface, which
@@ -35,11 +35,11 @@
     (and <a class="xref" href="refsockinit.html#ne_sock_exit">ne_sock_exit</a>); neon neither checks whether
     these functions are called nor calls them itself.</p><p>For some applications and configurations it may be necessary
     to call <a class="xref" href="refi18n.html#ne_i18n_init">ne_i18n_init</a> to initialize the support
-    for internationalization in neon.</p></div><div class="refsect2"><a name="idm140368851410560"></a><h3>Asynchronous signal safety</h3><p>No function in neon is defined to be <span class="quote">“<span class="quote">async-signal safe</span>”</span> -
+    for internationalization in neon.</p></div><div class="refsect2"><a name="idm209424385536"></a><h3>Asynchronous signal safety</h3><p>No function in neon is defined to be <span class="quote">“<span class="quote">async-signal safe</span>”</span> -
     that is, no function is safe to call from a signal handler.  Any
     call into the neon library from a signal handler will have
     undefined behaviour - in other words, it may crash the
-    process.</p></div><div class="refsect2"><a name="idm140368851408688"></a><h3>Functions using global state</h3><p>Any function in neon may modify the
+    process.</p></div><div class="refsect2"><a name="idm209424383664"></a><h3>Functions using global state</h3><p>Any function in neon may modify the
     <code class="literal">errno</code> global variable as a side-effect.  Except
     where explicitly documented, the value of <code class="literal">errno</code>
     is unspecified after any neon function call.</p><p>Other than in the use of <code class="literal">errno</code>, the only
@@ -51,7 +51,7 @@
       <code class="function">ne_debug</code>, if enabled at compile time; for
       debugging output</li><li class="listitem"><a class="xref" href="refalloc.html#ne_oom_callback">ne_oom_callback</a> for
       installing a process-global callback to be invoked on
-      <code class="function">malloc</code> failure</li></ul></div></div><div class="refsect2"><a name="idm140368851399744"></a><h3>Namespaces</h3><p>To avoid possible collisions between names used for symbols
+      <code class="function">malloc</code> failure</li></ul></div></div><div class="refsect2"><a name="idm209424374720"></a><h3>Namespaces</h3><p>To avoid possible collisions between names used for symbols
     and preprocessor macros by an application and the libraries it
     uses, it is good practice for each library to reserve a particular
     <span class="emphasis"><em>namespace prefix</em></span>.  An application which
@@ -80,34 +80,33 @@
         library and dependencies thereof; a number of symbols lie
         outside these prefixes.</td></tr><tr><td><p><span class="term">pakchois_</span></p></td><td>Namespace used by the pakchois 
          library.</td></tr><tr><td><p><span class="term">px_</span></p></td><td>Namespace used by the libproxy
-         library.</td></tr></tbody></table></div></div><div class="refsect2"><a name="idm140368851384144"></a><h3>Argument validation</h3><p>neon does not attempt to validate that the parameters
+         library.</td></tr></tbody></table></div></div><div class="refsect2"><a name="idm209424359120"></a><h3>Argument validation</h3><p>neon does not attempt to validate that the parameters
     passed to functions conform to the API (for instance, checking
     that pointer arguments are not <code class="literal">NULL</code>).  Any use of the neon API
     which is not documented to produce a certain behaviour results is
     said to produce <span class="emphasis"><em>undefined behaviour</em></span>; it is
-    likely that neon will segfault under these conditions.</p></div><div class="refsect2"><a name="idm140368851380992"></a><h3>URI paths, WebDAV metadata</h3><p>The path strings passed to any function must be
+    likely that neon will segfault under these conditions.</p></div><div class="refsect2"><a name="idm209424356000"></a><h3>URI paths, WebDAV metadata</h3><p>The path strings passed to any function must be
     <span class="emphasis"><em>URI-encoded</em></span> by the application; neon never
     performs any URI encoding or decoding internally.  WebDAV property
     names and values must be valid UTF-8 encoded Unicode
-    strings.</p></div><div class="refsect2"><a name="idm140368851379200"></a><h3>User interaction</h3><p>As a pure library interface, neon will never produce
+    strings.</p></div><div class="refsect2"><a name="idm209424354208"></a><h3>User interaction</h3><p>As a pure library interface, neon will never produce
     output on <code class="constant">stdout</code> or
     <code class="constant">stderr</code>; all user interaction is the
-    responsibilty of the application.</p></div><div class="refsect2"><a name="idm140368851376816"></a><h3>Memory handling</h3><p>neon does not attempt to cope gracefully with an
+    responsibilty of the application.</p></div><div class="refsect2"><a name="idm209424351824"></a><h3>Memory handling</h3><p>neon does not attempt to cope gracefully with an
     out-of-memory situation; instead, by default, the
     <code class="function">abort</code> function is called to immediately
     terminate the process.  An application may register a custom
     function which will be called before <code class="function">abort</code> in
-    such a situation; see <a class="xref" href="refalloc.html#ne_oom_callback">ne_oom_callback</a>.</p></div><div class="refsect2"><a name="idm140368851373296"></a><h3>Callbacks and userdata</h3><p>Whenever a callback is registered, a
+    such a situation; see <a class="xref" href="refalloc.html#ne_oom_callback">ne_oom_callback</a>.</p></div><div class="refsect2"><a name="idm209424348304"></a><h3>Callbacks and userdata</h3><p>Whenever a callback is registered, a
     <code class="literal">userdata</code> pointer is also used to allow the
     application to associate a context with the callback.  The
     userdata is of type <em class="type">void *</em>, allowing any pointer to
-    be used.</p></div><div class="refsect2"><a name="idm140368851370848"></a><h3>Large File Support</h3><p>Since version 0.27.0, neon transparently uses the "LFS
-    transitional" interfaces in places where file-backed file
-    descriptors are manipulated.  This means files larger than 2GiB
-    can be handled on platforms with a native 32-bit
-    <code class="literal">off_t</code> type, where LFS support is
-    available.</p><p>Some interfaces use the <code class="literal">ne_off_t</code> type,
-    which is defined to be either <code class="literal">off_t</code> or
+    be used.</p></div><div class="refsect2"><a name="idm209424345856"></a><h3>Large File Support</h3><p>Since version 0.27.0, neon transparently uses the "LFS
+    transitional" interfaces in functions which use file descriptors.
+    This allows use of files larger than 2GiB on platforms with a
+    native 32-bit <code class="literal">off_t</code> type, where LFS support is
+    available.</p><p>Some neon interfaces use the <code class="literal">ne_off_t</code>
+    type, which is defined to be either <code class="literal">off_t</code> or
     <code class="literal">off64_t</code> according to whether LFS support is
     detected at build time.  neon does not use or require the
-    <code class="literal">-D_FILE_OFFSET_BITS=64</code> macro definition.</p></div></div><div class="refsect1"><a name="idm140368851365408"></a><h2>See also</h2><p><a class="xref" href="refsess.html" title="ne_session_create"><span class="refentrytitle">ne_session_create</span></a>, <a class="xref" href="refalloc.html#ne_oom_callback">ne_oom_callback</a></p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ref.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ref.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="refconfig.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">neon API reference </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> neon-config</td></tr></table></div></body></html>
+    <code class="literal">-D_FILE_OFFSET_BITS=64</code> macro definition.</p></div></div><div class="refsect1"><a name="idm209424340512"></a><h2>See also</h2><p><a class="xref" href="refsess.html" title="ne_session_create"><span class="refentrytitle">ne_session_create</span></a>, <a class="xref" href="refalloc.html#ne_oom_callback">ne_oom_callback</a></p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ref.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ref.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="refconfig.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">neon API reference </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> neon-config</td></tr></table></div></body></html>

文件差異過大導致無法顯示
+ 0 - 0
libs/neon/doc/html/refopts.html


文件差異過大導致無法顯示
+ 0 - 0
libs/neon/doc/html/refproxy.html


文件差異過大導致無法顯示
+ 0 - 0
libs/neon/doc/html/refreq.html


文件差異過大導致無法顯示
+ 0 - 0
libs/neon/doc/html/refreqbody.html


文件差異過大導致無法顯示
+ 0 - 0
libs/neon/doc/html/refreqflags.html


文件差異過大導致無法顯示
+ 0 - 0
libs/neon/doc/html/refreqhdr.html


文件差異過大導致無法顯示
+ 0 - 0
libs/neon/doc/html/refresolve.html


文件差異過大導致無法顯示
+ 0 - 0
libs/neon/doc/html/refresphdr.html


文件差異過大導致無法顯示
+ 0 - 0
libs/neon/doc/html/refsess.html


文件差異過大導致無法顯示
+ 0 - 0
libs/neon/doc/html/refsessflags.html


+ 2 - 2
libs/neon/doc/html/refshave.html

@@ -1,7 +1,7 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>ne_shave</title><link rel="stylesheet" type="text/css" href="../manual.css"><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="neon HTTP/WebDAV client library"><link rel="up" href="ref.html" title="neon API reference"><link rel="prev" href="refauth.html" title="ne_set_server_auth"><link rel="next" href="refsockinit.html" title="ne_sock_init"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">ne_shave</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="refauth.html">Prev</a> </td><th width="60%" align="center">neon API reference</th><td width="20%" align="right"> <a accesskey="n" href="refsockinit.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="refshave"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>ne_shave — trim whitespace from a string</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;ne_string.h&gt;</pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">char *<b class="fsfunc">ne_shave</b>(</code></td><td>char *<var class="pdparam">str</var>, </td></tr><tr><td> </td><td>const char *<var class="pdparam">whitespace</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm140368849726080"></a><h2>Description</h2><p><code class="function">ne_shave</code> returns a portion of
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>ne_shave</title><link rel="stylesheet" type="text/css" href="../manual.css"><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="neon HTTP/WebDAV client library"><link rel="up" href="ref.html" title="neon API reference"><link rel="prev" href="refauth.html" title="ne_set_server_auth"><link rel="next" href="refsockinit.html" title="ne_sock_init"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">ne_shave</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="refauth.html">Prev</a> </td><th width="60%" align="center">neon API reference</th><td width="20%" align="right"> <a accesskey="n" href="refsockinit.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="refshave"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>ne_shave — trim whitespace from a string</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;ne_string.h&gt;</pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">char *<b class="fsfunc">ne_shave</b>(</code></td><td>char *<var class="pdparam">str</var>, </td></tr><tr><td> </td><td>const char *<var class="pdparam">whitespace</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm209422702912"></a><h2>Description</h2><p><code class="function">ne_shave</code> returns a portion of
 <code class="parameter">str</code> with any leading or trailing characters in
 the <code class="parameter">whitespace</code> array removed.
 <code class="parameter">str</code> may be modified.  Note that the return
-value may not be equal to <code class="parameter">str</code>.</p></div><div class="refsect1"><a name="idm140368849721936"></a><h2>Examples</h2><p>The following code segment will output
+value may not be equal to <code class="parameter">str</code>.</p></div><div class="refsect1"><a name="idm209422698768"></a><h2>Examples</h2><p>The following code segment will output
 	<code class="literal">"fish"</code>:</p><pre class="programlisting">char s[] = ".!.fish!.!";
 puts(ne_shave(s, ".!"));</pre></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="refauth.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ref.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="refsockinit.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">ne_set_server_auth </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> ne_sock_init</td></tr></table></div></body></html>

+ 5 - 5
libs/neon/doc/html/refsockinit.html

@@ -1,4 +1,4 @@
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>ne_sock_init</title><link rel="stylesheet" type="text/css" href="../manual.css"><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="neon HTTP/WebDAV client library"><link rel="up" href="ref.html" title="neon API reference"><link rel="prev" href="refshave.html" title="ne_shave"><link rel="next" href="refcert.html" title="ne_ssl_cert_identity"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">ne_sock_init</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="refshave.html">Prev</a> </td><th width="60%" align="center">neon API reference</th><td width="20%" align="right"> <a accesskey="n" href="refcert.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="refsockinit"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>ne_sock_init, ne_sock_exit — perform library initialization</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;ne_socket.h&gt;</pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">ne_sock_init</b>(</code></td><td><code>void)</code>;</td><td> </td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">void <b class="fsfunc">ne_sock_exit</b>(</code></td><td><code>void)</code>;</td><td> </td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm140368849694320"></a><h2>Description</h2><p>In some platforms and configurations, neon may be using
+<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>ne_sock_init</title><link rel="stylesheet" type="text/css" href="../manual.css"><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="neon HTTP/WebDAV client library"><link rel="up" href="ref.html" title="neon API reference"><link rel="prev" href="refshave.html" title="ne_shave"><link rel="next" href="refcert.html" title="ne_ssl_cert_identity"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">ne_sock_init</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="refshave.html">Prev</a> </td><th width="60%" align="center">neon API reference</th><td width="20%" align="right"> <a accesskey="n" href="refcert.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="refsockinit"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>ne_sock_init, ne_sock_exit — perform library initialization</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><pre class="funcsynopsisinfo">#include &lt;ne_socket.h&gt;</pre><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">ne_sock_init</b>(</code></td><td><code>void)</code>;</td><td> </td></tr></table><div class="funcprototype-spacer"> </div><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">void <b class="fsfunc">ne_sock_exit</b>(</code></td><td><code>void)</code>;</td><td> </td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idm209422671008"></a><h2>Description</h2><p>In some platforms and configurations, neon may be using
     some socket or SSL libraries which require global initialization
     before use.  To perform this initialization, the
     <code class="function">ne_sock_init</code> function must be called before
@@ -25,7 +25,7 @@
     section.  Otherwise, it is not safe to use neon with SSL in a
     multi-threaded process.  The <a class="xref" href="reffeat.html#ne_has_support">ne_has_support</a>
     function can be used to determine whether neon is built to
-    enable thread-safety support in the SSL library.</p><div class="refsect2"><a name="idm140368849682864"></a><h3>Thread-safe SSL with OpenSSL</h3><p>neon follows two simple rules when dealing with the
+    enable thread-safety support in the SSL library.</p><div class="refsect2"><a name="idm209422659648"></a><h3>Thread-safe SSL with OpenSSL</h3><p>neon follows two simple rules when dealing with the
       OpenSSL locking callbacks:
 
       </p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><code class="function">ne_sock_init</code> will set
@@ -37,7 +37,7 @@
 
       Applications and libraries should be able to co-operate to
       ensure that SSL use is always thread-safe if similar rules are
-      always followed.</p></div><div class="refsect2"><a name="idm140368849678112"></a><h3>Thread-safe SSL with GnuTLS</h3><p>The cryptography library used by GnuTLS, libgcrypt, only
+      always followed.</p></div><div class="refsect2"><a name="idm209422654896"></a><h3>Thread-safe SSL with GnuTLS</h3><p>The cryptography library used by GnuTLS, libgcrypt, only
       supports an initialization operation to register thread-safety
       callbacks.  <code class="function">ne_sock_init</code> will register the
       thread-safe locking callbacks on first use;
@@ -46,6 +46,6 @@
       unsafe to dynamically unload neon from the process if neon
       is configured with thread-safe SSL support enabled (since the
       callbacks would be left pointing at unmapped memory once neon
-      is unloaded).</p></div></div><div class="refsect1"><a name="idm140368849674976"></a><h2>Return value</h2><p><code class="function">ne_sock_init</code> returns zero on success,
+      is unloaded).</p></div></div><div class="refsect1"><a name="idm209422651760"></a><h2>Return value</h2><p><code class="function">ne_sock_init</code> returns zero on success,
     or non-zero on error.  If an error occurs, no further use of the
-    neon library should be attempted.</p></div><div class="refsect1"><a name="idm140368849673072"></a><h2>See also</h2><p><a class="xref" href="refneon.html" title="neon"><span class="refentrytitle">neon</span></a>, <a class="xref" href="reffeat.html" title="ne_has_support"><span class="refentrytitle">ne_has_support</span></a></p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="refshave.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ref.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="refcert.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">ne_shave </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> ne_ssl_cert_identity</td></tr></table></div></body></html>
+    neon library should be attempted.</p></div><div class="refsect1"><a name="idm209422649856"></a><h2>See also</h2><p><a class="xref" href="refneon.html" title="neon"><span class="refentrytitle">neon</span></a>, <a class="xref" href="reffeat.html" title="ne_has_support"><span class="refentrytitle">ne_has_support</span></a></p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="refshave.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ref.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="refcert.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">ne_shave </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> ne_ssl_cert_identity</td></tr></table></div></body></html>

文件差異過大導致無法顯示
+ 0 - 0
libs/neon/doc/html/refsslca.html


文件差異過大導致無法顯示
+ 0 - 0
libs/neon/doc/html/refsslcert2.html


文件差異過大導致無法顯示
+ 0 - 0
libs/neon/doc/html/refsslcertio.html


文件差異過大導致無法顯示
+ 0 - 0
libs/neon/doc/html/refssldname.html


文件差異過大導致無法顯示
+ 0 - 0
libs/neon/doc/html/refsslvfy.html


+ 3 - 3
libs/neon/doc/html/refstatus.html

@@ -4,7 +4,7 @@ typedef struct {
     int major_version, minor_version;
     int code, klass;
     const char *reason_phrase;
-} <em class="type">ne_status</em>;</pre></div></div><div class="refsect1"><a name="idm140368849201776"></a><h2>Description</h2><p>An <em class="type">ne_status</em> type represents an HTTP
+} <em class="type">ne_status</em>;</pre></div></div><div class="refsect1"><a name="idm209422177984"></a><h2>Description</h2><p>An <em class="type">ne_status</em> type represents an HTTP
 response status; used in response messages giving a result of request.
 The <em class="structfield"><code>major_version</code></em> and
 <em class="structfield"><code>minor_version</code></em> fields give the HTTP version
@@ -12,11 +12,11 @@ supported by the server issuing the response.  The
 <em class="structfield"><code>code</code></em> field gives the status code of the
 result (lying between 100 and 999 inclusive), and the
 <em class="structfield"><code>klass</code></em> field gives the
-class<a href="#ftn.idm140368849198752" class="footnote" name="idm140368849198752"><sup class="footnote">[2]</sup></a>, which is equal to the most significant digit
+class<a href="#ftn.idm209422174960" class="footnote" name="idm209422174960"><sup class="footnote">[2]</sup></a>, which is equal to the most significant digit
 of the status.</p><p>There are five classes of HTTP status code defined by
 	RFC2616:</p><div class="variablelist"><table border="0" class="variablelist"><colgroup><col align="left" valign="top"><col></colgroup><tbody><tr><td><p><span class="term"><code class="literal">1xx</code></span></p></td><td>Informational response.</td></tr><tr><td><p><span class="term"><code class="literal">2xx</code></span></p></td><td>Success: the operation was successful</td></tr><tr><td><p><span class="term"><code class="literal">3xx</code></span></p></td><td>Redirection</td></tr><tr><td><p><span class="term"><code class="literal">4xx</code></span></p></td><td>Client
 	    error: the request made was incorrect in some
-	    manner.</td></tr><tr><td><p><span class="term"><code class="literal">5xx</code></span></p></td><td>Server error</td></tr></tbody></table></div></div><div class="refsect1"><a name="idm140368849187584"></a><h2>See also</h2><p><a class="xref" href="refgetst.html#ne_get_status">ne_get_status</a>.</p></div><div class="footnotes"><br><hr style="width:100; text-align:left;margin-left: 0"><div id="ftn.idm140368849198752" class="footnote"><p><a href="#idm140368849198752" class="para"><sup class="para">[2] </sup></a>the field is named <span class="quote">“<span class="quote">klass</span>”</span> not
+	    manner.</td></tr><tr><td><p><span class="term"><code class="literal">5xx</code></span></p></td><td>Server error</td></tr></tbody></table></div></div><div class="refsect1"><a name="idm209422163792"></a><h2>See also</h2><p><a class="xref" href="refgetst.html#ne_get_status">ne_get_status</a>.</p></div><div class="footnotes"><br><hr style="width:100; text-align:left;margin-left: 0"><div id="ftn.idm209422174960" class="footnote"><p><a href="#idm209422174960" class="para"><sup class="para">[2] </sup></a>the field is named <span class="quote">“<span class="quote">klass</span>”</span> not
 <span class="quote">“<span class="quote">class</span>”</span> so that the header can be used from a C++
 program, in which <span class="quote">“<span class="quote">class</span>”</span> is a reserved
 word)</p></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="refclicert.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ref.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="reftok.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">ne_ssl_client_cert </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> ne_token</td></tr></table></div></body></html>

文件差異過大導致無法顯示
+ 0 - 0
libs/neon/doc/html/reftok.html


文件差異過大導致無法顯示
+ 0 - 0
libs/neon/doc/html/refvers.html


文件差異過大導致無法顯示
+ 0 - 0
libs/neon/doc/html/refxml.html


+ 4 - 4
libs/neon/doc/html/security.html

@@ -4,7 +4,7 @@
   application) can be tricked into accessing an HTTP server which is
   controlled by an attacker.  This section documents various types of
   possible attack and describes what mitigation is used in
-  neon.</p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm140368851674016"></a>CPU or memory consumption attacks</h3></div></div></div><p>neon uses fixed resource limits to prevent the following
+  neon.</p><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm209426217328"></a>CPU or memory consumption attacks</h3></div></div></div><p>neon uses fixed resource limits to prevent the following
     attacks:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem"><p>memory/CPU consumption attack using an unbounded number
         of response header fields</p></li><li class="listitem"><p>memory consumption attack using an unbounded length of
         individual response header lines (or continuation
@@ -17,7 +17,7 @@
     must be mitigated at application level.  Memory consumption in
     neon itself is fixed and is not proportional to the response
     size.</p><p>Test cases for all the above attacks are present in the
-    neon test suite.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm140368851664720"></a>SSL/TLS connection security</h3></div></div></div><p>When using a connection secured by SSL/TLS, it is necessary
+    neon test suite.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm209426337968"></a>SSL/TLS connection security</h3></div></div></div><p>When using a connection secured by SSL/TLS, it is necessary
     for clients to verify that the X.509 certificate presented by the
     server matches the server's expected identity.  The algorithm
     required for this purpose is described in RFC 2818 and RFC 3280,
@@ -35,14 +35,14 @@
     present the certificate details to a user for manual/off-line
     verification, if possible.</p><p>Test cases for the correctness of the implementation of the
     identity verification algorithm are present in the neon test
-    suite.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm140368851598880"></a>Control character insertion in error messages</h3></div></div></div><p>Where error messages (as returned by
+    suite.</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm209427290208"></a>Control character insertion in error messages</h3></div></div></div><p>Where error messages (as returned by
     (<a class="xref" href="referr.html#ne_get_error">ne_get_error</a>) contain data supplied by the
     server, the untrusted data is sanitised to remove both control
     characters and non-ASCII characters.  This prevents any attacks
     where such error messages are exposed to the user and can
     potentially distort the presentation of the interface (for
     example, through the use of a carriage return character in a text
-    user interface).</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm140368851596832"></a>Attacks against authentication credentials</h3></div></div></div><p>Authentication credentials can be compromised by a
+    user interface).</p></div><div class="sect2"><div class="titlepage"><div><div><h3 class="title"><a name="idm209425032880"></a>Attacks against authentication credentials</h3></div></div></div><p>Authentication credentials can be compromised by a
     "downgrade attack" by an active attacker; for example, where a
     MITM presents a Basic authentication challenge in place of the
     server's Digest challenge.  neon mitigates these attacks by

+ 3 - 3
libs/neon/doc/man/ne_add_request_header.3

@@ -2,12 +2,12 @@
 .\"     Title: ne_add_request_header
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 31 July 2013
+.\"      Date: 23 September 2014
 .\"    Manual: neon API reference
-.\"    Source: neon 0.30.0
+.\"    Source: neon 0.30.1
 .\"  Language: English
 .\"
-.TH "NE_ADD_REQUEST_HEADE" "3" "31 July 2013" "neon 0.30.0" "neon API reference"
+.TH "NE_ADD_REQUEST_HEADE" "3" "23 September 2014" "neon 0.30.1" "neon API reference"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------

+ 3 - 3
libs/neon/doc/man/ne_addr_resolve.3

@@ -2,12 +2,12 @@
 .\"     Title: ne_addr_resolve
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 31 July 2013
+.\"      Date: 23 September 2014
 .\"    Manual: neon API reference
-.\"    Source: neon 0.30.0
+.\"    Source: neon 0.30.1
 .\"  Language: English
 .\"
-.TH "NE_ADDR_RESOLVE" "3" "31 July 2013" "neon 0.30.0" "neon API reference"
+.TH "NE_ADDR_RESOLVE" "3" "23 September 2014" "neon 0.30.1" "neon API reference"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------

+ 3 - 3
libs/neon/doc/man/ne_buffer.3

@@ -2,12 +2,12 @@
 .\"     Title: ne_buffer
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 31 July 2013
+.\"      Date: 23 September 2014
 .\"    Manual: neon API reference
-.\"    Source: neon 0.30.0
+.\"    Source: neon 0.30.1
 .\"  Language: English
 .\"
-.TH "NE_BUFFER" "3" "31 July 2013" "neon 0.30.0" "neon API reference"
+.TH "NE_BUFFER" "3" "23 September 2014" "neon 0.30.1" "neon API reference"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------

+ 3 - 3
libs/neon/doc/man/ne_buffer_append.3

@@ -2,12 +2,12 @@
 .\"     Title: ne_buffer_append
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 31 July 2013
+.\"      Date: 23 September 2014
 .\"    Manual: neon API reference
-.\"    Source: neon 0.30.0
+.\"    Source: neon 0.30.1
 .\"  Language: English
 .\"
-.TH "NE_BUFFER_APPEND" "3" "31 July 2013" "neon 0.30.0" "neon API reference"
+.TH "NE_BUFFER_APPEND" "3" "23 September 2014" "neon 0.30.1" "neon API reference"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------

+ 3 - 3
libs/neon/doc/man/ne_buffer_clear.3

@@ -2,12 +2,12 @@
 .\"     Title: ne_buffer_clear
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 31 July 2013
+.\"      Date: 23 September 2014
 .\"    Manual: neon API reference
-.\"    Source: neon 0.30.0
+.\"    Source: neon 0.30.1
 .\"  Language: English
 .\"
-.TH "NE_BUFFER_CLEAR" "3" "31 July 2013" "neon 0.30.0" "neon API reference"
+.TH "NE_BUFFER_CLEAR" "3" "23 September 2014" "neon 0.30.1" "neon API reference"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------

+ 3 - 3
libs/neon/doc/man/ne_buffer_create.3

@@ -2,12 +2,12 @@
 .\"     Title: ne_buffer_create
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 31 July 2013
+.\"      Date: 23 September 2014
 .\"    Manual: neon API reference
-.\"    Source: neon 0.30.0
+.\"    Source: neon 0.30.1
 .\"  Language: English
 .\"
-.TH "NE_BUFFER_CREATE" "3" "31 July 2013" "neon 0.30.0" "neon API reference"
+.TH "NE_BUFFER_CREATE" "3" "23 September 2014" "neon 0.30.1" "neon API reference"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------

+ 3 - 3
libs/neon/doc/man/ne_buffer_destroy.3

@@ -2,12 +2,12 @@
 .\"     Title: ne_buffer_destroy
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 31 July 2013
+.\"      Date: 23 September 2014
 .\"    Manual: neon API reference
-.\"    Source: neon 0.30.0
+.\"    Source: neon 0.30.1
 .\"  Language: English
 .\"
-.TH "NE_BUFFER_DESTROY" "3" "31 July 2013" "neon 0.30.0" "neon API reference"
+.TH "NE_BUFFER_DESTROY" "3" "23 September 2014" "neon 0.30.1" "neon API reference"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------

+ 3 - 3
libs/neon/doc/man/ne_get_error.3

@@ -2,12 +2,12 @@
 .\"     Title: ne_get_error
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 31 July 2013
+.\"      Date: 23 September 2014
 .\"    Manual: neon API reference
-.\"    Source: neon 0.30.0
+.\"    Source: neon 0.30.1
 .\"  Language: English
 .\"
-.TH "NE_GET_ERROR" "3" "31 July 2013" "neon 0.30.0" "neon API reference"
+.TH "NE_GET_ERROR" "3" "23 September 2014" "neon 0.30.1" "neon API reference"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------

+ 3 - 3
libs/neon/doc/man/ne_get_response_header.3

@@ -2,12 +2,12 @@
 .\"     Title: ne_get_response_header
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 31 July 2013
+.\"      Date: 23 September 2014
 .\"    Manual: neon API reference
-.\"    Source: neon 0.30.0
+.\"    Source: neon 0.30.1
 .\"  Language: English
 .\"
-.TH "NE_GET_RESPONSE_HEAD" "3" "31 July 2013" "neon 0.30.0" "neon API reference"
+.TH "NE_GET_RESPONSE_HEAD" "3" "23 September 2014" "neon 0.30.1" "neon API reference"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------

+ 3 - 3
libs/neon/doc/man/ne_get_status.3

@@ -2,12 +2,12 @@
 .\"     Title: ne_get_status
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 31 July 2013
+.\"      Date: 23 September 2014
 .\"    Manual: neon API reference
-.\"    Source: neon 0.30.0
+.\"    Source: neon 0.30.1
 .\"  Language: English
 .\"
-.TH "NE_GET_STATUS" "3" "31 July 2013" "neon 0.30.0" "neon API reference"
+.TH "NE_GET_STATUS" "3" "23 September 2014" "neon 0.30.1" "neon API reference"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------

+ 3 - 3
libs/neon/doc/man/ne_has_support.3

@@ -2,12 +2,12 @@
 .\"     Title: ne_has_support
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 31 July 2013
+.\"      Date: 23 September 2014
 .\"    Manual: neon API reference
-.\"    Source: neon 0.30.0
+.\"    Source: neon 0.30.1
 .\"  Language: English
 .\"
-.TH "NE_HAS_SUPPORT" "3" "31 July 2013" "neon 0.30.0" "neon API reference"
+.TH "NE_HAS_SUPPORT" "3" "23 September 2014" "neon 0.30.1" "neon API reference"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------

+ 3 - 3
libs/neon/doc/man/ne_i18n_init.3

@@ -2,12 +2,12 @@
 .\"     Title: ne_i18n_init
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 31 July 2013
+.\"      Date: 23 September 2014
 .\"    Manual: neon API reference
-.\"    Source: neon 0.30.0
+.\"    Source: neon 0.30.1
 .\"  Language: English
 .\"
-.TH "NE_I18N_INIT" "3" "31 July 2013" "neon 0.30.0" "neon API reference"
+.TH "NE_I18N_INIT" "3" "23 September 2014" "neon 0.30.1" "neon API reference"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------

+ 3 - 3
libs/neon/doc/man/ne_iaddr_make.3

@@ -2,12 +2,12 @@
 .\"     Title: ne_iaddr_make
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 31 July 2013
+.\"      Date: 23 September 2014
 .\"    Manual: neon API reference
-.\"    Source: neon 0.30.0
+.\"    Source: neon 0.30.1
 .\"  Language: English
 .\"
-.TH "NE_IADDR_MAKE" "3" "31 July 2013" "neon 0.30.0" "neon API reference"
+.TH "NE_IADDR_MAKE" "3" "23 September 2014" "neon 0.30.1" "neon API reference"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------

+ 3 - 3
libs/neon/doc/man/ne_malloc.3

@@ -2,12 +2,12 @@
 .\"     Title: ne_malloc
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 31 July 2013
+.\"      Date: 23 September 2014
 .\"    Manual: neon API reference
-.\"    Source: neon 0.30.0
+.\"    Source: neon 0.30.1
 .\"  Language: English
 .\"
-.TH "NE_MALLOC" "3" "31 July 2013" "neon 0.30.0" "neon API reference"
+.TH "NE_MALLOC" "3" "23 September 2014" "neon 0.30.1" "neon API reference"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------

+ 3 - 3
libs/neon/doc/man/ne_request_create.3

@@ -2,12 +2,12 @@
 .\"     Title: ne_request_create
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 31 July 2013
+.\"      Date: 23 September 2014
 .\"    Manual: neon API reference
-.\"    Source: neon 0.30.0
+.\"    Source: neon 0.30.1
 .\"  Language: English
 .\"
-.TH "NE_REQUEST_CREATE" "3" "31 July 2013" "neon 0.30.0" "neon API reference"
+.TH "NE_REQUEST_CREATE" "3" "23 September 2014" "neon 0.30.1" "neon API reference"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------

+ 3 - 3
libs/neon/doc/man/ne_session_create.3

@@ -2,12 +2,12 @@
 .\"     Title: ne_session_create
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 31 July 2013
+.\"      Date: 23 September 2014
 .\"    Manual: neon API reference
-.\"    Source: neon 0.30.0
+.\"    Source: neon 0.30.1
 .\"  Language: English
 .\"
-.TH "NE_SESSION_CREATE" "3" "31 July 2013" "neon 0.30.0" "neon API reference"
+.TH "NE_SESSION_CREATE" "3" "23 September 2014" "neon 0.30.1" "neon API reference"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------

+ 3 - 3
libs/neon/doc/man/ne_session_proxy.3

@@ -2,12 +2,12 @@
 .\"     Title: ne_session_proxy
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 31 July 2013
+.\"      Date: 23 September 2014
 .\"    Manual: neon API reference
-.\"    Source: neon 0.30.0
+.\"    Source: neon 0.30.1
 .\"  Language: English
 .\"
-.TH "NE_SESSION_PROXY" "3" "31 July 2013" "neon 0.30.0" "neon API reference"
+.TH "NE_SESSION_PROXY" "3" "23 September 2014" "neon 0.30.1" "neon API reference"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------

+ 5 - 5
libs/neon/doc/man/ne_set_request_body_buffer.3

@@ -2,12 +2,12 @@
 .\"     Title: ne_set_request_body_buffer
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 31 July 2013
+.\"      Date: 23 September 2014
 .\"    Manual: neon API reference
-.\"    Source: neon 0.30.0
+.\"    Source: neon 0.30.1
 .\"  Language: English
 .\"
-.TH "NE_SET_REQUEST_BODY_" "3" "31 July 2013" "neon 0.30.0" "neon API reference"
+.TH "NE_SET_REQUEST_BODY_" "3" "23 September 2014" "neon 0.30.1" "neon API reference"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------
@@ -28,7 +28,7 @@
 .\" * MAIN CONTENT STARTS HERE *
 .\" -----------------------------------------------------------------
 .SH "NAME"
-ne_set_request_body_buffer, ne_set_request_body_fd, ne_set_request_body_fd64 \- include a message body with a request
+ne_set_request_body_buffer, ne_set_request_body_fd \- include a message body with a request
 .SH "SYNOPSIS"
 .sp
 .ft B
@@ -39,7 +39,7 @@ ne_set_request_body_buffer, ne_set_request_body_fd, ne_set_request_body_fd64 \-
 .HP \w'void\ ne_set_request_body_buffer('u
 .BI "void ne_set_request_body_buffer(ne_request\ *" "req" ", const\ char\ *" "buf" ", size_t\ " "count" ");"
 .HP \w'int\ ne_set_request_body_fd('u
-.BI "int ne_set_request_body_fd(ne_request\ *" "req" ", int\ " "fd" ", off_t\ " "begin" ", off_t\ " "length" ");"
+.BI "int ne_set_request_body_fd(ne_request\ *" "req" ", int\ " "fd" ", ne_off_t\ " "begin" ", ne_off_t\ " "length" ");"
 .SH "DESCRIPTION"
 .PP
 The

+ 0 - 1
libs/neon/doc/man/ne_set_request_body_fd64.3

@@ -1 +0,0 @@
-.so man3/ne_set_request_body_buffer.3

+ 3 - 3
libs/neon/doc/man/ne_set_request_flag.3

@@ -2,12 +2,12 @@
 .\"     Title: ne_set_request_flag
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 31 July 2013
+.\"      Date: 23 September 2014
 .\"    Manual: neon API reference
-.\"    Source: neon 0.30.0
+.\"    Source: neon 0.30.1
 .\"  Language: English
 .\"
-.TH "NE_SET_REQUEST_FLAG" "3" "31 July 2013" "neon 0.30.0" "neon API reference"
+.TH "NE_SET_REQUEST_FLAG" "3" "23 September 2014" "neon 0.30.1" "neon API reference"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------

+ 3 - 3
libs/neon/doc/man/ne_set_server_auth.3

@@ -2,12 +2,12 @@
 .\"     Title: ne_set_server_auth
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 31 July 2013
+.\"      Date: 23 September 2014
 .\"    Manual: neon API reference
-.\"    Source: neon 0.30.0
+.\"    Source: neon 0.30.1
 .\"  Language: English
 .\"
-.TH "NE_SET_SERVER_AUTH" "3" "31 July 2013" "neon 0.30.0" "neon API reference"
+.TH "NE_SET_SERVER_AUTH" "3" "23 September 2014" "neon 0.30.1" "neon API reference"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------

+ 3 - 3
libs/neon/doc/man/ne_set_session_flag.3

@@ -2,12 +2,12 @@
 .\"     Title: ne_set_session_flag
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 31 July 2013
+.\"      Date: 23 September 2014
 .\"    Manual: neon API reference
-.\"    Source: neon 0.30.0
+.\"    Source: neon 0.30.1
 .\"  Language: English
 .\"
-.TH "NE_SET_SESSION_FLAG" "3" "31 July 2013" "neon 0.30.0" "neon API reference"
+.TH "NE_SET_SESSION_FLAG" "3" "23 September 2014" "neon 0.30.1" "neon API reference"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------

+ 3 - 3
libs/neon/doc/man/ne_set_useragent.3

@@ -2,12 +2,12 @@
 .\"     Title: ne_set_useragent
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 31 July 2013
+.\"      Date: 23 September 2014
 .\"    Manual: neon API reference
-.\"    Source: neon 0.30.0
+.\"    Source: neon 0.30.1
 .\"  Language: English
 .\"
-.TH "NE_SET_USERAGENT" "3" "31 July 2013" "neon 0.30.0" "neon API reference"
+.TH "NE_SET_USERAGENT" "3" "23 September 2014" "neon 0.30.1" "neon API reference"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------

+ 3 - 3
libs/neon/doc/man/ne_shave.3

@@ -2,12 +2,12 @@
 .\"     Title: ne_shave
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 31 July 2013
+.\"      Date: 23 September 2014
 .\"    Manual: neon API reference
-.\"    Source: neon 0.30.0
+.\"    Source: neon 0.30.1
 .\"  Language: English
 .\"
-.TH "NE_SHAVE" "3" "31 July 2013" "neon 0.30.0" "neon API reference"
+.TH "NE_SHAVE" "3" "23 September 2014" "neon 0.30.1" "neon API reference"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------

+ 3 - 3
libs/neon/doc/man/ne_sock_init.3

@@ -2,12 +2,12 @@
 .\"     Title: ne_sock_init
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 31 July 2013
+.\"      Date: 23 September 2014
 .\"    Manual: neon API reference
-.\"    Source: neon 0.30.0
+.\"    Source: neon 0.30.1
 .\"  Language: English
 .\"
-.TH "NE_SOCK_INIT" "3" "31 July 2013" "neon 0.30.0" "neon API reference"
+.TH "NE_SOCK_INIT" "3" "23 September 2014" "neon 0.30.1" "neon API reference"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------

+ 3 - 3
libs/neon/doc/man/ne_ssl_cert_cmp.3

@@ -2,12 +2,12 @@
 .\"     Title: ne_ssl_cert_cmp
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 31 July 2013
+.\"      Date: 23 September 2014
 .\"    Manual: neon API reference
-.\"    Source: neon 0.30.0
+.\"    Source: neon 0.30.1
 .\"  Language: English
 .\"
-.TH "NE_SSL_CERT_CMP" "3" "31 July 2013" "neon 0.30.0" "neon API reference"
+.TH "NE_SSL_CERT_CMP" "3" "23 September 2014" "neon 0.30.1" "neon API reference"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------

+ 3 - 3
libs/neon/doc/man/ne_ssl_cert_identity.3

@@ -2,12 +2,12 @@
 .\"     Title: ne_ssl_cert_identity
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 31 July 2013
+.\"      Date: 23 September 2014
 .\"    Manual: neon API reference
-.\"    Source: neon 0.30.0
+.\"    Source: neon 0.30.1
 .\"  Language: English
 .\"
-.TH "NE_SSL_CERT_IDENTITY" "3" "31 July 2013" "neon 0.30.0" "neon API reference"
+.TH "NE_SSL_CERT_IDENTITY" "3" "23 September 2014" "neon 0.30.1" "neon API reference"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------

+ 3 - 3
libs/neon/doc/man/ne_ssl_cert_read.3

@@ -2,12 +2,12 @@
 .\"     Title: ne_ssl_cert_read
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 31 July 2013
+.\"      Date: 23 September 2014
 .\"    Manual: neon API reference
-.\"    Source: neon 0.30.0
+.\"    Source: neon 0.30.1
 .\"  Language: English
 .\"
-.TH "NE_SSL_CERT_READ" "3" "31 July 2013" "neon 0.30.0" "neon API reference"
+.TH "NE_SSL_CERT_READ" "3" "23 September 2014" "neon 0.30.1" "neon API reference"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------

+ 3 - 3
libs/neon/doc/man/ne_ssl_clicert_read.3

@@ -2,12 +2,12 @@
 .\"     Title: ne_ssl_client_cert
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 31 July 2013
+.\"      Date: 23 September 2014
 .\"    Manual: neon API reference
-.\"    Source: neon 0.30.0
+.\"    Source: neon 0.30.1
 .\"  Language: English
 .\"
-.TH "NE_SSL_CLIENT_CERT" "3" "31 July 2013" "neon 0.30.0" "neon API reference"
+.TH "NE_SSL_CLIENT_CERT" "3" "23 September 2014" "neon 0.30.1" "neon API reference"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------

+ 3 - 3
libs/neon/doc/man/ne_ssl_readable_dname.3

@@ -2,12 +2,12 @@
 .\"     Title: ne_ssl_dname
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 31 July 2013
+.\"      Date: 23 September 2014
 .\"    Manual: neon API reference
-.\"    Source: neon 0.30.0
+.\"    Source: neon 0.30.1
 .\"  Language: English
 .\"
-.TH "NE_SSL_DNAME" "3" "31 July 2013" "neon 0.30.0" "neon API reference"
+.TH "NE_SSL_DNAME" "3" "23 September 2014" "neon 0.30.1" "neon API reference"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------

+ 3 - 3
libs/neon/doc/man/ne_ssl_set_verify.3

@@ -2,12 +2,12 @@
 .\"     Title: ne_ssl_set_verify
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 31 July 2013
+.\"      Date: 23 September 2014
 .\"    Manual: neon API reference
-.\"    Source: neon 0.30.0
+.\"    Source: neon 0.30.1
 .\"  Language: English
 .\"
-.TH "NE_SSL_SET_VERIFY" "3" "31 July 2013" "neon 0.30.0" "neon API reference"
+.TH "NE_SSL_SET_VERIFY" "3" "23 September 2014" "neon 0.30.1" "neon API reference"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------

+ 3 - 3
libs/neon/doc/man/ne_ssl_trust_cert.3

@@ -2,12 +2,12 @@
 .\"     Title: ne_ssl_trust_cert
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 31 July 2013
+.\"      Date: 23 September 2014
 .\"    Manual: neon API reference
-.\"    Source: neon 0.30.0
+.\"    Source: neon 0.30.1
 .\"  Language: English
 .\"
-.TH "NE_SSL_TRUST_CERT" "3" "31 July 2013" "neon 0.30.0" "neon API reference"
+.TH "NE_SSL_TRUST_CERT" "3" "23 September 2014" "neon 0.30.1" "neon API reference"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------

+ 3 - 3
libs/neon/doc/man/ne_status.3

@@ -2,12 +2,12 @@
 .\"     Title: ne_status
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 31 July 2013
+.\"      Date: 23 September 2014
 .\"    Manual: neon API reference
-.\"    Source: neon 0.30.0
+.\"    Source: neon 0.30.1
 .\"  Language: English
 .\"
-.TH "NE_STATUS" "3" "31 July 2013" "neon 0.30.0" "neon API reference"
+.TH "NE_STATUS" "3" "23 September 2014" "neon 0.30.1" "neon API reference"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------

+ 3 - 3
libs/neon/doc/man/ne_token.3

@@ -2,12 +2,12 @@
 .\"     Title: ne_token
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 31 July 2013
+.\"      Date: 23 September 2014
 .\"    Manual: neon API reference
-.\"    Source: neon 0.30.0
+.\"    Source: neon 0.30.1
 .\"  Language: English
 .\"
-.TH "NE_TOKEN" "3" "31 July 2013" "neon 0.30.0" "neon API reference"
+.TH "NE_TOKEN" "3" "23 September 2014" "neon 0.30.1" "neon API reference"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------

+ 3 - 3
libs/neon/doc/man/ne_version_match.3

@@ -2,12 +2,12 @@
 .\"     Title: ne_version_match
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 31 July 2013
+.\"      Date: 23 September 2014
 .\"    Manual: neon API reference
-.\"    Source: neon 0.30.0
+.\"    Source: neon 0.30.1
 .\"  Language: English
 .\"
-.TH "NE_VERSION_MATCH" "3" "31 July 2013" "neon 0.30.0" "neon API reference"
+.TH "NE_VERSION_MATCH" "3" "23 September 2014" "neon 0.30.1" "neon API reference"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------

+ 3 - 3
libs/neon/doc/man/ne_xml_create.3

@@ -2,12 +2,12 @@
 .\"     Title: ne_xml_create
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 31 July 2013
+.\"      Date: 23 September 2014
 .\"    Manual: neon API reference
-.\"    Source: neon 0.30.0
+.\"    Source: neon 0.30.1
 .\"  Language: English
 .\"
-.TH "NE_XML_CREATE" "3" "31 July 2013" "neon 0.30.0" "neon API reference"
+.TH "NE_XML_CREATE" "3" "23 September 2014" "neon 0.30.1" "neon API reference"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------

+ 3 - 3
libs/neon/doc/man/neon-config.1

@@ -2,12 +2,12 @@
 .\"     Title: neon-config
 .\"    Author: 
 .\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
-.\"      Date: 31 July 2013
+.\"      Date: 23 September 2014
 .\"    Manual: neon API reference
-.\"    Source: neon 0.30.0
+.\"    Source: neon 0.30.1
 .\"  Language: English
 .\"
-.TH "NEON\-CONFIG" "1" "31 July 2013" "neon 0.30.0" "neon API reference"
+.TH "NEON\-CONFIG" "1" "23 September 2014" "neon 0.30.1" "neon API reference"
 .\" -----------------------------------------------------------------
 .\" * Define some portability stuff
 .\" -----------------------------------------------------------------

部分文件因文件數量過多而無法顯示