SNNTP Component
Properties Methods Events Configuration Settings Errors
The SNNTP Component is used to read, search, and post articles on Usenet news servers.
Syntax
nsoftware.IPWorksSMIME.Snntp
Remarks
The SNNTP Component is the S/MIME enabled equivalent of the IPWorks NNTP component. In addition to standard NNTP functions the SNNTP component can sign, encrypt, decrypt, and verify message signatures. The methods and properties for encrypting, signing, decrypting, and verifying signatures are identical to those provided with the S/MIME component. After setting the certificate properties, and specifying ArticleText, call the Encrypt, Sign or SignAndEncrypt method before posting and the result will be stored in ArticleText. When attempting to verify a signed message or when decrypting a message call the Decrypt, VerifySignature, or DecryptAndVerifySignature methods and the resulting text will be replaced in ArticleText.
The SNNTP Component implements a standard Usenet news reader as specified in RFC 977. It can be used to browse Usenet news groups and read and post articles.
The CurrentGroup property sets the current newsgroup. From then on, news articles from that group can be read by setting the article number in CurrentArticle and then calling the appropriate method. Properties such as ArticleCount, FirstArticle, LastArticle provide information about the current state.
The headers and text of the articles are received respectively through the Header and Transfer events. Additionally, up to MaxLines from the article body are provided in the ArticleText property. The GroupOverview event returns information about a range of articles (OverviewRange) in CurrentGroup, and the GroupList event is used when listing newsgroup names. The PITrail event provides a trace of the interaction with the server.
The component supports posting of articles through the ArticleText and AttachedFile properties. The article text is specified in one or both of the above, and then the PostArticle method is called. Article headers are given in a series of properties like ArticleFrom, ArticleSubject, Organization, etc. that map directly to the USENET article header with the same name.
Property List
The following is the full list of the properties of the component with short descriptions. Click on the links for further details.
ArticleCount | The estimated number of articles in CurrentGroup . |
ArticleDate | The date of the current article. |
ArticleFrom | The email address of the author (for posting articles). |
ArticleHeaders | The full headers of the article as retrieved from the server. |
ArticleId | The message identifier of the current article. |
ArticleList | Collection of articles collected through GroupOverview or GroupSearch . |
ArticleReferences | Articles to which the posted article follows up. |
ArticleReplyTo | The address to reply to (for posting articles). |
ArticleSubject | The article subject (for posted articles). |
ArticleText | The full text of the article (without the headers). |
AttachedFile | A file name which the contents of will be appended to the ArticleText when posting articles. |
Certificate | The current selected certificate. |
CheckDate | The date (format YYMMDD HHMMSS) to check for creation of new groups. If the group was created after the date specified, it is considered new. |
Command | Used to send additional commands directly to the server. |
Connected | Shows whether the component is connected. |
CurrentArticle | The number or message identifier of the current article. |
CurrentGroup | The name of the current group. |
EncryptingAlgorithm | Textual description of the encrypting algorithm. |
Firewall | A set of properties related to firewall access. |
FirstArticle | The number of the first article in CurrentGroup . |
GroupList | Collection of newsgroups listed by ListGroups or ListNewGroups . |
Idle | The current status of the component. |
IncludeCertificate | Specifies whether to include the signer's certificate with the signed message. |
IncludeChain | Specifies whether to include the signer's certificate chain with the signed message. |
LastArticle | The number of the last article in CurrentGroup . |
LastReply | The last reply from the server. |
LocalHost | The name of the local host or user-assigned IP interface through which connections are initiated or accepted. |
MaxLines | The maximum number of message lines aside from headers to retrieve. |
Newsgroups | A comma separated list of newsgroups in which to post the article. |
NewsPort | The server port for secure NNTP (default 119). |
NewsServer | The name or address of a news server. |
Organization | The organization of the author (for posting articles). |
OtherHeaders | An RFC850 compliant string consisting of extra headers (for posting articles). |
OverviewRange | A range for the GroupOverview method (first-last). |
ParsedHeaders | A collection of headers returned from the last article retrieval. |
Password | A logon password for the NewsServer . |
RecipientCerts | The collection of recipient certificates of the message. |
SearchHeader | A header for the GroupSearch method. |
SearchPattern | A search pattern for the GroupSearch method. |
SearchRange | A range for the GroupSearch method (first-last). |
SignerCert | Contains the certificate of the message signer. |
SigningAlgorithm | Textual description of the signature hash algorithm. |
SSLAcceptServerCert | Instructs the component to unconditionally accept the server certificate that matches the supplied certificate. |
SSLCert | The certificate to be used during SSL negotiation. |
SSLEnabled | Whether TLS/SSL is enabled. |
SSLServerCert | The server certificate for the last established connection. |
SSLStartMode | Determines how the component starts the SSL negotiation. |
Timeout | A timeout for the component. |
User | A user identifier to login as in the NewsServer . |
Method List
The following is the full list of the methods of the component with short descriptions. Click on the links for further details.
AddRecipientCert | Used to add recipient certificates used to encrypt messages. |
Config | Sets or retrieves a configuration setting. |
Connect | Connects to the news server. |
Decrypt | Decrypts the current Message . |
DecryptAndVerifySignature | Decrypts and verifies the signature of the current message. |
Disconnect | Disconnects from the news server. |
DoEvents | Processes events from the internal message queue. |
Encrypt | Encrypts the message. |
FetchArticle | Get the headers and body of an article specified in CurrentArticle . |
FetchArticleBody | Gets only the body of an article specified in CurrentArticle . |
FetchArticleHeaders | Gets only the headers of an article specified in CurrentArticle . |
GroupOverview | Receives an overview for the articles in range OverviewRange in the CurrentGroup . |
GroupSearch | Receives an overview for the articles in range SearchRange in the CurrentGroup . |
Interrupt | Interrupt the current method. |
ListGroups | Lists all groups on the server. |
ListNewGroups | Lists all new groups on the server. |
LocalizeDate | Converts a valid RFC 822 message date to local date and time. |
PostArticle | Posts the current article and attached file. |
Reset | Reset the component. |
ResetHeaders | Resets all of the article headers. |
SetArticleStream | Sets the stream to which the article downloaded from the server will be written. |
Sign | Signs the current message. |
SignAndEncrypt | Signs and encrypts the current message. |
VerifySignature | Verifies the signature of the current message. |
Event List
The following is the full list of the events fired by the component with short descriptions. Click on the links for further details.
ConnectionStatus | Fired to indicate changes in connection state. |
EndTransfer | Fired when the article text completes transferring. |
Error | Information about errors during data delivery. |
GroupList | Fired while group data transfers (during group listings). |
GroupOverview | Fired for each line of article overview data (during group overviews). |
GroupSearch | Fired for each line of group search data (during group searches). |
Header | Fired for every article header being retrieved during article retrieval. |
PITrail | Traces the commands sent to the news server, and the respective replies. |
SSLServerAuthentication | Fired after the server presents its certificate to the client. |
SSLStatus | Shows the progress of the secure connection. |
StartTransfer | Fired when the article text starts transferring. |
Transfer | Fired while the article text gets transferred (to or from the NewsServer ). |
Configuration Settings
The following is a list of configuration settings for the component with short descriptions. Click on the links for further details.
ArticleInfoLimit | Instructs component to save the amount of articles specified that are returned by the server when a GroupOverview event is fired. |
GroupInfoLimit | Instructs component to save the amount of group info objects specified that are returned by the server after a ListGroups call has been made. |
HeaderLimit | Instructs component to save the amount of headers specified that are returned by the server after a Header event has been fired. |
MaxHeaderLength | Maximum length for headers to avoid line folding (default 80). |
CloseStreamAfterTransfer | If true, the component will close the upload or download stream after the transfer. |
ConnectionTimeout | Sets a separate timeout value for establishing a connection. |
FirewallAutoDetect | Tells the component whether or not to automatically detect and use firewall system settings, if available. |
FirewallHost | Name or IP address of firewall (optional). |
FirewallListener | If true, the component binds to a SOCKS firewall as a server (IPPort only). |
FirewallPassword | Password to be used if authentication is to be used when connecting through the firewall. |
FirewallPort | The TCP port for the FirewallHost;. |
FirewallType | Determines the type of firewall to connect through. |
FirewallUser | A user name if authentication is to be used connecting through a firewall. |
KeepAliveInterval | The retry interval, in milliseconds, to be used when a TCP keep-alive packet is sent and no response is received. |
KeepAliveTime | The inactivity time in milliseconds before a TCP keep-alive packet is sent. |
Linger | When set to True, connections are terminated gracefully. |
LingerTime | Time in seconds to have the connection linger. |
LocalHost | The name of the local host through which connections are initiated or accepted. |
LocalPort | The port in the local host where the component binds. |
MaxLineLength | The maximum amount of data to accumulate when no EOL is found. |
MaxTransferRate | The transfer rate limit in bytes per second. |
ProxyExceptionsList | A semicolon separated list of hosts and IPs to bypass when using a proxy. |
TCPKeepAlive | Determines whether or not the keep alive socket option is enabled. |
TcpNoDelay | Whether or not to delay when sending packets. |
UseIPv6 | Whether to use IPv6. |
UseNTLMv2 | Whether to use NTLM V2. |
CACertFilePaths | The paths to CA certificate files when using Mono on Unix/Linux. |
LogSSLPackets | Controls whether SSL packets are logged when using the internal security API. |
ReuseSSLSession | Determines if the SSL session is reused. |
SSLCACerts | A newline separated list of CA certificate to use during SSL client authentication. |
SSLCheckCRL | Whether to check the Certificate Revocation List for the server certificate. |
SSLCipherStrength | The minimum cipher strength used for bulk encryption. |
SSLEnabledCipherSuites | The cipher suite to be used in an SSL negotiation. |
SSLEnabledProtocols | Used to enable/disable the supported security protocols. |
SSLEnableRenegotiation | Whether the renegotiation_info SSL extension is supported. |
SSLIncludeCertChain | Whether the entire certificate chain is included in the SSLServerAuthentication event. |
SSLNegotiatedCipher | Returns the negotiated ciphersuite. |
SSLNegotiatedCipherStrength | Returns the negotiated ciphersuite strength. |
SSLNegotiatedCipherSuite | Returns the negotiated ciphersuite. |
SSLNegotiatedKeyExchange | Returns the negotiated key exchange algorithm. |
SSLNegotiatedKeyExchangeStrength | Returns the negotiated key exchange algorithm strength. |
SSLNegotiatedProtocol | Returns the negotiated protocol version. |
SSLProvider | The name of the security provider to use. |
SSLSecurityFlags | Flags that control certificate verification. |
SSLServerCACerts | A newline separated list of CA certificate to use during SSL server certificate validation. |
TLS12SignatureAlgorithms | Defines the allowed TLS 1.2 signature algorithms when UseInternalSecurityAPI is True. |
TLS12SupportedGroups | The supported groups for ECC. |
TLS13KeyShareGroups | The groups for which to pregenerate key shares. |
TLS13SignatureAlgorithms | The allowed certificate signature algorithms. |
TLS13SupportedGroups | The supported groups for (EC)DHE key exchange. |
AbsoluteTimeout | Determines whether timeouts are inactivity timeouts or absolute timeouts. |
FirewallData | Used to send extra data to the firewall. |
InBufferSize | The size in bytes of the incoming queue of the socket. |
OutBufferSize | The size in bytes of the outgoing queue of the socket. |
BuildInfo | Information about the product's build. |
GUIAvailable | Tells the component whether or not a message loop is available for processing events. |
LicenseInfo | Information about the current license. |
UseInternalSecurityAPI | Tells the component whether or not to use the system security libraries or an internal implementation. |